1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-09-11 00:30:53 +02:00

Compare commits

...

593 Commits

Author SHA1 Message Date
Marc Alexander
8d00784dfe [prep-release-3.3.0] Update changelog 2020-01-06 11:21:43 +01:00
Marc Alexander
17d4dcc30b Merge pull request #5820 from marc1706/ticket/16293
[ticket/16293] Do not update to hashes that don't support combined hashing
2020-01-06 11:20:39 +01:00
Marc Alexander
16dbbdb34c [ticket/16293] Do not update to hashes that don't support combined hashing
PHPBB3-16293
2020-01-06 11:18:16 +01:00
Marc Alexander
433a23feb4 [prep-release-3.3.0] Rename 3.3 to Proteus 2020-01-05 16:12:15 +01:00
Marc Alexander
d4293866b3 Merge pull request #5818 from marc1706/ticket/16266
[ticket/16266] Remove extra declaration of constants
2020-01-05 15:29:40 +01:00
Marc Alexander
9fa058a8bd [ticket/16266] Remove extra declaration of constants
PHPBB3-16266
2020-01-05 14:58:17 +01:00
Marc Alexander
4591cf9afa [prep-release-3.3.0] Update changelog 2020-01-04 22:49:40 +01:00
Marc Alexander
ed34079452 Merge pull request #5817 from marc1706/ticket/16290
[ticket/16290] Update to new SVG logo in package docs
2020-01-04 22:48:05 +01:00
Marc Alexander
f6b47e2ee3 [ticket/16290] Update to new SVG logo in package docs
PHPBB3-16290
2020-01-04 22:32:59 +01:00
Marc Alexander
e900104e10 [prep-release-3.3.0] Add changelog for 3.3.0 2020-01-04 22:01:09 +01:00
Marc Alexander
944a748cb6 [prep-release-3.3.0] Add migration for 3.3.0 2020-01-04 21:54:59 +01:00
Marc Alexander
eb8ace14c8 [prep-release-3.3.0] Update version numbers for 3.3.0 release 2020-01-04 21:54:48 +01:00
Marc Alexander
1b8193ab8b Merge branch '3.2.x' into 3.3.x 2020-01-04 21:51:44 +01:00
Marc Alexander
b83de54bb4 Merge pull request #5811 from paul999/ticket/16287
[ticket/16287] After installation an error message regarding statisti…
2020-01-03 11:25:50 +01:00
Marc Alexander
261bf416ee Merge pull request #5810 from marc1706/ticket/16230
[ticket/16230] Improve wording of FILESYSTEM_CANNOT_ lang strings
2020-01-03 11:04:34 +01:00
Marc Alexander
a0ffbfce31 [ticket/16287] Correctly pass json response to PHP file
PHPBB3-16287
2020-01-03 10:17:40 +01:00
Marc Alexander
82abd358a5 [ticket/16230] Update links to userguide and support forums
PHPBB3-16230
2020-01-03 08:59:46 +01:00
Marc Alexander
d50d1101fb [ticket/16287] Remove loops. prefix in providers loop
PHPBB3-16287
2020-01-03 08:57:09 +01:00
Marc Alexander
b3f80239c1 [ticket/16287] Use twig syntax and fix coding guidelines issues
PHPBB3-16287
2020-01-02 21:06:58 +01:00
paul sohier
f866a8fd1b [ticket/16287] After installation an error is given over statistics submission
The phpBB.com website required specific fields to be available for the
statistics. This change switched over to a new statistics page on
www.phpbb.com that uses form fields instead, and that returns JSON as value.

PHPBB3-16287
2020-01-02 15:36:00 +01:00
Marc Alexander
dce0441ecf Merge pull request #5809 from marc1706/ticket/16285
[ticket/16285] Add sanity checks to migrations for 3.3
2020-01-02 10:46:52 +01:00
Marc Alexander
29c9621137 [ticket/16230] Improve wording of FILESYSTEM_CANNOT_ lang strings
PHPBB3-16230
2020-01-02 10:45:24 +01:00
Marc Alexander
46b70ded94 Merge pull request #5805 from 3D-I/ticket/16283
[ticket/16283] Update requirements for 3.3.0
2020-01-02 10:20:53 +01:00
Marc Alexander
20fb9385f5 Merge branch '3.2.x' into 3.3.x 2020-01-02 10:13:23 +01:00
Marc Alexander
db5121511d Merge pull request #5802 from 3D-I/ticket/16279
[ticket/16279] Add permission for Emoji in topic title
2020-01-02 09:59:25 +01:00
3D-I
c7dd7d42c6 [ticket/16283] Update requirements for 3.3.0
PHPBB3-16283
2020-01-01 19:23:50 +01:00
3D-I
0806d34eee [ticket/16279] Add permission for Emoji in topic title
PHPBB3-16279
2020-01-01 19:11:45 +01:00
Marc Alexander
b9193f35c1 Merge pull request #5807 from 3D-I/ticket/16273
[ticket/16273] Check whether the index exists in memberlist - PHP 7.4
2020-01-01 17:45:42 +01:00
Marc Alexander
43e5337a0a Merge pull request #5806 from 3D-I/ticket/16281
[ticket/16281] Fix Ajax refresh-data for extensions' Tab
2020-01-01 17:43:43 +01:00
Marc Alexander
1ae812d172 Merge branch '3.2.x' into 3.3.x 2020-01-01 17:34:44 +01:00
Marc Alexander
dd93bb1aad Merge pull request #5804 from marc1706/ticket/16282-3.3
[ticket/16282] Adjust jQuery cdn url in schema_data
2020-01-01 17:34:13 +01:00
Marc Alexander
737155a43a Merge branch '3.2.x' into 3.3.x 2020-01-01 17:27:58 +01:00
Marc Alexander
372a3bfcde Merge branch '3.2.x' into 3.3.x 2020-01-01 16:47:40 +01:00
Marc Alexander
7ae7502146 Merge pull request #5798 from rxu/ticket/16277
[ticket/16277] Move from each() function
2020-01-01 16:35:42 +01:00
Marc Alexander
7a294b5fcd Merge pull request #5795 from 3D-I/ticket/16274
[ticket/16274] Fix compact() call to undefined variables in search.php
2020-01-01 16:25:11 +01:00
Marc Alexander
79287abd7b [ticket/16285] Add sanity checks to migrations for 3.3
PHPBB3-16285
2020-01-01 16:23:23 +01:00
3D-I
cf450bd01f [ticket/16273] Check whether the index exists in memberlist - PHP 7.4
PHPBB3-16273
2020-01-01 02:12:32 +01:00
3D-I
7e5d0b9ec8 [ticket/16281] Fix Ajax refresh-data for extensions' Tab
PHPBB3-16281
2020-01-01 00:34:05 +01:00
3D-I
314dfb294a [ticket/16281] Fix Ajax refresh-data for extensions' Tab
PHPBB3-16281
2019-12-31 23:51:15 +01:00
3D-I
6705adf47b [ticket/16281] Fix Ajax refresh-data for extensions' Tab
PHPBB3-16281
2019-12-31 23:33:29 +01:00
3D-I
d8dac3f80e [ticket/16281] Fix Ajax refresh-data for extensions' Tab
PHPBB3-16281
2019-12-31 23:31:13 +01:00
3D-I
16dad60eef [ticket/16283] Update requirements for 3.3.0
PHPBB3-16283
2019-12-31 22:10:58 +01:00
3D-I
7ef52f723c [ticket/16283] Update requirements for 3.3.0
PHPBB3-16283
2019-12-31 22:08:18 +01:00
rxu
374dc92e8f [ticket/16277] Adjust patch for the diff engine
PHPBB3-16277
2020-01-01 04:07:11 +07:00
Marc Alexander
3c91126806 [ticket/16282] Adjust jQuery cdn url in schema_data
PHPBB3-16282
2019-12-31 16:41:58 +01:00
3D-I
7336678454 [ticket/16279] Add permission for Emoji in topic title
PHPBB3-16279
2019-12-30 18:43:58 +01:00
Marc Alexander
6ee537b3f2 Merge pull request #5800 from marc1706/ticket/16278
[ticket/16278] Clearly state config.php exception and update INSTALL.html
2019-12-30 12:32:30 +01:00
Marc Alexander
f3a9301483 Merge branch '3.2.x' into 3.3.x 2019-12-30 12:19:02 +01:00
Marc Alexander
a3276c3ffe [ticket/16274] Fix feed event referring to undefined variables
PHPBB3-16274
2019-12-30 11:46:52 +01:00
3D-I
4956dc3197 [ticket/16274] Fix compact() call to undefined variables in search.php
PHPBB3-16274
2019-12-30 08:47:23 +01:00
Marc Alexander
b1c5ad6a61 Merge pull request #5783 from brunoais/ticket/16262
Ticket/16262 compact() calls with undefined variables causing error page
2019-12-30 08:37:08 +01:00
3D-I
364461b58f [ticket/16279] Add permission for Emoji in topic title
PHPBB3-16279
2019-12-30 02:26:31 +01:00
Marc Alexander
74a747d455 [ticket/16278] Clearly state config.php exception and update INSTALL.html
A few typos and not fully up to date information has been updated.

PHPBB3-16278
2019-12-29 21:54:33 +01:00
Marc Alexander
036871cd95 Merge pull request #5790 from rxu/ticket/16266
[ticket/16266] Fix argon2 driver issue for Sodium implementation
2019-12-29 21:43:06 +01:00
Marc Alexander
71a1c9fee7 Merge pull request #5796 from rxu/ticket/16276
[ticket/16276] Fix bbcode_firstpass undefined mode property
2019-12-29 15:11:23 +01:00
rxu
80de9f6a68 [ticket/16277] Move from each() function
PHPBB3-16277
2019-12-29 18:56:36 +07:00
rxu
c71d4c364a [ticket/16266] Prevent "Use of undefined constant" warning in tests
PHPBB3-16266
2019-12-29 16:09:17 +07:00
rxu
dcab076221 [ticket/16276] Further fix PHP nightly tests
PHPBB3-16276
2019-12-29 12:59:24 +07:00
Marc Alexander
94808e2cbc Merge pull request #5794 from 3D-I/ticket/16273
[ticket/16273] Check whether the index exists in memberlist - PHP 7.4
2019-12-28 21:41:32 +01:00
rxu
82e61f501a [ticket/16276] Fix bbcode_firstpass undefined mode property
PHPBB3-16276
2019-12-29 01:51:15 +07:00
rxu
37fddf8eef [ticket/16266] Fix tests
PHPBB3-16266
2019-12-28 23:55:31 +07:00
rxu
3669849368 [ticket/16266] Refactor patch using argon2 predefined constants
PHPBB3-16266
2019-12-28 12:20:51 +07:00
3D-I
ebf7e9f45f [ticket/16273] Check whether the index exists in memberlist - PHP 7.4
Cast to bool

PHPBB3-16273
2019-12-28 01:47:43 +01:00
rxu
d000717d34 [ticket/16266] More code optimizing
PHPBB3-16266
2019-12-28 02:11:58 +07:00
3D-I
d191eed760 [ticket/16273] Check whether the index exists in memberlist - PHP 7.4
PHPBB3-16273
2019-12-27 19:43:32 +01:00
rxu
a750372a03 [ticket/16266] More code optimizing
PHPBB3-16266
2019-12-28 01:04:13 +07:00
rxu
5dfba1b064 [ticket/16266] Optimize code
PHPBB3-16266
2019-12-28 00:15:08 +07:00
Marc Alexander
72747ed686 Merge pull request #5793 from marc1706/ticket/16271
[ticket/16271] Add Sami 4.x and update necessary dependencies
2019-12-27 15:49:41 +01:00
Marc Alexander
c7898ac3e4 Merge pull request #5788 from 3D-I/ticket/16221
[ticket/16221] Fix ACP statistics layout
2019-12-27 15:47:18 +01:00
Marc Alexander
c70d024f5f Merge pull request #5787 from 3D-I/ticket/16267
[ticket/16267] Check whether the index exists in ACP BBcodes - PHP 7.4
2019-12-27 15:06:01 +01:00
Marc Alexander
7cf148ea13 [ticket/16271] Fix invalid docblocks
PHPBB3-16271
2019-12-27 14:58:42 +01:00
Marc Alexander
41f287fbea [ticket/16271] Add Sami 4.x and update necessary dependencies
PHPBB3-16271
2019-12-27 13:54:46 +01:00
Marc Alexander
3ae799f4de Merge branch '3.2.x' into 3.3.x 2019-12-27 08:28:15 +01:00
brunoais
202478d108 [ticket/16262] Fixing event's $current_row_number by renaming $i
PHPBB3-16262
2019-12-26 18:17:39 +00:00
rxu
186a3d40c6 [ticket/16266] Fix argon2 driver issue for Sodium implementation
PHPBB3-16266
2019-12-26 19:44:22 +07:00
Marc Alexander
230472de45 Merge branch '3.2.x' into 3.3.x 2019-12-26 11:39:58 +01:00
3D-I
b85c7be5ac [ticket/16221] Fix ACP statistics layout
Fix wide-screen layout

PHPBB3-16221
2019-12-25 21:12:59 +01:00
3D-I
5eae76b209 [ticket/16267] Check whether the index exists in ACP BBcodes - PHP 7.4
PHPBB3-16267
2019-12-25 18:35:58 +01:00
Marc Alexander
2ebbcbe233 Merge branch '3.2.x' into 3.3.x 2019-12-25 17:40:59 +01:00
3D-I
b1596ffecb [ticket/16221] Fix ACP statistics layout
Resolve conflicts

PHPBB3-16221
2019-12-25 00:06:37 +01:00
3D-I
b9fccc9fce [ticket/16221] Fix ACP statistics layout
PHPBB3-16221
2019-12-24 23:53:48 +01:00
3D-I
9345bc1610 [ticket/16221] Fix ACP statistics layout
PHPBB3-16221
2019-12-24 23:38:35 +01:00
Marc Alexander
78ae67ae28 Merge branch '3.2.x' into 3.3.x 2019-12-24 22:58:13 +01:00
3D-I
044d327818 [ticket/16267] Check whether the index exists in ACP BBcodes - PHP 7.4
PHPBB3-16267
2019-12-24 21:51:15 +01:00
Marc Alexander
cc9b29488f Merge branch '3.2.x' into 3.3.x 2019-12-24 16:20:09 +01:00
Marc Alexander
843887fcb9 Merge branch '3.2.x' into 3.3.x 2019-12-24 16:15:07 +01:00
brunoais
faca59b3a6 [ticket/16262] Add unset variables to search's compact
PHPBB3-16262
2019-12-23 18:31:19 +00:00
brunoais
9b6149d3ac [ticket/16262] Add unset variables to fulltext_native compact
PHPBB3-16262
2019-12-23 18:31:18 +00:00
Marc Alexander
4c05257783 Merge pull request #5782 from marc1706/ticket/16263
[ticket/16263] Ensure that remove_email_hash depends on migration adding hash
2019-12-23 16:13:24 +01:00
Marc Alexander
e6a84dcb60 [ticket/16263] Ensure that remove_email_hash depends on migration adding hash
PHPBB3-16263
2019-12-23 15:18:40 +01:00
Marc Alexander
1f3e073894 Merge pull request #5779 from 3D-I/ticket/16260
[ticket/16260] Missing check whether the index exists in ACP - PHP 7.4
2019-12-23 10:35:10 +01:00
3D-I
dbc164e131 [ticket/16260] Missing check whether the index exists in ACP - PHP 7.4
PHPBB3-16260
2019-12-22 21:03:49 +01:00
3D-I
16a163662b [ticket/16260] Missing check whether the index exists in ACP - PHP 7.4
PHPBB3-16260
2019-12-22 17:44:17 +01:00
Marc Alexander
67a8d8ca90 Merge pull request #5781 from marc1706/ticket/16263
[ticket/16263] Do not expect numbers as strings in apache provider test
2019-12-22 17:41:51 +01:00
Marc Alexander
0e974eb49a Merge pull request #5780 from 3D-I/ticket/16261
[ticket/16261] Missing check whether the index exists in install - PHP 7.4
2019-12-22 16:32:35 +01:00
Marc Alexander
d5f9e3a05e [ticket/16263] Do not expect numbers as strings in apache provider test
PHPBB3-16263
2019-12-22 16:12:04 +01:00
3D-I
d181713832 [ticket/16261] Missing check whether the index exists in install - PHP 7.4
PHPBB3-16261
2019-12-22 01:12:46 +01:00
3D-I
ffb0adfc59 [ticket/16260] Missing check whether the index exists in ACP - PHP 7.4
PHPBB3-16260
2019-12-21 23:55:00 +01:00
Marc Alexander
a83b8e7792 [3.3.x] Update version numbers to 3.3.0-RC2-dev 2019-12-21 22:23:23 +01:00
Marc Alexander
2f7a9c6a00 Merge branch 'prep-release-3.3.0-RC1' into 3.3.x 2019-12-21 22:20:42 +01:00
Marc Alexander
4051bf2466 [prep-release-3.3.0-RC1] Update changelog for 3.3.0-RC1 2019-12-21 10:51:05 +01:00
Marc Alexander
a0251ec1d9 [prep-release-3.3.0-RC1] Add migration for 3.3.0-RC1 2019-12-21 10:48:37 +01:00
Marc Alexander
84f01ed0da [prep-release-3.3.0-RC1] Update version numbers to 3.3.0-RC1 2019-12-21 10:46:12 +01:00
Marc Alexander
9ddb1bdddb [prep-release-3.3.0-RC1] Update version numbers to 3.3.0-RC1 2019-12-21 10:45:23 +01:00
Marc Alexander
d26622e992 Merge pull request #5770 from JoshyPHP/ticket/16250
[ticket/16250] Add a service to check BBCodes safeness in ACP
2019-12-21 10:34:17 +01:00
Marc Alexander
0b3eb2f9ea Merge branch '3.2.x' into 3.3.x 2019-12-21 10:25:56 +01:00
Marc Alexander
581139ab15 Merge pull request #5769 from hanakin/ticket/16248
[ticket/16248] swap logo for new svg version
2019-12-21 10:15:53 +01:00
hanakin
8e54e5cc79 [ticket/16248] stupid lack of standards are stupid
PHPBB3-16248
2019-12-17 17:41:21 -08:00
hanakin
26c4dfb9d7 [ticket/16248] add quotes to lang
PHPBB3-16248
2019-12-17 15:35:15 -08:00
hanakin
fce796517b [ticket/16248] Convert to twig
PHPBB3-16248
2019-12-17 14:28:53 -08:00
JoshyPHP
2733ce0712 [ticket/16250] Reworked status as constants
PHPBB3-16250
2019-12-16 01:34:26 +01:00
Marc Alexander
bcc90133a8 Merge pull request #5728 from rxu/ticket/15294
[ticket/15294] Fix session_gc() selecting expired sessions for unique users
2019-12-15 20:26:01 +01:00
Marc Alexander
611b3c4e46 Merge pull request #5775 from SagePtr/ticket/16255
[ticket/16255] Fix PHP 7.4 deprecation warning
2019-12-15 20:14:22 +01:00
Marc Alexander
ac43c5c8bd Merge pull request #5773 from marc1706/ticket/16238-3.3.x
[ticket/16238] Update version for deprecation
2019-12-15 19:59:45 +01:00
Marc Alexander
b786dbc5d7 Merge branch '3.2.x' into 3.3.x 2019-12-13 20:17:17 +01:00
Marc Alexander
0efeef46e1 Merge pull request #5766 from marc1706/ticket/16224-3.3.x
[ticket/16224] Update composer dependencies - 3.3.x version
2019-12-13 20:16:45 +01:00
Sage Pointer
fd5ac318a5 [ticket/16255] Fix PHP 7.4 deprecation warning
PHPBB3-16255
2019-12-13 20:28:36 +02:00
JoshyPHP
2926ceba6a [ticket/16250] Add a service to check BBCodes safeness
PHPBB3-16250
2019-12-13 01:46:09 +01:00
Marc Alexander
581fe4ec83 [ticket/16238] Update version for deprecation
PHPBB3-16238
2019-12-12 18:41:52 +01:00
Marc Alexander
02689df8f7 Merge pull request #5751 from AlfredoRamos/ticket/16235
[ticket/16235] Fix PHP CodeSniffer ignore patterns
2019-12-12 18:34:06 +01:00
Marc Alexander
d9749d5bb0 Merge branch '3.2.x' into 3.3.x 2019-12-12 18:20:56 +01:00
Marc Alexander
b7492a7b6f Merge branch '3.2.x' into 3.3.x 2019-12-12 18:17:00 +01:00
Marc Alexander
59afb76df4 Merge branch 'ticket/16224' into ticket/16224-3.3.x 2019-12-12 18:13:25 +01:00
hanakin
d659276749 [ticket/16248] fix logo in acp
PHPBB3-16248
2019-12-08 00:07:57 -10:00
hanakin
8be1ad4568 [ticket/16248] loaaaad svg old way for BC
PHPBB3-16248
2019-12-07 08:20:59 -10:00
hanakin
0fc6fbf916 [ticket/16248] Remove all unused theme/images
PHPBB3-16248
2019-12-07 08:12:52 -10:00
hanakin
8ffbd66cba [ticket/16248] Swap out logos
PHPBB3-16248
2019-12-07 08:05:21 -10:00
hanakin
ff3458ff03 [ticket/16248] Add DS_Store to gitignore
PHPBB3-16248
2019-12-07 08:03:57 -10:00
Marc Alexander
5be4cca408 Merge pull request #5748 from marc1706/ticket/16226
[ticket/16226] Prevent Apache servers from using MultiViews
2019-12-06 08:31:53 +01:00
Marc Alexander
3009e7ffbe Merge branch '3.2.x' into 3.3.x 2019-12-06 07:20:34 +01:00
Marc Alexander
d7425b4998 Merge pull request #5756 from mrgoldy/ticket/16239
[ticket/16239] Remove deprecated phpbb\db\tools
2019-12-06 07:12:46 +01:00
Marc Alexander
186384e514 Merge branch '3.2.x' into 3.3.x 2019-12-06 07:03:35 +01:00
Marc Alexander
f9a364074d Merge branch '3.2.x' into 3.3.x 2019-12-04 21:11:40 +01:00
Marc Alexander
cb0f4790ae Merge branch '3.2.x' into 3.3.x 2019-12-04 20:49:54 +01:00
Marc Alexander
f26e83e4c6 Merge branch 'ticket/16224' into ticket/16224-3.3.x 2019-12-04 20:39:38 +01:00
Marc Alexander
5ef225381d Merge pull request #5752 from rxu/ticket/16236
[ticket/16236] Bump phpBB 3.3 max PHP version requirement to PHP 7.4
2019-12-04 20:11:18 +01:00
Marc Alexander
8b4892b96b Merge pull request #5758 from VSEphpbb/ticket/16241
[ticket/16241] Color Palette backwards compatibility
2019-12-01 11:36:25 +01:00
Matt Friedman
68326c6aa1 [ticket/16241] Color Palette backwards compatibility
PHPBB3-16241
2019-11-30 09:17:08 -08:00
mrgoldy
1a4739aed9 [ticket/16239] Update DB tools in UI test case
PHPBB3-16239
2019-11-30 15:28:01 +01:00
mrgoldy
670dbaba1b [ticket/16239] Remove deprecated phpbb\db\tools
PHPBB3-16239
2019-11-30 15:12:35 +01:00
rxu
6d71748e9a [ticket/16236] Bump phpBB 3.3 max PHP version requirement to PHP 7.4
PHPBB3-16236
2019-11-29 23:00:05 +07:00
Alfredo Ramos
3089770fec [ticket/16235] Fix PHP CodeSniffer ignore patterns
PHPBB3-16235
2019-11-28 21:19:33 -06:00
Marc Alexander
5d5c3481b7 Merge branch '3.2.x' into 3.3.x 2019-11-28 21:39:45 +01:00
Marc Alexander
3837d2cfee Merge pull request #5749 from 3D-I/ticket/16227
[ticket/16227] Fix undefined vars on login
2019-11-28 21:24:42 +01:00
Marc Alexander
ac6676a144 Merge branch '3.2.x' into 3.3.x 2019-11-28 21:11:48 +01:00
Marc Alexander
3986273fdb Merge pull request #5750 from mrgoldy/ticket/12539
[ticket/12539] Rebind live member search navigation
2019-11-28 20:46:07 +01:00
Marc Alexander
cbbba2dcc7 Merge pull request #5745 from marc1706/ticket/16223
[ticket/16223] Remove no longer supported memcache driver
2019-11-27 08:10:44 +01:00
mrgoldy
6b7d9af0c2 [ticket/12539] Rebind live member search navigation
PHPBB3-12539
2019-11-26 16:36:56 +01:00
rubencm
5ed02c2149 [ticket/16223] Use register_php_extension instead of echo
PHPBB3-16223
2019-11-26 08:40:05 +01:00
3D-I
3be57cea04 [ticket/16227] Fix undefined vars on login
PHPBB3-16227
2019-11-25 23:09:37 +01:00
Marc Alexander
dac910d27a [ticket/16223] Do not use install_php_extension for memcached
PHPBB3-16223
2019-11-25 22:19:03 +01:00
Marc Alexander
380b7d0a98 [ticket/16223] Use constructor arguments instead of func_get_args()
PHPBB3-16223
2019-11-25 22:16:41 +01:00
Marc Alexander
bc045fd19b [ticket/16223] Use install_php_extensions for installing memcached
PHPBB3-16223
2019-11-25 22:04:24 +01:00
Marc Alexander
7b70984ef3 [ticket/16226] Prevent Apache servers from using MultiViews
PHPBB3-16226
2019-11-25 22:00:31 +01:00
Marc Alexander
c37e696c1c [ticket/16223] Add memcached config and PHP extension
PHPBB3-16223
2019-11-25 21:33:42 +01:00
Marc Alexander
c7d47e34e8 [ticket/16223] Ensure memcached tests are only run when available
PHPBB3-16223
2019-11-25 21:27:43 +01:00
Marc Alexander
fd7524858c [ticket/16223] Add test for memcached driver
PHPBB3-16223
2019-11-25 20:10:12 +01:00
Marc Alexander
86085f96ab [ticket/16223] Remove no longer supported memcache driver
PHPBB3-16223
2019-11-24 16:54:57 +01:00
Marc Alexander
a8e2f4256b [3.3.x] Update version numbers to 3.3.0-rc1-dev 2019-11-23 14:25:53 +01:00
Marc Alexander
8b7e0563a5 Merge branch 'prep-release-3.3.0-b2' into 3.3.x 2019-11-23 14:23:39 +01:00
Marc Alexander
3e9c2ea025 Merge branch '3.2.x' into 3.3.x 2019-11-22 19:15:44 +01:00
Marc Alexander
960e5af71c Merge pull request #5742 from marc1706/ticket/16216
[ticket/16216] Ignore not being able to disable xdebug
2019-11-22 19:12:06 +01:00
Marc Alexander
679f3b0c76 [ticket/16216] Ignore not being able to disable xdebug
PHPBB3-16216
2019-11-22 19:04:02 +01:00
Marc Alexander
f7ac1d2629 Merge branch '3.2.x' into 3.3.x 2019-11-22 18:21:07 +01:00
Marc Alexander
77a15e3542 [prep-release-3.3.0-b2] Update changelog for 3.3.0-b2 2019-11-22 11:08:11 +01:00
Marc Alexander
d55e421c0f [prep-release-3.3.0-b2] Add migration for 3.3.0-b2 2019-11-22 11:06:15 +01:00
Marc Alexander
db1040ec69 [prep-release-3.3.0-b2] Update version numbers to 3.3.0-b2 2019-11-22 11:04:32 +01:00
Marc Alexander
251473700a [prep-release-3.3.0-b2] Update version numbers to 3.3.0-b2 2019-11-22 11:03:07 +01:00
Marc Alexander
896b31272b Merge pull request #5686 from v12mike/ticket/9837
[ticket/9837] Display unapproved posts to their authors
2019-11-22 10:56:33 +01:00
Marc Alexander
0a4cc5d201 [ticket/9837] Apply suggested changes by CHItA
PHPBB3-9837
2019-11-22 09:20:18 +01:00
Marc Alexander
2a023c9e15 Merge pull request #5727 from marc1706/ticket/16167
[ticket/16167] Use user_email column for checking duplicates
2019-11-21 14:54:32 +01:00
Marc Alexander
4a10062933 [ticket/9837] Remove not needed lines in test
PHPBB3-9837
2019-11-21 13:44:22 +01:00
v12mike
29be971fad [ticket/9837] Make unapproved posts visible to author
review comments

PHPBB3-9837
2019-11-21 13:44:22 +01:00
v12mike
0f57f3d90d [ticket/9837] Display unapproved posts to their authors
Coding guidelines fixes

PHPBB3-9837
2019-11-21 13:44:22 +01:00
v12mike
4d15683733 [ticket/9837] Display unapproved posts to their authors
Clarification of comment

PHPBB3-9837
2019-11-21 13:44:22 +01:00
v12mike
8726baea9f [ticket/9837] Display unapproved posts to their authors
Change code order to improve efficiency.

PHPBB3-9837
2019-11-21 13:44:22 +01:00
v12mike
15da5b108e [ticket/9837] Display unapproved posts to their authors
Re-order code for efficiency

PHPBB3-9837
2019-11-21 13:44:21 +01:00
v12mike
63ebd658a9 [ticket/9837] Display unapproved posts to their authors
Improve ACP language strings

PHPBB3-9837
2019-11-21 13:44:21 +01:00
v12mike
9fff4cf253 [ticket/9837] Make unapproved posts visible to posters
Add tests
Tidy up code
Improve user message formatting

PHPBB3-9837
2019-11-21 13:44:21 +01:00
v12mike
1f10cd51ff [ticket/9837] Display unapproved posts to posters
Add tests and improve style template

PHPBB3-9837
2019-11-21 13:44:21 +01:00
Máté Bartus
e39753083d [ticket/9837] Small fixes
PHPBB3-9837
2019-11-21 13:44:21 +01:00
Máté Bartus
3149b45eba [ticket/9837] Display unapproved posts to their authors
Basic functionality mock up.

PHPBB3-9837
2019-11-21 13:44:20 +01:00
v12mike
46a189fa4c [ticket/9837] Display unapproved posts to originator
Fix whitespace issues

PHPBB3-9837
2019-11-21 13:44:20 +01:00
v12mike
e102a9a3cb [ticket/9837] Make unapproved posts visible to poster
Improve acp explanation string

PHPBB3-9837
2019-11-21 13:44:20 +01:00
v12mike
92362441bd [ticket/9837] Make unapproved posts visible to posters
Add tests
Tidy up code
Improve user message formatting

PHPBB3-9837
2019-11-21 13:44:20 +01:00
v12mike
78a913581c [ticket/9837] Display unapproved posts to posters
Add tests and improve style template

PHPBB3-9837
2019-11-21 13:44:20 +01:00
v12mike
63b7518a0f [ticket/9837] Make unapproved posts visible to posters
Improvements for feature following review

PHPBB3-9837
2019-11-21 13:44:19 +01:00
Máté Bartus
01b0ec19c6 [ticket/9837] Small fixes
PHPBB3-9837
2019-11-21 13:44:19 +01:00
Máté Bartus
eb94fe973b [ticket/9837] Display unapproved posts to their authors
Basic functionality mock up.

PHPBB3-9837
2019-11-21 13:44:19 +01:00
Marc Alexander
c628cd7e15 [ticket/16167] Deprecate phpbb_email_hash() and remove gen_email_hash()
The latter one has been deprecated for 10 years now.

PHPBB3-16167
2019-11-19 21:15:21 +01:00
Marc Alexander
83d430419e [ticket/16167] Adjust tests for actual duplicate email
PHPBB3-16167
2019-11-18 21:50:58 +01:00
Marc Alexander
9872316cac [ticket/16167] Remove uses of user_email_hash
PHPBB3-16167
2019-11-18 21:06:00 +01:00
Marc Alexander
aed7e369c3 [ticket/16167] Add migration for removing user_email_hash
PHPBB3-16167
2019-11-18 20:57:24 +01:00
Marc Alexander
289524938c Merge pull request #5735 from AlfredoRamos/ticket/16205
[ticket/16205] Fix undefined $zebra variable
2019-11-17 16:56:42 +01:00
Marc Alexander
f2e6bda0d1 Merge pull request #5725 from marc1706/ticket/12574
[ticket/12574] Remove passwords manager dependency from auth providers
2019-11-17 14:55:25 +01:00
Marc Alexander
c11dbffbac [ticket/12574] Remove not used user_type
PHPBB3-12574
2019-11-17 09:42:27 +01:00
Marc Alexander
f460194379 [ticket/12574] Remove passwords manager & container requirement from oauth
PHPBB3-12574
2019-11-16 23:05:36 +01:00
Marc Alexander
0cbe05faad [ticket/12574] Remove special cases for PHP < 5.3.7
PHPBB3-12574
2019-11-16 16:02:44 +01:00
Marc Alexander
a00b8c2920 [ticket/12574] Clean up dependencies of db auth provider
PHPBB3-12574
2019-11-16 16:02:44 +01:00
Marc Alexander
9e0c3fc81e [ticket/12574] Stop using passwords manager in apache provider
PHPBB3-12574
2019-11-16 16:02:43 +01:00
Marc Alexander
0d668fee36 [ticket/12574] Fix incorrect setup() method declaration & ldap extension
PHPBB3-12574
2019-11-16 16:02:43 +01:00
Marc Alexander
149df2d7b6 [ticket/12574] Adjust login tests for ldap
PHPBB3-12574
2019-11-16 16:02:43 +01:00
Marc Alexander
c75502e09c [ticket/12574] Use correct config entry for connecting to ldap
PHPBB3-12574
2019-11-16 16:02:43 +01:00
Marc Alexander
9aee50968e [ticket/12574] Don't add extension to php config & set default username
PHPBB3-12574
2019-11-16 16:02:42 +01:00
Marc Alexander
0cd7033baa [ticket/12574] Run LDAP test as slow test and install ldap extension
PHPBB3-12574
2019-11-16 16:02:42 +01:00
Marc Alexander
2c3a24b678 [ticket/12574] Remove passwords manager dependency from ldap
Also started to implement tests for ldap provider.

PHPBB3-12574
2019-11-16 16:02:42 +01:00
Marc Alexander
51bb05f286 [ticket/12574] Introduce files for LDAP testing on travis
PHPBB3-12574
2019-11-16 16:02:41 +01:00
Marc Alexander
791d633b8a Merge pull request #5733 from mrgoldy/ticket/16206
[ticket/16206] Remove no longer needed workaround for PHP bug #66834
2019-11-16 14:35:45 +01:00
Marc Alexander
e39c0be8f8 Merge pull request #5584 from mrgoldy/ticket/16008
[ticket/16008] Clean up OAuth system
2019-11-16 14:22:09 +01:00
Marc Alexander
e0e410e8a2 Merge branch '3.2.x' into 3.3.x 2019-11-14 20:40:04 +01:00
Alfredo Ramos
5e5042e52a [ticket/16205] Fix undefined zebra variable
PHPBB3-16205
2019-11-12 00:40:06 -06:00
Marc Alexander
4679433ae1 [ticket/16008] Adjust naming and remove typo
PHPBB3-16008
2019-11-11 18:21:18 +01:00
mrgoldy
3e22a2eebd [ticket/16206] Remove offsetExists and set non-NULL value
PHPBB3-16206
2019-11-10 22:59:55 +01:00
Marc Alexander
79a6648b99 Merge pull request #5726 from marc1706/ticket/12559
[ticket/12559] Add forum setting to limit subforum legend
2019-11-08 20:46:21 +01:00
Marc Alexander
8dbda26623 Merge branch '3.2.x' into 3.3.x 2019-11-07 21:19:17 +01:00
Marc Alexander
5d6f8c8bd9 Merge pull request #5684 from mrgoldy/ticket/12539
[ticket/12539] Live member search improvements
2019-11-06 21:28:05 +01:00
rxu
7ea063100e [ticket/15294] Minor code adjusting
PHPBB3-15294
2019-11-05 22:53:11 +07:00
rxu
56bff6380e [ticket/15294] Add session_gc() tests
PHPBB3-15294
2019-11-05 02:04:30 +07:00
Marc Alexander
85837d48b2 [ticket/12559] Use short array syntax
PHPBB3-12559
2019-11-04 17:31:18 +01:00
rxu
ba17f16dc8 [ticket/15294] Get rid of SQL query in a loop as far as possible
PHPBB3-15294
2019-11-04 21:48:20 +07:00
rxu
a340c362bc [ticket/15294] Back to the all DBMS compliant splitted queries
PHPBB3-15294
2019-11-04 13:36:58 +07:00
rxu
46a68d37ee [ticket/15294] Another approach, optimize updating & purging expired sessions
PHPBB3-15294
2019-11-03 23:49:00 +07:00
rxu
e9fc3ed22e [ticket/15294] Fix session_gc() selecting expired sessions for unique users
Also remove limit of 10 as it does not allow to collect all the garbage.

PHPBB3-15294
2019-11-03 20:04:01 +07:00
mrgoldy
cbb5e6f765 [ticket/16008] Enforce string data type as per ticket/16181
PHPBB3-16008
2019-11-03 11:48:10 +01:00
mrgoldy
219955fa6c [ticket/16008] Remove empty line, re-add @changed and remove duplicate code
PHPBB3-16008
2019-11-03 11:48:08 +01:00
mrgoldy
95a696c4da [ticket/16008] Properly order get_external_service_provider
PHPBB3-16008
2019-11-03 11:44:56 +01:00
mrgoldy
85910fe5bc [ticket/16008] Add missing empty line
PHPBB3-16008
2019-11-03 11:44:54 +01:00
mrgoldy
76b4a2faab [ticket/16008] Unindent YML comments
PHPBB3-16008
2019-11-03 11:41:41 +01:00
mrgoldy
0b39e4e854 [ticket/16008] Clean up phpBB OAuth system
PHPBB3-16008
2019-11-03 11:41:39 +01:00
Marc Alexander
78ce646c69 Merge branch '3.2.x' into 3.3.x 2019-11-01 22:12:29 +01:00
Marc Alexander
4ae43c7970 Merge pull request #5717 from 3D-I/ticket/16187
[ticket/16187] Correctly display registration using external services
2019-11-01 22:10:27 +01:00
Marc Alexander
912eb28223 Merge pull request #5718 from rubencm/ticket/16189
[ticket/16189] Deprecate inet_ntop and inet_pton wrappers
2019-11-01 22:01:26 +01:00
Marc Alexander
7df08fe12e [ticket/12559] Add functional test for limiting subforums in legend
PHPBB3-12559
2019-11-01 18:12:38 +01:00
Marc Alexander
729e2f5d08 [ticket/12559] Move migration to v330 folder
PHPBB3-12559
2019-11-01 16:52:36 +01:00
PayBas
e2de342d3a [ticket/12559] Update migration dependencies
PHPBB3-12559
2019-11-01 16:26:36 +01:00
PayBas
b14c7c3511 [ticket/12559] Updated copyright information
PHPBB3-12559
2019-11-01 16:26:36 +01:00
PayBas
c2997ada7a [ticket/12559] Applied DeMorgan and removed unnecessary true:false
PHPBB3-12559
2019-11-01 16:26:36 +01:00
PayBas
6ccffec906 [ticket/12559] Add forum setting to limit subforum legend
Squashed all commits, they were basically just typos and errors

PHPBB3-12559
2019-11-01 16:26:34 +01:00
rubencm
00682db8a6 [ticket/16189] Make wrappers call native functions
PHPBB3-16189
2019-11-01 10:30:41 +00:00
rubencm
0a7e98951b [ticket/16189] Update version
PHPBB3-16189
2019-11-01 10:30:41 +00:00
rubencm
b6a99e7dca [ticket/16188] Remove some legacy code and fix bug
PHPBB3-16189
2019-11-01 10:30:41 +00:00
rubencm
f09f5bc51c [ticket/16189] Deprecate inet_ntop and inet_pton wrappers
PHPBB3-16189
2019-11-01 10:30:41 +00:00
Marc Alexander
ce35aa8b0b Merge pull request #5722 from mrgoldy/ticket/16195
[ticket/16195] Copy forum permissions' missing paragraph
2019-11-01 08:32:16 +01:00
Marc Alexander
930895f563 Merge pull request #5720 from hanakin/ticket/16188
[ticket/16188] fix acp responsive stats
2019-11-01 08:23:43 +01:00
Marc Alexander
75e4fcd2e9 Merge pull request #5719 from rubencm/ticket/15958
[ticket/15958] Standarize create forums default options
2019-11-01 08:21:42 +01:00
Marc Alexander
9887a9d76c Merge pull request #5724 from rubencm/ticket/16190
[ticket/16190] Deprecate phpbb's checkdnsrr wrapper
2019-11-01 08:16:10 +01:00
Marc Alexander
b40fe17d93 Merge pull request #5723 from rubencm/ticket/16196
[ticket/16196] Remove paragonie/random_compat
2019-11-01 08:04:36 +01:00
hanakin
1a2e5f6ee6 [ticket/16188] Remove responsive tables in acp
PHPBB3-16188
2019-10-31 17:22:18 -10:00
rubencm
163aac74db [ticket/16190] Deprecate phpbb's checkdnsrr wrapper
PHPBB3-16190
2019-10-31 20:54:21 +00:00
rubencm
d87fc02774 [ticket/16196] Remove paragonie/random_compat
PHPBB3-16196
2019-10-30 22:29:39 +00:00
mrgoldy
be17a8417d [ticket/16195] Add missing paragraph
PHPBB3-16195
2019-10-30 20:13:01 +01:00
Marc Alexander
404768a607 Merge branch '3.2.x' into 3.3.x 2019-10-28 20:32:08 +01:00
mrgoldy
9cb1119d1e [ticket/12539] Prevent cursor repositioning
PHPBB3-12539
2019-10-28 20:29:51 +01:00
Marc Alexander
1e67ffee1d Merge branch '3.2.x' into 3.3.x 2019-10-28 20:22:57 +01:00
Marc Alexander
40a69b8edf Merge branch '3.2.x' into 3.3.x 2019-10-28 19:50:01 +01:00
Marc Alexander
0e8e8c7b14 Merge pull request #5721 from VSEphpbb/ticket/16192
[ticket/16192] Fix CLI extension not enableable messages
2019-10-28 17:17:12 +01:00
Matt Friedman
7ae8f98ec6 [ticket/16192] Fix CLI extension not enableable messages
PHPBB3-16192
2019-10-27 16:22:24 -07:00
hanakin
eb0195dd7c [ticket/16188] fix acp responsive stats
PHPBB3-16188
2019-10-27 12:14:44 -10:00
Marc Alexander
b6f400a014 Merge branch '3.2.x' into 3.3.x 2019-10-26 21:50:49 +02:00
Marc Alexander
b8616fe9ac Merge branch '3.2.x' into 3.3.x 2019-10-26 21:35:39 +02:00
rubencm
f985f42dc2 [ticket/15958] Standarize create forums default options
PHPBB3-15958
2019-10-24 21:15:23 +00:00
3D-I
734c1cd5bd [ticket/16187] Correctly display registration using external services
PHPBB3-16187
2019-10-24 07:08:41 +02:00
Marc Alexander
95880a5f49 [3.3.x] Update version numbers to 3.3.0-b2-dev 2019-10-23 21:00:50 +02:00
Marc Alexander
90a8e1dd1c Merge branch 'prep-release-3.3.0-b1' into 3.3.x 2019-10-23 20:56:58 +02:00
mrgoldy
ade88f020e [ticket/12539] Reposition ESC to be on top
PHPBB3-12539
2019-10-22 22:20:27 +02:00
mrgoldy
fe7118aea0 [ticket/12539] Change let to var in jQuery
PHPBB3-12539
2019-10-22 22:19:07 +02:00
Marc Alexander
396a8214db [prep-release-3.3.0-b1] Add jquery update migration to 330b1 dependencies 2019-10-21 20:05:12 +02:00
Marc Alexander
b0b3810aab Merge branch '3.2.x' into 3.3.x 2019-10-21 17:51:29 +02:00
Marc Alexander
a8fb843ded Merge branch '3.2.x' into 3.3.x 2019-10-21 17:48:48 +02:00
Marc Alexander
dfcc744275 Merge pull request #5716 from marc1706/ticket/15437
[ticket/15437] Update jQuery and cookie consent to latest
2019-10-21 17:38:53 +02:00
Marc Alexander
e78632767c [ticket/15437] Rename jquery.min.js to jquery-3.4.1.min.js
PHPBB3-15437
2019-10-20 21:35:45 +02:00
Marc Alexander
cf7c3dcab5 [ticket/15437] Add migration for updating jQuery to 3.4.1
PHPBB3-15437
2019-10-20 21:33:05 +02:00
Marc Alexander
77da8b6507 Merge branch '3.2.x' into 3.3.x 2019-10-20 21:06:58 +02:00
Marc Alexander
06c894ff7f Merge branch '3.2.x' into 3.3.x 2019-10-20 21:01:44 +02:00
Marc Alexander
e75071fbd2 Merge branch '3.2.x' into 3.3.x 2019-10-20 20:59:06 +02:00
Marc Alexander
0a133fe009 Merge branch '3.2.x' into 3.3.x 2019-10-20 20:57:36 +02:00
Marc Alexander
4008800527 Merge branch '3.2.x' into 3.3.x 2019-10-20 20:51:26 +02:00
Marc Alexander
49ea5a4091 Merge branch '3.2.x' into 3.3.x 2019-10-20 20:39:12 +02:00
Marc Alexander
d9f9360c5b Merge branch '3.2.x' into 3.3.x 2019-10-20 17:18:16 +02:00
Marc Alexander
a671eaf25d Merge pull request #5714 from marc1706/ticket/16043
[ticket/16043] Check if not null before getting anything from the container
2019-10-20 11:22:02 +02:00
Marc Alexander
829ac4062d [ticket/15437] Update cookie consent to 3.3.1
PHPBB3-15437
2019-10-20 11:15:35 +02:00
Marc Alexander
33785d0fd3 [ticket/15437] Update jQuery to 3.4.1
PHPBB3-15437
2019-10-20 10:48:58 +02:00
Paul Sohier
465d0b1a4c [ticket/16043] Check if not null before getting anything from the container
This is only happening when there is basicly an error during
init of the container.

PHPBB3-16043
2019-10-19 17:29:20 +02:00
Marc Alexander
6105260a8e [prep-release-3.3.0-b1] Add changelog for 3.3.0-b1 2019-10-19 15:22:21 +02:00
Marc Alexander
2f220a07d1 [prep-release-3.3.0-b1] Add migration for 3.3.0-b1 2019-10-19 15:19:42 +02:00
Marc Alexander
32cc32c76a [prep-release-3.3.0-b1] Update version to 3.3.0-b1 2019-10-19 15:13:53 +02:00
Marc Alexander
c5ae114315 Merge pull request #5713 from marc1706/ticket/16185
[ticket/16185] Use xenial for builds on travis
2019-10-19 14:06:47 +02:00
Marc Alexander
bea1df7759 [ticket/16185] Add mysql, postgresql to services and use mariadb 10.1
Updated GPG key signature according to mariadb documentation.

PHPBB3-16185
2019-10-19 12:14:34 +02:00
Marc Alexander
5ff519c7b2 [ticket/16185] Use /mode for -perm when checking executables
The +mode notation is no longer supported and has been deprecated since 2005.

PHPBB3-16185
2019-10-19 11:48:52 +02:00
Marc Alexander
eb13694b25 [ticket/16185] Use xenial for builds on travis
PHPBB3-16185
2019-10-18 20:14:44 +02:00
Marc Alexander
1001584c1b Merge pull request #5700 from marc1706/ticket/16175
[ticket/16175] Update composer dependencies for 3.3.0-b1
2019-10-15 21:07:54 +02:00
Marc Alexander
8c2d0c8c36 Merge pull request #5708 from marc1706/ticket/16051
[ticket/16051] Remove mysql driver as it's no longer supported in PHP >= 7.0
2019-10-13 12:29:34 +02:00
Marc Alexander
6f48b3c044 Merge branch '3.2.x' into 3.3.x 2019-10-07 21:31:47 +02:00
Marc Alexander
b80cbd0e7d Merge branch '3.2.x' into 3.3.x 2019-10-07 20:58:08 +02:00
Marc Alexander
4cda76b5c0 Merge pull request #5702 from marc1706/ticket/14465
[ticket/14465] Remove setting for maximum password length
2019-10-07 18:31:14 +02:00
Marc Alexander
f7e51ca875 Merge pull request #5701 from marc1706/ticket/15922
[ticket/15922] Remove driver for discontinued APC cache
2019-10-07 10:40:20 +02:00
Marc Alexander
e8b4304c1b [ticket/16051] Automatically convert mysql driver to mysqli
PHPBB3-16051
2019-10-06 22:12:46 +02:00
Marc Alexander
bd02c5bd08 [ticket/16051] Remove mysql driver as it's no longer supported in PHP >= 7.0
PHPBB3-16051
2019-10-06 12:07:35 +02:00
Marc Alexander
60bc949ba1 [ticket/14465] Remove setting for maximum password length
PHPBB3-14465
2019-10-03 23:05:02 +02:00
Marc Alexander
25ae4fa355 [ticket/15922] Remove driver for discontinued APC cache
PHPBB3-15922
2019-10-03 22:42:34 +02:00
Marc Alexander
68c197fd60 Merge pull request #5652 from marc1706/ticket/11327
[ticket/11327] Implement forgot password functionality via form
2019-10-03 21:01:36 +02:00
Marc Alexander
dd2eadf8ec [ticket/16175] Update composer dependencies for 3.3.0-b1
PHPBB3-16175
2019-10-03 17:12:35 +02:00
Marc Alexander
3a443b5623 [ticket/11327] Adjust code per review comments
PHPBB3-11327
2019-10-03 16:56:17 +02:00
Marc Alexander
1eed2f98c3 Merge pull request #5555 from senky/ticket/15257
[ticket/15257] Provide extension not enableable messages
2019-10-03 11:06:58 +02:00
Marc Alexander
e54aa94e77 [ticket/15257] Improve readability of check_is_enableable
PHPBB3-15257
2019-09-30 21:21:50 +02:00
Jakub Senko
d7c644a792 [ticket/15257] Address validation issues
PHPBB3-15257
2019-09-30 20:25:54 +02:00
Jakub Senko
975fe1e153 [ticket/15257] Provide extension not enableable messages
PHPBB3-15257
2019-09-30 20:25:44 +02:00
Marc Alexander
b6c230753e Merge pull request #5511 from senky/ticket/15940
[ticket/15940] Expose user_id to notif method's is_available()
2019-09-28 16:17:52 +02:00
Jakub Senko
1af05d9615 [ticket/15940] Fix approve_* notifications
PHPBB3-15940
2019-09-28 14:34:17 +02:00
Marc Alexander
a85bb1332d Merge pull request #5480 from mrgoldy/ticket/15905
[ticket/15905] Create multiple twig extensions
2019-09-28 12:57:06 +02:00
Marc Alexander
f05022941d [ticket/15905] Reset avatar manager enabled drivers property
PHPBB3-15905
2019-09-28 11:58:02 +02:00
Marc Alexander
e00a154882 [ticket/15905] Add tests for twig extensions
PHPBB3-15905
2019-09-26 22:33:52 +02:00
mrgoldy
f21003f977 [ticket/15905] Re-add add_class and lang_defined
PHPBB3-15905
2019-09-25 20:43:01 +02:00
mrgoldy
133dfd0a84 [ticket/15905] Try it without auth
PHPBB3-15905
2019-09-25 20:39:04 +02:00
mrgoldy
eee00652e7 [ticket/15905] Resolve conflicts
PHPBB3-15905
2019-09-25 20:08:40 +02:00
mrgoldy
7989f3f71f [ticket/15905] Try with existing phpbb extension
PHPBB3-15905
2019-09-25 20:07:09 +02:00
mrgoldy
012fe18879 [ticket/15905] Correct line endings
PHPBB3-15905
2019-09-25 19:49:24 +02:00
mrgoldy
91b89b6374 [ticket/15905] Create multiple twig extensions
PHPBB3-15905
2019-09-25 19:49:17 +02:00
Marc Alexander
36614e6f81 Merge pull request #5135 from senky/ticket/15564
[ticket/15564] Switch to Invisible reCAPTCHA
2019-09-25 17:13:00 +02:00
Jakub Senko
7fac5be2cc [ticket/15564] Improve wording
PHPBB3-15564
2019-09-24 14:04:40 +02:00
Jakub Senko
d7dd91d0e2 [ticket/15564] Improve wording since captcha can be invisible now
PHPBB3-15564
2019-09-24 14:04:32 +02:00
Jakub Senko
25d3292d30 [ticket/15564] Move recaptcha callbacks to global space
PHPBB3-15564
2019-09-24 14:04:23 +02:00
Jakub Senko
a05d744266 [ticket/15564] Move JS functions closer to related code
PHPBB3-15564
2019-09-24 14:04:14 +02:00
Jakub Senko
772e801d4f [ticket/15564] Don't use ES2015, it breaks UI tests
PHPBB3-15564
2019-09-24 14:04:04 +02:00
Jakub Senko
27153d7e46 [ticket/15564] Remove console.log() call
PHPBB3-15564
2019-09-24 14:03:55 +02:00
Jakub Senko
c0e9ef21fe [ticket/15564] Update ACP as well
PHPBB3-15564
2019-09-24 14:03:47 +02:00
Jakub Senko
0f3559528a [ticket/15564] Use es2015
PHPBB3-15564
2019-09-24 14:03:38 +02:00
Jakub Senko
760a03fffc [ticket/15564] Switch to Invisible reCAPTCHA
PHPBB3-15564
2019-09-24 14:03:27 +02:00
Marc Alexander
a90f5e6bcc Merge pull request #5694 from marc1706/ticket/15436
[ticket/15436] Remove folder icons code from index
2019-09-24 13:51:27 +02:00
Marc Alexander
f4935ef500 Merge branch '3.2.x' into 3.3.x 2019-09-23 17:37:17 +02:00
Marc Alexander
ba945496b4 Merge branch '3.2.x' into 3.3.x 2019-09-22 21:16:42 +02:00
Marc Alexander
ae08036b2c Merge branch '3.2.x' into 3.3.x 2019-09-22 21:04:41 +02:00
Marc Alexander
a028dfab12 Merge branch '3.2.x' into 3.3.x 2019-09-22 16:59:09 +02:00
Marc Alexander
914199d50f Merge branch '3.2.x' into 3.3.x 2019-09-22 16:54:53 +02:00
Marc Alexander
7e8c6d8c0d Merge branch '3.2.x' into 3.3.x 2019-09-22 13:02:24 +02:00
Marc Alexander
9454377e55 Merge branch '3.2.x' into 3.3.x 2019-09-22 12:05:05 +02:00
Marc Alexander
1ef43bc1a1 Merge branch '3.2.x' into 3.3.x 2019-09-21 14:33:25 +02:00
Marc Alexander
13932e9aba Merge branch '3.2.x' into 3.3.x 2019-09-21 14:29:18 +02:00
Marc Alexander
fcff807834 Merge branch '3.2.x' into 3.3.x 2019-09-21 14:17:15 +02:00
Marc Alexander
281049eafd Merge branch '3.2.x' into 3.3.x 2019-09-21 14:11:50 +02:00
vinny
81cbefdae5 [ticket/15436] Remove folder icons code from index
PHPBB3-15436
2019-09-21 14:09:21 +02:00
Marc Alexander
a7c02304a5 Merge branch '3.2.x' into 3.3.x 2019-09-20 22:23:06 +02:00
mrgoldy
ccc21a8c94 [ticket/12539] Live member search improvements
PHPBB3-12539
2019-09-09 16:27:16 +02:00
Marc Alexander
d613984660 Merge branch '3.2.x' into 3.3.x 2019-09-01 13:33:05 +02:00
Marc Alexander
dcafa6a711 Merge pull request #5659 from rubencm/ticket/16131
[ticket/16131] Force vagrant to install phpBB with php7.2
2019-09-01 13:01:50 +02:00
Marc Alexander
f920336be4 [ticket/11327] Use http_exception instead of trigger_error
PHPBB3-11327
2019-09-01 11:36:57 +02:00
Marc Alexander
8048d817ca [ticket/11327] Move html output to reset password html file
PHPBB3-11327
2019-08-30 09:44:10 +02:00
Marc Alexander
454ea081f1 [ticket/11327] Use U_ prefix for reset password URL template variable
PHPBB3-11327
2019-08-26 18:14:39 +02:00
Marc Alexander
7a3e351178 [ticket/11327] Clean up code style a bit
PHPBB3-11327
2019-08-22 14:05:58 +02:00
Marc Alexander
0b843505e8 Merge branch '3.2.x' into 3.3.x 2019-08-17 21:48:12 +02:00
Marc Alexander
d4652c1b20 Merge branch '3.2.x' into 3.3.x 2019-08-17 11:14:00 +02:00
Marc Alexander
7dd822942a Merge branch '3.2.x' into 3.3.x 2019-08-17 11:02:16 +02:00
Marc Alexander
826cc9751a Merge branch '3.2.x' into 3.3.x 2019-08-16 12:24:46 +02:00
Marc Alexander
f5f03d24e9 Merge branch '3.2.x' into 3.3.x 2019-08-15 10:47:34 +02:00
rubencm
49ac98ffdb [ticket/16131] Force vagrant to install phpBB with php7.2
PHPBB3-16131
2019-08-14 12:23:00 +00:00
Marc Alexander
da6be75a18 Merge branch '3.2.x' into 3.3.x 2019-08-13 18:46:31 +02:00
Marc Alexander
fffcb2a6af Merge branch '3.2.x' into 3.3.x 2019-08-13 18:34:16 +02:00
Marc Alexander
c0bd3122e0 Merge branch '3.2.x' into 3.3.x 2019-08-12 21:40:17 +02:00
Marc Alexander
54fff02f95 Merge branch '3.2.x' into 3.3.x 2019-08-11 20:44:57 +02:00
Marc Alexander
784938e68b Merge branch '3.2.x' into 3.3.x 2019-08-11 20:37:47 +02:00
Marc Alexander
3947970d0b Merge branch '3.2.x' into 3.3.x 2019-08-11 20:02:16 +02:00
Marc Alexander
08ee5a608b Merge branch '3.2.x' into 3.3.x 2019-08-11 17:36:24 +02:00
Marc Alexander
0cbf06780e Merge branch '3.2.x' into 3.3.x 2019-08-11 17:24:16 +02:00
Marc Alexander
96335c0402 Merge branch '3.2.x' into 3.3.x 2019-08-11 17:15:50 +02:00
Marc Alexander
bf6f1cac8f Merge branch '3.2.x' into 3.3.x 2019-08-11 17:10:37 +02:00
Marc Alexander
9e772d1421 [ticket/11327] Adjust tests for new reset password changes
PHPBB3-11327
2019-08-10 22:21:14 +02:00
Marc Alexander
ba92e7d2d6 [ticket/11327] Clean up code a bit
PHPBB3-11327
2019-08-10 21:30:40 +02:00
Marc Alexander
fa5a0d5e21 [ticket/11327] Update tests to reflect changes
PHPBB3-11327
2019-08-10 21:18:55 +02:00
Marc Alexander
cefdf8bf19 [ticket/11327] Finish up initial version of password reset system
PHPBB3-11327
2019-08-10 17:18:39 +02:00
Marc Alexander
eee18f3747 [ticket/11327] Rename UCP reset password template
PHPBB3-11327
2019-08-10 15:11:43 +02:00
Marc Alexander
e991df195b [ticket/11327] Continue with implementation of password reset functionality
PHPBB3-11327
2019-08-10 15:09:35 +02:00
Marc Alexander
1d1d963c14 [ticket/11327] Adjust wording of forgot password email
PHPBB3-11327
2019-08-09 23:32:49 +02:00
Marc Alexander
cfea54f8f3 [ticket/11327] Rename email file to forgot password
PHPBB3-11327
2019-08-09 22:52:35 +02:00
Marc Alexander
0a5599697f [ticket/11327] Split up into forgot password and reset password
PHPBB3-11327
2019-08-09 22:51:51 +02:00
Marc Alexander
f41c51d1ec [ticket/11327] Add reset token columns & config setting
PHPBB3-11327
2019-08-09 22:47:04 +02:00
Marc Alexander
4ad288c544 Merge branch '3.2.x' into 3.3.x 2019-08-09 13:27:10 +02:00
Marc Alexander
fe030f67ef [ticket/11327] Adjust display of page title
PHPBB3-11327
2019-08-08 22:11:13 +02:00
Marc Alexander
276f350bcb [ticket/11327] Refactor ucp_remind to reset_password controller
PHPBB3-11327
2019-08-08 22:03:27 +02:00
Marc Alexander
3f852a3233 [ticket/11327] Move UCP remind functionality to a controller for password reset
PHPBB3-11327
2019-08-08 22:01:51 +02:00
Marc Alexander
9cb22f008d Merge branch '3.2.x' into 3.3.x 2019-08-07 14:25:17 +02:00
Marc Alexander
d880443ea2 Merge branch '3.2.x' into 3.3.x 2019-07-31 07:50:23 +02:00
Marc Alexander
b4d4709726 Merge pull request #5644 from marc1706/ticket/16115
[ticket/16115] Add PHP 7.4snapshot to travis CI build matrix
2019-07-30 20:42:22 +02:00
Derky
2f85fc53dc Merge branch '3.2.x' into 3.3.x 2019-07-30 07:39:16 +02:00
Marc Alexander
90722a3c66 Merge branch '3.2.x' into 3.3.x 2019-07-29 21:45:18 +02:00
Marc Alexander
2e634e9f96 Merge branch '3.2.x' into 3.3.x 2019-07-29 21:43:37 +02:00
Marc Alexander
e086d4039e Merge branch '3.2.x' into 3.3.x 2019-07-29 21:38:18 +02:00
Marc Alexander
d4e623ffee Merge branch '3.2.x' into 3.3.x 2019-07-29 21:31:12 +02:00
Marc Alexander
6078f58343 Merge pull request #5639 from marc1706/ticket/16112-3.3.x
[ticket/16112] Update composer dependencies for 3.3.x
2019-07-29 21:30:56 +02:00
Marc Alexander
be3a58aff1 Merge branch '3.2.x' into 3.3.x 2019-07-29 20:48:28 +02:00
Marc Alexander
eaf42f3c72 [ticket/16115] Add PHP 7.4snapshot to travis CI build matrix
PHPBB3-16115
2019-07-29 20:46:35 +02:00
Marc Alexander
189f3fd68e Merge pull request #5636 from marc1706/ticket/15886
[ticket/15886] Use getMockBuilder instead of removed getMock()
2019-07-29 08:21:10 +02:00
Marc Alexander
7543508570 Merge branch 'ticket/16112' into ticket/16112-3.3.x 2019-07-28 23:11:52 +02:00
Marc Alexander
e1962acd4e [ticket/15886] Use getMockBuilder instead of removed getMock()
PHPBB3-15886
2019-07-28 21:53:04 +02:00
Marc Alexander
710a0b3ea3 Merge branch '3.2.x' into 3.3.x 2019-07-28 17:55:30 +02:00
Marc Alexander
2df9230902 Merge branch '3.2.x' into 3.3.x 2019-07-28 17:18:40 +02:00
Marc Alexander
423345d517 Merge pull request #5557 from senky/ticket/15088
[ticket/15088] Avoid code repetitions in extension manager
2019-07-28 10:40:58 +02:00
Marc Alexander
5a76d541a2 Merge branch '3.2.x' into 3.3.x 2019-07-28 10:38:38 +02:00
Marc Alexander
065feb3ff9 [ticket/15088] Ensure phpBB version is set in tests
PHPBB3-15088
2019-07-27 21:32:54 +02:00
Jakub Senko
b0334d6b4f [ticket/15088] Avoid code repetitions in extension manager
PHPBB3-15088
2019-07-27 16:51:56 +02:00
Marc Alexander
ee51bf26fa Merge pull request #5566 from JoshyPHP/ticket/16017
[ticket/16017] Add support for Argon2id as default password hashing
2019-07-27 16:30:25 +02:00
Marc Alexander
812edebfb7 Merge branch '3.2.x' into 3.3.x 2019-07-27 16:20:58 +02:00
Marc Alexander
31192fc08e Merge branch '3.2.x' into 3.3.x 2019-07-27 16:18:41 +02:00
Marc Alexander
3433f61ccb Merge branch '3.2.x' into 3.3.x 2019-07-27 14:57:34 +02:00
Marc Alexander
84fdba604d Merge branch '3.2.x' into 3.3.x 2019-07-27 14:38:02 +02:00
Marc Alexander
b12405dbc7 Merge branch '3.2.x' into 3.3.x 2019-07-27 14:30:35 +02:00
Marc Alexander
3e9682fe49 [ticket/16017] Add missing passwords.driver tag to argon2id
PHPBB3-16017
2019-07-26 22:46:22 +02:00
Marc Alexander
33be961aa0 Merge pull request #5565 from JoshyPHP/ticket/16016
[ticket/16016] Add a base class for native password hashing
2019-07-26 18:20:32 +02:00
JoshyPHP
860a370e8f [ticket/16017] Add support for Argon2id as default password hashing
PHPBB3-16017
2019-07-23 21:30:28 +02:00
JoshyPHP
a4a5b069ec [ticket/16016] Add a base class for native password hashing
PHPBB3-16016
2019-07-23 21:28:05 +02:00
Marc Alexander
c382536f47 Merge branch '3.2.x' into 3.3.x 2019-07-23 21:18:27 +02:00
Marc Alexander
b5e6f34cd9 Merge branch '3.2.x' into 3.3.x 2019-07-23 21:08:54 +02:00
Marc Alexander
ce518043e9 Merge branch '3.2.x' into 3.3.x 2019-07-22 22:17:14 +02:00
Marc Alexander
58fa8eabb7 Merge branch '3.2.x' into 3.3.x 2019-07-22 21:40:12 +02:00
Marc Alexander
b2c5f8fb48 Merge branch '3.2.x' into 3.3.x 2019-07-22 21:31:57 +02:00
Marc Alexander
01018630c9 Merge pull request #5619 from marc1706/ticket/16082
[ticket/16082] Remove XCache as it does not support PHP 7
2019-07-22 21:24:46 +02:00
Marc Alexander
f5d28a95b0 Merge pull request #5618 from marc1706/ticket/16081
[ticket/16081] Remove eAccelerator cache driver
2019-07-22 21:23:17 +02:00
Marc Alexander
204e3b1fe0 Merge branch '3.2.x' into 3.3.x 2019-07-22 20:55:06 +02:00
Marc Alexander
6fc269b62a Merge branch '3.2.x' into 3.3.x 2019-07-21 22:24:52 +02:00
Marc Alexander
348979c13d Merge branch '3.2.x' into 3.3.x 2019-07-21 21:38:27 +02:00
Marc Alexander
5d2e144624 Merge branch '3.2.x' into 3.3.x 2019-07-21 21:12:07 +02:00
Marc Alexander
de039dcc7c Merge branch '3.2.x' into 3.3.x 2019-06-23 10:50:04 +02:00
Marc Alexander
6d4fdb1f15 Merge branch '3.2.x' into 3.3.x 2019-06-17 15:32:07 +02:00
Marc Alexander
5cef0d2035 Merge branch '3.2.x' into 3.3.x 2019-06-17 15:28:10 +02:00
Marc Alexander
8a979d6871 Merge branch '3.2.x' into 3.3.x 2019-06-17 14:53:56 +02:00
Marc Alexander
30f522351e Merge branch '3.2.x' into 3.3.x 2019-06-17 10:26:33 +02:00
Marc Alexander
a6803e6a18 Merge branch '3.2.x' into 3.3.x 2019-06-17 10:21:09 +02:00
Marc Alexander
05f9ef7134 Merge branch '3.2.x' into 3.3.x 2019-06-17 10:15:00 +02:00
Marc Alexander
fc8d0c54e9 Merge branch '3.2.x' into 3.3.x 2019-06-17 10:11:57 +02:00
Marc Alexander
5de54906f0 Merge branch '3.2.x' into 3.3.x 2019-06-17 10:07:03 +02:00
Marc Alexander
8f3f7d1e5e Merge branch '3.2.x' into 3.3.x 2019-06-17 10:00:26 +02:00
Marc Alexander
5741c8d8ee Merge branch '3.2.x' into 3.3.x 2019-06-17 09:35:05 +02:00
Marc Alexander
6007978e7b Merge branch '3.2.x' into 3.3.x 2019-06-17 09:03:38 +02:00
Marc Alexander
bd646cff52 Merge branch '3.2.x' into 3.3.x 2019-06-07 23:46:47 +02:00
Marc Alexander
95264e2152 Merge branch '3.2.x' into 3.3.x 2019-06-06 22:28:33 +02:00
Marc Alexander
6422bdb5ec [ticket/16082] Remove XCache as it does not support PHP 7
PHPBB3-16082
2019-06-06 22:21:40 +02:00
Marc Alexander
7572bc050b [ticket/16081] Remove eAccelerator cache driver
eAccelerator does not support any PHP version above 5.3.

PHPBB3-16081
2019-06-06 22:13:03 +02:00
Marc Alexander
bc59342e1a Merge branch '3.2.x' into 3.3.x 2019-06-06 21:59:30 +02:00
Marc Alexander
9e90b27ba1 Merge branch '3.2.x' into 3.3.x 2019-06-06 21:51:13 +02:00
Marc Alexander
e419c2cd3b Merge pull request #5583 from marc1706/ticket/15987
[ticket/15987] Table parameters as array
2019-06-05 21:45:42 +02:00
Marc Alexander
183d1afcaa Merge branch '3.2.x' into 3.3.x 2019-06-05 21:22:32 +02:00
Marc Alexander
99d83673f5 Merge branch '3.2.x' into 3.3.x 2019-06-04 22:21:52 +02:00
Marc Alexander
2a69eb051d Merge branch '3.2.x' into 3.3.x 2019-06-03 23:10:51 +02:00
Marc Alexander
5540a0f8e0 Merge branch '3.2.x' into 3.3.x 2019-06-03 21:18:46 +02:00
Marc Alexander
730e1140e3 Merge pull request #5614 from JoshyPHP/ticket/16072
[ticket/16072] Update s9e/text-formatter
2019-06-03 21:06:20 +02:00
JoshyPHP
76ea1de0ab [ticket/16072] Update s9e/text-formatter
PHPBB3-16072
2019-05-31 22:46:59 +02:00
Marc Alexander
c04642f987 Merge branch '3.2.x' into 3.3.x 2019-05-27 21:19:13 +02:00
Marc Alexander
b4d36e3235 Merge branch '3.2.x' into 3.3.x 2019-05-27 20:50:53 +02:00
Marc Alexander
b9a40be9b4 Merge pull request #5591 from rubencm/ticket/16057
[ticket/16057] Fix vagrant in 3.3
2019-05-27 20:34:13 +02:00
Marc Alexander
00f639de7b Merge branch '3.2.x' into 3.3.x 2019-05-23 22:07:30 +02:00
rubencm
84ce92896e [ticket/16057] Enable cgi.fix_pathinfo in php.ini
PHPBB3-16057
2019-05-17 20:58:54 +00:00
rubencm
dd3330d7c9 [ticket/16057] Undo composer.json changes
PHPBB3-16057
2019-05-15 23:22:02 +00:00
rubencm
d639e107ec [ticket/16057] Enable url rewrite and composer.json rule
PHPBB3-16057
2019-05-15 23:07:29 +00:00
Marc Alexander
d72498a9c3 [ticket/15987] Go back to previous table definition type
This will still allow using the 'tables' parameter array but will also ensure
full backward compatibility and compatibility with extensions that will add
more tables to the 'tables' array.

PHPBB3-15987
2019-05-14 21:20:51 +02:00
Marc Alexander
61fa4f006a [ticket/15987] Add missing paranthesis
PHPBB3-15987
2019-05-14 20:29:46 +02:00
Marc Alexander
9c1baf0fd7 [ticket/15987] Add container extension to support tables "array access"
PHPBB3-15987
2019-05-14 20:29:29 +02:00
mrgoldy
fe04f59ca2 [ticket/15987] Table parameters as array
PHPBB3-15987
2019-05-14 20:28:46 +02:00
Marc Alexander
9207b13224 Merge branch '3.2.x' into 3.3.x 2019-05-14 17:24:36 +02:00
Marc Alexander
29d40fd3d6 Merge branch '3.2.x' into 3.3.x 2019-05-14 17:18:39 +02:00
Marc Alexander
0ebcb3f3a0 Merge branch '3.2.x' into 3.3.x 2019-05-14 11:42:43 +02:00
rubencm
c2841cb6e2 [ticket/16057] Fix vagrant in 3.3
PHPBB3-16057
2019-05-13 19:36:43 +00:00
Marc Alexander
f7ec97b88e [ticket/16052] Update composer dependencies
PHPBB3-16052
2019-05-12 18:28:08 +02:00
Marc Alexander
b6cd02bacb [ticket/16052] Add 3.3.0-dev migration
PHPBB3-16052
2019-05-11 23:36:20 +02:00
hanakin
52ed8bfaa1 [ticket/15927] Avoid using floats
PHPBB3-15927
2019-05-11 23:36:20 +02:00
hanakin
8f0643a14c [ticket/15927] Fix render issue
PHPBB3-15927
2019-05-11 23:36:20 +02:00
Marc Alexander
31ab3d93a2 [ticket/15828] Do not allow PHP 7.3 tests to fail
PHPBB3-15828
2019-05-11 23:36:20 +02:00
Marc Alexander
89ae1c3221 [ticket/16052] Update version numbers to 3.3
PHPBB3-16052
2019-05-11 23:36:44 +02:00
Marc Alexander
3f33d89572 [ticket/16052] Fix issues caused by merges
PHPBB3-16052
2019-05-11 23:36:20 +02:00
Matt Friedman
90f8498a44 [ticket/15369] Fix php_exporter tests
PHPBB3-15369
2019-05-10 21:02:54 +02:00
Matt Friedman
2753f8ccc8 [ticket/15369] Fix tests
PHPBB3-15369
2019-05-10 21:02:43 +02:00
Marc Alexander
18d4b7f358 [ticket/15938] Update classes in backupStaticAttributesBlacklist
PHPBB3-15938
2019-05-09 21:59:28 +02:00
Marc Alexander
978d883abb [ticket/14948] Remove checks for unsupported PHP versions
PHPBB3-14948
2019-05-09 21:58:29 +02:00
Marc Alexander
d0e3c2c136 [ticket/14948] Switch to VC15 where necessary for appveyor mssql driver
PHPBB3-14948
2019-05-09 21:58:23 +02:00
Marc Alexander
fe6dd5a8f7 [ticket/14948] Use MSSQL 5.3.0 driver in appveyor builds
PHPBB3-14948
2019-05-09 21:58:11 +02:00
Marc Alexander
33f9333f13 [ticket/14948] Remove no longer needed or supported phpunit configs
PHPBB3-14948
2019-05-09 21:58:05 +02:00
Marc Alexander
51ffab0045 [ticket/14948] Use new namespaced classes when generating mssql schema
PHPBB3-14948
2019-05-09 21:58:01 +02:00
Marc Alexander
4ad0d4ceeb [ticket/14948] Require json extension in composer.json
PHPBB3-14948
2019-05-09 21:57:55 +02:00
Marc Alexander
4ff993fc1b [ticket/14948] Allow failures on PHP 7.3 until segfault is resolved
PHPUnit still runs into segfaults on PHP 7.3.0. Let this test fail for now.

PHPBB3-14948
2019-05-09 21:57:48 +02:00
Marc Alexander
3c0fd43f85 [ticket/14948] Use continue 2 instead of continue to continue while loop
PHPBB3-14948
2019-05-09 21:57:42 +02:00
Marc Alexander
c92d4933cc [ticket/14948] Remove mysql build as it's no longer supported in PHP >= 7.0
PHPBB3-14948
2019-05-09 21:57:37 +02:00
Marc Alexander
9f19202152 [ticket/14948] Update lexer to be compatible with twig 2.6
PHPBB3-14948
2019-05-09 21:57:30 +02:00
Marc Alexander
e7795fe7ce [ticket/14948] Change PHP versions for appveyor
PHPBB3-14948
2019-05-09 21:57:23 +02:00
Marc Alexander
9223781797 [ticket/14948] Update codesniffer files to be compatible with phpcs 3.x
PHPBB3-14948
2019-05-09 21:57:10 +02:00
Marc Alexander
e76c673e2e [ticket/14948] Update requirements and travis build matrix
PHPBB3-14948
2019-05-09 21:49:57 +02:00
Marc Alexander
ebac54aa9e [ticket/14948] Adjust calls for twig and phpunit updates
PHPBB3-14948
2019-05-09 21:40:06 +02:00
Marc Alexander
d968392b4d [ticket/14948] Require PHP 7.1 and update dependencies
PHPBB3-14948
2019-05-09 21:36:06 +02:00
Máté Bartus
05a86ca3b0 [ticket/15921] Fix master build
PHPBB3-15921
2019-05-09 21:31:35 +02:00
François-Xavier de Guillebon
c0fde5d5fd [ticket/15508] Update loader
PHPBB3-15508
2019-05-09 21:30:39 +02:00
François-Xavier de Guillebon
40e61e4d1e [ticket/15508] Remove call to getEnvironment() from parser
PHPBB3-15508
2019-05-09 21:30:12 +02:00
François-Xavier de Guillebon
ff35f65064 [ticket/15508] Replace Twig_NodeInterface with Twig_Node
PHPBB3-15508
2019-05-09 21:28:24 +02:00
François-Xavier de Guillebon
ac3c49e548 [ticket/15508] Update composer dependencies to allow Twig 2.x
PHPBB3-15508
2019-05-09 21:28:08 +02:00
rubencm
27fc256745 [ticket/12629] Fix tests
PHPBB3-12629
2019-05-09 21:24:06 +02:00
rubencm
6643c904d5 [ticket/12629] Rename errors_show to show_errors
PHPBB3-12629
2019-05-09 21:23:58 +02:00
Rubén Calvo
ba088f6bdc [ticket/12629] Add debug.errors_show
PHPBB3-12629
2019-05-09 21:22:52 +02:00
hubaishan
84b6dd7e5f [ticket/15846] Fix Wrong id for downldable group
`downloadable` extension group has id 5 not 6

PHPBB3-15846
2019-05-09 21:21:32 +02:00
Rubén Calvo
e46d8d329d [ticket/15244] Remove unglobalise related code
PHPBB3-15244
2019-05-09 21:21:09 +02:00
rubencm
a702142a34 [ticket/12636] Rename log.session_errors to session.log_errors
PHPBB3-12636
2019-05-09 21:20:16 +02:00
Rubén Calvo
c20fed43cd [ticket/12636] Add log.session_errors to mock container_builder
PHPBB3-12636
2019-05-09 21:10:53 +02:00
Rubén Calvo
303b823847 [ticket/12636] Add log.session_errors
PHPBB3-12636
2019-05-09 19:04:01 +02:00
Jakub Senko
4f402465bf [ticket/12628] Introduce debug.memory
Also fix one debug.sql_explain missing from the previous PR

PHPBB3-12628
2019-05-09 19:02:14 +02:00
JoshyPHP
917880e2bf [ticket/15410] Remove obsolete code from BBCodes ACP
PHPBB3-15410
2019-05-09 19:02:01 +02:00
rubencm
db36318ad0 [ticket/15772] Hide warning in acp when allow_install_dir is true
PHPBB3-15772
2019-05-09 19:01:23 +02:00
Rubén Calvo
4f5a8f6983 [ticket/15255] Move language strings from acp/common to common
PHPBB3-15255
2019-05-09 19:01:00 +02:00
Jakub Senko
3914515199 [ticket/11838] OAuth registration from ucp_register
PHPBB3-11838
2019-05-09 19:00:29 +02:00
Rubén Calvo
3c2e75b52a [ticket/15720] Don't escape ampersands on redirections
PHPBB3-15720
2019-05-09 18:59:45 +02:00
Rubén Calvo
7c26569d93 [ticket/15413] Login redirect to previous page
PHPBB3-15413
2019-05-09 18:59:30 +02:00
Jakub Senko
30303647f0 [ticket/15744] Remove useless sql_freeresults
PHPBB3-15744
2019-05-09 18:58:22 +02:00
Rubén Calvo
284368b9d6 [ticket/12623] Add install dir during tests
PHPBB3-12623
2019-05-09 18:57:15 +02:00
Rubén Calvo
432482160d [ticket/12623] Add allow_install_dir
PHPBB3-12623
2019-05-09 18:57:10 +02:00
Marc Alexander
1609fa292d [ticket/15746] Update symfony to latest on master
Also fixed incorrect creation of dumped container (Container instead of
ContainerBuilder).

PHPBB3-15746
2019-05-09 18:56:41 +02:00
Rubén Calvo
0fe4cbc17f [ticket/15663] Remove empty line
PHPBB3-15663
2019-05-09 18:55:07 +02:00
Rubén Calvo
98b3aacde4 [ticket/15663] Remove flash icon and template
PHPBB3-15663
2019-05-09 18:55:03 +02:00
Rubén Calvo
0a2589b5e0 [ticket/15663] Move constant to compatibility_globals
PHPBB3-15663
2019-05-09 18:54:58 +02:00
Rubén Calvo
35fef8333a [ticket/15663] Add migration
PHPBB3-15663
2019-05-09 18:54:49 +02:00
Rubén Calvo
65b0698ef7 [ticket/15663] Remove flash attachments support
PHPBB3-15663
2019-05-09 18:53:46 +02:00
Rubén Calvo
9e3141d9d3 [ticket/15738] Remove deprecated variables from questionnaire
PHPBB3-15738
2019-05-09 18:47:56 +02:00
Rubén Calvo
688d022f42 [ticket/15738] Remove code related with safe_mode
PHPBB3-15738
2019-05-09 18:47:50 +02:00
rxu
ab0dae6003 [ticket/15725] Fix installing ext in tests for master branch
PHPBB3-15725
2019-05-09 18:46:50 +02:00
Jakub Senko
64b053c997 [ticket/15694] Ignore lang files in prosilver/theme dir
PHPBB3-15694
2019-05-09 18:44:48 +02:00
Jakub Senko
1f87b25709 [ticket/12591] Introduce a BC fallback
PHPBB3-12591
2019-05-09 18:44:41 +02:00
Jakub Senko
9f20ff7b9e [ticket/12591] Improve breadcrumb naming and extend it's usage
PHPBB3-12591
2019-05-09 18:43:34 +02:00
Jakub Senko
139eb17bb7 [ticket/12624] Add debug.load_time parameter
PHPBB3-12624
2019-05-09 18:40:15 +02:00
Jakub Senko
b4d4336ef4 [ticket/12627] Add debug.sql_explain parameter
PHPBB3-12627
2019-05-09 18:29:22 +02:00
Rubén Calvo
5815d21427 [ticket/15714] Edit language string
PHPBB3-15714
2019-05-09 18:28:41 +02:00
Rubén Calvo
7dae1fe48c [ticket/15714] Auto login after registration
PHPBB3-15714
2019-05-09 18:28:36 +02:00
Jakub Senko
ec04f177d0 [ticket/15718] Update CONTRIBUTING.md
PHPBB3-15718
2019-05-09 18:28:15 +02:00
3D-I
efc2e6e570 [ticket/15580] Remove redundant code from ACP
PHPBB3-15580
2019-05-09 18:27:48 +02:00
Jakub Senko
62e609c10c [ticket/15522] Improve color palette syntax
PHPBB3-15522
2019-05-09 18:26:30 +02:00
amalnaeem
7e96098e29 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in acp_main.html.

PHPBB3-15610
2019-05-09 18:25:39 +02:00
amalnaeem
ee667ac897 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in acp_main.html.

PHPBB3-15610
2019-05-09 18:25:34 +02:00
amalnaeem
d227912ee8 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in  acp_main.html.

PHPBB3-15610
2019-05-09 18:25:28 +02:00
amalnaeem
68cba0cb26 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in  acp_main.html

PHPBB3-15610
2019-05-09 18:25:18 +02:00
amalnaeem
cbe9833975 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in acp_main.html

PHPBB3-15610
2019-05-09 18:25:13 +02:00
amalnaeem
7b4ef7a101 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in acp_main.html

PHPBB3-15610
2019-05-09 18:25:07 +02:00
amalnaeem
f993d91865 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in acp_main.html

PHPBB3-15610
2019-05-09 18:25:01 +02:00
amalnaeem
94f4062b29 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in acp_main.html.

PHPBB3-15610
2019-05-09 18:24:52 +02:00
amalnaeem
a66c4170a9 [ticket/15610] Improving UI of Board Statistics
Master Improving UI of Board Statistics in ACP.

Statistics table was divided into two in acp_main.html.

PHPBB3-15610
2019-05-09 18:24:06 +02:00
amalnaeem
9b5b058925 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in acp_main.html.

PHPBB3-15610
2019-05-09 18:21:56 +02:00
amalnaeem
341962ae74 [ticket/15610] Improving UI of Board Statistics in ACP
Master Improving UI of Board Statistics in ACP

Statistics table was divided into two in acp_main.html.

PHPBB3-15610
2019-05-09 18:21:51 +02:00
Jakub Senko
4da589acba [ticket/15664] Add support for multi step processes
PHPBB3-15664
2019-05-09 18:21:01 +02:00
Jakub Senko
3e6fd7e8fd [ticket/15664] Ajaxify ext actions in ACP
PHPBB3-15664
2019-05-09 18:20:41 +02:00
Rubén Calvo
dc9b1c37b1 [ticket/15671] Rewrite load extensions from a variable instead of harcode it
PHPBB3-15671
2019-05-08 22:29:01 +02:00
Rubén Calvo
dc397755d5 [ticket/15671] Load extensions from a variable instead of harcode it
PHPBB3-15671
2019-05-08 22:28:56 +02:00
Rubén Calvo
4ff986f578 [ticket/15671] Limit accepted formats for avatar upload
PHPBB3-15671
2019-05-08 22:28:49 +02:00
Rubén Calvo
2578a2b9fc [ticket/15686] Update homestead
PHPBB3-15686
2019-05-08 22:28:24 +02:00
JoshyPHP
5de4780753 [ticket/15646] Made Argon2i the default password driver
PHPBB3-15646
2019-05-08 22:26:29 +02:00
JoshyPHP
2ff5871ff4 [ticket/15646] Added support for Argon2i passwords
PHPBB3-15646
2019-05-08 22:26:23 +02:00
Rubén Calvo
5153413f7a [ticket/15400] Make app.php routes work in vagrant
PHPBB3-15400
2019-05-08 22:22:15 +02:00
luzpaz
a9a28859d4 [ticket/15424] Multiple typo fixes in docs & comments
Fixed typos in some docs, guidelines, some non-user-facing files.

PHPBB3-15424
2019-05-08 22:20:56 +02:00
Rubén Calvo
62921c066c [ticket/15377] Use __DIR__ constant
PHPBB3-15377
2019-05-08 22:15:10 +02:00
Rubén Calvo
3e5247187c [ticket/15377] Add test
PHPBB3-15377
2019-05-08 22:14:07 +02:00
Máté Bartus
75d957e9e1 [ticket/15351] Fix missing global usage
PHPBB3-15351
2019-05-08 22:08:37 +02:00
Rubén Calvo
1b9507d93d [ticket/15330] Fix typo
PHPBB3-15330
2019-05-08 22:08:21 +02:00
Rubén Calvo
16d8b0bf78 [ticket/15330] Twig function to know if a language string is defined
PHPBB3-15330
2019-05-08 22:08:15 +02:00
javiexin
5a0c9763d1 [ticket/15274] Allow "custom" migrations to use parameters
Remove references in migration tool.

PHPBB3-15274
2019-05-08 22:06:39 +02:00
javiexin
5c001df380 [ticket/15274] Allow "custom" migrations to use parameters
Add the possibility to have custom migrations with parameters,
allowing the use of a single function for several uses.

PHPBB3-15274
2019-05-08 22:06:34 +02:00
Matt Friedman
e36da01264 [ticket/15295] Restore tests on mysql and myisam
PHPBB3-15295
2019-05-08 22:06:03 +02:00
Tristan Darricau
deb556fbf0 [ticket/15258] Adds a method to get a service by class in service_collection
PHPBB3-15258
2019-05-08 22:05:41 +02:00
rxu
574749daeb [ticket/14972] Update tests matrix to reflect bumping PHP version requirement
PHPBB3-14972
2019-05-08 21:57:48 +02:00
rxu
42b7782927 [ticket/14972] Migrate from deprecated getMock() method to createMock()
PHPBB3-14972
2019-05-08 21:57:00 +02:00
rxu
cdf3aa27df [ticket/14972] Bump PHP requirements to 5.6. Update dependencies.
Also bump to PHP 7.2 compatible versions: PHPUnit to 5.7, Guzzle to 6.3.

PHPBB3-14972
2019-05-08 21:54:20 +02:00
Rubén Calvo
560704c9f3 [ticket/15269] Don't enable DEBUG_CONTAINER by default
PHPBB3-15269
2019-05-08 21:52:37 +02:00
Rubén Calvo
3f3d88696b [ticket/15269] Remove comment only if is the beginning of a line
PHPBB3-15269
2019-05-08 21:52:30 +02:00
Rubén Calvo
acab3b048d [ticket/15269] Set development environment and enable all debugs with vagrant
PHPBB3-15269
2019-05-08 21:52:25 +02:00
Rubén Calvo
a08dce82c2 [ticket/15203] Include missing constants in web installer
PHPBB3-15203
2019-05-08 21:51:22 +02:00
Vishal Pandey
332b310809 [ticket/11515] If condition changes
Duplicate return statements removed.

PHPBB3-11515
2019-05-08 21:49:28 +02:00
Vishal Pandey
dfcce400a4 [ticket/11515] Inverted Logic
Inverted the logic to raise exception inside if.

PHPBB3-11515
2019-05-08 21:49:21 +02:00
Vishal Pandey
f1c2f7baae [ticket/11515] Refactoring changes.
Refactoring the code as suggested.

PHPBB3-11515
2019-05-08 21:49:15 +02:00
Vishal Pandey
7d4909dc06 [ticket/11515] Refactoring the patch.
Removing else conditions.

PHPBB3-11515
2019-05-08 21:49:10 +02:00
Vishal Pandey
cf12223b25 [ticket/11515] Space between if and braces
Exactly one space between if and opening brace.

PHPBB3-11515
2019-05-08 21:49:04 +02:00
Vishal Pandey
530e5bca87 [ticket/11515] Change If...else statement struct
Modifications in if-else structure.

PHPBB3-11515
2019-05-08 21:48:59 +02:00
Vishal Pandey
26acd8a5e4 [ticket/11515] Extra check after acquiring locks.
Add additional check to flock.php and db.php to ensure lock aquiring.

PHPBB3-11515
2019-05-08 21:48:52 +02:00
Matt Friedman
4282cf459e [ticket/15153] Update to newer homestead for vagrant
PHPBB3-15153
2019-05-06 22:02:16 +02:00
Tristan Darricau
228e0f58a8 [ticket/14769] Fix CLI installer configuration compatibility with SF 3
PHPBB3-14769
2019-05-06 21:57:43 +02:00
Matt Friedman
fe64174ca8 [ticket/14761] myisam should be setup on PHP 5.5 (5.4 removed)
PHPBB3-14761
2019-05-06 21:48:28 +02:00
Jakub Senko
77315a014c [ticket/14573] Add Whoisonline breadcrumbs
PHPBB3-14573
2019-05-06 21:48:07 +02:00
Jakub Senko
c02be62ea1 [ticket/14573] Add Memberlist breadcrumbs
PHPBB3-14573
2019-05-06 21:48:02 +02:00
Jakub Senko
5614f80b89 [ticket/14573] Add MCP breadcrumbs
PHPBB3-14573
2019-05-06 21:47:55 +02:00
Jakub Senko
4e3ac92d05 [ticket/14573] Add UCP breadcrumbs
PHPBB3-14573
2019-05-06 21:47:47 +02:00
Jakub Senko
571a6df993 [ticket/14573] Add Search breadcrumbs
PHPBB3-14573
2019-05-06 21:47:29 +02:00
Jakub Senko
296bf434b0 [ticket/14573] Add FAQ breadcrumbs
PHPBB3-14573
2019-05-06 21:46:17 +02:00
Máté Bartus
ab6835d849 [ticket/14542] Add missing dockblocks
PHPBB3-14542
2019-05-06 21:45:27 +02:00
Máté Bartus
271ac6b57e [ticket/14542] Fix tests
PHPBB3-14542
2019-05-06 21:45:21 +02:00
Máté Bartus
7a173877b7 [ticket/14542] Move cron to controller
PHPBB3-14542
2019-05-06 21:45:15 +02:00
Marc Alexander
41956a8b90 [ticket/14670] Set shared flag instead of defining prototype scope
The prototype scope was deprecated in symfony 2.8 and removed in 3.0.

PHPBB3-14670
2019-05-06 21:44:19 +02:00
Marc Alexander
773d246a7e [ticket/14670] Do not backup static attributes
This seems to cause issues with the UI tests as the backed up
static web driver does not seem to be properly initialized.

PHPBB3-14670
2019-05-06 21:44:19 +02:00
Marc Alexander
f165b8ece4 [ticket/14670] Modify service definition for RouterListener
PHPBB3-14670
2019-05-06 21:44:19 +02:00
Marc Alexander
a33c875d2f [ticket/14670] Fix typo in .travis.yml
PHPBB3-14670
2019-05-06 21:44:19 +02:00
Marc Alexander
1dc14c0f38 [ticket/14670] Remove usage of prototype scope in tests
In this specific case, the mock container builder is used which does not
even support setting the scope.

PHPBB3-14670
2019-05-06 21:44:19 +02:00
Marc Alexander
a4f48205fb [ticket/14670] Add new travis builds and PHP 5.5 requirement
PHPBB3-14670
2019-05-06 21:44:16 +02:00
Marc Alexander
1a8a8da7bf [ticket/14670] Fix incompatibilities with container definitions
PHPBB3-14670
2019-05-06 21:43:55 +02:00
Marc Alexander
653305d461 [ticket/14670] Use symfony 3.1 in master branch
Removed sami as it doesn't have a version compatible
with symfony 3.x.

PHPBB3-14670
2019-05-06 21:43:53 +02:00
Máté Bartus
cfaf24bd45 [ticket/14584] Change all to be removed tags to 4.0
PHPBB3-14584
2019-05-06 21:27:08 +02:00
Máté Bartus
7a831c3e28 [ticket/14548] Move deprecated globals and functions
PHPBB3-14584
2019-05-06 21:26:55 +02:00
592 changed files with 9880 additions and 7012 deletions

View File

@@ -9,13 +9,13 @@ environment:
matrix:
- db: mssql
db_version: sql2012sp1
php: 7.0
php: 7.1
- db: mssql
db_version: sql2014
php: 7.0
php: 7.1
- db: mssql
db_version: sql2016
php: 7.1.12
php: 7.2
# - db: mssql
# db_version: sql2017
# php: 7.1
@@ -64,10 +64,11 @@ before_test:
# Get MSSQL driver
if ($env:db -eq "mssql") {
cd c:\tools\php\ext
$DLLVersion = "4.1.6.1"
curl -o php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip
$DLLVersion = "5.3.0"
$VCVersion = If ([System.Version]"$($env:php)" -ge [System.Version]"7.2") {"vc15"} Else {"vc14"}
curl -o php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-$($VCVersion)-x64.zip
7z x -y php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
curl -o php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip
curl -o php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-$($VCVersion)-x64.zip
7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
Remove-Item c:\tools\php\* -include .zip
cd c:\tools\php

View File

@@ -2,5 +2,5 @@
1. [Create an account on phpBB.com](http://www.phpbb.com/community/ucp.php?mode=register)
2. [Create a ticket (unless there already is one)](http://tracker.phpbb.com/secure/CreateIssue!default.jspa)
3. Read our [Coding guidelines](https://wiki.phpbb.com/Coding_guidelines) and [Git Contribution Guidelines](http://wiki.phpbb.com/Git)
3. Read our [Coding guidelines](https://area51.phpbb.com/docs/dev/master/development/coding_guidelines.html) and [Git Contribution Guidelines](https://area51.phpbb.com/docs/dev/master/development/git.html)
4. Send us a pull request

View File

@@ -1,9 +1,9 @@
Checklist:
- [ ] Correct branch: master for new features; 3.2.x for fixes
- [ ] Correct branch: master for new features; 3.3.x & 3.2.x for fixes
- [ ] Tests pass
- [ ] Code follows coding guidelines: [master](https://area51.phpbb.com/docs/dev/master/development/coding_guidelines.html) and [3.2.x](https://area51.phpbb.com/docs/dev/3.2.x/development/coding_guidelines.html)
- [ ] Commit follows commit message [format](https://area51.phpbb.com/docs/dev/3.2.x/development/git.html)
- [ ] Code follows coding guidelines: [master](https://area51.phpbb.com/docs/dev/master/development/coding_guidelines.html), [3.3.x](https://area51.phpbb.com/docs/dev/3.3.x/development/coding_guidelines.html) and [3.2.x](https://area51.phpbb.com/docs/dev/3.2.x/development/coding_guidelines.html)
- [ ] Commit follows commit message [format](https://area51.phpbb.com/docs/dev/3.3.x/development/git.html)
Tracker ticket (set the ticket ID to **your ticket ID**):

4
.gitignore vendored
View File

@@ -16,6 +16,9 @@
/phpBB/store/*
/phpBB/styles/*
!/phpBB/styles/prosilver
/phpBB/styles/prosilver/theme/*/
!/phpBB/styles/prosilver/theme/en
!/phpBB/styles/prosilver/theme/images
!/phpBB/styles/all
/phpBB/vendor
/tests/phpbb_unit_tests.sqlite*
@@ -24,3 +27,4 @@
/tests/vendor
/vagrant/phpbb-install-config.yml
.vagrant
*.DS_Store*

View File

@@ -1,32 +1,26 @@
language: php
dist: trusty
dist: xenial
matrix:
include:
- php: 5.4
env: DB=none;NOTESTS=1
- php: 5.4
env: DB=mysqli # MyISAM
- php: 5.4
env: DB=mysql
- php: 5.4
env: DB=mariadb
- php: 5.4
env: DB=postgres
- php: 5.4
env: DB=sqlite3
- php: 5.4
env: DB=mysqli;SLOWTESTS=1
- php: 5.5
env: DB=mysqli
- php: 5.6
env: DB=mysqli
- php: 7.0
env: DB=mysqli
- php: 7.1
env: DB=mysqli
env: DB=none;NOTESTS=1
- php: 7.1
env: DB=mariadb
- php: 7.1
env: DB=postgres
- php: 7.1
env: DB=sqlite3
- php: 7.1
env: DB=mysqli;SLOWTESTS=1
- php: 7.1
env: DB=mysqli # MyISAM
- php: 7.2
env: DB=mysqli
- php: 7.3
env: DB=mysqli
- php: 7.4snapshot
env: DB=mysqli
- php: nightly
env: DB=mysqli
allow_failures:
@@ -35,12 +29,16 @@ matrix:
services:
- redis-server
- postgresql
- mysql
- memcached
install:
- travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
before_script:
- travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
- travis/setup-ldap.sh $SLOWTESTS
- phantomjs --webdriver=8910 > /dev/null &
script:

View File

@@ -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.2.10-dev" />
<property name="newversion" value="3.3.0" />
<property name="prevversion" value="3.2.9" />
<property name="olderversions" value="3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.7-pl1, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.2.0-a1, 3.2.0-a2, 3.2.0-b1, 3.2.0-b2, 3.2.0-RC1, 3.2.0-RC2, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8" />
<property name="olderversions" value="3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.7-pl1, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.2.0-a1, 3.2.0-a2, 3.2.0-b1, 3.2.0-b2, 3.2.0-RC1, 3.2.0-RC2, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8, 3.3.0-b1, 3.3.0-b2, 3.3.0-RC1" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />
@@ -81,28 +81,36 @@
--ignore=${project.basedir}/phpBB/phpbb/db/migration/data/v30x/*
phpBB/phpbb"
dir="." returnProperty="retval-php-strict" passthru="true" />
<php function="preg_replace" returnProperty="sniffIgnoreList">
<param value="/\s+/"/>
<param value=""/>
<param value="${project.basedir}/phpBB/cache/*,
${project.basedir}/phpBB/develop/*,
${project.basedir}/phpBB/ext/*,
${project.basedir}/phpBB/includes/diff/*.php,
${project.basedir}/phpBB/includes/sphinxapi.php,
${project.basedir}/phpBB/includes/utf/data/*,
${project.basedir}/phpBB/install/data/*,
${project.basedir}/phpBB/install/database_update.php,
${project.basedir}/phpBB/phpbb/*,
${project.basedir}/phpBB/vendor/*,
${project.basedir}/phpBB/vendor-ext/*,
${project.basedir}/phpBB/config.php,
${project.basedir}/phpBB/config_dev.php,
${project.basedir}/phpBB/config_test.php"/>
</php>
<exec command="phpBB/vendor/bin/phpcs
-s -p
--extensions=php
--standard=build/code_sniffer/ruleset-php-legacy-core.xml
--ignore=${project.basedir}/phpBB/cache/*
--ignore=${project.basedir}/phpBB/develop/*
--ignore=${project.basedir}/phpBB/ext/*
--ignore=${project.basedir}/phpBB/includes/diff/*.php
--ignore=${project.basedir}/phpBB/includes/sphinxapi.php
--ignore=${project.basedir}/phpBB/includes/utf/data/*
--ignore=${project.basedir}/phpBB/install/data/*
--ignore=${project.basedir}/phpBB/install/database_update.php
--ignore=${project.basedir}/phpBB/phpbb/*
--ignore=${project.basedir}/phpBB/vendor/*
--ignore=${sniffIgnoreList}
phpBB"
dir="." returnProperty="retval-php-legacy" passthru="true" />
<exec command="phpBB/vendor/bin/phpcs
-s -p
--extensions=php
--standard=build/code_sniffer/ruleset-php-extensions.xml
--ignore=${project.basedir}/phpBB/ext/*/tests/*
--ignore=${project.basedir}/phpBB/ext/*/vendor/*
--ignore=${project.basedir}/phpBB/ext/*/tests/*,${project.basedir}/phpBB/ext/*/vendor/*
phpBB/ext"
dir="." returnProperty="retval-php-ext" passthru="true" />
<if>

View File

@@ -11,6 +11,9 @@
*
*/
use PHP_CodeSniffer\Files\File;
use PHP_CodeSniffer\Sniffs\Sniff;
/**
* Checks that each PHP source file contains a valid header as defined by the
* phpBB Coding Guidelines.
@@ -18,7 +21,7 @@
* @package code_sniffer
* @author Manuel Pichler <mapi@phpundercontrol.org>
*/
class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
class phpbb_Sniffs_Commenting_FileCommentSniff implements Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
@@ -33,13 +36,13 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token
* in the stack passed in $tokens.
*
* @return null
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
public function process(File $phpcsFile, $stackPtr): void
{
// We are only interested in the first file comment.
if ($stackPtr !== 0)
@@ -62,7 +65,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
// Mark as error if this is not a doc comment
else if ($start === false || $tokens[$start]['code'] !== T_DOC_COMMENT_OPEN_TAG)
{
$phpcsFile->addError('Missing required file doc comment.', $stackPtr);
$phpcsFile->addError('Missing required file doc comment.', $stackPtr, 'MissingComment');
return;
}
@@ -82,7 +85,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
if ($tokens[$token]['column'] === 1 && (($tokens[$token]['content'] !== '*' && $tokens[$token]['content'] !== ' ') || ($tokens[$token]['content'] === ' ' && $tokens[$token + 1]['content'] !== '*')))
{
$message = 'The file doc comment should not be indented.';
$phpcsFile->addWarning($message, $token);
$phpcsFile->addWarning($message, $token, 'CommentIndented');
}
}
@@ -95,13 +98,13 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
if (!(($tokens[$start + 2]['content'] !== '*' && $tokens[$start + 4]['content'] !== '*') || ($tokens[$start + 3]['content'] !== '*' && $tokens[$start + 6]['content'] !== '*')))
{
$message = 'The first file comment line should be empty.';
$phpcsFile->addWarning($message, ($start + 1));
$phpcsFile->addWarning($message, ($start + 1), 'CommentFirstNotEmpty');
}
if ($tokens[$end - 3]['content'] !== '*' && $tokens[$end - 6]['content'] !== '*')
{
$message = 'The last file comment line should be empty.';
$phpcsFile->addWarning($message, $end - 1);
$phpcsFile->addWarning($message, $end - 1, 'CommentLastNotEmpty');
}
//$this->processPackage($phpcsFile, $start, $tags);
@@ -113,59 +116,59 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
/**
* Checks that the tags array contains a valid package tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
* @return void
*/
protected function processPackage(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
protected function processPackage(File $phpcsFile, $ptr, $tags): void
{
if (!isset($tags['package']))
{
$message = 'Missing require @package tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
$phpcsFile->addError($message, $ptr, 'MissingTagPackage');
}
else if (preg_match('/^([\w]+)$/', $tags['package'][0]) === 0)
{
$message = 'Invalid content found for @package tag.';
$phpcsFile->addWarning($message, $tags['package'][1]);
$phpcsFile->addWarning($message, $tags['package'][1], 'InvalidTagPackage');
}
}
/**
* Checks that the tags array contains a valid version tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
* @return void
*/
protected function processVersion(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
protected function processVersion(File $phpcsFile, $ptr, $tags): void
{
if (!isset($tags['version']))
{
$message = 'Missing require @version tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
$phpcsFile->addError($message, $ptr, 'MissingTagVersion');
}
else if (preg_match('/^\$Id:[^\$]+\$$/', $tags['version'][0]) === 0)
{
$message = 'Invalid content found for @version tag, use "$Id: $".';
$phpcsFile->addError($message, $tags['version'][1]);
$phpcsFile->addError($message, $tags['version'][1], 'InvalidTagVersion');
}
}
/**
* Checks that the tags array contains a valid copyright tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
* @return void
*/
protected function processCopyright(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
protected function processCopyright(File $phpcsFile, $ptr, $tags): void
{
$copyright = '(c) phpBB Limited <https://www.phpbb.com>';
$tokens = $phpcsFile->getTokens();
@@ -177,7 +180,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
if ($tokens[$tag + 2]['content'] !== $copyright)
{
$message = 'Invalid content found for the first @copyright tag, use "' . $copyright . '".';
$phpcsFile->addError($message, $tags['copyright'][0][1]);
$phpcsFile->addError($message, $tags['copyright'][0][1], 'InvalidTagCopyright');
}
return;
@@ -185,19 +188,19 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
}
$message = 'Missing require @copyright tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
$phpcsFile->addError($message, $ptr, 'MissingTagCopyright');
}
/**
* Checks that the tags array contains a valid license tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
* @return void
*/
protected function processLicense(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
protected function processLicense(File $phpcsFile, $ptr, $tags): void
{
$license = 'GNU General Public License, version 2 (GPL-2.0)';
$tokens = $phpcsFile->getTokens();
@@ -210,7 +213,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
if ($found)
{
$message = 'It must be only one @license tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
$phpcsFile->addError($message, $ptr, 'MultiTagVersion');
}
$found = true;
@@ -218,7 +221,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
if ($tokens[$tag + 2]['content'] !== $license)
{
$message = 'Invalid content found for @license tag, use "' . $license . '".';
$phpcsFile->addError($message, $tags['license'][0][1]);
$phpcsFile->addError($message, $tags['license'][0][1], 'InvalidTagLicense');
}
}
}
@@ -226,7 +229,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
if (!$found)
{
$message = 'Missing require @license tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
$phpcsFile->addError($message, $ptr, 'MissingTagLicense');
}
}
}

View File

@@ -11,11 +11,14 @@
*
*/
use PHP_CodeSniffer\Files\File;
use PHP_CodeSniffer\Sniffs\Sniff;
/**
* Checks that the opening brace of a control structures is on the line after.
* From Generic_Sniffs_Functions_OpeningFunctionBraceBsdAllmanSniff
*/
class phpbb_Sniffs_ControlStructures_OpeningBraceBsdAllmanSniff implements PHP_CodeSniffer_Sniff
class phpbb_Sniffs_ControlStructures_OpeningBraceBsdAllmanSniff implements Sniff
{
/**
* Registers the tokens that this sniff wants to listen for.
@@ -36,13 +39,13 @@ class phpbb_Sniffs_ControlStructures_OpeningBraceBsdAllmanSniff implements PHP_C
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token in the
* stack passed in $tokens.
*
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
public function process(File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();

View File

@@ -11,11 +11,14 @@
*
*/
use PHP_CodeSniffer\Files\File;
use PHP_CodeSniffer\Sniffs\Sniff;
/**
* Checks that there is exactly one space between the keyword and the opening
* parenthesis of a control structures.
*/
class phpbb_Sniffs_ControlStructures_OpeningParenthesisSniff implements PHP_CodeSniffer_Sniff
class phpbb_Sniffs_ControlStructures_OpeningParenthesisSniff implements Sniff
{
/**
* Registers the tokens that this sniff wants to listen for.
@@ -36,13 +39,13 @@ class phpbb_Sniffs_ControlStructures_OpeningParenthesisSniff implements PHP_Code
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token in the
* stack passed in $tokens.
*
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
public function process(File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();

View File

@@ -11,10 +11,13 @@
*
*/
use PHP_CodeSniffer\Files\File;
use PHP_CodeSniffer\Sniffs\Sniff;
/**
* Checks that each use statement is used.
*/
class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
class phpbb_Sniffs_Namespaces_UnusedUseSniff implements Sniff
{
/**
* {@inheritdoc}
@@ -24,7 +27,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
return array(T_USE);
}
protected function check($phpcsFile, $found_name, $full_name, $short_name, $line)
protected function check(File $phpcsFile, $found_name, $full_name, $short_name, $line)
{
if ($found_name === $full_name)
@@ -44,7 +47,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
/**
* {@inheritdoc}
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
public function process(File $phpcsFile, $stackPtr)
{
if ($this->should_ignore_use($phpcsFile, $stackPtr) === true)
{
@@ -179,13 +182,13 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
/**
* Check if this use statement is part of the namespace block.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token in
* the stack passed in $tokens.
*
* @return bool
*/
private function should_ignore_use(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
private function should_ignore_use(File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
@@ -207,7 +210,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
}
/**
* @param PHP_CodeSniffer_File $phpcsFile
* @param File $phpcsFile
* @param int $field
* @param array $tokens
* @param string $class_name_full
@@ -216,7 +219,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
*
* @return bool
*/
private function checkDocblock(PHP_CodeSniffer_File $phpcsFile, $comment_end, $tokens, $class_name_full, $class_name_short)
private function checkDocblock(File $phpcsFile, $comment_end, $tokens, $class_name_full, $class_name_short)
{
$ok = false;

View File

@@ -32,7 +32,7 @@ $iterator = Symfony\Component\Finder\Finder::create()
;
$config = array(
'theme' => 'enhanced',
'theme' => 'default',
'title' => 'phpBB API Documentation',
'build_dir' => __DIR__.'/api/output/%version%',
'cache_dir' => __DIR__.'/api/cache/%version%',

View File

@@ -36,6 +36,13 @@ RewriteRule ^(.*)$ app.php [QSA,L]
#Options +FollowSymLinks
</IfModule>
# Apache content negotation tries to interpret non-existent paths as files if
# MultiViews is enabled. This will however cause issues with paths containg
# dots, e.g. for the cron tasks
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
# With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from
# module mod_authz_host to a new module called mod_access_compat (which may be
# disabled) and a new "Require" syntax has been introduced to mod_authz_host.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -49,7 +49,6 @@ if (!$auth->acl_get('a_'))
define('IN_ADMIN', true);
// Some oft used variables
$safe_mode = (@ini_get('safe_mode') == '1' || strtolower(@ini_get('safe_mode')) === 'on') ? true : false;
$file_uploads = (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_uploads')) === 'on') ? true : false;
$module_id = $request->variable('i', '');
$mode = $request->variable('mode', '');

View File

@@ -1,6 +1,6 @@
<dl>
<dt><label for="avatar_upload_file">{L_UPLOAD_AVATAR_FILE}{L_COLON}</label></dt>
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" /><input type="file" name="avatar_upload_file" id="avatar_upload_file" class="inputbox autowidth" /></dd>
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" /><input type="file" name="avatar_upload_file" id="avatar_upload_file" class="inputbox autowidth" accept="{{ AVATAR_ALLOWED_EXTENSIONS }}" /></dd>
</dl>
<!-- IF S_UPLOAD_AVATAR_URL -->

View File

@@ -44,7 +44,7 @@
<!-- INCLUDE acp_posting_buttons.html -->
<dl class="responsive-columns">
<dt style="width: 90px;" id="color_palette_placeholder" data-orientation="v" data-height="12" data-width="15" data-bbcode="true">
<dt style="width: 90px;" id="color_palette_placeholder" data-color-palette="v" data-height="12" data-width="15" data-bbcode="true">
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;">

View File

@@ -0,0 +1,7 @@
{% for action in enabled.actions %}
<a href="{{ action.U_ACTION }}"{% if action.L_ACTION_EXPLAIN %} title="{{ action.L_ACTION_EXPLAIN }}"{% endif %}{% if action.COLOR %} style="color: {{ action.COLOR }};"{% endif %} data-ajax="{{ action.ACTION_AJAX }}" data-refresh="true">{{ action.L_ACTION }}</a>{% if not action.S_LAST_ROW %}&nbsp;|&nbsp;{% endif %}
{% endfor %}
{% for action in disabled.actions %}
<a href="{{ action.U_ACTION }}"{% if action.L_ACTION_EXPLAIN %} title="{{ action.L_ACTION_EXPLAIN }}"{% endif %}{% if action.COLOR %} style="color: {{ action.COLOR }};"{% endif %} data-ajax="{{ action.ACTION_AJAX }}" data-refresh="true">{{ action.L_ACTION }}</a>{% if not action.S_LAST_ROW %}&nbsp;|&nbsp;{% endif %}
{% endfor %}

View File

@@ -1,40 +0,0 @@
<!-- INCLUDE overall_header.html -->
<a id="maincontent"></a>
<h1>{L_EXTENSIONS_ADMIN}</h1>
<p>{L_EXTENSIONS_EXPLAIN}</p>
<p>{L_EXTENSION_DELETE_DATA_EXPLAIN}</p>
<!-- IF MIGRATOR_ERROR -->
<div class="errorbox">
<p><strong>{L_MIGRATION_EXCEPTION_ERROR}</strong></p>
<p>{MIGRATOR_ERROR}</p>
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
</div>
<!-- ELSEIF PRE -->
<div class="errorbox">
<p>{L_CONFIRM_MESSAGE}</p>
</div>
<form id="acp_extensions" method="post" action="{U_PURGE}">
<fieldset class="submit-buttons">
<legend>{L_EXTENSION_DELETE_DATA}</legend>
<input class="button1" type="submit" name="delete_data" value="{L_EXTENSION_DELETE_DATA}" />
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
</fieldset>
</form>
<!-- ELSEIF S_NEXT_STEP -->
<div class="errorbox">
<p>{L_EXTENSION_DELETE_DATA_IN_PROGRESS}</p>
</div>
<!-- ELSE -->
<div class="successbox">
<p>{L_EXTENSION_DELETE_DATA_SUCCESS}</p>
<br />
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
</div>
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->

View File

@@ -1,34 +0,0 @@
<!-- INCLUDE overall_header.html -->
<a id="maincontent"></a>
<h1>{L_EXTENSIONS_ADMIN}</h1>
<p>{L_EXTENSIONS_EXPLAIN}</p>
<p>{L_EXTENSION_DISABLE_EXPLAIN}</p>
<!-- IF PRE -->
<fieldset>
<h2>{L_CONFIRM}</h2>
<p>{L_CONFIRM_MESSAGE}</p>
</fieldset>
<form id="acp_extensions" method="post" action="{U_DISABLE}">
<fieldset class="submit-buttons">
<input class="button1" type="submit" name="disable" value="{L_EXTENSION_DISABLE}" />
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
</fieldset>
</form>
<!-- ELSEIF S_NEXT_STEP -->
<div class="successbox notice">
<p>{L_EXTENSION_DISABLE_IN_PROGRESS}</p>
</div>
<!-- ELSE -->
<div class="successbox">
<p>{L_EXTENSION_DISABLE_SUCCESS}</p>
<br />
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
</div>
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->

View File

@@ -1,40 +0,0 @@
<!-- INCLUDE overall_header.html -->
<a id="maincontent"></a>
<h1>{L_EXTENSIONS_ADMIN}</h1>
<p>{L_EXTENSIONS_EXPLAIN}</p>
<p>{L_EXTENSION_ENABLE_EXPLAIN}</p>
<!-- IF MIGRATOR_ERROR -->
<div class="errorbox">
<p><strong>{L_MIGRATION_EXCEPTION_ERROR}</strong></p>
<p>{MIGRATOR_ERROR}</p>
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
</div>
<!-- ELSEIF PRE -->
<fieldset>
<h2>{L_CONFIRM}</h2>
<p>{L_CONFIRM_MESSAGE}</p>
</fieldset>
<form id="acp_extensions" method="post" action="{U_ENABLE}">
<fieldset class="submit-buttons">
<input class="button1" type="submit" name="enable" value="{L_EXTENSION_ENABLE}" />
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
</fieldset>
</form>
<!-- ELSEIF S_NEXT_STEP -->
<div class="successbox notice">
<p>{L_EXTENSION_ENABLE_IN_PROGRESS}</p>
</div>
<!-- ELSE -->
<div class="successbox">
<p>{L_EXTENSION_ENABLE_SUCCESS}</p>
<br />
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
</div>
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->

View File

@@ -7,7 +7,7 @@
<p>{L_EXTENSIONS_EXPLAIN}</p>
<fieldset class="quick">
<span class="small"><a href="https://www.phpbb.com/go/customise/extensions/3.2" target="_blank">{L_BROWSE_EXTENSIONS_DATABASE}</a> &bull; <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE_ALL}</a> &bull; <a href="javascript:phpbb.toggleDisplay('version_check_settings');">{L_SETTINGS}</a></span>
<span class="small"><a href="https://www.phpbb.com/go/customise/extensions/3.3" target="_blank">{L_BROWSE_EXTENSIONS_DATABASE}</a> &bull; <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE_ALL}</a> &bull; <a href="javascript:phpbb.toggleDisplay('version_check_settings');">{L_SETTINGS}</a></span>
</fieldset>
<form id="version_check_settings" method="post" action="{U_ACTION}" style="display:none">
@@ -42,8 +42,8 @@
</tr>
</thead>
<tbody>
<!-- IF .enabled -->
<tr>
<tr id="ext_enabled_header"<!-- IF not .enabled --> class="hidden"<!-- ENDIF -->>
<td class="row3" colspan="4"><strong>{L_EXTENSIONS_ENABLED}</strong><!-- EVENT acp_ext_list_enabled_title_after --></td>
</tr>
<!-- BEGIN enabled -->
@@ -59,17 +59,12 @@
</td>
<td style="text-align: center;"><a href="{enabled.U_DETAILS}">{L_DETAILS}</a></td>
<td style="text-align: center;">
<!-- BEGIN actions -->
<a href="{enabled.actions.U_ACTION}"<!-- IF enabled.actions.L_ACTION_EXPLAIN --> title="{enabled.actions.L_ACTION_EXPLAIN}"<!-- ENDIF -->>{enabled.actions.L_ACTION}</a>
<!-- IF not enabled.actions.S_LAST_ROW -->&nbsp;|&nbsp;<!-- ENDIF -->
<!-- END actions -->
<!-- INCLUDE acp_ext_actions.html -->
</td>
</tr>
<!-- END enabled -->
<!-- ENDIF -->
<!-- IF .disabled -->
<tr>
<tr id="ext_disabled_header"<!-- IF not .disabled --> class="hidden"<!-- ENDIF -->>
<td class="row3" colspan="4"><strong>{L_EXTENSIONS_DISABLED}</strong><!-- EVENT acp_ext_list_disabled_title_after --></td>
</tr>
<!-- BEGIN disabled -->
@@ -87,14 +82,10 @@
<!-- IF disabled.U_DETAILS --><a href="{disabled.U_DETAILS}">{L_DETAILS}</a><!-- ENDIF -->
</td>
<td style="text-align: center;">
<!-- BEGIN actions -->
<a href="{disabled.actions.U_ACTION}"<!-- IF disabled.actions.L_ACTION_EXPLAIN --> title="{disabled.actions.L_ACTION_EXPLAIN}"<!-- ENDIF -->>{disabled.actions.L_ACTION}</a>
<!-- IF not disabled.actions.S_LAST_ROW -->&nbsp;|&nbsp;<!-- ENDIF -->
<!-- END actions -->
<!-- INCLUDE acp_ext_actions.html -->
</td>
</tr>
<!-- END disabled -->
<!-- ENDIF -->
</tbody>
</table>

View File

@@ -210,6 +210,11 @@
<dd><label><input type="radio" class="radio" name="display_subforum_list" value="1"<!-- IF S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="display_subforum_list" value="0"<!-- IF not S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="display_subforum_limit">{L_LIMIT_SUBFORUMS}{L_COLON}</label><br /><span>{L_LIMIT_SUBFORUMS_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="display_subforum_limit" value="1"<!-- IF S_DISPLAY_SUBFORUM_LIMIT --> id="display_subforum_limit" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="display_subforum_limit" value="0"<!-- IF not S_DISPLAY_SUBFORUM_LIMIT --> id="display_subforum_limit" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="display_on_index">{L_LIST_INDEX}{L_COLON}</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>

View File

@@ -100,7 +100,7 @@
<input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" />
<!-- IF GROUP_COLOUR -->&nbsp;<span style="background-color: #{GROUP_COLOUR}">&nbsp; &nbsp;</span><!-- ENDIF -->&nbsp;&nbsp;<span>
[ <a href="#" id="color_palette_toggle">{L_COLOUR_SWATCH}</a> ]</span>
<div id="color_palette_placeholder" style="display: none;" data-orientation="h" data-height="12" data-width="15" data-target="#group_colour"></div>
<div id="color_palette_placeholder" style="display: none;" data-color-palette="h" data-height="12" data-width="15" data-target="#group_colour"></div>
</dd>
</dl>
<dl>

View File

@@ -38,10 +38,12 @@
<dd>{L_SEND_STATISTICS_LONG}</dd>
</dl>
</div>
<script>
var statsData = {{ S_STATS_DATA }};
</script>
<!-- EVENT acp_help_phpbb_stats_after -->
<fieldset>
<p class="submit-buttons">
<input type="hidden" name="systemdata" value="{RAW_DATA}" />
<input type="hidden" name="help_send_statistics_time" value="{COLLECT_STATS_TIME}" />
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
</p>
@@ -52,7 +54,11 @@
<form action="{U_COLLECT_STATS}" method="post" target="questionaire_result" id="questionnaire-form">
<fieldset>
<p class="submit-buttons">
<input type="hidden" name="systemdata" value="{RAW_DATA}" />
{% for providers in providers %}
{% for values in providers.values %}
<input type="hidden" name="{{ providers.NAME }}[{{ values.KEY }}]" value="{{ values.VALUE }}" />
{% endfor %}
{% endfor %}
<input class="button1" type="submit" id="submit_stats" name="submit" value="{L_SEND_STATISTICS}" />
</p>
</fieldset>

View File

@@ -69,7 +69,7 @@
<p>{L_ACP_LANGUAGE_PACKS_EXPLAIN}</p>
<fieldset class="quick">
<span class="small"><a href="https://www.phpbb.com/go/customise/language-packs/3.2" target="_blank">{L_BROWSE_LANGUAGE_PACKS_DATABASE}</a></span>
<span class="small"><a href="https://www.phpbb.com/go/customise/language-packs/3.3" target="_blank">{L_BROWSE_LANGUAGE_PACKS_DATABASE}</a></span>
</fieldset>
<table class="table1 zebra-table">

View File

@@ -94,89 +94,116 @@
<!-- EVENT acp_main_notice_after -->
<table class="table1 two-columns no-header" data-no-responsive-header="true">
<caption>{L_FORUM_STATS}</caption>
<col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
<thead>
<tr>
<th>{L_STATISTIC}</th>
<th>{L_VALUE}</th>
<th>{L_STATISTIC}</th>
<th>{L_VALUE}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{L_NUMBER_POSTS}{L_COLON} </td>
<td><strong>{TOTAL_POSTS}</strong></td>
<td>{L_POSTS_PER_DAY}{L_COLON} </td>
<td><strong>{POSTS_PER_DAY}</strong></td>
</tr>
<tr>
<td>{L_NUMBER_TOPICS}{L_COLON} </td>
<td><strong>{TOTAL_TOPICS}</strong></td>
<td>{L_TOPICS_PER_DAY}{L_COLON} </td>
<td><strong>{TOPICS_PER_DAY}</strong></td>
</tr>
<tr>
<td>{L_NUMBER_USERS}{L_COLON} </td>
<td><strong>{TOTAL_USERS}</strong></td>
<td>{L_USERS_PER_DAY}{L_COLON} </td>
<td><strong>{USERS_PER_DAY}</strong></td>
</tr>
<tr>
<td>{L_NUMBER_FILES}{L_COLON} </td>
<td><strong>{TOTAL_FILES}</strong></td>
<td>{L_FILES_PER_DAY}{L_COLON} </td>
<td><strong>{FILES_PER_DAY}</strong></td>
</tr>
<tr>
<td>{L_BOARD_STARTED}{L_COLON} </td>
<td><strong>{START_DATE}</strong></td>
<td>{L_AVATAR_DIR_SIZE}{L_COLON} </td>
<td><strong>{AVATAR_DIR_SIZE}</strong></td>
</tr>
<tr>
<td>{L_DATABASE_SIZE}{L_COLON} </td>
<td><strong>{DBSIZE}</strong></td>
<td>{L_UPLOAD_DIR_SIZE}{L_COLON} </td>
<td><strong>{UPLOAD_DIR_SIZE}</strong></td>
</tr>
<tr>
<td>{L_DATABASE_SERVER_INFO}{L_COLON} </td>
<td><strong>{DATABASE_INFO}</strong></td>
<td>{L_GZIP_COMPRESSION}{L_COLON} </td>
<td><strong>{GZIP_COMPRESSION}</strong></td>
</tr>
<tr>
<td>{L_PHP_VERSION}{L_COLON} </td>
<td><strong>{PHP_VERSION_INFO}</strong></td>
<!-- IF S_TOTAL_ORPHAN -->
<td>{L_NUMBER_ORPHAN}{L_COLON} </td>
<td>
<!-- IF TOTAL_ORPHAN > 0 -->
<a href="{U_ATTACH_ORPHAN}" title="{L_MORE_INFORMATION}"><strong>{TOTAL_ORPHAN}</strong></a>
<!-- ELSE -->
<strong>{TOTAL_ORPHAN}</strong>
<!-- ENDIF -->
</td>
<!-- ELSE -->
<td>&nbsp;</td>
<td>&nbsp;</td>
<!-- ENDIF -->
</tr>
<!-- IF S_VERSIONCHECK -->
<tr>
<td>{L_BOARD_VERSION}{L_COLON} </td>
<td>
<strong><a href="{U_VERSIONCHECK}" <!-- IF S_VERSION_UP_TO_DATE -->style="color: #228822;" <!-- ELSEIF not S_VERSIONCHECK_FAIL -->style="color: #BC2A4D;" <!-- ENDIF -->title="{L_MORE_INFORMATION}">{BOARD_VERSION}</a></strong> [&nbsp;<a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a>&nbsp;]
</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<!-- ENDIF -->
</tbody>
</table>
<div class="lside">
<table class="table2 zebra-table no-header" data-no-responsive-header="true">
<thead>
<tr>
<th>{{ lang('STATISTIC') }}</th>
<th>{{ lang('VALUE') }}</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tabled">{{ lang('BOARD_STARTED') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ START_DATE }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('AVATAR_DIR_SIZE') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ AVATAR_DIR_SIZE }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('DATABASE_SIZE') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ DBSIZE }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('UPLOAD_DIR_SIZE') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ UPLOAD_DIR_SIZE }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('DATABASE_SERVER_INFO') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ DATABASE_INFO }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('GZIP_COMPRESSION') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ GZIP_COMPRESSION }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('PHP_VERSION') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ PHP_VERSION_INFO }}</strong></td>
</tr>
<tr>
{% if S_TOTAL_ORPHAN %}
<td class="tabled">{{ lang('NUMBER_ORPHAN') ~ lang('COLON') }}</td>
<td class="tabled">
{% if TOTAL_ORPHAN > 0 %}
<a href="{{ U_ATTACH_ORPHAN }}" title="{{ lang('MORE_INFORMATION') }}"><strong>{{ TOTAL_ORPHAN }}</strong></a>
{% else %}
<strong>{{ TOTAL_ORPHAN }}</strong>
{% endif %}
</td>
{% else %}
{% endif %}
</tr>
{% if S_VERSIONCHECK %}
<tr>
<td class="tabled">{{ lang('BOARD_VERSION') ~ lang('COLON') }}</td>
<td class="tabled">
<strong><a href="{{ U_VERSIONCHECK }}" {% if S_VERSION_UP_TO_DATE %}style="color: #228822;" {% elseif not S_VERSIONCHECK_FAIL %}style="color: #BC2A4D;" {% endif %}title="{{ lang('MORE_INFORMATION') }}">{{ BOARD_VERSION }}</a></strong> [&nbsp;<a href="{{ U_VERSIONCHECK_FORCE }}">{{ lang('VERSIONCHECK_FORCE_UPDATE') }}</a>&nbsp;]
</td>
</tr>
{% endif %}
</tbody>
</table>
<table class="table2 zebra-table no-header" data-no-responsive-header="true">
<thead>
<tr>
<th>{{ lang('STATISTIC') }}</th>
<th>{{ lang('VALUE') }}</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tabled">{{ lang('NUMBER_POSTS') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ TOTAL_POSTS }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('POSTS_PER_DAY') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ POSTS_PER_DAY }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('NUMBER_TOPICS') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ TOTAL_TOPICS }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('TOPICS_PER_DAY') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ TOPICS_PER_DAY }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('NUMBER_USERS') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ TOTAL_USERS }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('USERS_PER_DAY') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ USERS_PER_DAY }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('NUMBER_FILES') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ TOTAL_FILES }}</strong></td>
</tr>
<tr>
<td class="tabled">{{ lang('FILES_PER_DAY') ~ lang('COLON') }}</td>
<td class="tabled"><strong>{{ FILES_PER_DAY }}</strong></td>
</tr>
<tr>
<td class="tabled">&nbsp;</td>
<td class="tabled">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<!-- IF S_ACTION_OPTIONS -->
<fieldset>

View File

@@ -33,7 +33,7 @@
<!-- IF L_EXPLAIN --><p>{L_EXPLAIN}</p><!-- ENDIF -->
<fieldset class="quick">
<span class="small"><a href="https://www.phpbb.com/go/customise/styles/3.2" target="_blank">{L_BROWSE_STYLES_DATABASE}</a></span>
<span class="small"><a href="https://www.phpbb.com/go/customise/styles/3.3" target="_blank">{L_BROWSE_STYLES_DATABASE}</a></span>
</fieldset>
<form id="acp_styles" method="post" action="{U_ACTION}">

View File

@@ -26,7 +26,7 @@
<!-- INCLUDE acp_posting_buttons.html -->
<dl class="responsive-columns">
<dt style="width: 90px;" id="color_palette_placeholder" data-orientation="v" data-height="12" data-width="15" data-bbcode="true">
<dt style="width: 90px;" id="color_palette_placeholder" data-color-palette="v" data-height="12" data-width="15" data-bbcode="true">
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" data-bbcode="true">{SIGNATURE}</textarea></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 5px;">

View File

@@ -1,4 +1,4 @@
/* phpBB 3.2 Admin Style Sheet
/* phpBB 3.3 Admin Style Sheet
------------------------------------------------------------------------
Original author: subBlue ( http://www.subblue.com/ )
Copyright (c) phpBB Limited <https://www.phpbb.com>
@@ -191,7 +191,7 @@ li {
#page-header {
text-align: right;
background: url("../images/phpbb_logo.png") top left no-repeat;
background: url("../images/phpbb_logo.svg") top left no-repeat;
height: 54px;
font-size: 0.85em;
margin-bottom: 10px;
@@ -199,7 +199,7 @@ li {
.rtl #page-header {
text-align: left;
background: url("../images/phpbb_logo.png") top right no-repeat;
background: url("../images/phpbb_logo.svg") top right no-repeat;
}
#page-header h1 {
@@ -723,9 +723,25 @@ td {
}
.table1 {
border-collapse: separate;
border-spacing: 1px;
clear: both;
border-spacing: 1px;
border-collapse: separate;
}
.table2 {
display: inline-block;
border-spacing: 1px;
border-collapse: separate;
}
.lside {
display: flex;
align-items: stretch;
width: 100%;
}
.tabled {
width: 1%;
}
dt#color_palette_placeholder table {

View File

@@ -228,6 +228,64 @@ function parse_document(container)
});
}
/**
* Extension actions helper functions
*/
function move_to_enabled(element)
{
var disabled_header = document.querySelector('#ext_disabled_header');
disabled_header.parentNode.insertBefore(element, disabled_header);
element.classList.remove('ext_disabled');
element.classList.add('ext_enabled');
}
function move_to_disabled(element)
{
var table_body = document.querySelector('#ext_disabled_header').parentNode;
table_body.appendChild(element);
element.classList.remove('ext_enabled');
element.classList.add('ext_disabled');
}
function set_actions(container, actions) {
container.innerHTML = '';
for (var i = 0; i < actions.length; i++) {
var a = document.createElement('a');
a.href = actions[i].U_ACTION.split('&amp;').join('&'); // replace all occurances
a.title = actions[i].L_ACTION_EXPLAIN;
if (actions[i].COLOR) {
a.style = actions[i].COLOR;
}
a.innerHTML = actions[i].L_ACTION;
// ajaxify this action as well
phpbb.ajaxify({
selector: a,
refresh: true,
callback: actions[i].ACTION_AJAX
});
container.appendChild(a);
if (i < actions.length - 1) {
container.innerHTML += '&nbsp;|&nbsp;';
}
}
}
function show_enabled_header() {
document.querySelector('#ext_enabled_header').classList.remove('hidden');
}
function show_disabled_header() {
document.querySelector('#ext_disabled_header').classList.remove('hidden');
}
function hide_disabled_header_if_empty() {
if (!document.querySelector('.ext_disabled')) {
document.querySelector('#ext_disabled_header').classList.add('hidden');
}
}
function hide_enabled_header_if_empty() {
if (!document.querySelector('.ext_enabled')) {
document.querySelector('#ext_enabled_header').classList.add('hidden');
}
}
/**
* Run onload functions
*/

View File

@@ -1,4 +1,4 @@
/* global phpbb */
/* global phpbb, statsData */
(function($) { // Avoid conflicts with other libraries
@@ -74,7 +74,7 @@ phpbb.prepareSendStats = function () {
var $sendStatisticsSuccess = $('<input />', {
type: 'hidden',
name: 'send_statistics_response',
value: res
value: JSON.stringify(res)
});
$sendStatisticsSuccess.appendTo('p.submit-buttons');
@@ -87,7 +87,7 @@ phpbb.prepareSendStats = function () {
$.ajax({
url: $this.attr('data-ajax-action').replace('&amp;', '&'),
type: 'POST',
data: 'systemdata=' + encodeURIComponent($this.find('input[name=systemdata]').val()),
data: statsData,
success: returnHandler,
error: errorHandler,
cache: false
@@ -157,6 +157,34 @@ phpbb.addAjaxCallback('row_delete', function(res) {
}
});
/**
* Callbacks for extension actions
*/
phpbb.addAjaxCallback('ext_enable', function(res) {
if (res.EXT_ENABLE_SUCCESS) {
move_to_enabled(this.parentNode.parentNode);
set_actions(this.parentNode, res.ACTIONS);
show_enabled_header();
hide_disabled_header_if_empty();
}
});
phpbb.addAjaxCallback('ext_delete_data', function(res) {
if (res.EXT_DELETE_DATA_SUCCESS) {
move_to_disabled(this.parentNode.parentNode);
set_actions(this.parentNode, res.ACTIONS);
show_disabled_header();
hide_enabled_header_if_empty();
}
});
phpbb.addAjaxCallback('ext_disable', function(res) {
if (res.EXT_DISABLE_SUCCESS) {
move_to_disabled(this.parentNode.parentNode);
set_actions(this.parentNode, res.ACTIONS);
show_disabled_header();
hide_enabled_header_if_empty();
}
});
/**
* Handler for submitting permissions form in chunks
* This call will submit permissions forms in chunks of 5 fieldsets.

View File

@@ -5,8 +5,9 @@
<div>{L_RECAPTCHA_NOSCRIPT}</div>
</noscript>
{L_RECAPTCHA_INVISIBLE}
<script src="{RECAPTCHA_SERVER}.js?hl={LA_RECAPTCHA_LANG}" async defer></script>
<div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}"></div>
<div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}" data-size="invisible"></div>
</dd>
</dl>
<!-- ELSE -->

View File

@@ -23,7 +23,7 @@ installLang = {
</script>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js">\x3C/script>');</script><!-- ENDIF -->
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.4.1.min.js">\x3C/script>');</script><!-- ENDIF -->
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<!-- INCLUDEJS admin.js -->
{$SCRIPTS}

View File

@@ -34,7 +34,7 @@
</div>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.4.1.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<!-- INCLUDEJS ajax.js -->
<!-- INCLUDEJS admin.js -->

View File

@@ -4,7 +4,7 @@
<h1>{L_ACP_FORUM_PERMISSIONS_COPY}</h1>
{L_ACP_FORUM_PERMISSIONS_COPY_EXPLAIN}
<p>{L_ACP_FORUM_PERMISSIONS_COPY_EXPLAIN}</p>
<form id="forum_perm_copy" method="post" action="{U_ACTION}">

View File

@@ -17,7 +17,7 @@
</div>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.4.1.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<!-- EVENT acp_simple_footer_after -->

View File

@@ -1,6 +1,6 @@
.cc-window{opacity:1;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{transition:transform 1s ease}.cc-animate.cc-revoke.cc-top{transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-bottom,.cc-animate.cc-revoke.cc-active.cc-top,.cc-revoke:hover{transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;transition:max-height 1s}
.cc-link,.cc-revoke:hover{text-decoration:underline}.cc-revoke,.cc-window{position:fixed;overflow:hidden;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-banner .cc-btn:last-child{min-width:140px}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}
.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-banner{-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{-ms-flex:1;flex:1}.cc-compliance{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-compliance>.cc-btn{-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}
@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-ms-flex-align:unset;align-items:unset}}
.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}
.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em 2em 1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}
.cc-window{opacity:1;-webkit-transition:opacity 1s ease;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{-webkit-transition:transform 1s ease;-webkit-transition:-webkit-transform 1s ease;transition:-webkit-transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease}.cc-animate.cc-revoke.cc-top{-webkit-transform:translateY(-2em);transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{-webkit-transform:translateY(2em);transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-top{-webkit-transform:translateY(0);transform:translateY(0)}.cc-animate.cc-revoke.cc-active.cc-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.cc-revoke:hover{-webkit-transform:translateY(0);transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;-webkit-transition:max-height 1s;transition:max-height 1s}
.cc-revoke,.cc-window{position:fixed;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-revoke:hover{text-decoration:underline}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em;text-decoration:underline}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}
.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:100%;margin-right:1em}.cc-compliance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}
@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}}
.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-webkit-box-flex:0;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}
.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em;margin-bottom:1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}

File diff suppressed because one or more lines are too long

View File

@@ -11,7 +11,9 @@ phpbb.alertTime = 100;
var keymap = {
TAB: 9,
ENTER: 13,
ESC: 27
ESC: 27,
ARROW_UP: 38,
ARROW_DOWN: 40
};
var $dark = $('#darkenwrapper');
@@ -561,7 +563,7 @@ phpbb.search.setValue = function($input, value, multiline) {
phpbb.search.setValueOnClick = function($input, value, $row, $container) {
$row.click(function() {
phpbb.search.setValue($input, value.result, $input.attr('data-multiline'));
$container.hide();
phpbb.search.closeResults($input, $container);
});
};
@@ -575,7 +577,7 @@ phpbb.search.setValueOnClick = function($input, value, $row, $container) {
* @param {object} event Onkeyup event object.
* @param {function} sendRequest Function to execute AJAX request.
*
* @returns {bool} Returns false.
* @returns {boolean} Returns false.
*/
phpbb.search.filter = function(data, event, sendRequest) {
var $this = $(this),
@@ -584,9 +586,16 @@ phpbb.search.filter = function(data, event, sendRequest) {
searchID = $this.attr('data-results'),
keyword = phpbb.search.getKeyword($this, data[dataName], $this.attr('data-multiline')),
cache = phpbb.search.cache.get(searchID),
key = event.keyCode || event.which,
proceed = true;
data[dataName] = keyword;
// No need to search if enter was pressed
// for selecting a value from the results.
if (key === keymap.ENTER) {
return false;
}
if (cache.timeout) {
clearTimeout(cache.timeout);
}
@@ -697,22 +706,108 @@ phpbb.search.showResults = function(results, $input, $container, callback) {
row.appendTo($resultContainer).show();
});
$container.show();
phpbb.search.navigateResults($input, $container, $resultContainer);
};
/**
* Clear search results.
*
* @param {jQuery} $container Search results container.
* @param {jQuery} $container Search results container.
*/
phpbb.search.clearResults = function($container) {
$container.children(':not(.search-result-tpl)').remove();
};
/**
* Close search results.
*
* @param {jQuery} $input Search input|textarea.
* @param {jQuery} $container Search results container.
*/
phpbb.search.closeResults = function($input, $container) {
$input.off('.phpbb.search');
$container.hide();
};
/**
* Navigate search results.
*
* @param {jQuery} $input Search input|textarea.
* @param {jQuery} $container Search results container.
* @param {jQuery} $resultContainer Search results list container.
*/
phpbb.search.navigateResults = function($input, $container, $resultContainer) {
// Add a namespace to the event (.phpbb.search),
// so it can be unbound specifically later on.
// Rebind it, to ensure the event is 'dynamic'.
$input.off('.phpbb.search');
$input.on('keydown.phpbb.search', function(event) {
var key = event.keyCode || event.which,
$active = $resultContainer.children('.active');
switch (key) {
// Close the results
case keymap.ESC:
phpbb.search.closeResults($input, $container);
break;
// Set the value for the selected result
case keymap.ENTER:
if ($active.length) {
var value = $active.find('.search-result > span').text();
phpbb.search.setValue($input, value, $input.attr('data-multiline'));
}
phpbb.search.closeResults($input, $container);
// Do not submit the form
event.preventDefault();
break;
// Navigate the results
case keymap.ARROW_DOWN:
case keymap.ARROW_UP:
var up = key === keymap.ARROW_UP,
$children = $resultContainer.children();
if (!$active.length) {
if (up) {
$children.last().addClass('active');
} else {
$children.first().addClass('active');
}
} else if ($children.length > 1) {
if (up) {
if ($active.is(':first-child')) {
$children.last().addClass('active');
} else {
$active.prev().addClass('active');
}
} else {
if ($active.is(':last-child')) {
$children.first().addClass('active');
} else {
$active.next().addClass('active');
}
}
$active.removeClass('active');
}
// Do not change cursor position in the input element
event.preventDefault();
break;
}
});
};
$('#phpbb').click(function() {
var $this = $(this);
if (!$this.is('.live-search') && !$this.parents().is('.live-search')) {
$('.live-search').hide();
phpbb.search.closeResults($('input, textarea'), $('.live-search'));
}
});
@@ -1492,7 +1587,7 @@ phpbb.colorPalette = function(dir, width, height) {
* @param {jQuery} el jQuery object for the palette container.
*/
phpbb.registerPalette = function(el) {
var orientation = el.attr('data-orientation'),
var orientation = el.attr('data-color-palette') || el.attr('data-orientation'), // data-orientation kept for backwards compat.
height = el.attr('data-height'),
width = el.attr('data-width'),
target = el.attr('data-target'),
@@ -1650,6 +1745,50 @@ phpbb.lazyLoadAvatars = function loadAvatars() {
});
};
var recaptchaForm = $('.g-recaptcha').parents('form');
var submitButton = null;
var programaticallySubmitted = false;
phpbb.recaptchaOnLoad = function () {
// Listen to submit buttons in order to know which one was pressed
$('input[type="submit"]').each(function () {
$(this).on('click', function () {
submitButton = this;
});
});
recaptchaForm.on('submit', function (e) {
if (!programaticallySubmitted) {
grecaptcha.execute();
e.preventDefault();
}
});
}
phpbb.recaptchaOnSubmit = function () {
programaticallySubmitted = true;
// If concrete button was clicked (e.g. preview instead of submit),
// let's trigger the same action
if (submitButton) {
submitButton.click();
} else {
// Rename input[name="submit"] so that we can submit the form
if (typeof recaptchaForm.submit !== 'function') {
recaptchaForm.submit.name = 'submit_btn';
}
recaptchaForm.submit();
}
}
// reCAPTCHA doesn't accept callback functions nested inside objects
// so we need to make this helper functions here
window.phpbbRecaptchaOnLoad = function() {
phpbb.recaptchaOnLoad();
}
window.phpbbRecaptchaOnSubmit = function() {
phpbb.recaptchaOnSubmit();
}
$(window).on('load', phpbb.lazyLoadAvatars);
/**
@@ -1662,7 +1801,7 @@ $(function() {
phpbb.registerPageDropdowns();
$('[data-orientation]').each(function() {
$('[data-color-palette], [data-orientation]').each(function() {
phpbb.registerPalette($(this));
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -12,7 +12,7 @@
*/
/**
* Minimum Requirement: PHP 5.4.0
* Minimum Requirement: PHP 7.1.3
*/
if (!defined('IN_PHPBB'))
@@ -132,6 +132,8 @@ catch (InvalidArgumentException $e)
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
$phpbb_container->get('dbal.conn')->set_debug_sql_explain($phpbb_container->getParameter('debug.sql_explain'));
$phpbb_container->get('dbal.conn')->set_debug_load_time($phpbb_container->getParameter('debug.load_time'));
require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
register_compatibility_globals();

View File

@@ -25,51 +25,52 @@
"phpbb/phpbb-core": "self.version"
},
"require": {
"php": ">=5.4",
"bantu/ini-get-wrapper": "1.0.*",
"php": "^7.1.3",
"ext-json": "*",
"bantu/ini-get-wrapper": "~1.0",
"google/recaptcha": "~1.1",
"guzzlehttp/guzzle": "~5.3",
"guzzlehttp/guzzle": "~6.3",
"lusitanian/oauth": "^0.8.1",
"marc1706/fast-image-size": "^1.1",
"paragonie/random_compat": "^2.0",
"patchwork/utf8": "^1.1",
"s9e/text-formatter": "^1.3",
"symfony/config": "^2.8",
"symfony/console": "^2.8",
"symfony/debug": "^2.8",
"symfony/dependency-injection": "^2.8",
"symfony/event-dispatcher": "^2.8",
"symfony/filesystem": "^2.8",
"symfony/finder": "^2.8",
"symfony/http-foundation": "^2.8",
"symfony/http-kernel": "^2.8",
"symfony/proxy-manager-bridge": "^2.8",
"symfony/routing": "^2.8",
"symfony/twig-bridge": "^2.8",
"symfony/yaml": "^2.8",
"twig/twig": "^1.0"
"s9e/text-formatter": "^2.0",
"symfony/config": "~3.4",
"symfony/console": "~3.4",
"symfony/debug": "~3.4",
"symfony/dependency-injection": "~3.4",
"symfony/event-dispatcher": "~3.4",
"symfony/filesystem": "~3.4",
"symfony/finder": "~3.4",
"symfony/http-foundation": "~3.4",
"symfony/http-kernel": "~3.4",
"symfony/process": "^3.4",
"symfony/proxy-manager-bridge": "~3.4",
"symfony/routing": "~3.4",
"symfony/twig-bridge": "~3.4",
"symfony/yaml": "~3.4",
"twig/twig": "^1.0 || ^2.0"
},
"require-dev": {
"fabpot/goutte": "~2.0",
"facebook/webdriver": "~1.1",
"laravel/homestead": "~2.2",
"phing/phing": "2.4.*",
"phpunit/dbunit": "1.3.*",
"phpunit/phpunit": "^4.1",
"sami/sami": "1.*",
"squizlabs/php_codesniffer": "2.*",
"symfony/browser-kit": "^2.8",
"symfony/css-selector": "^2.8",
"symfony/dom-crawler": "^2.8"
"fabpot/goutte": "~3.2",
"facebook/webdriver": "~1.6",
"laravel/homestead": "~7.0",
"phing/phing": "~2.4",
"phpunit/dbunit": "~4.0",
"phpunit/phpunit": "^7.0",
"squizlabs/php_codesniffer": "~3.4",
"symfony/browser-kit": "~3.4",
"symfony/css-selector": "~3.4",
"symfony/dom-crawler": "~3.4",
"sami/sami": "^4.1"
},
"extra": {
"branch-alias": {
"dev-master": "3.2.x-dev"
"dev-master": "3.3.x-dev"
}
},
"config": {
"platform": {
"php": "5.4.7"
"php": "7.1.3"
}
}
}

2659
phpBB/composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,8 @@ parameters:
# List of default password driver types
passwords.algorithms:
- passwords.driver.argon2id
- passwords.driver.argon2i
- passwords.driver.bcrypt_2y
- passwords.driver.bcrypt
- passwords.driver.salted_md5

View File

@@ -27,6 +27,7 @@ imports:
- { resource: services_text_formatter.yml }
- { resource: services_text_reparser.yml }
- { resource: services_twig.yml }
- { resource: services_ucp.yml }
- { resource: services_user.yml }
- { resource: tables.yml }

View File

@@ -15,12 +15,12 @@ services:
auth.provider.db:
class: phpbb\auth\provider\db
arguments:
- '@dbal.conn'
- '@captcha.factory'
- '@config'
- '@dbal.conn'
- '@passwords.manager'
- '@request'
- '@user'
- '@service_container'
- '%core.root_path%'
- '%core.php_ext%'
tags:
@@ -29,9 +29,9 @@ services:
auth.provider.apache:
class: phpbb\auth\provider\apache
arguments:
- '@dbal.conn'
- '@config'
- '@passwords.manager'
- '@dbal.conn'
- '@language'
- '@request'
- '@user'
- '%core.root_path%'
@@ -42,9 +42,9 @@ services:
auth.provider.ldap:
class: phpbb\auth\provider\ldap
arguments:
- '@dbal.conn'
- '@config'
- '@passwords.manager'
- '@dbal.conn'
- '@language'
- '@user'
tags:
- { name: auth.provider }
@@ -52,18 +52,18 @@ services:
auth.provider.oauth:
class: phpbb\auth\provider\oauth\oauth
arguments:
- '@dbal.conn'
- '@config'
- '@passwords.manager'
- '@dbal.conn'
- '@auth.provider.db'
- '@dispatcher'
- '@language'
- '@request'
- '@auth.provider.oauth.service_collection'
- '@user'
- '%tables.auth_provider_oauth_token_storage%'
- '%tables.auth_provider_oauth_states%'
- '%tables.auth_provider_oauth_account_assoc%'
- '@auth.provider.oauth.service_collection'
- '%tables.users%'
- '@service_container'
- '@dispatcher'
- '%core.root_path%'
- '%core.php_ext%'
tags:

View File

@@ -158,14 +158,6 @@ services:
tags:
- { name: console.command }
console.command.fixup.recalculate_email_hash:
class: phpbb\console\command\fixup\recalculate_email_hash
arguments:
- '@user'
- '@dbal.conn'
tags:
- { name: console.command }
console.command.fixup.update_hashes:
class: phpbb\console\command\fixup\update_hashes
arguments:

View File

@@ -3,6 +3,7 @@ services:
class: phpbb\cron\manager
arguments:
- '@cron.task_collection'
- '@routing.helper'
- '%core.root_path%'
- '%core.php_ext%'
@@ -13,6 +14,18 @@ services:
- '@config'
- '@dbal.conn'
cron.controller:
class: phpbb\cron\controller\cron
cron.event_listener:
class: phpbb\cron\event\cron_runner_listener
arguments:
- '@cron.lock_db'
- '@cron.manager'
- '@request'
tags:
- { name: kernel.event_subscriber }
# ----- Cron tasks -----
cron.task_collection:
class: phpbb\di\service_collection

View File

@@ -1,4 +1,7 @@
parameters:
passwords.driver.argon2_memory_cost: 1024
passwords.driver.argon2_threads: 2
passwords.driver.argon2_time_cost: 2
passwords.driver.bcrypt_cost: 10
services:
@@ -27,6 +30,23 @@ services:
tags:
- { name: service_collection, tag: passwords.driver }
passwords.driver.argon2i:
class: phpbb\passwords\driver\argon2i
arguments:
- '@config'
- '@passwords.driver_helper'
- '%passwords.driver.argon2_memory_cost%'
- '%passwords.driver.argon2_threads%'
- '%passwords.driver.argon2_time_cost%'
tags:
- { name: passwords.driver }
passwords.driver.argon2id:
class: phpbb\passwords\driver\argon2id
parent: passwords.driver.argon2i
tags:
- { name: passwords.driver }
passwords.driver.bcrypt:
class: phpbb\passwords\driver\bcrypt
arguments:

View File

@@ -12,8 +12,6 @@ services:
class: Symfony\Component\HttpKernel\EventListener\RouterListener
arguments:
- '@router'
- null
- null
- '@request_stack'
tags:
- { name: kernel.event_subscriber }

View File

@@ -4,6 +4,11 @@ parameters:
text_formatter.cache.renderer.key: _text_formatter_renderer
services:
text_formatter.acp_utils:
class: phpbb\textformatter\s9e\acp_utils
arguments:
- '@text_formatter.s9e.factory'
text_formatter.cache:
alias: text_formatter.s9e.factory

View File

@@ -38,10 +38,23 @@ services:
class: phpbb\template\twig\extension
arguments:
- '@template_context'
- '@template.twig.environment'
- '@language'
tags:
- { name: twig.extension }
template.twig.extensions.avatar:
class: phpbb\template\twig\extension\avatar
tags:
- { name: twig.extension }
template.twig.extensions.config:
class: phpbb\template\twig\extension\config
arguments:
- '@config'
tags:
- { name: twig.extension }
template.twig.extensions.routing:
class: phpbb\template\twig\extension\routing
arguments:
@@ -49,6 +62,11 @@ services:
tags:
- { name: twig.extension }
template.twig.extensions.username:
class: phpbb\template\twig\extension\username
tags:
- { name: twig.extension }
template.twig.extensions.debug:
class: Twig_Extension_Debug

View File

@@ -0,0 +1,17 @@
services:
phpbb.ucp.controller.reset_password:
class: phpbb\ucp\controller\reset_password
arguments:
- '@config'
- '@dbal.conn'
- '@dispatcher'
- '@controller.helper'
- '@language'
- '@log'
- '@passwords.manager'
- '@request'
- '@template'
- '@user'
- '%tables.users%'
- '%core.root_path%'
- '%core.php_ext%'

View File

@@ -0,0 +1,3 @@
phpbb_cron_run:
path: /{cron_type}
defaults: { _controller: cron.controller:handle }

View File

@@ -8,6 +8,10 @@
# instantiate the 'foo_service' service and call the 'method' method.
#
phpbb_cron_routing:
resource: cron.yml
prefix: /cron
phpbb_feed_routing:
resource: feed.yml
prefix: /feed
@@ -22,3 +26,7 @@ phpbb_help_routing:
phpbb_report_routing:
resource: report.yml
phpbb_ucp_routing:
resource: ucp.yml
prefix: /user

View File

@@ -0,0 +1,7 @@
phpbb_ucp_reset_password_controller:
path: /reset_password
defaults: { _controller: phpbb.ucp.controller.reset_password:reset }
phpbb_ucp_forgot_password_controller:
path: /forgot_password
defaults: { _controller: phpbb.ucp.controller.reset_password:request }

View File

@@ -3,11 +3,19 @@ imports:
core:
require_dev_dependencies: true
allow_install_dir: true
debug:
exceptions: true
load_time: true
sql_explain: true
memory: true
show_errors: true
twig:
debug: true
auto_reload: true
enable_debug_extension: true
session:
log_errors: true

View File

@@ -3,3 +3,4 @@ imports:
core:
require_dev_dependencies: true
allow_install_dir: true

View File

@@ -11,10 +11,11 @@
*
*/
use Symfony\Component\HttpFoundation\RedirectResponse;
/**
*/
define('IN_PHPBB', true);
define('IN_CRON', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
@@ -23,62 +24,14 @@ include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin(false);
$auth->acl($user->data);
function output_image()
{
// Output transparent gif
header('Cache-Control: no-cache');
header('Content-type: image/gif');
header('Content-length: 43');
echo base64_decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
// Flush here to prevent browser from showing the page as loading while
// running cron.
flush();
}
// Thanks to various fatal errors and lack of try/finally, it is quite easy to leave
// the cron lock locked, especially when working on cron-related code.
//
// Attempt to alleviate the problem by doing setup outside of the lock as much as possible.
$cron_type = $request->variable('cron_type', '');
// Comment this line out for debugging so the page does not return an image.
output_image();
$get_params_array = $request->get_super_global(\phpbb\request\request_interface::GET);
/* @var $cron_lock \phpbb\lock\db */
$cron_lock = $phpbb_container->get('cron.lock_db');
if ($cron_lock->acquire())
{
/* @var $cron \phpbb\cron\manager */
$cron = $phpbb_container->get('cron.manager');
$task = $cron->find_task($cron_type);
if ($task)
{
/**
* This event enables you to catch the task before it runs
*
* @event core.cron_run_before
* @var \phpbb\cron\task\wrapper task Current Cron task
* @since 3.1.8-RC1
*/
$vars = array(
'task',
);
extract($phpbb_dispatcher->trigger_event('core.cron_run_before', compact($vars)));
if ($task->is_parametrized())
{
$task->parse_parameters($request);
}
if ($task->is_ready())
{
$task->run();
}
}
$cron_lock->release();
}
garbage_collection();
/** @var \phpbb\controller\helper $controller_helper */
$controller_helper = $phpbb_container->get('controller.helper');
$response = new RedirectResponse(
$controller_helper->route('phpbb_cron_run', $get_params_array, false),
301
);
$response->send();

View File

@@ -211,7 +211,7 @@ foreach ($prefixes as $prefix)
);
$db->sql_query('INSERT INTO ' . ACL_OPTIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
echo "<p><b>Adding $auth_option...</b></p>\n";
mass_auth('group', 0, 'guests', $auth_option, ACL_NEVER);
@@ -232,7 +232,7 @@ $db->sql_query($sql);
$cache->destroy('_acl_options');
echo "<p><b>Done</b></p>\n";
/*
$ug_type = user|group
$forum_id = forum ids (array|int|0) -> 0 == all forums
@@ -375,11 +375,6 @@ function mass_auth($ug_type, $forum_id, $ug_id, $acl_list, $setting)
case 'insert':
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
$sql = 'VALUES ' . implode(', ', preg_replace('#^(.*?)$#', '(\1)', $sql_subary));
break;
case 'sqlite3':
$sql = implode(' UNION ALL ', preg_replace('#^(.*?)$#', 'SELECT \1', $sql_subary));
break;

View File

@@ -1,74 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
//
// Security message:
//
// This script is potentially dangerous.
// Remove or comment the next line (die(".... ) to enable this script.
// Do NOT FORGET to either remove this script or disable it after you have used it.
//
die("Please read the first lines of this script for instructions on how to enable it");
@set_time_limit(300);
$db = $dbhost = $dbuser = $dbpasswd = $dbport = $dbname = '';
define('IN_PHPBB', 1);
define('ANONYMOUS', 1);
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$phpbb_root_path='./../';
include($phpbb_root_path . 'config.'.$phpEx);
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.'.$phpEx);
require($phpbb_root_path . 'includes/db/' . $dbms . '.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
$cache = new acm();
$db = new sql_db();
// Connect to DB
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
$start = 0;
do
{
// Batch query for group members, call group_user_del
$sql = "SELECT user_id, user_email
FROM {$table_prefix}users
LIMIT $start, 100";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
do
{
$sql = "UPDATE {$table_prefix}users
SET user_email_hash = " . (crc32(strtolower($row['user_email'])) . strlen($row['user_email'])) . '
WHERE user_id = ' . $row['user_id'];
$db->sql_query($sql);
$start++;
}
while ($row = $db->sql_fetchrow($result));
echo "<br />Batch -> $start\n";
flush();
}
else
{
$start = 0;
}
$db->sql_freeresult($result);
}
while ($start);
echo "<p><b>Done</b></p>\n";

View File

@@ -21,7 +21,6 @@
$schema_path = dirname(__FILE__) . '/../install/schemas/';
$supported_dbms = array(
'mssql',
'mysql_40',
'mysql_41',
'oracle',
'postgres',

View File

@@ -1,212 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* This file creates SQL statements to upgrade phpBB on MySQL 3.x/4.0.x to 4.1.x/5.x
*/
//
// Security message:
//
// This script is potentially dangerous.
// Remove or comment the next line (die(".... ) to enable this script.
// Do NOT FORGET to either remove this script or disable it after you have used it.
//
die("Please read the first lines of this script for instructions on how to enable it");
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$prefix = $table_prefix;
$newline = "\n";
if (PHP_SAPI !== 'cli')
{
$newline = '<br>';
}
$sql = 'DESCRIBE ' . POSTS_TABLE . ' post_text';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$mysql_indexer = $drop_index = false;
if (strtolower($row['Type']) === 'mediumtext')
{
$mysql_indexer = true;
}
if (strtolower($row['Key']) === 'mul')
{
$drop_index = true;
}
echo "USE $dbname;$newline$newline";
@set_time_limit(0);
$finder = new \phpbb\finder(new \phpbb\filesystem\filesystem(), $phpbb_root_path);
$classes = $finder->core_path('phpbb/')
->directory('/db/migration/data')
->get_classes();
$factory = new \phpbb\db\tools\factory();
$db_tools = $factory->get($db, true);
$schema_generator = new \phpbb\db\migration\schema_generator($classes, $config, $db, $db_tools, $phpbb_root_path, $phpEx, $table_prefix);
$schema_data = $schema_generator->get_schema();
$dbms_type_map = \phpbb\db\tools\tools::get_dbms_type_map();
foreach ($schema_data as $table_name => $table_data)
{
$table_name = str_replace('phpbb_', $prefix, $table_name);
// Write comment about table
echo "# Table: '{$table_name}'$newline";
// Create Table statement
$generator = $textimage = false;
// Do we need to DROP a fulltext index before we alter the table?
if ($table_name == ($prefix . 'posts') && $drop_index)
{
echo "ALTER TABLE {$table_name}{$newline}";
echo "DROP INDEX post_text,{$newline}DROP INDEX post_subject,{$newline}DROP INDEX post_content;{$newline}{$newline}";
}
$line = "ALTER TABLE {$table_name} $newline";
// Table specific so we don't get overlap
$modded_array = array();
// Write columns one by one...
foreach ($table_data['COLUMNS'] as $column_name => $column_data)
{
// Get type
if (strpos($column_data[0], ':') !== false)
{
list($orig_column_type, $column_length) = explode(':', $column_data[0]);
$column_type = sprintf($dbms_type_map['mysql_41'][$orig_column_type . ':'], $column_length);
if (isset($dbms_type_map['mysql_40'][$orig_column_type . ':']['limit']) &&
isset($dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][0]))
{
switch ($dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][0])
{
case 'mult':
if (($column_length * $dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][1]) > $dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][2])
{
$modded_array[$column_name] = $column_type;
}
break;
}
}
$orig_column_type .= ':';
}
else
{
$orig_column_type = $column_data[0];
$other_column_type = $dbms_type_map['mysql_40'][$column_data[0]];
if ($other_column_type == 'text' || $other_column_type == 'blob')
{
$modded_array[$column_name] = $column_type;
}
$column_type = $dbms_type_map['mysql_41'][$column_data[0]];
}
// Adjust default value if db-dependent specified
if (is_array($column_data[1]))
{
$column_data[1] = (isset($column_data[1][$dbms])) ? $column_data[1][$dbms] : $column_data[1]['default'];
}
$line .= "\tMODIFY {$column_name} {$column_type} ";
// For hexadecimal values do not use single quotes
if (!is_null($column_data[1]) && substr($column_type, -4) !== 'text' && substr($column_type, -4) !== 'blob')
{
$line .= (strpos($column_data[1], '0x') === 0) ? "DEFAULT {$column_data[1]} " : "DEFAULT '{$column_data[1]}' ";
}
$line .= 'NOT NULL';
if (isset($column_data[2]))
{
if ($column_data[2] == 'auto_increment')
{
$line .= ' auto_increment';
}
else if ($column_data[2] == 'true_sort')
{
$line .= ' COLLATE utf8_unicode_ci';
}
else if ($column_data[2] == 'no_sort')
{
$line .= ' COLLATE utf8_bin';
}
}
else if (preg_match('/(?:var)?char|(?:medium)?text/i', $column_type))
{
$line .= ' COLLATE utf8_bin';
}
$line .= ",$newline";
}
// Write Keys
if (isset($table_data['KEYS']))
{
foreach ($table_data['KEYS'] as $key_name => $key_data)
{
$temp = '';
if (!is_array($key_data[1]))
{
$key_data[1] = array($key_data[1]);
}
$temp .= ($key_data[0] == 'INDEX') ? "\tADD KEY" : '';
$temp .= ($key_data[0] == 'UNIQUE') ? "\tADD UNIQUE" : '';
$repair = false;
foreach ($key_data[1] as $key => $col_name)
{
if (isset($modded_array[$col_name]))
{
$repair = true;
}
}
if ($repair)
{
$line .= "\tDROP INDEX " . $key_name . ",$newline";
$line .= $temp;
$line .= ' ' . $key_name . ' (' . implode(', ', $key_data[1]) . "),$newline";
}
}
}
//$line .= "\tCONVERT TO CHARACTER SET `utf8`$newline";
$line .= "\tDEFAULT CHARSET=utf8 COLLATE=utf8_bin;$newline$newline";
echo $line . "$newline";
// Do we now need to re-add the fulltext index? ;)
if ($table_name == ($prefix . 'posts') && $drop_index)
{
echo "ALTER TABLE $table_name ADD FULLTEXT (post_subject), ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text);{$newline}";
}
}

View File

@@ -8,46 +8,6 @@
//
die("Please read the first lines of this script for instructions on how to enable it");
// IP regular expressions
$dec_octet = '(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])';
$h16 = '[\dA-F]{1,4}';
$ipv4 = "(?:$dec_octet\.){3}$dec_octet";
$ls32 = "(?:$h16:$h16|$ipv4)";
$ipv6_construct = array(
array(false, '', '{6}', $ls32),
array(false, '::', '{0,5}', "(?:$h16(?::$h16)?|$ipv4)"),
array('', ':', '{4}', $ls32),
array('{1,2}', ':', '{3}', $ls32),
array('{1,3}', ':', '{2}', $ls32),
array('{1,4}', ':', '', $ls32),
array('{1,5}', ':', false, $ls32),
array('{1,6}', ':', false, $h16),
array('{1,7}', ':', false, ''),
array(false, '::', false, '')
);
$ipv6 = '(?:';
foreach ($ipv6_construct as $ip_type)
{
$ipv6 .= '(?:';
if ($ip_type[0] !== false)
{
$ipv6 .= "(?:$h16:)" . $ip_type[0];
}
$ipv6 .= $ip_type[1];
if ($ip_type[2] !== false)
{
$ipv6 .= "(?:$h16:)" . $ip_type[2];
}
$ipv6 .= $ip_type[3] . ')|';
}
$ipv6 = substr($ipv6, 0, -1) . ')';
echo 'IPv4: ' . $ipv4 . "<br />\nIPv6: " . $ipv6 . "<br />\n";
// URL regular expressions
$pct_encoded = "%[\dA-F]{2}";

View File

@@ -8,45 +8,6 @@
//
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
@@ -72,7 +33,7 @@ $no_hangul = '\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C
*/
$no_cdm = '\x{20D0}-\x{20FF}'; // \p{block=Combining_Diacritical_Marks_For_Symbols}
$no_musical = '\x{1D100}-\x{1D1FF}'; // \p{block=Musical_Symbols}
$no_ancient_greek_musical = '\x{1D200}-\x{1D24F}'; // \p{block=Ancient_Greek_Musical_Notation}
$no_ancient_greek_musical = '\x{1D200}-\x{1D24F}'; // \p{block=Ancient_Greek_Musical_Notation}
/* Remove certain exceptions:
** U+0640 ARABIC TATWEEL
** U+07FA NKO LAJANYALAN

View File

@@ -1,56 +0,0 @@
<?php
/**
* Corrects user_email_hash values if DB moved from 32-bit system to 64-bit system or vice versa.
* The CRC32 function in PHP generates different results for both systems.
* @PHP dev team: no, a hexdec() applied to it does not solve the issue. And please document it.
*
*/
die("Please read the first lines of this script for instructions on how to enable it");
set_time_limit(0);
define('IN_PHPBB', true);
$phpbb_root_path = './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$start = $request->variable('start', 0);
$num_items = 1000;
echo '<br />Updating user email hashes' . "\n";
$sql = 'SELECT user_id, user_email
FROM ' . USERS_TABLE . '
ORDER BY user_id ASC';
$result = $db->sql_query($sql);
$echos = 0;
while ($row = $db->sql_fetchrow($result))
{
$echos++;
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_email_hash = '" . $db->sql_escape(phpbb_email_hash($row['user_email'])) . "'
WHERE user_id = " . (int) $row['user_id'];
$db->sql_query($sql);
if ($echos == 200)
{
echo '<br />';
$echos = 0;
}
echo '.';
flush();
}
$db->sql_freeresult($result);
echo 'FINISHED';
// Done
$db->sql_close();

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.2.x Changelog" />
<meta name="description" content="phpBB 3.3.x Changelog" />
<title>phpBB &bull; Changelog</title>
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
@@ -20,8 +20,8 @@
<div class="inner">
<div id="doc-description">
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
<h1>phpBB 3.2.x Changelog</h1>
<a href="../index.php" id="logo"><span class="site_logo"></span></a>
<h1>phpBB 3.3.x Changelog</h1>
<p style="display: none;"><a href="#start_here">Skip</a></p>
</div>
@@ -36,7 +36,7 @@
<!-- BEGIN DOCUMENT -->
<p class="paragraph main-description">
This is a non-exhaustive (but still near complete) changelog for phpBB 3.2.x including release candidate versions.
This is a non-exhaustive (but still near complete) changelog for phpBB 3.3.x including release candidate versions.
Our thanks to all those people who've contributed bug reports and code fixes.
</p>
@@ -50,6 +50,10 @@
<ol>
<li><a href="#changelog">Changelog</a>
<ul>
<li><a href="#v330rc1">Changes since 3.3.0-RC1</a></li>
<li><a href="#v330b2">Changes since 3.3.0-b2</a></li>
<li><a href="#v330b1">Changes since 3.3.0-b1</a></li>
<li><a href="#v32x">Changes since 3.2.x</a></li>
<li><a href="#v329rc1">Changes since 3.2.9-RC1</a></li>
<li><a href="#v328">Changes since 3.2.8</a></li>
<li><a href="#v328rc1">Changes since 3.2.8-RC1</a></li>
@@ -142,6 +146,212 @@
<div class="inner">
<div class="content">
<a name="v330rc1"></a><h3>Changes since 3.3.0-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15592">PHPBB3-15592</a>] - &quot;Place inline&quot; button appears when BBcode is disabled (Post settings)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15902">PHPBB3-15902</a>] - Out of range error with Sphinx search</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16209">PHPBB3-16209</a>] - Nginx example configuration file blocks an image in the ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16230">PHPBB3-16230</a>] - Check phrasing of FILESYSTEM_CANNOT_* lang keys</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16257">PHPBB3-16257</a>] - Typo in Email Settings section</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16260">PHPBB3-16260</a>] - Missing check whether the index exists in ACP - PHP 7.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16261">PHPBB3-16261</a>] - Missing check whether the index exists in install - PHP 7.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16262">PHPBB3-16262</a>] - php 7.3 compact() calls with undefined variables causing error page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16263">PHPBB3-16263</a>] - Apache auth provider test fails on bamboo</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16266">PHPBB3-16266</a>] - Error on clean install with PHP 7.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16267">PHPBB3-16267</a>] - Check whether the index exists in ACP BBcodes - PHP 7.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16273">PHPBB3-16273</a>] - Trying to access array offset on value of type bool in Memberlist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16274">PHPBB3-16274</a>] - compact() calls with undefined variables in search.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16276">PHPBB3-16276</a>] - Undefined $mode property in bbcode_firstpass class</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16278">PHPBB3-16278</a>] - Update instructions (INSTALL.html)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16281">PHPBB3-16281</a>] - Extensions' Tab does not show up automatically</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16282">PHPBB3-16282</a>] - Default jQuery CDN URL is outdated on new installs</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16285">PHPBB3-16285</a>] - Missing sanity checks in migrations for 3.3</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16287">PHPBB3-16287</a>] - At first ACP screen after install, error message regarding statistics submission</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16293">PHPBB3-16293</a>] - Update hashes cron produces invalid hashes while updating from 3.0</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16221">PHPBB3-16221</a>] - ACP statistics are ugly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16277">PHPBB3-16277</a>] - Move from each() function</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16279">PHPBB3-16279</a>] - Add permission for Emojii in topic title</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16283">PHPBB3-16283</a>] - Update requirements for 3.3.0</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16290">PHPBB3-16290</a>] - Update to new SVG logo in package docs</li>
</ul>
<h4>Security</h4>
<ul>
<li>[SECURITY-249] - Group avatar overwrite on invalid submit</li>
<li>[SECURITY-250] - Group leader can be tricked into approving user</li>
</ul>
<h4>Hardening</h4>
<ul>
<li>[SECURITY-251] - Unwanted move of PMs to folders</li>
<li>[SECURITY-252] - PMs of unsuspecting users can be marked as important</li>
<li>[SECURITY-253] - PM export without proper validation</li>
</ul>
<a name="v330b2"></a><h3>Changes since 3.3.0-b2</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16056">PHPBB3-16056</a>] - JPEG dimensions undetectable for some kind of jpeg files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16211">PHPBB3-16211</a>] - COPPA should not be skippable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16226">PHPBB3-16226</a>] - Cron Tasks are not running on some Apache Server</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16227">PHPBB3-16227</a>] - If click login or acp login add errors</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16228">PHPBB3-16228</a>] - BBCode definitions with an optional attribute and a non-TEXT content are not merged correctly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16235">PHPBB3-16235</a>] - Ignore patterns in ext-sniff.sh are not processed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16242">PHPBB3-16242</a>] - Redirect loop when install folder doesn't exist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16255">PHPBB3-16255</a>] - PHP 7.4 Deprecation warning on curly braces offsets</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16258">PHPBB3-16258</a>] - Sample Sphinx configuration file causes delta index to only include the most recent post</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15294">PHPBB3-15294</a>] - Server slowed down when having high session count</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16203">PHPBB3-16203</a>] - Enable Emojis and rich text in sent Emails</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16223">PHPBB3-16223</a>] - Remove no longer supported memcache</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16236">PHPBB3-16236</a>] - Bump phpBB 3.3 maximum PHP version requirement to PHP 7.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16239">PHPBB3-16239</a>] - Remove deprecated phpbb\db\tools</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16247">PHPBB3-16247</a>] - Quote PM has no identifier.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16248">PHPBB3-16248</a>] - update to new svg version of logo</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16224">PHPBB3-16224</a>] - Update composer dependencies</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16241">PHPBB3-16241</a>] - Color Palette Syntax Breaks Backwards Compatibility</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16246">PHPBB3-16246</a>] - Prettify and update README Automated Testing section</li>
</ul>
<a name="v330b1"></a><h3>Changes since 3.3.0-b1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16008">PHPBB3-16008</a>] - oAuth does not respect custom server settings</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16167">PHPBB3-16167</a>] - phpbb_email_hash creates false duplicates</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16188">PHPBB3-16188</a>] - Statistics Panel in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16192">PHPBB3-16192</a>] - Installing Extensions Via CLI Broken</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16205">PHPBB3-16205</a>] - Undefined variable 'zebra' in search.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16210">PHPBB3-16210</a>] - Terms of use should not be skippable</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12539">PHPBB3-12539</a>] - Live Member Search Improvements</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12559">PHPBB3-12559</a>] - Add forum setting to limit subforums legend to direct children only</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12574">PHPBB3-12574</a>] - Don't require the passwords_manager in the constructor of the auth plugins</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15958">PHPBB3-15958</a>] - Created forums and default forum created during install have diferent options</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16187">PHPBB3-16187</a>] - Correctly display registration using external services</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16189">PHPBB3-16189</a>] - Deprecate inet_ntop and inet_pton wrappers</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16190">PHPBB3-16190</a>] - Deprecate phpbb's checkdnsrr wrapper</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16195">PHPBB3-16195</a>] - Copy forum permissions missing paragraph</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16196">PHPBB3-16196</a>] - Remove random_compat</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16206">PHPBB3-16206</a>] - Remove offsetExists reimplementation in service_collection</li>
</ul>
<a name="v32x"></a><h3>Changes since 3.2.x</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14670">PHPBB3-14670</a>] - Use latest symfony branch in master</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14769">PHPBB3-14769</a>] - CLI Installer Fails</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14815">PHPBB3-14815</a>] - The facebook page link is not displayed properly in membership.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15255">PHPBB3-15255</a>] - Language variables of filesystem exception should moved</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15351">PHPBB3-15351</a>] - Confirm box function does not work with symlink on server config</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15377">PHPBB3-15377</a>] - INCLUDECSS and INCLUDEJS broken on all front controllers (app.php)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15400">PHPBB3-15400</a>] - app.php urls aren't working in vagrant because of nginx</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15424">PHPBB3-15424</a>] - Fix typos in coding guidelines, comments, events list &amp; credits</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15436">PHPBB3-15436</a>] - Remove folder icons from index</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15522">PHPBB3-15522</a>] - Allow multiple color palettes per page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15643">PHPBB3-15643</a>] - $phpbb_filesystem-&gt;resolve_path() may triggers open_basedir restriction</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15686">PHPBB3-15686</a>] - Update homestead for vagrant</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15720">PHPBB3-15720</a>] - Redirections dont need to escape ampersands</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15725">PHPBB3-15725</a>] - Testing framework fails to install extensions because of outdated assertion</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15744">PHPBB3-15744</a>] - Not all sql querys need to free memory</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15828">PHPBB3-15828</a>] - php 7.3 warning in installing 3.2.3 and installtion failed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15846">PHPBB3-15846</a>] - Wrong id for downloadable extension group</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15922">PHPBB3-15922</a>] - Remove support for APC cache</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15935">PHPBB3-15935</a>] - Check if APCu is installed before installing it</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15938">PHPBB3-15938</a>] - Static attributes blacklist references no longer existing classes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15991">PHPBB3-15991</a>] - Tables in ACP are displayed incorrectly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16003">PHPBB3-16003</a>] - Post count not updated when deleting only post in topic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16048">PHPBB3-16048</a>] - Unable to restore any backup from ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16050">PHPBB3-16050</a>] - PHP warning in MCP banning tab on PHP 7.2+</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16057">PHPBB3-16057</a>] - Fix vagrant in 3.3</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16074">PHPBB3-16074</a>] - Twemoji -fe0f sequence not rendering</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16076">PHPBB3-16076</a>] - Limit attachment size by extension group</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16131">PHPBB3-16131</a>] - Force vagrant to install phpBB with a specific PHP version</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11515">PHPBB3-11515</a>] - Add interface for lock classes and add new methods</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11838">PHPBB3-11838</a>] - OAuth registration from ucp_register</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12591">PHPBB3-12591</a>] - Improve breadcrumb functionality with new &quot;Home page&quot;/&quot;Forum index&quot; link</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14465">PHPBB3-14465</a>] - Remove maximum password length setting</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14573">PHPBB3-14573</a>] - Extend breadcrumb to support more pages</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14948">PHPBB3-14948</a>] - Changes 3.3 PHP requirement to 7.1</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14972">PHPBB3-14972</a>] - PHP 7.2 compatibility: wrong sizeof/count parameter type</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15088">PHPBB3-15088</a>] - Optimize code for extension manager to avoid repetitions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15153">PHPBB3-15153</a>] - Update laravel/homestead box for vagrant</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15203">PHPBB3-15203</a>] - Missing constants during web installation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15257">PHPBB3-15257</a>] - Extensions may indicate reasons why they cannot enable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15269">PHPBB3-15269</a>] - Set development environment and enable all debugs when installing with vagrant</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15274">PHPBB3-15274</a>] - Migration &quot;custom&quot; tool does not allow parameters</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15295">PHPBB3-15295</a>] - Restore MyIsam and mysql environments to test suite</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15330">PHPBB3-15330</a>] - Twig function to know if a language string is defined</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15413">PHPBB3-15413</a>] - Login from any page and redirecting back there</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15508">PHPBB3-15508</a>] - Upgrade Twig to version 2.x</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15564">PHPBB3-15564</a>] - Switch to Invisible reCAPTCHA</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15580">PHPBB3-15580</a>] - Remove extra settings in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15610">PHPBB3-15610</a>] - Improving UI of Board Statistics in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15646">PHPBB3-15646</a>] - Add support for Argon2i passwords</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15663">PHPBB3-15663</a>] - Remove flash support in attachments</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15664">PHPBB3-15664</a>] - Manage extensions with ajax</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15671">PHPBB3-15671</a>] - Limit accepted formats to allowed extensions in avatars upload</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15694">PHPBB3-15694</a>] - Add style-related language files into .gitignore</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15714">PHPBB3-15714</a>] - Login after register</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15718">PHPBB3-15718</a>] - Update CONTRIBUTING.md</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15772">PHPBB3-15772</a>] - Hide warning message in acp when install dir is present and allow_install_dir is true</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15905">PHPBB3-15905</a>] - Create multiple twig extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15940">PHPBB3-15940</a>] - Expose user_id to notif method's is_available and add event before it to load user data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15987">PHPBB3-15987</a>] - Make table parameters an array</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16016">PHPBB3-16016</a>] - Provide a base class to implement password hashing via native functions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16017">PHPBB3-16017</a>] - Add support for Argon2id password hashing</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16081">PHPBB3-16081</a>] - Remove eAccelerator as its latest supported PHP version is 5.3</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16082">PHPBB3-16082</a>] - Remove XCache as it does not support PHP 7</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16115">PHPBB3-16115</a>] - Add PHP 7.4 builds to travis CI</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16144">PHPBB3-16144</a>] - NO_STYLE_DATA - Provide extra fallback to board's default style for $user.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16148">PHPBB3-16148</a>] - Add template events to acp_groups.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16159">PHPBB3-16159</a>] - Wrap post times in html time tag</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11327">PHPBB3-11327</a>] - Implement reset password functionality via form instead of sending password</li>
</ul>
<h4>Sub-task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12624">PHPBB3-12624</a>] - Add debug.load_time</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12627">PHPBB3-12627</a>] - Add debug.sql_explain</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12628">PHPBB3-12628</a>] - Add debug.memory</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12629">PHPBB3-12629</a>] - Add debug.errors_show</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12635">PHPBB3-12635</a>] - Add allow_install_dir</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12636">PHPBB3-12636</a>] - Add log.session_errors</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14542">PHPBB3-14542</a>] - Move cron to controller</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14584">PHPBB3-14584</a>] - Move deprecated globals and functions to compatibility_*.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14761">PHPBB3-14761</a>] - Update travis tests setup too, move myisam from PHP 5.4 to 5.5</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15244">PHPBB3-15244</a>] - Remove the UNGLOBALISE-related code</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15410">PHPBB3-15410</a>] - Remove obsolete code from BBCodes ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15422">PHPBB3-15422</a>] - Remove the unnecessary helpline function and help_line variable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15738">PHPBB3-15738</a>] - Remove code related with safe mode</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15746">PHPBB3-15746</a>] - Update dependencies for 3.2.3</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15921">PHPBB3-15921</a>] - Update TextFormatter to 1.3.2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15927">PHPBB3-15927</a>] - Fix ACP table display error</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16051">PHPBB3-16051</a>] - Remove mysql driver as it's unsupported</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16052">PHPBB3-16052</a>] - Branch off 3.3.x branch</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16067">PHPBB3-16067</a>] - Define trusty build environment for travis builds</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16072">PHPBB3-16072</a>] - Update s9e/text-formatter</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16112">PHPBB3-16112</a>] - Update composer dependencies to latest</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16175">PHPBB3-16175</a>] - Update composer.json dependencies for 3.3.0-b1</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16185">PHPBB3-16185</a>] - Use Xenial build environment on travis-ci</li>
</ul>
<a name="v329rc1"></a><h3>Changes since 3.2.9-RC1</h3>
<h4>Bug</h4>
<ul>

View File

@@ -84,10 +84,10 @@ prosilver by subBlue Design, Tom Beddard, (c) 2004 phpBB Limited
phpBB contains code from the following applications:
LGPL licenced:
LGPL licensed:
Smarty (c) 2001, 2002 by ispi of Lincoln, Inc, http://smarty.php.net/
GPL licenced:
GPL licensed:
phpMyAdmin (c) 2001, 2003 phpMyAdmin Devel team, http://www.phpmyadmin.net/
Jabber Class (c) 2006 Flyspray.org, http://www.flyspray.org/
Chora (c) 2000-2006, The Horde Project. http://horde.org/chora/
@@ -101,7 +101,7 @@ Pear (c) 2001-2004 PHP Group, http://pear.php.net
Text_Diff-0.2.1 http://pear.php.net/package/Text_Diff
MIT licenced:
MIT licensed:
Symfony2 (c) 2004-2011 Fabien Potencier, https://symfony.com/
Cookie Consent (c) 2015 Silktide Ltd, https://cookieconsent.insites.com

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.2.x frequently asked questions" />
<meta name="description" content="phpBB 3.3.x frequently asked questions" />
<title>phpBB &bull; FAQ</title>
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
@@ -20,9 +20,9 @@
<div class="inner">
<div id="doc-description">
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
<h1>phpBB 3.2.x FAQ</h1>
<p>phpBB 3.2.x frequently asked questions</p>
<a href="../index.php" id="logo"><span class="site_logo"></span></a>
<h1>phpBB 3.3.x FAQ</h1>
<p>phpBB 3.3.x frequently asked questions</p>
<p style="display: none;"><a href="#start_here">Skip</a></p>
</div>
@@ -249,7 +249,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/docs/en/3.2/ug/">online documentation</a>.</p>
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/docs/en/3.3/ug/">online documentation</a>.</p>
</div>
@@ -305,7 +305,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/docs/en/3.2/ug/">extensive user documentation</a> first, it may just explain what you want to know.</p>
<p>Please read our <a href="https://www.phpbb.com/support/docs/en/3.3/ug/">extensive user documentation</a> first, it may just explain what you want to know.</p>
<p>Feel free to search our community forum for the information you require. <strong>PLEASE DO NOT</strong> post your question without having first used search, chances are someone has already asked and answered your question. You can find our board here:</p>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.2.x Installation, updating and conversion informations" />
<meta name="description" content="phpBB 3.3.x Installation, updating and conversion information" />
<title>phpBB &bull; Install</title>
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
@@ -20,9 +20,9 @@
<div class="inner">
<div id="doc-description">
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
<h1>phpBB 3.2.x Install</h1>
<p>phpBB 3.2.x Installation, updating and conversion informations</p>
<a href="../index.php" id="logo"><span class="site_logo"></span></a>
<h1>phpBB 3.3.x Install</h1>
<p>phpBB 3.3.x Installation, updating and conversion information</p>
<p style="display: none;"><a href="#start_here">Skip</a></p>
</div>
@@ -44,7 +44,7 @@
<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.2/ug/">the documentation</a>
updating and converting phpBB you should read <a href="https://www.phpbb.com/support/docs/en/3.3/ug/">the documentation</a>
available online.
</p>
</div>
@@ -59,7 +59,7 @@
<li><a href="#quickinstall">Quick install</a></li>
<li><a href="#require">Requirements</a></li>
<li><a href="#install">New installation</a></li>
<li><a href="#update">Updating from stable releases of phpBB 3.2.x</a>
<li><a href="#update">Updating from stable releases of phpBB 3.3.x</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#update_full">Full package</a></li>
<li><a href="#update_files">Changed files</a></li>
@@ -68,8 +68,8 @@
<li><a href="#update_all">All package types</a></li>
</ol>
</li>
<li><a href="#update30_31">Updating from phpBB 3.0.x/3.1.x to phpBB 3.2.x</a></li>
<li><a href="#convert">Conversion from phpBB 2.0.x to phpBB 3.2.x</a>
<li><a href="#update30_31">Updating from phpBB 3.0.x/3.1.x to phpBB 3.2.x or phpBB 3.3.x</a></li>
<li><a href="#convert">Conversion from phpBB 2.0.x to phpBB 3.3.x</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#prereq">Requirements before converting</a></li>
<li><a href="#conversion">Converting</a></li>
@@ -101,18 +101,18 @@
<div class="content">
<p>If you have basic knowledge of using FTP and are sure your hosting service or server will run phpBB3 you can use these steps to quickly get started. For a more detailed explanation you should skip this and go to <a href="#require">section 2</a> below.</p>
<p>If you have basic knowledge of using FTP and are sure your hosting service or server will run phpBB you can use these steps to quickly get started. For a more detailed explanation you should skip this and go to <a href="#require">section 2</a> below.</p>
<ol>
<li>Decompress the phpBB3 archive to a local directory on your system.</li>
<li>Decompress the phpBB archive to a local directory on your system.</li>
<li>Upload all the files contained in this archive (retaining the directory structure) to a web accessible directory on your server or hosting account.</li>
<li>Change the permissions on config.php to be writable by all (666 or -rw-rw-rw- within your FTP Client)</li>
<li>Change the permissions on the following directories to be writable by all (777 or -rwxrwxrwx within your FTP Client):<br />
<code>store/</code>, <code>cache/</code>, <code>files/</code> and <code>images/avatars/upload/</code>.</li>
<li>Point your web browser to the location where you uploaded the phpBB3 files with the addition of <code>install/app.php</code> or simply <code>install/</code>, e.g. <code>http://www.example.com/phpBB3/install/app.php</code>, <code>http://www.example.com/forum/install/</code>.</li>
<li>Point your web browser to the location where you uploaded the phpBB files with the addition of <code>install/app.php</code> or simply <code>install/</code>, e.g. <code>http://www.example.com/phpBB3/install/app.php</code>, <code>http://www.example.com/forum/install/</code>.</li>
<li>Click the <strong><em>INSTALL</em></strong> tab, follow the steps and fill out all the requested information.</li>
<li>Change the permissions on config.php to be writable only by yourself (644 or -rw-r--r-- within your FTP Client)</li>
<li>phpBB3 should now be available, please <strong>MAKE SURE</strong> you read at least <a href="#postinstall">Section 6</a> below for important, security related post-installation instructions, and also take note of <a href="#anti_spam">Section 7</a> regarding anti-spam measures.</li>
<li>phpBB should now be available, please <strong>MAKE SURE</strong> you read at least <a href="#postinstall">Section 6</a> below for important, security related post-installation instructions, and also take note of <a href="#anti_spam">Section 7</a> regarding anti-spam measures.</li>
</ol>
<p>If you experienced problems or do not know how to proceed with any of the steps above please read the rest of this document.</p>
@@ -133,13 +133,13 @@
<div class="content">
<p>phpBB 3.2.x has a few requirements which must be met before you are able to install and use it.</p>
<p>phpBB 3.3.x has a few requirements which must be met before you are able to install and use it.</p>
<ul>
<li>A webserver or web hosting account running on any major Operating System with support for PHP</li>
<li>A SQL database system, <strong>one of</strong>:
<ul>
<li>MySQL 3.23 or above (MySQLi supported)</li>
<li>MySQL 4.1.3 or above (MySQLi required)</li>
<li>MariaDB 5.1 or above</li>
<li>PostgreSQL 8.3+</li>
<li>SQLite 3.6.15+</li>
@@ -147,10 +147,11 @@
<li>Oracle</li>
</ul>
</li>
<li><strong>PHP 5.4.7+</strong> but less than <strong>PHP 7.3</strong> with support for the database you intend to use.</li>
<li><strong>PHP 7.1.3+</strong> up to and including <strong>PHP 7.4</strong> with support for the database you intend to use.</li>
<li>The following PHP modules are required:
<ul>
<li>json</li>
<li>XML support</li>
</ul>
</li>
<li>getimagesize() function must be enabled.</li>
@@ -158,13 +159,12 @@
<ul>
<li>zlib Compression support</li>
<li>Remote FTP support</li>
<li>XML support</li>
<li>GD Support</li>
</ul>
</li>
</ul>
<p>If your server or hosting account does not meet the requirements above then you will be unable to install phpBB 3.2.x.</p>
<p>If your server or hosting account does not meet the requirements above then you will be unable to install phpBB 3.3.x.</p>
</div>
@@ -255,7 +255,7 @@
<hr />
<a name="update"></a><h2>4. Updating from stable releases of phpBB 3.2.x</h2>
<a name="update"></a><h2>4. Updating from stable releases of phpBB 3.3.x</h2>
<div class="paragraph">
<div class="inner">
@@ -280,7 +280,7 @@
<p>This package is meant for those wanting to only replace the files that were changed between a previous version and the latest version.</p>
<p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <strong>3.2.0</strong> you should select the appropriate <code>phpBB-3.2.1-files.zip/tar.bz2</code> file.</p>
<p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <strong>3.3.0</strong> you should select the appropriate <code>phpBB-3.3.1-files.zip/tar.bz2</code> file.</p>
<p>The directory structure has been preserved, enabling you (if you wish) to simply upload the uncompressed contents of the archive to the appropriate location on your server, i.e. simply overwrite the existing files with the new versions. Do not forget that if you have installed any modifications (MODs) these files will overwrite the originals, possibly destroying them in the process. You will need to re-add MODs to any affected file before uploading.</p>
@@ -292,7 +292,7 @@
<p>The patch file is one solution for those with changes in to the phpBB core files and do not want to re-add them back to all the changed files. To use this you will need command line access to a standard UNIX type <strong>patch</strong> application. If you do not have access to such an application, but still want to use this update approach, we strongly recommend the <a href="#update_auto">Automatic update package</a> explained below. It is also the recommended update method.</p>
<p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is <strong>3.2.0</strong>, you need the <code>phpBB-3.2.1-patch.zip/tar.bz2</code> file. Place the correct patch in the parent directory containing the phpBB core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <code>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</code> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
<p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is <strong>3.3.0</strong>, you need the <code>phpBB-3.3.1-patch.zip/tar.bz2</code> file. Place the correct patch in the parent directory containing the phpBB core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <code>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</code> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
<p>If you do get failures, you should look at using the <a href="#update_files">Changed Files</a> package to replace the files which failed to patch. Please note that you will need to manually re-add any MODs to these particular files. Alternatively, if you know how, you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source.</p>
@@ -302,7 +302,7 @@
<p>This update method is only recommended for installations with modifications to core phpBB files. 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.2.0</strong>, you need the <code>phpBB-3.2.0_to_3.2.1.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.3.0</strong>, you need the <code>phpBB-3.3.0_to_3.3.1.zip/tar.bz2</code> file.</p>
<p>To perform the update, either follow the instructions from the <strong>Administration Control Panel-&gt;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>
@@ -331,16 +331,16 @@
<hr />
<a name="update30_31"></a><h2>5. Updating from phpBB 3.0.x/3.1x to phpBB 3.2.x</h2>
<a name="update30_31"></a><h2>5. Updating from phpBB 3.0.x/3.1x to phpBB 3.2.x or phpBB 3.3.x</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<p>Updating from phpBB 3.0.x or 3.1.x to 3.2.x is just the same as <a href="#update">updating from stable releases of phpBB 3.2.x</a></p>
<p>Updating from phpBB 3.0.x or 3.1.x to 3.2.x or 3.3.x is just the same as <a href="#update">updating from stable releases of phpBB 3.3.x</a></p>
<p>However you can also start with a new set of phpBB 3.2.x files.</p>
<p>However you can also start with a new set of phpBB 3.3.x files.</p>
<ol>
<li>Delete all files <strong>EXCEPT</strong> for the following:
@@ -353,7 +353,7 @@
<li>(The <code>ext/</code> directory</li>
</ul></li>
<li>Upload the contents of the 3.2.x Full Package into your forum's directory. Make sure the root level .htaccess file is included in the upload.</li>
<li>Upload the contents of the 3.3.x Full Package (<strong>except</strong> for config.php) into your forum's directory. Make sure the root level .htaccess file is included in the upload.</li>
<li>Browse to <code>/install/app.php/update</code></li>
<li>Read the notice <em>Update database only</em> and press <strong>Submit</strong></li>
<li>Delete the <code>install/</code> directory</li>
@@ -367,28 +367,28 @@
<hr />
<a name="convert"></a><h2>6. Conversion from phpBB 2.0.x to phpBB 3.2.x</h2>
<a name="convert"></a><h2>6. Conversion from phpBB 2.0.x to phpBB 3.3.x</h2>
<div class="paragraph">
<div class="inner">
<div class="content">
<p>This paragraph explains the steps necessary to convert your existing phpBB2 installation to phpBB3.</p>
<p>This paragraph explains the steps necessary to convert your existing phpBB2 installation to phpBB 3.x.</p>
<a name="prereq"></a><h3>5.i. Requirements before converting</h3>
<p>Before converting, we heavily recommend you do a <em>full backup of your database and files</em>! If you are unsure how to achieve this, please ask your hosting provider for advice. You basically need to follow the instructions given for <a href="#install">New installations</a>. Please <strong>do not</strong> overwrite any old files - install phpBB3 at a different location.</p>
<p>Before converting, we heavily recommend you do a <em>full backup of your database and files</em>! If you are unsure how to achieve this, please ask your hosting provider for advice. You basically need to follow the instructions given for <a href="#install">New installations</a>. Please <strong>do not</strong> overwrite any old files - install phpBB 3.x at a different location.</p>
<p>Once you made a backup of everything and also have a brand new phpBB3 installation, you can now begin the conversion.</p>
<p>Once you made a backup of everything and also have a brand new phpBB 3.x installation, you can now begin the conversion.</p>
<p>Note that the conversion requires <code>CREATE</code> and <code>DROP</code> privileges for the phpBB3 database user account.</p>
<p>Note that the conversion requires <code>CREATE</code> and <code>DROP</code> privileges for the phpBB 3.x database user account.</p>
<a name="conversion"></a><h3>5.ii. Converting</h3>
<p>To begin the conversion, visit the <code>install/</code> folder of your phpBB3 installation (the same as you have done for installing). Now you will see a new tab <em>Convert</em>. Click this tab.</p>
<p>To begin the conversion, visit the <code>install/</code> folder of your phpBB 3.x installation (the same as you have done for installing). Now you will see a new tab <em>Convert</em>. Click this tab.</p>
<p>As with install, the conversion is automated. Your previous 2.0.x database tables will not be changed and the original 2.0.x files will remain unaltered. The conversion is actually only filling your phpBB3 database tables and copying additional data over to your phpBB3 installation. This has the benefit that if something goes wrong, you are able to either re-run the conversion or continue a conversion, while your old board is still accessible. We really recommend that you disable your old installation while converting, else you may have inconsistent data after the conversion.</p>
<p>As with install, the conversion is automated. Your previous 2.0.x database tables will not be changed and the original 2.0.x files will remain unaltered. The conversion is actually only filling your phpBB 3.x database tables and copying additional data over to your phpBB 3.x installation. This has the benefit that if something goes wrong, you are able to either re-run the conversion or continue a conversion, while your old board is still accessible. We really recommend that you disable your old installation while converting, else you may have inconsistent data after the conversion.</p>
<p>Please note that this conversion process may take quite some time and depending on your hosting provider this may result in it failing (due to web server resource limits or other timeout issues). If this is the case, you should ask your provider if they are willing to allow the convert script to temporarily exceed their limits (be nice and they will probably be quite helpful). If your host is unwilling to increase the limits to run the convertor, please see this article for performing the conversion on your local machine: <a href="https://www.phpbb.com/kb/article/offline-conversions/">Knowledge Base - Offline Conversions</a></p>
@@ -412,9 +412,9 @@
<p><strong>http 500 / white pages</strong> The conversion is a load-heavy procedure. Restrictions imposed by some server hosting providers can cause problems. The most common causes are: values too low for the PHP settings <code>memory_limit</code> and <code>max_execution_time</code>. Limits on the allowed CPU time are also a frequent cause for such errors, as are limits on the number of database queries allowed. If you cannot change such settings, then contact your hosting provider or run the conversion procedure on a different computer. The phpBB.com forums are also an excellent location to ask for support.</p>
<p><strong>Password conversion</strong> Due to the utf-8 based handling of passwords in phpBB3, it is not always possible to transfer all passwords. For passwords "lost in translation" the easiest workaround is to use the <em>I forgot my password</em> link on the login page.</p>
<p><strong>Password conversion</strong> Due to the utf-8 based handling of passwords in phpBB 3.x, it is not always possible to transfer all passwords. For passwords "lost in translation" the easiest workaround is to use the <em>I forgot my password</em> link on the login page.</p>
<p><strong>Path to your former board</strong> The convertor expects the relative path to your old board's files. So, for instance, if the old board is located at <code>http://www.yourdomain.com/forum</code> and the phpBB3 installation is located at <code>http://www.yourdomain.com/phpBB3</code>, then the correct value would be <code>../forum</code>. Note that the webserver user must be able to access the source installation's files.</p>
<p><strong>Path to your former board</strong> The convertor expects the relative path to your old board's files. So, for instance, if the old board is located at <code>http://www.yourdomain.com/forum</code> and the phpBB 3.x installation is located at <code>http://www.yourdomain.com/phpBB3</code>, then the correct value would be <code>../forum</code>. Note that the webserver user must be able to access the source installation's files.</p>
<p><strong>Missing images</strong> If your default board language's language pack does not include all images, then some images might be missing in your installation. Always use a complete language pack as default language.</p>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.2.x Readme" />
<meta name="description" content="phpBB 3.3.x Readme" />
<title>phpBB &bull; Readme</title>
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
@@ -20,8 +20,8 @@
<div class="inner">
<div id="doc-description">
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
<h1>phpBB 3.2.x Readme</h1>
<a href="../index.php" id="logo"><span class="site_logo"></span></a>
<h1>phpBB 3.3.x Readme</h1>
<p style="display: none;"><a href="#start_here">Skip</a></p>
</div>
@@ -91,13 +91,13 @@
<div class="content">
<p>Installation, update and conversion instructions can be found in the <a href="INSTALL.html">INSTALL</a> document in this directory. If you are intending on converting from a phpBB 2.0.x or 3.0.x installation we highly recommend that you backup any existing data before proceeding!</p>
<p>Users of phpBB 3.0, 3.1 and 3.2 Beta versions cannot directly update.</p>
<p>Users of phpBB 3.0, 3.1, 3.2, and 3.3 Beta versions cannot directly update.</p>
<p>Please note that we don't support the following installation types:</p>
<ul>
<li>Updates from phpBB Beta versions and lower to phpBB Release Candidates and higher</li>
<li>Conversions from phpBB 2.0.x to phpBB 3.0 Beta, 3.1 Beta and 3.2 Beta versions</li>
<li>phpBB 3.0 Beta, 3.1 Beta or 3.2 beta installations</li>
<li>Conversions from phpBB 2.0.x to phpBB 3.0 Beta, 3.1 Beta, 3.2 Beta, and 3.3 Beta versions</li>
<li>phpBB 3.0 Beta, 3.1 Beta, 3.2 beta, or 3.3 beta installations</li>
</ul>
<p>We give support for the following installation types:</p>
@@ -106,8 +106,8 @@
<li>Updates from phpBB 3.0 RC1, 3.1 RC1 and 3.2 RC1 to the latest version</li>
<li>Note: if using the <em>Automatic Update Package</em>, updates are supported from phpBB 3.0.2 onward. To update a pre-3.0.2 installation, first update to 3.0.2 and then update to the current version.</li>
<li>Conversions from phpBB 2.0.x to the latest version</li>
<li>New installations of phpBB 3.1.x - only the latest released version</li>
<li>New installations of phpBB 3.2.x - only the latest released version</li>
<li>New installations of phpBB 3.3.x - only the latest released version</li>
</ul>
</div>
@@ -184,7 +184,7 @@
<p>Comprehensive documentation is now available on the phpBB website:</p>
<p><a href="https://www.phpbb.com/support/docs/en/3.2/ug/">https://www.phpbb.com/support/docs/en/3.2/ug/</a></p>
<p><a href="https://www.phpbb.com/support/docs/en/3.3/ug/">https://www.phpbb.com/support/docs/en/3.3/ug/</a></p>
<p>This covers everything from installation to setting permissions and managing users.</p>
@@ -224,7 +224,7 @@
<div class="content">
<p>This is a stable release of phpBB. The 3.2.x line is feature frozen, with point releases principally including fixes for bugs and security issues. Feature alterations and minor feature additions may be done if deemed absolutely required. The next major release will be phpBB 3.3 which is currently under development. Please do not post questions asking when 3.3 will be available, no release date has been set.</p>
<p>This is a stable release of phpBB. The 3.3.x line is feature frozen, with point releases principally including fixes for bugs and security issues. Feature alterations and minor feature additions may be done if deemed absolutely required. The next major release will be phpBB 3.3 which is currently under development. Please do not post questions asking when 3.3 will be available, no release date has been set.</p>
<p>Those interested in the development of phpBB should keep an eye on the development forums to see how things are progressing:</p>
@@ -265,7 +265,7 @@
<ul>
<li>Your server type/version, e.g. Apache 2.2.3, IIS 7, Sambar, etc.</li>
<li>PHP version and mode of operation, e.g. PHP 5.4.0 as a module, PHP 5.4.0 running as CGI, etc.</li>
<li>PHP version and mode of operation, e.g. PHP 7.1.3 as a module, PHP 7.1.3 running as CGI, etc.</li>
<li>DB type/version, e.g. MySQL 5.0.77, PostgreSQL 9.0.6, MSSQL Server 2000 (via ODBC), etc.</li>
</ul>
@@ -273,7 +273,7 @@
<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.2.x the coding guidelines may be found here: <a href="http://area51.phpbb.com/docs/32x/coding-guidelines.html">http://area51.phpbb.com/docs/32x/coding-guidelines.html</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.3.x the coding guidelines may be found here: <a href="http://area51.phpbb.com/docs/33x/coding-guidelines.html">http://area51.phpbb.com/docs/33x/coding-guidelines.html</a></p>
<p>Once a bug has been submitted you will be emailed any follow up comments added to it. <strong>Please</strong> if you are requested to supply additional information, do so! It is frustrating for us to receive bug reports, ask for additional information but get nothing. In these cases we have a policy of closing the bug, which may leave a very real problem in place. Obviously we would rather not have this situation arise.</p>
@@ -323,11 +323,11 @@
<div class="content">
<p>phpBB 3.2.x takes advantage of new features added in PHP 5.4. We recommend that you upgrade to the latest stable release of PHP to run phpBB. The minimum version required is PHP 5.4.7 and the maximum supported version is the latest stable version of PHP.</p>
<p>phpBB 3.3.x takes advantage of new features added in PHP 7.1. We recommend that you upgrade to the latest stable release of PHP to run phpBB. The minimum version required is PHP 7.1.3 and the maximum supported version is the latest stable version of PHP.</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, PostgreSQL 8.x, Oracle 8 and SQLite 3. Versions of PHP used range from 5.4.7 above 5.6.x to 7.1.x and 7.2.x without problem.</p>
<p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQLi 4.1.3, 4.x, 5.x, MariaDB 5.x, PostgreSQL 8.x, Oracle 8 and SQLite 3. Versions of PHP used range from 7.1.3 to 7.2.x and 7.3.x without issues.</p>
<a name="phpsec"></a><h3>7.i. Notice on PHP security issues</h3>

View File

@@ -104,14 +104,14 @@ h4 {
border-top: 1px solid #ccc;
}
code {
color: #006600;
font-weight: normal;
font-family: 'Courier New', monospace;
border-color: #D1D7DC;
border-width: 1px;
border-style: solid;
background-color: #FAFAFA;
code {
color: #006600;
font-weight: normal;
font-family: 'Courier New', monospace;
border-color: #D1D7DC;
border-width: 1px;
border-style: solid;
background-color: #FAFAFA;
padding: 0 4px;
}
@@ -154,6 +154,14 @@ a#logo:hover {
text-decoration: none;
}
.site_logo {
background-image: url("../images/site_logo.svg");
background-repeat: no-repeat;
display: inline-block;
width: 149px;
height: 52px;
}
#doc-description {
float: left;
width: 70%;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -20,7 +20,7 @@
<div class="inner">
<div id="doc-description">
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
<a href="../index.php" id="logo"><span class="site_logo"></span></a>
<h1>Auth API</h1>
<p>This is an explanation of how to use the phpBB auth/acl API</p>
<p style="display: none;"><a href="#start_here">Skip</a></p>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="keywords" content="" />
<meta name="description" content="Rhea coding guidelines document" />
<meta name="description" content="Proteus coding guidelines document" />
<title>phpBB3 &bull; Coding Guidelines</title>
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
@@ -20,9 +20,9 @@
<div class="inner">
<div id="doc-description">
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
<a href="../index.php" id="logo"><span class="site_logo"></span></a>
<h1>Coding Guidelines</h1>
<p>Rhea coding guidelines document</p>
<p>Proteus coding guidelines document</p>
<p style="display: none;"><a href="#start_here">Skip</a></p>
</div>
@@ -37,7 +37,7 @@
<!-- BEGIN DOCUMENT -->
<p class="paragraph main-description">
These are the phpBB Coding Guidelines for Rhea, all attempts should be made to follow them as closely as possible.
These are the phpBB Coding Guidelines for Proteus, all attempts should be made to follow them as closely as possible.
</p>
<h1>Coding Guidelines</h1>
@@ -234,9 +234,9 @@ PHPBB_USE_BOARD_URL_PATH (use generate_board_url() for image paths instead of
PHPBB_DISABLE_ACP_EDITOR (disable ACP style editor for templates)
PHPBB_DISABLE_CONFIG_CHECK (disable ACP config.php writeable check)
PHPBB_ACM_MEMCACHE_PORT (overwrite memcached port, default is 11211)
PHPBB_ACM_MEMCACHE_COMPRESS (overwrite memcached compress setting, default is disabled)
PHPBB_ACM_MEMCACHE_HOST (overwrite memcached host name, default is localhost)
PHPBB_ACM_MEMCACHED_PORT (overwrite memcached port, default is 11211)
PHPBB_ACM_MEMCACHED_COMPRESS (overwrite memcached compress setting, default is disabled)
PHPBB_ACM_MEMCACHED_HOST (overwrite memcached host name, default is localhost)
PHPBB_ACM_REDIS_HOST (overwrite redis host name, default is localhost)
PHPBB_ACM_REDIS_PORT (overwrite redis port, default is 6379)
@@ -738,7 +738,7 @@ static private function f()</pre>
<a name="sql"></a><h3>2.iii. SQL/SQL Layout</h3>
<h4>Common SQL Guidelines: </h4>
<p>All SQL should be cross-DB compatible, if DB specific SQL is used alternatives must be provided which work on all supported DB's (MySQL3/4/5, MSSQL (7.0 and 2000), PostgreSQL (8.3+), SQLite, Oracle8, ODBC (generalised if possible)).</p>
<p>All SQL should be cross-DB compatible, if DB specific SQL is used alternatives must be provided which work on all supported DB's (MySQL4/5, MSSQL (7.0 and 2000), PostgreSQL (8.3+), SQLite, Oracle8, ODBC (generalised if possible)).</p>
<p>All SQL commands should utilise the DataBase Abstraction Layer (DBAL)</p>
<h4>SQL code layout:</h4>
@@ -1184,8 +1184,8 @@ append_sid(&quot;{$phpbb_root_path}memberlist.$phpEx&quot;, 'mode=group&amp;amp;
# General Information about this style
name = prosilver_duplicate
copyright = © phpBB Limited, 2007
style_version = 3.2.0
phpbb_version = 3.2.0
style_version = 3.3.0
phpbb_version = 3.3.0
# Defining a different template bitfield
# template_bitfield = lNg=
@@ -1211,7 +1211,7 @@ parent = prosilver</pre>
&lt;td class=&quot;gensmall&quot;&gt;TEST&lt;/td&gt;
</pre></div>
<p>Try to match text class types with existing useage, e.g. don't use the nav class where viewtopic uses gensmall for example.</p>
<p>Try to match text class types with existing usage, e.g. don't use the nav class where viewtopic uses gensmall for example.</p>
<p>Row colours/classes are now defined by the template, use an <code>IF S_ROW_COUNT</code> switch, see viewtopic or viewforum for an example.</p>
@@ -1223,7 +1223,7 @@ parent = prosilver</pre>
<p>The separate catXXXX and thXXX classes are gone. When defining a header cell just use <code>&lt;th&gt;</code> rather than <code>&lt;th class="thHead"&gt;</code> etc. Similarly for cat, don't use <code>&lt;td class="catLeft"&gt;</code> use <code>&lt;td class="cat"&gt;</code> etc.</p>
<p>Try to retain consistency of basic layout and class useage, i.e. _EXPLAIN text should generally be placed below the title it explains, e.g. <code>{L_POST_USERNAME}&lt;br /&gt;&lt;span class="gensmall"&gt;{L_POST_USERNAME_EXPLAIN}&lt;/span&gt;</code> is the typical way of handling this ... there may be exceptions and this isn't a hard and fast rule.</p>
<p>Try to retain consistency of basic layout and class usage, i.e. _EXPLAIN text should generally be placed below the title it explains, e.g. <code>{L_POST_USERNAME}&lt;br /&gt;&lt;span class="gensmall"&gt;{L_POST_USERNAME_EXPLAIN}&lt;/span&gt;</code> is the typical way of handling this ... there may be exceptions and this isn't a hard and fast rule.</p>
<p>Try to keep template conditional and other statements tabbed in line with the block to which they refer.</p>
@@ -1767,7 +1767,7 @@ This may span multiple lines.
<p>The <a href="http://en.wikipedia.org/wiki/Universal_Character_Set">Universal Character Set (UCS)</a> described in ISO/IEC 10646 consists of a large amount of characters. Each of them has a unique name and a code point which is an integer number. <a href="http://en.wikipedia.org/wiki/Unicode">Unicode</a> - which is an industry standard - complements the Universal Character Set with further information about the characters' properties and alternative character encodings. More information on Unicode can be found on the <a href="http://www.unicode.org/">Unicode Consortium's website</a>. One of the Unicode encodings is the <a href="http://en.wikipedia.org/wiki/UTF-8">8-bit Unicode Transformation Format (UTF-8)</a>. It encodes characters with up to four bytes aiming for maximum compatibility with the <a href="http://en.wikipedia.org/wiki/ASCII">American Standard Code for Information Interchange</a> which is a 7-bit encoding of a relatively small subset of the UCS.</p>
<h4>phpBB's use of Unicode</h4>
<p>Unfortunately PHP does not faciliate the use of Unicode prior to version 6. Most functions simply treat strings as sequences of bytes assuming that each character takes up exactly one byte. This behaviour still allows for storing UTF-8 encoded text in PHP strings but many operations on strings have unexpected results. To circumvent this problem we have created some alternative functions to PHP's native string operations which use code points instead of bytes. These functions can be found in <code>/includes/utf/utf_tools.php</code>. They are also covered in the <a href="http://area51.phpbb.com/docs/code/">phpBB3 Sourcecode Documentation</a>. A lot of native PHP functions still work with UTF-8 as long as you stick to certain restrictions. For example <code>explode</code> still works as long as the first and the last character of the delimiter string are ASCII characters.</p>
<p>Unfortunately PHP does not facilitate the use of Unicode prior to version 6. Most functions simply treat strings as sequences of bytes assuming that each character takes up exactly one byte. This behaviour still allows for storing UTF-8 encoded text in PHP strings but many operations on strings have unexpected results. To circumvent this problem we have created some alternative functions to PHP's native string operations which use code points instead of bytes. These functions can be found in <code>/includes/utf/utf_tools.php</code>. They are also covered in the <a href="http://area51.phpbb.com/docs/code/">phpBB3 Sourcecode Documentation</a>. A lot of native PHP functions still work with UTF-8 as long as you stick to certain restrictions. For example <code>explode</code> still works as long as the first and the last character of the delimiter string are ASCII characters.</p>
<p>phpBB only uses the ASCII and the UTF-8 character encodings. Still all Strings are UTF-8 encoded because ASCII is a subset of UTF-8. The only exceptions to this rule are code sections which deal with external systems which use other encodings and character sets. Such external data should be converted to UTF-8 using the <code>utf8_recode()</code> function supplied with phpBB. It supports a variety of other character sets and encodings, a full list can be found below.</p>
@@ -1848,7 +1848,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
<p>The <abbr title="Internet Engineering Task Force">IETF</abbr> recently published <a href="http://tools.ietf.org/html/rfc4646">RFC 4646</a> for tags used to identify languages, which in combination with <a href="http://tools.ietf.org/html/rfc4647">RFC 4647</a> obseletes the older <a href="http://tools.ietf.org/html/rfc3066">RFC 3006</a> and older-still <a href="http://tools.ietf.org/html/rfc1766">RFC 1766</a>. <a href="http://tools.ietf.org/html/rfc4646">RFC 4646</a> uses <a href="http://www.loc.gov/standards/iso639-2/php/English_list.php">ISO 639-1/ISO 639-2</a>, <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a>, <a href="http://www.unicode.org/iso15924/iso15924-codes.html">ISO 15924</a> and <a href="http://unstats.un.org/unsd/methods/m49/m49.htm">UN M.49</a> to define a language tag. Each complete tag is composed of subtags which are not case sensitive and can also be empty.</p>
<p>Ordering of the subtags in the case that they are all non-empty is: <code>language</code>-<code>script</code>-<code>region</code>-<code>variant</code>-<code>extension</code>-<code>privateuse</code>. Should any subtag be empty, its corresponding hyphen would also be ommited. Thus, the language tag for English will be <code>en</code> <strong>and not</strong> <code>en-----</code>.</p>
<p>Ordering of the subtags in the case that they are all non-empty is: <code>language</code>-<code>script</code>-<code>region</code>-<code>variant</code>-<code>extension</code>-<code>privateuse</code>. Should any subtag be empty, its corresponding hyphen would also be omitted. Thus, the language tag for English will be <code>en</code> <strong>and not</strong> <code>en-----</code>.</p>
<p>Most language tags consist of a two- or three-letter language subtag (from <a href="http://www.loc.gov/standards/iso639-2/php/English_list.php">ISO 639-1/ISO 639-2</a>). Sometimes, this is followed by a two-letter or three-digit region subtag (from <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> or <a href="http://unstats.un.org/unsd/methods/m49/m49.htm">UN M.49</a>). Some examples are:</p>
@@ -1902,7 +1902,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
<p>The ultimate aim of a language tag is to convey the needed <strong>useful distingushing information</strong>, whilst keeping it as <strong>short as possible</strong>. So for example, use <code>en</code>, <code>fr</code> and <code>ja</code> as opposed to <code>en-GB</code>, <code>fr-FR</code> and <code>ja-JP</code>, since we know English, French and Japanese are the native language of Great Britain, France and Japan respectively.</p>
<p>Next is the <a href="http://www.unicode.org/iso15924/iso15924-codes.html">ISO 15924</a> language script code and when one should or shouldn't use it. For example, whilst <code>en-Latn</code> is syntaxically correct for describing English written with Latin script, real world English writing is <strong>more-or-less exclusively in the Latin script</strong>. For such languages like English that are written in a single script, the <a href="http://www.iana.org/assignments/language-subtag-registry"><abbr title="Internet Assigned Numbers Authority">IANA</abbr> Language Subtag Registry</a> has a "Suppress-Script" field meaning the script code <strong>should be ommitted</strong> unless a specific language tag requires a specific script code. Some languages are <strong>written in more than one script</strong> and in such cases, the script code <strong>is encouraged</strong> since an end-user may be able to read their language in one script, but not the other. Some examples are:</p>
<p>Next is the <a href="http://www.unicode.org/iso15924/iso15924-codes.html">ISO 15924</a> language script code and when one should or shouldn't use it. For example, whilst <code>en-Latn</code> is syntaxically correct for describing English written with Latin script, real world English writing is <strong>more-or-less exclusively in the Latin script</strong>. For such languages like English that are written in a single script, the <a href="http://www.iana.org/assignments/language-subtag-registry"><abbr title="Internet Assigned Numbers Authority">IANA</abbr> Language Subtag Registry</a> has a "Suppress-Script" field meaning the script code <strong>should be omitted</strong> unless a specific language tag requires a specific script code. Some languages are <strong>written in more than one script</strong> and in such cases, the script code <strong>is encouraged</strong> since an end-user may be able to read their language in one script, but not the other. Some examples are:</p>
<table>
<caption>Examples of using a language subtag in combination with a script subtag</caption>
@@ -1967,7 +1967,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
</tbody>
</table>
<p>Usage of the three-digit <a href="http://unstats.un.org/unsd/methods/m49/m49.htm">UN M.49</a> code over the two-letter <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> code should hapen if a macro-geographical entity is required and/or the <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> is ambiguous.</p>
<p>Usage of the three-digit <a href="http://unstats.un.org/unsd/methods/m49/m49.htm">UN M.49</a> code over the two-letter <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> code should happen if a macro-geographical entity is required and/or the <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> is ambiguous.</p>
<p>Examples of English using marco-geographical regions:</p>

View File

@@ -257,11 +257,6 @@ else
$display_cat = ATTACHMENT_CATEGORY_NONE;
}
if ($display_cat == ATTACHMENT_CATEGORY_FLASH && !$user->optionget('viewflash'))
{
$display_cat = ATTACHMENT_CATEGORY_NONE;
}
/**
* Event to modify data before sending file to browser
*

View File

@@ -36,17 +36,17 @@ $mode = $request->variable('mode', '');
if ($forum_id !== 0)
{
$url = $controller_helper->route('phpbb_feed_forum', array('forum_id' => $forum_id));
$url = $controller_helper->route('phpbb_feed_forum', array('forum_id' => $forum_id), false);
}
else if ($topic_id !== 0)
{
$url = $controller_helper->route('phpbb_feed_topic', array('topic_id' => $topic_id));
$url = $controller_helper->route('phpbb_feed_topic', array('topic_id' => $topic_id), false);
}
else
{
try
{
$url = $controller_helper->route('phpbb_feed_overall', array('mode' => $mode));
$url = $controller_helper->route('phpbb_feed_overall', array('mode' => $mode), false);
}
catch (InvalidParameterException $e)
{

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 B

View File

@@ -610,7 +610,6 @@ class acp_attachments
$cat_lang = array(
ATTACHMENT_CATEGORY_NONE => $user->lang['NO_FILE_CAT'],
ATTACHMENT_CATEGORY_IMAGE => $user->lang['CAT_IMAGES'],
ATTACHMENT_CATEGORY_FLASH => $user->lang['CAT_FLASH_FILES'],
);
$group_id = $request->variable('g', 0);
@@ -1385,7 +1384,6 @@ class acp_attachments
$types = array(
ATTACHMENT_CATEGORY_NONE => $user->lang['NO_FILE_CAT'],
ATTACHMENT_CATEGORY_IMAGE => $user->lang['CAT_IMAGES'],
ATTACHMENT_CATEGORY_FLASH => $user->lang['CAT_FLASH_FILES'],
);
if ($group_id)

View File

@@ -157,7 +157,7 @@ class acp_bbcodes
* @var string bbcode_tpl The bbcode HTML replacement string
* @var string bbcode_helpline The bbcode help line string
* @var array hidden_fields Array of hidden fields for use when
* submitting form when $warn_text is true
* submitting form when $warn_unsafe is true
* @since 3.1.0-a3
*/
$vars = array(
@@ -172,14 +172,25 @@ class acp_bbcodes
);
extract($phpbb_dispatcher->trigger_event('core.acp_bbcodes_modify_create', compact($vars)));
$warn_text = preg_match('%<[^>]*\{text[\d]*\}[^>]*>%i', $bbcode_tpl);
$acp_utils = $phpbb_container->get('text_formatter.acp_utils');
$bbcode_info = $acp_utils->analyse_bbcode($bbcode_match, $bbcode_tpl);
$warn_unsafe = ($bbcode_info['status'] === $acp_utils::BBCODE_STATUS_UNSAFE);
if (!$warn_text && !check_form_key($form_key))
if ($bbcode_info['status'] === $acp_utils::BBCODE_STATUS_INVALID_TEMPLATE)
{
trigger_error($user->lang['BBCODE_INVALID_TEMPLATE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if ($bbcode_info['status'] === $acp_utils::BBCODE_STATUS_INVALID_DEFINITION)
{
trigger_error($user->lang['BBCODE_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if (!$warn_unsafe && !check_form_key($form_key))
{
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if (!$warn_text || confirm_box(true))
if (!$warn_unsafe || confirm_box(true))
{
$data = $this->build_regexp($bbcode_match, $bbcode_tpl);
@@ -196,7 +207,10 @@ class acp_bbcodes
$db->sql_freeresult($result);
// Grab the end, interrogate the last closing tag
if ($info['test'] === '1' || in_array(strtolower($data['bbcode_tag']), $hard_coded) || (preg_match('#\[/([^[]*)]$#', $bbcode_match, $regs) && in_array(strtolower($regs[1]), $hard_coded)))
if (isset($info['test']) && $info['test'] === '1'
|| in_array(strtolower($data['bbcode_tag']), $hard_coded)
|| (preg_match('#\[/([^[]*)]$#', $bbcode_match, $regs) && in_array(strtolower($regs[1]), $hard_coded))
)
{
trigger_error($user->lang['BBCODE_INVALID_TAG_NAME'] . adm_back_link($this->u_action), E_USER_WARNING);
}
@@ -446,144 +460,7 @@ class acp_bbcodes
function build_regexp(&$bbcode_match, &$bbcode_tpl)
{
$bbcode_match = trim($bbcode_match);
$bbcode_tpl = trim($bbcode_tpl);
// Allow unicode characters for URL|LOCAL_URL|RELATIVE_URL|INTTEXT tokens
$utf8 = preg_match('/(URL|LOCAL_URL|RELATIVE_URL|INTTEXT)/', $bbcode_match);
$fp_match = preg_quote($bbcode_match, '!');
$fp_replace = preg_replace('#^\[(.*?)\]#', '[$1:$uid]', $bbcode_match);
$fp_replace = preg_replace('#\[/(.*?)\]$#', '[/$1:$uid]', $fp_replace);
$sp_match = preg_quote($bbcode_match, '!');
$sp_match = preg_replace('#^\\\\\[(.*?)\\\\\]#', '\[$1:$uid\]', $sp_match);
$sp_match = preg_replace('#\\\\\[/(.*?)\\\\\]$#', '\[/$1:$uid\]', $sp_match);
$sp_replace = $bbcode_tpl;
// @todo Make sure to change this too if something changed in message parsing
$tokens = array(
'URL' => array(
'!(?:(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('url')) . ')|(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('www_url')) . '))!ie' => "\$this->bbcode_specialchars(('\$1') ? '\$1' : 'http://\$2')"
),
'LOCAL_URL' => array(
'!(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('relative_url')) . ')!e' => "\$this->bbcode_specialchars('$1')"
),
'RELATIVE_URL' => array(
'!(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('relative_url')) . ')!e' => "\$this->bbcode_specialchars('$1')"
),
'EMAIL' => array(
'!(' . get_preg_expression('email') . ')!ie' => "\$this->bbcode_specialchars('$1')"
),
'TEXT' => array(
'!(.*?)!es' => "str_replace(array(\"\\r\\n\", '\\\"', '\\'', '(', ')'), array(\"\\n\", '\"', '&#39;', '&#40;', '&#41;'), trim('\$1'))"
),
'SIMPLETEXT' => array(
'!([a-zA-Z0-9-+.,_ ]+)!' => "$1"
),
'INTTEXT' => array(
'!([\p{L}\p{N}\-+,_. ]+)!u' => "$1"
),
'IDENTIFIER' => array(
'!([a-zA-Z0-9-_]+)!' => "$1"
),
'COLOR' => array(
'!([a-z]+|#[0-9abcdef]+)!i' => '$1'
),
'NUMBER' => array(
'!([0-9]+)!' => '$1'
)
);
$sp_tokens = array(
'URL' => '(?i)((?:' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('url')) . ')|(?:' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('www_url')) . '))(?-i)',
'LOCAL_URL' => '(?i)(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('relative_url')) . ')(?-i)',
'RELATIVE_URL' => '(?i)(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('relative_url')) . ')(?-i)',
'EMAIL' => '(' . get_preg_expression('email') . ')',
'TEXT' => '(.*?)',
'SIMPLETEXT' => '([a-zA-Z0-9-+.,_ ]+)',
'INTTEXT' => '([\p{L}\p{N}\-+,_. ]+)',
'IDENTIFIER' => '([a-zA-Z0-9-_]+)',
'COLOR' => '([a-zA-Z]+|#[0-9abcdefABCDEF]+)',
'NUMBER' => '([0-9]+)',
);
$pad = 0;
$modifiers = 'i';
$modifiers .= ($utf8) ? 'u' : '';
if (preg_match_all('/\{(' . implode('|', array_keys($tokens)) . ')[0-9]*\}/i', $bbcode_match, $m))
{
foreach ($m[0] as $n => $token)
{
$token_type = $m[1][$n];
reset($tokens[strtoupper($token_type)]);
list($match, $replace) = each($tokens[strtoupper($token_type)]);
// Pad backreference numbers from tokens
if (preg_match_all('/(?<!\\\\)\$([0-9]+)/', $replace, $repad))
{
$repad = $pad + count(array_unique($repad[0]));
$replace = preg_replace_callback('/(?<!\\\\)\$([0-9]+)/', function ($match) use ($pad) {
return '${' . ($match[1] + $pad) . '}';
}, $replace);
$pad = $repad;
}
// Obtain pattern modifiers to use and alter the regex accordingly
$regex = preg_replace('/!(.*)!([a-z]*)/', '$1', $match);
$regex_modifiers = preg_replace('/!(.*)!([a-z]*)/', '$2', $match);
for ($i = 0, $size = strlen($regex_modifiers); $i < $size; ++$i)
{
if (strpos($modifiers, $regex_modifiers[$i]) === false)
{
$modifiers .= $regex_modifiers[$i];
if ($regex_modifiers[$i] == 'e')
{
$fp_replace = "'" . str_replace("'", "\\'", $fp_replace) . "'";
}
}
if ($regex_modifiers[$i] == 'e')
{
$replace = "'.$replace.'";
}
}
$fp_match = str_replace(preg_quote($token, '!'), $regex, $fp_match);
$fp_replace = str_replace($token, $replace, $fp_replace);
$sp_match = str_replace(preg_quote($token, '!'), $sp_tokens[$token_type], $sp_match);
// Prepend the board url to local relative links
$replace_prepend = ($token_type === 'LOCAL_URL') ? generate_board_url() . '/' : '';
$sp_replace = str_replace($token, $replace_prepend . '${' . ($n + 1) . '}', $sp_replace);
}
$fp_match = '!' . $fp_match . '!' . $modifiers;
$sp_match = '!' . $sp_match . '!s' . (($utf8) ? 'u' : '');
if (strpos($fp_match, 'e') !== false)
{
$fp_replace = str_replace("'.'", '', $fp_replace);
$fp_replace = str_replace(".''.", '.', $fp_replace);
}
}
else
{
// No replacement is present, no need for a second-pass pattern replacement
// A simple str_replace will suffice
$fp_match = '!' . $fp_match . '!' . $modifiers;
$sp_match = $fp_replace;
$sp_replace = '';
}
// Lowercase tags
$bbcode_tag = preg_replace('/.*?\[([a-z0-9_-]+).*/i', '$1', $bbcode_match);
$bbcode_search = preg_replace('/.*?\[([a-z0-9_-]+).*/i', '$1', $bbcode_match);
if (!preg_match('/^[a-zA-Z0-9_-]+$/', $bbcode_tag))
{
@@ -591,25 +468,13 @@ class acp_bbcodes
trigger_error($user->lang['BBCODE_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$fp_match = preg_replace_callback('#\[/?' . $bbcode_search . '#i', function ($match) {
return strtolower($match[0]);
}, $fp_match);
$fp_replace = preg_replace_callback('#\[/?' . $bbcode_search . '#i', function ($match) {
return strtolower($match[0]);
}, $fp_replace);
$sp_match = preg_replace_callback('#\[/?' . $bbcode_search . '#i', function ($match) {
return strtolower($match[0]);
}, $sp_match);
$sp_replace = preg_replace_callback('#\[/?' . $bbcode_search . '#i', function ($match) {
return strtolower($match[0]);
}, $sp_replace);
return array(
'bbcode_tag' => $bbcode_tag,
'first_pass_match' => $fp_match,
'first_pass_replace' => $fp_replace,
'second_pass_match' => $sp_match,
'second_pass_replace' => $sp_replace
'first_pass_match' => '/(?!)/',
'first_pass_replace' => '',
// Use a non-matching, valid regexp to effectively disable this BBCode
'second_pass_match' => '/(?!)/',
'second_pass_replace' => ''
);
}
}

View File

@@ -85,34 +85,26 @@ class acp_board
$display_vars = array(
'title' => 'ACP_BOARD_FEATURES',
'vars' => array(
'legend1' => 'ACP_BOARD_FEATURES',
'allow_privmsg' => array('lang' => 'BOARD_PM', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_topic_notify' => array('lang' => 'ALLOW_TOPIC_NOTIFY', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_forum_notify' => array('lang' => 'ALLOW_FORUM_NOTIFY', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_namechange' => array('lang' => 'ALLOW_NAME_CHANGE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_attachments' => array('lang' => 'ALLOW_ATTACHMENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_pm_attach' => array('lang' => 'ALLOW_PM_ATTACHMENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_pm_report' => array('lang' => 'ALLOW_PM_REPORT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_bbcode' => array('lang' => 'ALLOW_BBCODE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_smilies' => array('lang' => 'ALLOW_SMILIES', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_sig' => array('lang' => 'ALLOW_SIG', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'legend1' => 'ACP_BOARD_FEATURES',
'allow_privmsg' => array('lang' => 'BOARD_PM', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_topic_notify' => array('lang' => 'ALLOW_TOPIC_NOTIFY', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_forum_notify' => array('lang' => 'ALLOW_FORUM_NOTIFY', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_namechange' => array('lang' => 'ALLOW_NAME_CHANGE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_attachments' => array('lang' => 'ALLOW_ATTACHMENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_pm_attach' => array('lang' => 'ALLOW_PM_ATTACHMENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_pm_report' => array('lang' => 'ALLOW_PM_REPORT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_bbcode' => array('lang' => 'ALLOW_BBCODE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_smilies' => array('lang' => 'ALLOW_SMILIES', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_sig' => array('lang' => 'ALLOW_SIG', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_board_notifications' => array('lang' => 'ALLOW_BOARD_NOTIFICATIONS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'allow_nocensors' => array('lang' => 'ALLOW_NO_CENSORS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_bookmarks' => array('lang' => 'ALLOW_BOOKMARKS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_birthdays' => array('lang' => 'ALLOW_BIRTHDAYS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'display_last_subject' => array('lang' => 'DISPLAY_LAST_SUBJECT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_quick_reply' => array('lang' => 'ALLOW_QUICK_REPLY', 'validate' => 'bool', 'type' => 'custom', 'method' => 'quick_reply', 'explain' => true),
'allow_nocensors' => array('lang' => 'ALLOW_NO_CENSORS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_bookmarks' => array('lang' => 'ALLOW_BOOKMARKS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_birthdays' => array('lang' => 'ALLOW_BIRTHDAYS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'display_last_subject' => array('lang' => 'DISPLAY_LAST_SUBJECT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'display_unapproved_posts' => array('lang' => 'DISPLAY_UNAPPROVED_POSTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_quick_reply' => array('lang' => 'ALLOW_QUICK_REPLY', 'validate' => 'bool', 'type' => 'custom', 'method' => 'quick_reply', 'explain' => true),
'legend2' => 'ACP_LOAD_SETTINGS',
'load_birthdays' => array('lang' => 'YES_BIRTHDAYS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'load_moderators' => array('lang' => 'YES_MODERATORS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'load_jumpbox' => array('lang' => 'YES_JUMPBOX', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'load_cpf_memberlist' => array('lang' => 'LOAD_CPF_MEMBERLIST', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'load_cpf_pm' => array('lang' => 'LOAD_CPF_PM', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'load_cpf_viewprofile' => array('lang' => 'LOAD_CPF_VIEWPROFILE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'load_cpf_viewtopic' => array('lang' => 'LOAD_CPF_VIEWTOPIC', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'legend3' => 'ACP_SUBMIT_CHANGES',
'legend2' => 'ACP_SUBMIT_CHANGES',
)
);
break;
@@ -263,7 +255,6 @@ class acp_board
'vars' => array(
'legend1' => 'GENERAL_SETTINGS',
'max_name_chars' => array('lang' => 'USERNAME_LENGTH', 'validate' => 'int:8:180', 'type' => false, 'method' => false, 'explain' => false,),
'max_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:8:255', 'type' => false, 'method' => false, 'explain' => false,),
'require_activation' => array('lang' => 'ACC_ACTIVATION', 'validate' => 'int', 'type' => 'select', 'method' => 'select_acc_activation', 'explain' => true),
'new_member_post_limit' => array('lang' => 'NEW_MEMBER_POST_LIMIT', 'validate' => 'int:0:255', 'type' => 'number:0:255', 'explain' => true, 'append' => ' ' . $user->lang['POSTS']),
@@ -426,7 +417,6 @@ class acp_board
'remote_upload_verify' => array('lang' => 'UPLOAD_CERT_VALID', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'check_dnsbl' => array('lang' => 'CHECK_DNSBL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'email_check_mx' => array('lang' => 'EMAIL_CHECK_MX', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'max_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:8:255', 'type' => false, 'method' => false, 'explain' => false,),
'min_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:1', 'type' => 'custom', 'method' => 'password_length', 'explain' => true),
'pass_complex' => array('lang' => 'PASSWORD_TYPE', 'validate' => 'string', 'type' => 'select', 'method' => 'select_password_chars', 'explain' => true),
'chg_passforce' => array('lang' => 'FORCE_PASS_CHANGE', 'validate' => 'int:0:999', 'type' => 'number:0:999', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
@@ -540,13 +530,16 @@ class acp_board
if ($submit)
{
if (strpos($data['type'], 'password') === 0 && $config_value === '********')
if (isset($data['type']) && strpos($data['type'], 'password') === 0 && $config_value === '********')
{
// Do not update password fields if the content is ********,
// because that is the password replacement we use to not
// send the password to the output
/**
* Do not update password fields if the content is ********,
* because that is the password replacement we use to not
* send the password to the output
*/
continue;
}
$config->set($config_name, $config_value);
if ($config_name == 'allow_quick_reply' && isset($_POST['allow_quick_reply_enable']))
@@ -904,13 +897,13 @@ class acp_board
}
/**
* Maximum/Minimum password length
* Minimum password length
*/
function password_length($value, $key)
{
global $user;
return '<input id="' . $key . '" type="number" min="1" max="999" name="config[min_pass_chars]" value="' . $value . '" /> ' . $user->lang['MIN_CHARS'] . '&nbsp;&nbsp;<input type="number" min="8" max="255" name="config[max_pass_chars]" value="' . $this->new_config['max_pass_chars'] . '" /> ' . $user->lang['MAX_CHARS'];
return '<input id="' . $key . '" type="number" min="1" max="999" name="config[min_pass_chars]" value="' . $value . '" /> ' . $user->lang['MIN_CHARS'];
}
/**

View File

@@ -248,8 +248,6 @@ class acp_database
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
case 'mysqli':
case 'sqlite3':
while (($sql = $fgetd($fp, ";\n", $read, $seek, $eof)) !== false)

View File

@@ -38,7 +38,7 @@ class acp_extensions
private $phpbb_container;
private $php_ini;
function main()
function main($id, $mode)
{
// Start the page
global $config, $user, $template, $request, $phpbb_extension_manager, $phpbb_root_path, $phpbb_log, $phpbb_dispatcher, $phpbb_container;
@@ -172,23 +172,27 @@ class acp_extensions
}
$extension = $this->ext_manager->get_extension($ext_name);
if (!$extension->is_enableable())
{
trigger_error($this->user->lang['EXTENSION_NOT_ENABLEABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$this->check_is_enableable($extension);
if ($this->ext_manager->is_enabled($ext_name))
{
redirect($this->u_action);
}
$this->tpl_name = 'acp_ext_enable';
$this->template->assign_vars(array(
'PRE' => true,
'L_CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_ENABLE_CONFIRM', $md_manager->get_metadata('display-name')),
'U_ENABLE' => $this->u_action . '&amp;action=enable&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('enable.' . $ext_name),
));
if (confirm_box(true))
{
redirect($this->u_action . '&amp;action=enable&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('enable.' . $ext_name));
}
else
{
confirm_box(false, $this->user->lang('EXTENSION_ENABLE_CONFIRM', $md_manager->get_metadata('display-name')), build_hidden_fields(array(
'i' => $id,
'mode' => $mode,
'action' => 'enable_pre',
'ext_name' => $ext_name,
)));
}
break;
case 'enable':
@@ -203,10 +207,8 @@ class acp_extensions
}
$extension = $this->ext_manager->get_extension($ext_name);
if (!$extension->is_enableable())
{
trigger_error($this->user->lang['EXTENSION_NOT_ENABLEABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$this->check_is_enableable($extension);
try
{
@@ -215,9 +217,8 @@ class acp_extensions
// Are we approaching the time limit? If so we want to pause the update and continue after refreshing
if ((time() - $start_time) >= $safe_time_limit)
{
$this->template->assign_var('S_NEXT_STEP', true);
meta_refresh(0, $this->u_action . '&amp;action=enable&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('enable.' . $ext_name));
trigger_error('EXTENSION_ENABLE_IN_PROGRESS', E_USER_NOTICE);
}
}
@@ -233,14 +234,29 @@ class acp_extensions
}
catch (\phpbb\db\migration\exception $e)
{
$this->template->assign_var('MIGRATOR_ERROR', $e->getLocalisedMessage($this->user));
trigger_error($this->user->lang('MIGRATION_EXCEPTION_ERROR', $e->getLocalisedMessage($this->user)), E_USER_WARNING);
}
$this->tpl_name = 'acp_ext_enable';
if ($this->request->is_ajax())
{
$actions = $this->output_actions('enabled', [
'DISABLE' => $this->u_action . '&amp;action=disable_pre&amp;ext_name=' . urlencode($ext_name),
]);
$this->template->assign_vars(array(
'U_RETURN' => $this->u_action . '&amp;action=list',
));
$data = [
'EXT_ENABLE_SUCCESS' => true,
'ACTIONS' => $actions,
'REFRESH_DATA' => [
'url' => '',
'time' => 0,
],
];
$json_response = new \phpbb\json_response;
$json_response->send($data);
}
trigger_error($this->user->lang('EXTENSION_ENABLE_SUCCESS') . adm_back_link($this->u_action), E_USER_NOTICE);
break;
case 'disable_pre':
@@ -249,13 +265,19 @@ class acp_extensions
redirect($this->u_action);
}
$this->tpl_name = 'acp_ext_disable';
$this->template->assign_vars(array(
'PRE' => true,
'L_CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_DISABLE_CONFIRM', $md_manager->get_metadata('display-name')),
'U_DISABLE' => $this->u_action . '&amp;action=disable&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('disable.' . $ext_name),
));
if (confirm_box(true))
{
redirect($this->u_action . '&amp;action=disable&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('disable.' . $ext_name));
}
else
{
confirm_box(false, $this->user->lang('EXTENSION_DISABLE_CONFIRM', $md_manager->get_metadata('display-name')), build_hidden_fields(array(
'i' => $id,
'mode' => $mode,
'action' => 'disable_pre',
'ext_name' => $ext_name,
)));
}
break;
case 'disable':
@@ -272,15 +294,32 @@ class acp_extensions
$this->template->assign_var('S_NEXT_STEP', true);
meta_refresh(0, $this->u_action . '&amp;action=disable&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('disable.' . $ext_name));
trigger_error('EXTENSION_DISABLE_IN_PROGRESS', E_USER_NOTICE);
}
}
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_EXT_DISABLE', time(), array($ext_name));
$this->tpl_name = 'acp_ext_disable';
if ($this->request->is_ajax())
{
$actions = $this->output_actions('disabled', [
'ENABLE' => $this->u_action . '&amp;action=enable_pre&amp;ext_name=' . urlencode($ext_name),
'DELETE_DATA' => $this->u_action . '&amp;action=delete_data_pre&amp;ext_name=' . urlencode($ext_name),
]);
$this->template->assign_vars(array(
'U_RETURN' => $this->u_action . '&amp;action=list',
));
$data = [
'EXT_DISABLE_SUCCESS' => true,
'ACTIONS' => $actions,
'REFRESH_DATA' => [
'url' => '',
'time' => 0,
],
];
$json_response = new \phpbb\json_response;
$json_response->send($data);
}
trigger_error($this->user->lang('EXTENSION_DISABLE_SUCCESS') . adm_back_link($this->u_action), E_USER_NOTICE);
break;
case 'delete_data_pre':
@@ -288,13 +327,20 @@ class acp_extensions
{
redirect($this->u_action);
}
$this->tpl_name = 'acp_ext_delete_data';
$this->template->assign_vars(array(
'PRE' => true,
'L_CONFIRM_MESSAGE' => $this->user->lang('EXTENSION_DELETE_DATA_CONFIRM', $md_manager->get_metadata('display-name')),
'U_PURGE' => $this->u_action . '&amp;action=delete_data&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('delete_data.' . $ext_name),
));
if (confirm_box(true))
{
redirect($this->u_action . '&amp;action=delete_data&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('delete_data.' . $ext_name));
}
else
{
confirm_box(false, $this->user->lang('EXTENSION_DELETE_DATA_CONFIRM', $md_manager->get_metadata('display-name')), build_hidden_fields(array(
'i' => $id,
'mode' => $mode,
'action' => 'delete_data_pre',
'ext_name' => $ext_name,
)));
}
break;
case 'delete_data':
@@ -313,20 +359,36 @@ class acp_extensions
$this->template->assign_var('S_NEXT_STEP', true);
meta_refresh(0, $this->u_action . '&amp;action=delete_data&amp;ext_name=' . urlencode($ext_name) . '&amp;hash=' . generate_link_hash('delete_data.' . $ext_name));
trigger_error('EXTENSION_DELETE_DATA_IN_PROGRESS', E_USER_NOTICE);
}
}
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_EXT_PURGE', time(), array($ext_name));
}
catch (\phpbb\db\migration\exception $e)
{
$this->template->assign_var('MIGRATOR_ERROR', $e->getLocalisedMessage($this->user));
trigger_error($this->user->lang('MIGRATION_EXCEPTION_ERROR', $e->getLocalisedMessage($this->user)), E_USER_WARNING);
}
$this->tpl_name = 'acp_ext_delete_data';
if ($this->request->is_ajax())
{
$actions = $this->output_actions('disabled', [
'ENABLE' => $this->u_action . '&amp;action=enable_pre&amp;ext_name=' . urlencode($ext_name),
]);
$this->template->assign_vars(array(
'U_RETURN' => $this->u_action . '&amp;action=list',
));
$data = [
'EXT_DELETE_DATA_SUCCESS' => true,
'ACTIONS' => $actions,
'REFRESH_DATA' => [
'url' => '',
'time' => 0,
],
];
$json_response = new \phpbb\json_response;
$json_response->send($data);
}
trigger_error($this->user->lang('EXTENSION_DELETE_DATA_SUCCESS') . adm_back_link($this->u_action), E_USER_NOTICE);
break;
case 'details':
@@ -605,17 +667,37 @@ class acp_extensions
*
* @param string $block
* @param array $actions
* @return array List of actions to be performed on the extension
*/
private function output_actions($block, $actions)
{
foreach ($actions as $lang => $url)
$vars_ary = array();
foreach ($actions as $lang => $options)
{
$this->template->assign_block_vars($block . '.actions', array(
$url = $options;
if (is_array($options))
{
$url = $options['url'];
}
$vars = array(
'L_ACTION' => $this->user->lang('EXTENSION_' . $lang),
'L_ACTION_EXPLAIN' => (isset($this->user->lang['EXTENSION_' . $lang . '_EXPLAIN'])) ? $this->user->lang('EXTENSION_' . $lang . '_EXPLAIN') : '',
'U_ACTION' => $url,
));
'ACTION_AJAX' => 'ext_' . strtolower($lang),
);
if (isset($options['color']))
{
$vars['COLOR'] = $options['color'];
}
$this->template->assign_block_vars($block . '.actions', $vars);
$vars_ary[] = $vars;
}
return $vars_ary;
}
/**
@@ -662,4 +744,28 @@ class acp_extensions
));
}
}
/**
* Checks whether the extension can be enabled. Triggers error if not.
* Error message can be set by the extension.
*
* @param \phpbb\extension\extension_interface $extension Extension to check
*/
protected function check_is_enableable(\phpbb\extension\extension_interface $extension)
{
$message = $extension->is_enableable();
if ($message !== true)
{
if (empty($message))
{
$message = $this->user->lang('EXTENSION_NOT_ENABLEABLE');
}
else if (is_array($message))
{
$message = implode('<br>', $message);
}
trigger_error($message . adm_back_link($this->u_action), E_USER_WARNING);
}
}
}

View File

@@ -131,11 +131,12 @@ class acp_forums
'forum_rules_link' => $request->variable('forum_rules_link', ''),
'forum_image' => $request->variable('forum_image', ''),
'forum_style' => $request->variable('forum_style', 0),
'display_subforum_list' => $request->variable('display_subforum_list', false),
'display_on_index' => $request->variable('display_on_index', false),
'display_subforum_list' => $request->variable('display_subforum_list', true),
'display_subforum_limit'=> $request->variable('display_subforum_limit', false),
'display_on_index' => $request->variable('display_on_index', true),
'forum_topics_per_page' => $request->variable('topics_per_page', 0),
'enable_indexing' => $request->variable('enable_indexing', true),
'enable_icons' => $request->variable('enable_icons', false),
'enable_icons' => $request->variable('enable_icons', true),
'enable_prune' => $request->variable('enable_prune', false),
'enable_post_review' => $request->variable('enable_post_review', true),
'enable_quick_reply' => $request->variable('enable_quick_reply', false),
@@ -454,10 +455,11 @@ class acp_forums
'forum_image' => '',
'forum_style' => 0,
'display_subforum_list' => true,
'display_on_index' => false,
'display_subforum_limit' => false,
'display_on_index' => true,
'forum_topics_per_page' => 0,
'enable_indexing' => true,
'enable_icons' => false,
'enable_icons' => true,
'enable_prune' => false,
'prune_days' => 7,
'prune_viewed' => 7,
@@ -676,6 +678,7 @@ class acp_forums
'S_ENABLE_INDEXING' => ($forum_data['enable_indexing']) ? true : false,
'S_TOPIC_ICONS' => ($forum_data['enable_icons']) ? true : false,
'S_DISPLAY_SUBFORUM_LIST' => ($forum_data['display_subforum_list']) ? true : false,
'S_DISPLAY_SUBFORUM_LIMIT' => ($forum_data['display_subforum_limit']) ? true : false,
'S_DISPLAY_ON_INDEX' => ($forum_data['display_on_index']) ? true : false,
'S_PRUNE_ENABLE' => ($forum_data['enable_prune']) ? true : false,
'S_PRUNE_SHADOW_ENABLE' => ($forum_data['enable_shadow_prune']) ? true : false,
@@ -1901,7 +1904,6 @@ class acp_forums
switch ($db->get_sql_layer())
{
case 'mysql4':
case 'mysqli':
// Delete everything else and thank MySQL for offering multi-table deletion

View File

@@ -32,7 +32,7 @@ class acp_help_phpbb
include($phpbb_root_path . 'includes/questionnaire/questionnaire.' . $phpEx);
}
$collect_url = "https://www.phpbb.com/stats/receive_stats.php";
$collect_url = "https://www.phpbb.com/statistics/send";
$this->tpl_name = 'acp_help_phpbb';
$this->page_title = 'ACP_HELP_PHPBB';
@@ -90,13 +90,15 @@ class acp_help_phpbb
if (!empty($response))
{
if ((strpos($response, 'Thank you') !== false || strpos($response, 'Flood protection') !== false))
$decoded_response = json_decode(htmlspecialchars_decode($response), true);
if ($decoded_response && isset($decoded_response['status']) && $decoded_response['status'] == 'ok')
{
trigger_error($user->lang('THANKS_SEND_STATISTICS') . adm_back_link($this->u_action));
}
else
{
trigger_error($user->lang('FAIL_SEND_STATISTICS') . adm_back_link($this->u_action));
trigger_error($user->lang('FAIL_SEND_STATISTICS') . adm_back_link($this->u_action), E_USER_WARNING);
}
}
@@ -106,7 +108,8 @@ class acp_help_phpbb
$template->assign_vars(array(
'U_COLLECT_STATS' => $collect_url,
'S_COLLECT_STATS' => (!empty($config['help_send_statistics'])) ? true : false,
'RAW_DATA' => $collector->get_data_for_form(),
'S_STATS' => $collector->get_data_raw(),
'S_STATS_DATA' => json_encode($collector->get_data_raw()),
'U_ACP_MAIN' => append_sid("{$phpbb_admin_path}index.$phpEx"),
'U_ACTION' => $this->u_action,
// Pass earliest time we should try to send stats again

View File

@@ -657,7 +657,7 @@ class acp_main
}
// Warn if install is still present
if (file_exists($phpbb_root_path . 'install') && !is_file($phpbb_root_path . 'install'))
if (!defined('IN_INSTALL') && !$phpbb_container->getParameter('allow_install_dir') && file_exists($phpbb_root_path . 'install') && !is_file($phpbb_root_path . 'install'))
{
$template->assign_var('S_REMOVE_INSTALL', true);
}

View File

@@ -694,8 +694,8 @@ class acp_permissions
}
// We loop through the auth settings defined in our submit
list($ug_id, ) = each($psubmit);
list($forum_id, ) = each($psubmit[$ug_id]);
$ug_id = key($psubmit);
$forum_id = key($psubmit[$ug_id]);
$settings = $request->variable('setting', array(0 => array(0 => array('' => 0))), false, \phpbb\request\request_interface::POST);
if (empty($settings) || empty($settings[$ug_id]) || empty($settings[$ug_id][$forum_id]))

View File

@@ -222,8 +222,6 @@ class acp_reasons
{
// The ugly one!
case 'mysqli':
case 'mysql4':
case 'mysql':
// Change the reports using this reason to 'other'
$sql = 'UPDATE ' . REPORTS_TABLE . '
SET reason_id = ' . $other_reason_id . ", report_text = CONCAT('" . $db->sql_escape($reason_row['reason_description']) . "\n\n', report_text)

View File

@@ -844,9 +844,9 @@ class acp_users
// Validation data - we do not check the password complexity setting here
$check_ary = array(
'new_password' => array(
array('string', true, $config['min_pass_chars'], $config['max_pass_chars']),
array('string', true, $config['min_pass_chars'], 0),
array('password')),
'password_confirm' => array('string', true, $config['min_pass_chars'], $config['max_pass_chars']),
'password_confirm' => array('string', true, $config['min_pass_chars'], 0),
);
// Check username if altered
@@ -966,10 +966,7 @@ class acp_users
if ($update_email !== false)
{
$sql_ary += array(
'user_email' => $update_email,
'user_email_hash' => phpbb_email_hash($update_email),
);
$sql_ary += ['user_email' => $update_email];
$phpbb_log->add('user', $user->data['user_id'], $user->ip, 'LOG_USER_UPDATE_EMAIL', false, array(
'reportee_id' => $user_id,
@@ -1130,7 +1127,7 @@ class acp_users
$template->assign_vars(array(
'L_NAME_CHARS_EXPLAIN' => $user->lang($config['allow_name_chars'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_name_chars']), $user->lang('CHARACTERS', (int) $config['max_name_chars'])),
'L_CHANGE_PASSWORD_EXPLAIN' => $user->lang($config['pass_complex'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_pass_chars']), $user->lang('CHARACTERS', (int) $config['max_pass_chars'])),
'L_CHANGE_PASSWORD_EXPLAIN' => $user->lang($config['pass_complex'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_pass_chars'])),
'L_POSTS_IN_QUEUE' => $user->lang('NUM_POSTS_IN_QUEUE', $user_row['posts_in_queue']),
'S_FOUNDER' => ($user->data['user_type'] == USER_FOUNDER) ? true : false,

View File

@@ -460,8 +460,7 @@ class auth_admin extends \phpbb\auth\auth
'S_GROUP_MODE' => ($user_mode == 'group') ? true : false)
);
@reset($content_array);
while (list($ug_id, $ug_array) = each($content_array))
foreach ($content_array as $ug_id => $ug_array)
{
// Build role dropdown options
$current_role_id = (isset($cur_roles[$ug_id][$forum_id])) ? $cur_roles[$ug_id][$forum_id] : 0;
@@ -471,8 +470,7 @@ class auth_admin extends \phpbb\auth\auth
$s_role_options = '';
$current_role_id = (isset($cur_roles[$ug_id][$forum_id])) ? $cur_roles[$ug_id][$forum_id] : 0;
@reset($roles);
while (list($role_id, $role_row) = each($roles))
foreach ($roles as $role_id => $role_row)
{
$role_description = (!empty($user->lang[$role_row['role_description']])) ? $user->lang[$role_row['role_description']] : nl2br($role_row['role_description']);
$role_name = (!empty($user->lang[$role_row['role_name']])) ? $user->lang[$role_row['role_name']] : $role_row['role_name'];
@@ -559,8 +557,7 @@ class auth_admin extends \phpbb\auth\auth
'S_GROUP_MODE' => ($user_mode == 'group') ? true : false)
);
@reset($content_array);
while (list($forum_id, $forum_array) = each($content_array))
foreach ($content_array as $forum_id => $forum_array)
{
// Build role dropdown options
$current_role_id = (isset($cur_roles[$ug_id][$forum_id])) ? $cur_roles[$ug_id][$forum_id] : 0;
@@ -570,8 +567,7 @@ class auth_admin extends \phpbb\auth\auth
$current_role_id = (isset($cur_roles[$ug_id][$forum_id])) ? $cur_roles[$ug_id][$forum_id] : 0;
$s_role_options = '';
@reset($roles);
while (list($role_id, $role_row) = each($roles))
foreach ($roles as $role_id => $role_row)
{
$role_description = (!empty($user->lang[$role_row['role_description']])) ? $user->lang[$role_row['role_description']] : nl2br($role_row['role_description']);
$role_name = (!empty($user->lang[$role_row['role_name']])) ? $user->lang[$role_row['role_name']] : $role_row['role_name'];
@@ -1138,8 +1134,7 @@ class auth_admin extends \phpbb\auth\auth
/* @var $phpbb_permissions \phpbb\permissions */
$phpbb_permissions = $phpbb_container->get('acl.permissions');
@reset($category_array);
while (list($cat, $cat_array) = each($category_array))
foreach ($category_array as $cat => $cat_array)
{
if (!$phpbb_permissions->category_defined($cat))
{
@@ -1169,8 +1164,7 @@ class auth_admin extends \phpbb\auth\auth
}
unset($key_array, $values_array);
*/
@reset($cat_array['permissions']);
while (list($permission, $allowed) = each($cat_array['permissions']))
foreach ($cat_array['permissions'] as $permission => $allowed)
{
if (!$phpbb_permissions->permission_defined($permission))
{
@@ -1237,8 +1231,7 @@ class auth_admin extends \phpbb\auth\auth
$permissions = $permission_row[$forum_id];
ksort($permissions);
@reset($permissions);
while (list($permission, $auth_setting) = each($permissions))
foreach ($permissions as $permission => $auth_setting)
{
$cat = $phpbb_permissions->get_permission_category($permission);

View File

@@ -44,7 +44,7 @@ class bbcode
/**
* Init bbcode cache entries if bitfield is specified
*
* @param string $bbcode_bitfield The bbcode bitfield
* @param string $bitfield The bbcode bitfield
*/
function bbcode_set_bitfield($bitfield = '')
{

View File

@@ -18,6 +18,14 @@ if (!defined('IN_PHPBB'))
exit;
}
//
// Deprecated globals
//
define('ATTACHMENT_CATEGORY_WM', 2); // Windows Media Files - Streaming - @deprecated 3.2
define('ATTACHMENT_CATEGORY_RM', 3); // Real Media Files - Streaming - @deprecated 3.2
define('ATTACHMENT_CATEGORY_QUICKTIME', 6); // Quicktime/Mov files - @deprecated 3.2
define('ATTACHMENT_CATEGORY_FLASH', 5); // Flash/SWF files - @deprecated 3.3
/**
* Sets compatibility globals in the global scope
*

View File

@@ -28,7 +28,7 @@ if (!defined('IN_PHPBB'))
*/
// phpBB Version
@define('PHPBB_VERSION', '3.2.10-dev');
@define('PHPBB_VERSION', '3.3.0');
// QA-related
// define('PHPBB_QA', 1);
@@ -171,11 +171,7 @@ define('CONFIRM_REPORT', 4);
// Categories - Attachments
define('ATTACHMENT_CATEGORY_NONE', 0);
define('ATTACHMENT_CATEGORY_IMAGE', 1); // Inline Images
define('ATTACHMENT_CATEGORY_WM', 2); // Windows Media Files - Streaming - @deprecated 3.2
define('ATTACHMENT_CATEGORY_RM', 3); // Real Media Files - Streaming - @deprecated 3.2
define('ATTACHMENT_CATEGORY_THUMB', 4); // Not used within the database, only while displaying posts
define('ATTACHMENT_CATEGORY_FLASH', 5); // Flash/SWF files
define('ATTACHMENT_CATEGORY_QUICKTIME', 6); // Quicktime/Mov files - @deprecated 3.2
// BBCode UID length
define('BBCODE_UID_LEN', 8);

View File

@@ -285,8 +285,9 @@ class diff_engine
$matches = $ymatches[$line];
reset($matches);
while (list(, $y) = each($matches))
while ($y = current($matches))
{
next($matches);
if (empty($this->in_seq[$y]))
{
$k = $this->_lcs_pos($y);
@@ -296,8 +297,9 @@ class diff_engine
}
// no reset() here
while (list(, $y) = each($matches))
while ($y = current($matches))
{
next($matches);
if ($y > $this->seq[$k - 1])
{
// Optimization: this is a common case: next match is just replacing previous match.

View File

@@ -51,18 +51,6 @@ function phpbb_load_extensions_autoloaders($phpbb_root_path)
}
}
/**
* Casts a variable to the given type.
*
* @deprecated
*/
function set_var(&$result, $var, $type, $multibyte = false)
{
// no need for dependency injection here, if you have the object, call the method yourself!
$type_cast_helper = new \phpbb\request\type_cast_helper();
$type_cast_helper->set_var($result, $var, $type, $multibyte);
}
/**
* Generates an alphanumeric random string of given length
*
@@ -275,18 +263,6 @@ function still_on_time($extra_time = 15)
return (ceil($current_time - $start_time) < $max_execution_time) ? true : false;
}
/**
* Hashes an email address to a big integer
*
* @param string $email Email address
*
* @return string Unsigned Big Integer
*/
function phpbb_email_hash($email)
{
return sprintf('%u', crc32(strtolower($email))) . strlen($email);
}
/**
* Wrapper for version_compare() that allows using uppercase A and B
* for alpha and beta releases.
@@ -2288,6 +2264,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
$err = '';
$form_name = 'login';
$username = $autologin = false;
// Make sure user->setup() has been called
if (!$user->is_setup())
@@ -2528,11 +2505,14 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
$s_hidden_fields = build_hidden_fields($s_hidden_fields);
/** @var \phpbb\controller\helper $controller_helper */
$controller_helper = $phpbb_container->get('controller.helper');
$login_box_template_data = array(
'LOGIN_ERROR' => $err,
'LOGIN_EXPLAIN' => $l_explain,
'U_SEND_PASSWORD' => ($config['email_enable']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=sendpassword') : '',
'U_SEND_PASSWORD' => ($config['email_enable']) ? $controller_helper->route('phpbb_ucp_forgot_password_controller') : '',
'U_RESEND_ACTIVATION' => ($config['require_activation'] == USER_ACTIVATION_SELF && $config['email_enable']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=resend_act') : '',
'U_TERMS_USE' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms'),
'U_PRIVACY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy'),
@@ -2860,10 +2840,13 @@ function get_preg_expression($mode)
// Whoa these look impressive!
// The code to generate the following two regular expressions which match valid IPv4/IPv6 addresses
// can be found in the develop directory
// @deprecated
case 'ipv4':
return '#^(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$#';
break;
// @deprecated
case 'ipv6':
return '#^(?:(?:(?:[\dA-F]{1,4}:){6}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:::(?:[\dA-F]{1,4}:){0,5}(?:[\dA-F]{1,4}(?::[\dA-F]{1,4})?|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:):(?:[\dA-F]{1,4}:){4}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,2}:(?:[\dA-F]{1,4}:){3}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,3}:(?:[\dA-F]{1,4}:){2}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,4}:(?:[\dA-F]{1,4}:)(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,5}:(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,6}:[\dA-F]{1,4})|(?:(?:[\dA-F]{1,4}:){1,7}:)|(?:::))$#i';
break;
@@ -2989,331 +2972,26 @@ function short_ipv6($ip, $length)
* @return mixed false if specified address is not valid,
* string otherwise
*/
function phpbb_ip_normalise($address)
function phpbb_ip_normalise(string $address)
{
$address = trim($address);
$ip_normalised = false;
if (empty($address) || !is_string($address))
if (filter_var($address, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4))
{
return false;
$ip_normalised = $address;
}
else if (filter_var($address, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
{
$ip_normalised = inet_ntop(inet_pton($address));
// If is ipv4
if (stripos($ip_normalised, '::ffff:') === 0)
{
$ip_normalised = substr($ip_normalised, 7);
}
}
if (preg_match(get_preg_expression('ipv4'), $address))
{
return $address;
}
return phpbb_inet_ntop(phpbb_inet_pton($address));
}
/**
* Wrapper for inet_ntop()
*
* Converts a packed internet address to a human readable representation
* inet_ntop() is supported by PHP since 5.1.0, since 5.3.0 also on Windows.
*
* @param string $in_addr A 32bit IPv4, or 128bit IPv6 address.
*
* @return mixed false on failure,
* string otherwise
*/
function phpbb_inet_ntop($in_addr)
{
$in_addr = bin2hex($in_addr);
switch (strlen($in_addr))
{
case 8:
return implode('.', array_map('hexdec', str_split($in_addr, 2)));
case 32:
if (substr($in_addr, 0, 24) === '00000000000000000000ffff')
{
return phpbb_inet_ntop(pack('H*', substr($in_addr, 24)));
}
$parts = str_split($in_addr, 4);
$parts = preg_replace('/^0+(?!$)/', '', $parts);
$ret = implode(':', $parts);
$matches = array();
preg_match_all('/(?<=:|^)(?::?0){2,}/', $ret, $matches, PREG_OFFSET_CAPTURE);
$matches = $matches[0];
if (empty($matches))
{
return $ret;
}
$longest_match = '';
$longest_match_offset = 0;
foreach ($matches as $match)
{
if (strlen($match[0]) > strlen($longest_match))
{
$longest_match = $match[0];
$longest_match_offset = $match[1];
}
}
$ret = substr_replace($ret, '', $longest_match_offset, strlen($longest_match));
if ($longest_match_offset == strlen($ret))
{
$ret .= ':';
}
if ($longest_match_offset == 0)
{
$ret = ':' . $ret;
}
return $ret;
default:
return false;
}
}
/**
* Wrapper for inet_pton()
*
* Converts a human readable IP address to its packed in_addr representation
* inet_pton() is supported by PHP since 5.1.0, since 5.3.0 also on Windows.
*
* @param string $address A human readable IPv4 or IPv6 address.
*
* @return mixed false if address is invalid,
* in_addr representation of the given address otherwise (string)
*/
function phpbb_inet_pton($address)
{
$ret = '';
if (preg_match(get_preg_expression('ipv4'), $address))
{
foreach (explode('.', $address) as $part)
{
$ret .= ($part <= 0xF ? '0' : '') . dechex($part);
}
return pack('H*', $ret);
}
if (preg_match(get_preg_expression('ipv6'), $address))
{
$parts = explode(':', $address);
$missing_parts = 8 - count($parts) + 1;
if (substr($address, 0, 2) === '::')
{
++$missing_parts;
}
if (substr($address, -2) === '::')
{
++$missing_parts;
}
$embedded_ipv4 = false;
$last_part = end($parts);
if (preg_match(get_preg_expression('ipv4'), $last_part))
{
$parts[count($parts) - 1] = '';
$last_part = phpbb_inet_pton($last_part);
$embedded_ipv4 = true;
--$missing_parts;
}
foreach ($parts as $i => $part)
{
if (strlen($part))
{
$ret .= str_pad($part, 4, '0', STR_PAD_LEFT);
}
else if ($i && $i < count($parts) - 1)
{
$ret .= str_repeat('0000', $missing_parts);
}
}
$ret = pack('H*', $ret);
if ($embedded_ipv4)
{
$ret .= $last_part;
}
return $ret;
}
return false;
}
/**
* Wrapper for php's checkdnsrr function.
*
* @param string $host Fully-Qualified Domain Name
* @param string $type Resource record type to lookup
* Supported types are: MX (default), A, AAAA, NS, TXT, CNAME
* Other types may work or may not work
*
* @return mixed true if entry found,
* false if entry not found,
* null if this function is not supported by this environment
*
* Since null can also be returned, you probably want to compare the result
* with === true or === false,
*/
function phpbb_checkdnsrr($host, $type = 'MX')
{
// The dot indicates to search the DNS root (helps those having DNS prefixes on the same domain)
if (substr($host, -1) == '.')
{
$host_fqdn = $host;
$host = substr($host, 0, -1);
}
else
{
$host_fqdn = $host . '.';
}
// $host has format some.host.example.com
// $host_fqdn has format some.host.example.com.
// If we're looking for an A record we can use gethostbyname()
if ($type == 'A' && function_exists('gethostbyname'))
{
return (@gethostbyname($host_fqdn) == $host_fqdn) ? false : true;
}
if (function_exists('checkdnsrr'))
{
return checkdnsrr($host_fqdn, $type);
}
if (function_exists('dns_get_record'))
{
// dns_get_record() expects an integer as second parameter
// We have to convert the string $type to the corresponding integer constant.
$type_constant = 'DNS_' . $type;
$type_param = (defined($type_constant)) ? constant($type_constant) : DNS_ANY;
// dns_get_record() might throw E_WARNING and return false for records that do not exist
$resultset = @dns_get_record($host_fqdn, $type_param);
if (empty($resultset) || !is_array($resultset))
{
return false;
}
else if ($type_param == DNS_ANY)
{
// $resultset is a non-empty array
return true;
}
foreach ($resultset as $result)
{
if (
isset($result['host']) && $result['host'] == $host &&
isset($result['type']) && $result['type'] == $type
)
{
return true;
}
}
return false;
}
// If we're on Windows we can still try to call nslookup via exec() as a last resort
if (DIRECTORY_SEPARATOR == '\\' && function_exists('exec'))
{
@exec('nslookup -type=' . escapeshellarg($type) . ' ' . escapeshellarg($host_fqdn), $output);
// If output is empty, the nslookup failed
if (empty($output))
{
return NULL;
}
foreach ($output as $line)
{
$line = trim($line);
if (empty($line))
{
continue;
}
// Squash tabs and multiple whitespaces to a single whitespace.
$line = preg_replace('/\s+/', ' ', $line);
switch ($type)
{
case 'MX':
if (stripos($line, "$host MX") === 0)
{
return true;
}
break;
case 'NS':
if (stripos($line, "$host nameserver") === 0)
{
return true;
}
break;
case 'TXT':
if (stripos($line, "$host text") === 0)
{
return true;
}
break;
case 'CNAME':
if (stripos($line, "$host canonical name") === 0)
{
return true;
}
break;
default:
case 'AAAA':
// AAAA records returned by nslookup on Windows XP/2003 have this format.
// Later Windows versions use the A record format below for AAAA records.
if (stripos($line, "$host AAAA IPv6 address") === 0)
{
return true;
}
// No break
case 'A':
if (!empty($host_matches))
{
// Second line
if (stripos($line, "Address: ") === 0)
{
return true;
}
else
{
$host_matches = false;
}
}
else if (stripos($line, "Name: $host") === 0)
{
// First line
$host_matches = true;
}
break;
}
}
return false;
}
return NULL;
return $ip_normalised;
}
// Handler, header and footer
@@ -3325,6 +3003,7 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
{
global $cache, $db, $auth, $template, $config, $user, $request;
global $phpbb_root_path, $msg_title, $msg_long_text, $phpbb_log;
global $phpbb_container;
// Do not display notices if we suppress them via @
if (error_reporting() == 0 && $errno != E_USER_ERROR && $errno != E_USER_WARNING && $errno != E_USER_NOTICE)
@@ -3345,7 +3024,7 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
// Check the error reporting level and return if the error level does not match
// If DEBUG is defined the default level is E_ALL
if (($errno & ((defined('DEBUG')) ? E_ALL : error_reporting())) == 0)
if (($errno & ($phpbb_container->getParameter('debug.show_errors') ? E_ALL : error_reporting())) == 0)
{
return;
}
@@ -3403,7 +3082,7 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
$log_text .= '<br /><br />BACKTRACE<br />' . $backtrace;
}
if (defined('IN_INSTALL') || defined('DEBUG') || isset($auth) && $auth->acl_get('a_'))
if (defined('IN_INSTALL') || ($phpbb_container != null && $phpbb_container->getParameter('debug.show_errors')) || isset($auth) && $auth->acl_get('a_'))
{
$msg_text = $log_text;
@@ -4291,7 +3970,8 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
}
else
{
$u_login_logout = append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login');
$redirect = $request->variable('redirect', rawurlencode($user->page['page']));
$u_login_logout = append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login&amp;redirect=' . $redirect);
$l_login_logout = $user->lang['LOGIN'];
}
@@ -4439,7 +4119,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
/**
* Workaround for missing template variable in pre phpBB 3.2.6 styles.
* @deprecated 3.2.7 (To be removed: 3.3.0-a1)
* @deprecated 3.2.7 (To be removed: 4.0.0-a1)
*/
$form_token_login = $template->retrieve_var('S_FORM_TOKEN_LOGIN');
if (!empty($form_token_login))
@@ -4566,7 +4246,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'T_STYLESHEET_LINK' => "{$web_path}styles/" . rawurlencode($user->style['style_path']) . '/theme/stylesheet.css?assets_version=' . $config['assets_version'],
'T_STYLESHEET_LANG_LINK'=> "{$web_path}styles/" . rawurlencode($user->style['style_path']) . '/theme/' . $user->lang_name . '/stylesheet.css?assets_version=' . $config['assets_version'],
'T_FONT_AWESOME_LINK' => !empty($config['allow_cdn']) && !empty($config['load_font_awesome_url']) ? $config['load_font_awesome_url'] : "{$web_path}assets/css/font-awesome.min.css?assets_version=" . $config['assets_version'],
'T_JQUERY_LINK' => !empty($config['allow_cdn']) && !empty($config['load_jquery_url']) ? $config['load_jquery_url'] : "{$web_path}assets/javascript/jquery.min.js?assets_version=" . $config['assets_version'],
'T_JQUERY_LINK' => !empty($config['allow_cdn']) && !empty($config['load_jquery_url']) ? $config['load_jquery_url'] : "{$web_path}assets/javascript/jquery-3.4.1.min.js?assets_version=" . $config['assets_version'],
'S_ALLOW_CDN' => !empty($config['allow_cdn']),
'S_COOKIE_NOTICE' => !empty($config['cookie_notice']),
@@ -4638,7 +4318,9 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
*/
function phpbb_check_and_display_sql_report(\phpbb\request\request_interface $request, \phpbb\auth\auth $auth, \phpbb\db\driver\driver_interface $db)
{
if ($request->variable('explain', false) && $auth->acl_get('a_') && defined('DEBUG'))
global $phpbb_container;
if ($phpbb_container->getParameter('debug.sql_explain') && $request->variable('explain', false) && $auth->acl_get('a_'))
{
$db->sql_report('display');
}
@@ -4656,19 +4338,22 @@ function phpbb_check_and_display_sql_report(\phpbb\request\request_interface $re
*/
function phpbb_generate_debug_output(\phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\auth\auth $auth, \phpbb\user $user, \phpbb\event\dispatcher_interface $phpbb_dispatcher)
{
global $phpbb_container;
$debug_info = array();
// Output page creation time
if (defined('PHPBB_DISPLAY_LOAD_TIME'))
if ($phpbb_container->getParameter('debug.load_time'))
{
if (isset($GLOBALS['starttime']))
{
$totaltime = microtime(true) - $GLOBALS['starttime'];
$debug_info[] = sprintf('<span title="SQL time: %.3fs / PHP time: %.3fs">Time: %.3fs</span>', $db->get_sql_time(), ($totaltime - $db->get_sql_time()), $totaltime);
}
}
$debug_info[] = sprintf('<span title="Cached: %d">Queries: %d</span>', $db->sql_num_queries(true), $db->sql_num_queries());
if ($phpbb_container->getParameter('debug.memory'))
{
$memory_usage = memory_get_peak_usage();
if ($memory_usage)
{
@@ -4676,16 +4361,18 @@ function phpbb_generate_debug_output(\phpbb\db\driver\driver_interface $db, \php
$debug_info[] = 'Peak Memory Usage: ' . $memory_usage;
}
}
if (defined('DEBUG'))
{
$debug_info[] = 'GZIP: ' . (($config['gzip_compress'] && @extension_loaded('zlib')) ? 'On' : 'Off');
if ($user->load)
{
$debug_info[] = 'Load: ' . $user->load;
}
}
if ($phpbb_container->getParameter('debug.sql_explain'))
{
$debug_info[] = sprintf('<span title="Cached: %d">Queries: %d</span>', $db->sql_num_queries(true), $db->sql_num_queries());
if ($auth->acl_get('a_'))
{

View File

@@ -177,7 +177,7 @@ function adm_page_footer($copyright_html = true)
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'S_COPYRIGHT_HTML' => $copyright_html,
'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="https://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Limited'),
'T_JQUERY_LINK' => !empty($config['allow_cdn']) && !empty($config['load_jquery_url']) ? $config['load_jquery_url'] : "{$phpbb_root_path}assets/javascript/jquery.min.js",
'T_JQUERY_LINK' => !empty($config['allow_cdn']) && !empty($config['load_jquery_url']) ? $config['load_jquery_url'] : "{$phpbb_root_path}assets/javascript/jquery-3.4.1.min.js",
'S_ALLOW_CDN' => !empty($config['allow_cdn']),
'VERSION' => $config['version'])
);

View File

@@ -1190,28 +1190,6 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync =
return count($post_ids);
}
/**
* Delete Attachments
*
* @deprecated 3.2.0-a1 (To be removed: 3.4.0)
*
* @param string $mode can be: post|message|topic|attach|user
* @param mixed $ids can be: post_ids, message_ids, topic_ids, attach_ids, user_ids
* @param bool $resync set this to false if you are deleting posts or topics
*/
function delete_attachments($mode, $ids, $resync = true)
{
global $phpbb_container;
/** @var \phpbb\attachment\manager $attachment_manager */
$attachment_manager = $phpbb_container->get('attachment.manager');
$num_deleted = $attachment_manager->delete($mode, $ids, $resync);
unset($attachment_manager);
return $num_deleted;
}
/**
* Deletes shadow topics pointing to a specified forum.
*
@@ -1323,23 +1301,6 @@ function update_posted_info(&$topic_ids)
$db->sql_multi_insert(TOPICS_POSTED_TABLE, $sql_ary);
}
/**
* Delete attached file
*
* @deprecated 3.2.0-a1 (To be removed: 3.4.0)
*/
function phpbb_unlink($filename, $mode = 'file', $entry_removed = false)
{
global $phpbb_container;
/** @var \phpbb\attachment\manager $attachment_manager */
$attachment_manager = $phpbb_container->get('attachment.manager');
$unlink = $attachment_manager->unlink($filename, $mode, $entry_removed);
unset($attachment_manager);
return $unlink;
}
/**
* All-encompasing sync function
*
@@ -1423,7 +1384,6 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
$db->sql_transaction('begin');
switch ($db->get_sql_layer())
{
case 'mysql4':
case 'mysqli':
$sql = 'DELETE FROM ' . TOPICS_TABLE . '
USING ' . TOPICS_TABLE . ' t1, ' . TOPICS_TABLE . " t2
@@ -2722,8 +2682,7 @@ function phpbb_update_foes($db, $auth, $group_id = false, $user_id = false)
switch ($db->get_sql_layer())
{
case 'mysqli':
case 'mysql4':
$sql = 'DELETE ' . (($db->get_sql_layer() === 'mysqli' || version_compare($db->sql_server_info(true), '4.1', '>=')) ? 'z.*' : ZEBRA_TABLE) . '
$sql = 'DELETE z.*
FROM ' . ZEBRA_TABLE . ' z, ' . USER_GROUP_TABLE . ' ug
WHERE z.zebra_id = ug.user_id
AND z.foe = 1
@@ -2879,8 +2838,6 @@ function get_database_size()
// This code is heavily influenced by a similar routine in phpMyAdmin 2.2.0
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
case 'mysqli':
$sql = 'SELECT VERSION() AS mysql_version';
$result = $db->sql_query($sql);

View File

@@ -22,7 +22,7 @@ if (!defined('IN_PHPBB'))
/**
* Get user avatar
*
* @deprecated 3.1.0-a1 (To be removed: 3.3.0)
* @deprecated 3.1.0-a1 (To be removed: 4.0.0)
*
* @param string $avatar Users assigned avatar name
* @param int $avatar_type Type of avatar
@@ -50,7 +50,7 @@ function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $
/**
* Hash the password
*
* @deprecated 3.1.0-a2 (To be removed: 3.3.0)
* @deprecated 3.1.0-a2 (To be removed: 4.0.0)
*
* @param string $password Password to be hashed
*
@@ -68,7 +68,7 @@ function phpbb_hash($password)
/**
* Check for correct password
*
* @deprecated 3.1.0-a2 (To be removed: 3.3.0)
* @deprecated 3.1.0-a2 (To be removed: 4.0.0)
*
* @param string $password The password in plain text
* @param string $hash The stored password hash
@@ -92,7 +92,7 @@ function phpbb_check_hash($password, $hash)
* @param string $path Path to clean
* @return string Cleaned path
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
*/
function phpbb_clean_path($path)
{
@@ -136,7 +136,7 @@ function phpbb_clean_path($path)
*
* @return string Returns the options for timezone selector only
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
*/
function tz_select($default = '', $truncate = false)
{
@@ -150,7 +150,7 @@ function tz_select($default = '', $truncate = false)
* via admin_permissions. Changes of usernames and group names
* must be carried through for the moderators table.
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
* @return null
*/
function cache_moderators()
@@ -162,7 +162,7 @@ function cache_moderators()
/**
* Removes moderators and administrators from foe lists.
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
* @param array|bool $group_id If an array, remove all members of this group from foe lists, or false to ignore
* @param array|bool $user_id If an array, remove this user from foe lists, or false to ignore
* @return null
@@ -182,7 +182,7 @@ function update_foes($group_id = false, $user_id = false)
* @param string &$rank_img the rank image as full img tag is stored here after execution
* @param string &$rank_img_src the rank image source is stored here after execution
*
* @deprecated 3.1.0-RC5 (To be removed: 3.3.0)
* @deprecated 3.1.0-RC5 (To be removed: 4.0.0)
*
* Note: since we do not want to break backwards-compatibility, this function will only properly assign ranks to guests if you call it for them with user_posts == false
*/
@@ -232,7 +232,7 @@ function get_remote_file($host, $directory, $filename, &$errstr, &$errno, $port
*
* @return int|bool Returns the log_id, if the entry was added to the database, false otherwise.
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
*/
function add_log()
{
@@ -280,7 +280,7 @@ function add_log()
*
* @return null
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
*/
function set_config($config_name, $config_value, $is_dynamic = false, \phpbb\config\config $set_config = null)
{
@@ -310,7 +310,7 @@ function set_config($config_name, $config_value, $is_dynamic = false, \phpbb\con
*
* @return null
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
*/
function set_config_count($config_name, $increment, $is_dynamic = false, \phpbb\config\config $set_config = null)
{
@@ -331,7 +331,7 @@ function set_config_count($config_name, $increment, $is_dynamic = false, \phpbb\
* See {@link \phpbb\request\request_interface::variable \phpbb\request\request_interface::variable} for
* documentation of this function's use.
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
* @param mixed $var_name The form variable's name from which data shall be retrieved.
* If the value is an array this may be an array of indizes which will give
* direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a")
@@ -389,7 +389,7 @@ function request_var($var_name, $default, $multibyte = false, $cookie = false, $
/**
* Get tables of a database
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
* @deprecated 3.1.0 (To be removed: 4.0.0)
*/
function get_tables($db)
{
@@ -492,7 +492,7 @@ function phpbb_realpath($path)
* @param $number int|float The number we want to get the plural case for. Float numbers are floored.
* @return int The plural-case we need to use for the number plural-rule combination
*
* @deprecated 3.2.0-dev (To be removed: 3.3.0)
* @deprecated 3.2.0-dev (To be removed: 4.0.0)
*/
function phpbb_get_plural_form($rule, $number)
{
@@ -511,3 +511,165 @@ function phpbb_pcre_utf8_support()
{
return true;
}
/**
* Casts a variable to the given type.
*
* @deprecated 3.1 (To be removed 4.0.0)
*/
function set_var(&$result, $var, $type, $multibyte = false)
{
// no need for dependency injection here, if you have the object, call the method yourself!
$type_cast_helper = new \phpbb\request\type_cast_helper();
$type_cast_helper->set_var($result, $var, $type, $multibyte);
}
/**
* Delete Attachments
*
* @deprecated 3.2.0-a1 (To be removed: 4.0.0)
*
* @param string $mode can be: post|message|topic|attach|user
* @param mixed $ids can be: post_ids, message_ids, topic_ids, attach_ids, user_ids
* @param bool $resync set this to false if you are deleting posts or topics
*/
function delete_attachments($mode, $ids, $resync = true)
{
global $phpbb_container;
/** @var \phpbb\attachment\manager $attachment_manager */
$attachment_manager = $phpbb_container->get('attachment.manager');
$num_deleted = $attachment_manager->delete($mode, $ids, $resync);
unset($attachment_manager);
return $num_deleted;
}
/**
* Delete attached file
*
* @deprecated 3.2.0-a1 (To be removed: 4.0.0)
*/
function phpbb_unlink($filename, $mode = 'file', $entry_removed = false)
{
global $phpbb_container;
/** @var \phpbb\attachment\manager $attachment_manager */
$attachment_manager = $phpbb_container->get('attachment.manager');
$unlink = $attachment_manager->unlink($filename, $mode, $entry_removed);
unset($attachment_manager);
return $unlink;
}
/**
* Display reasons
*
* @deprecated 3.2.0-dev (To be removed: 4.0.0)
*/
function display_reasons($reason_id = 0)
{
global $phpbb_container;
$phpbb_container->get('phpbb.report.report_reason_list_provider')->display_reasons($reason_id);
}
/**
* Upload Attachment - filedata is generated here
* Uses upload class
*
* @deprecated 3.2.0-a1 (To be removed: 4.0.0)
*
* @param string $form_name The form name of the file upload input
* @param int $forum_id The id of the forum
* @param bool $local Whether the file is local or not
* @param string $local_storage The path to the local file
* @param bool $is_message Whether it is a PM or not
* @param array $local_filedata A filespec object created for the local file
*
* @return array File data array
*/
function upload_attachment($form_name, $forum_id, $local = false, $local_storage = '', $is_message = false, $local_filedata = false)
{
global $phpbb_container;
/** @var \phpbb\attachment\manager $attachment_manager */
$attachment_manager = $phpbb_container->get('attachment.manager');
$file = $attachment_manager->upload($form_name, $forum_id, $local, $local_storage, $is_message, $local_filedata);
unset($attachment_manager);
return $file;
}
/**
* Wrapper for php's checkdnsrr function.
*
* @param string $host Fully-Qualified Domain Name
* @param string $type Resource record type to lookup
* Supported types are: MX (default), A, AAAA, NS, TXT, CNAME
* Other types may work or may not work
*
* @return mixed true if entry found,
* false if entry not found,
* null if this function is not supported by this environment
*
* Since null can also be returned, you probably want to compare the result
* with === true or === false,
*
* @deprecated 3.3.0-b2 (To be removed: 4.0.0)
*/
function phpbb_checkdnsrr($host, $type = 'MX')
{
return checkdnsrr($host, $type);
}
/*
* Wrapper for inet_ntop()
*
* Converts a packed internet address to a human readable representation
* inet_ntop() is supported by PHP since 5.1.0, since 5.3.0 also on Windows.
*
* @param string $in_addr A 32bit IPv4, or 128bit IPv6 address.
*
* @return mixed false on failure,
* string otherwise
*
* @deprecated 3.3.0-b2 (To be removed: 4.0.0)
*/
function phpbb_inet_ntop($in_addr)
{
return inet_ntop($in_addr);
}
/**
* Wrapper for inet_pton()
*
* Converts a human readable IP address to its packed in_addr representation
* inet_pton() is supported by PHP since 5.1.0, since 5.3.0 also on Windows.
*
* @param string $address A human readable IPv4 or IPv6 address.
*
* @return mixed false if address is invalid,
* in_addr representation of the given address otherwise (string)
*
* @deprecated 3.3.0-b2 (To be removed: 4.0.0)
*/
function phpbb_inet_pton($address)
{
return inet_pton($address);
}
/**
* Hashes an email address to a big integer
*
* @param string $email Email address
*
* @return string Unsigned Big Integer
*
* @deprecated 3.3.0-b2 (To be removed: 4.0.0)
*/
function phpbb_email_hash($email)
{
return sprintf('%u', crc32(strtolower($email))) . strlen($email);
}

Some files were not shown because too many files have changed in this diff Show More