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

Compare commits

...

581 Commits

Author SHA1 Message Date
Joas Schilling
7f99e1c857 [prep-release-3.1.3] Add migration for 3.1.3 2015-02-01 19:18:30 +01:00
Joas Schilling
036b5c4244 [prep-release-3.1.3] Update version to 3.1.3 2015-02-01 19:15:42 +01:00
Joas Schilling
be30d8251a [prep-release-3.1.3] Add changelog for 3.1.3-RC2 2015-01-31 01:08:29 +01:00
Joas Schilling
9232367b35 [prep-release-3.1.3] Add migration for 3.1.3-RC2 2015-01-31 01:06:23 +01:00
Joas Schilling
dd182c5433 [prep-release-3.1.3] Update version to 3.1.3-RC2 2015-01-31 01:03:55 +01:00
Joas Schilling
e72c1540cb Merge branch 'ticket/13553' into prep-release-3.1.3 2015-01-31 00:57:15 +01:00
Matt Friedman
e6bbde2bff [ticket/13553] Use defined title value in page headers too
PHPBB3-13553
2015-01-31 00:56:59 +01:00
Matt Friedman
ab4b1afd98 [ticket/13553] Make title var accept a lang key var
PHPBB3-13553
2015-01-31 00:56:54 +01:00
Matt Friedman
7127d08c8f [ticket/13553] Message helper should accept a lang key var
PHPBB3-13553
2015-01-31 00:56:47 +01:00
Joas Schilling
bb4287ab2d Merge pull request #3355 from nickvergessen/ticket/13557
[ticket/13557] Add migrations for 3.0.13 and 3.0.13-PL1
2015-01-31 00:43:04 +01:00
Joas Schilling
9628e8df3b [ticket/13557] Add migrations for 3.0.13 and 3.0.13-PL1
PHPBB3-13557
2015-01-30 22:57:15 +01:00
Andreas Fischer
3fef570950 Merge pull request #3354 from nickvergessen/ticket/13556
[ticket/13556] Fix exception translation with filedownloader

* nickvergessen/ticket/13556:
  [ticket/13556] Fix exception translation with filedownloader
2015-01-30 19:00:15 +01:00
Joas Schilling
69450c7152 [ticket/13556] Fix exception translation with filedownloader
PHPBB3-13556
2015-01-30 18:05:13 +01:00
Joas Schilling
e5f2eee167 Merge pull request #3341 from brunoais/ticket/13544
[ticket/13544] Fixing wrong SQL query for permission_unset() for roles
2015-01-30 17:45:21 +01:00
Andreas Fischer
b6786f8ba1 Merge branch 'prep-release-3.0.13' into prep-release-3.1.3
* prep-release-3.0.13:
  [prep-release-3.0.13] Correct changelog link to 3.0.13 changes.
  [prep-release-3.0.13] Also update version in references to files.
  [prep-release-3.0.13] Add changelog for 3.0.13-PL1 release.
  [prep-release-3.0.13] Get rid of roman numbers in CHANGELOG.html.
  [prep-release-3.0.13] Bump version numbers for 3.0.13-PL1 release.
  [ticket/13549] Do not exit when ORIG_PATH_INFO just contains SCRIPT_NAME.
  [ticket/12933] Handle case when * is last character of word
  [ticket/13554] Show feature release upgrades in blue rather than red.

Conflicts:
	build/build.xml
	phpBB/adm/style/acp_update.html
	phpBB/docs/CHANGELOG.html
	phpBB/docs/INSTALL.html
	phpBB/includes/constants.php
	phpBB/includes/startup.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
	tests/security/trailing_path_test.php
2015-01-30 13:34:40 +01:00
Dhruv Goel
c130165bfa Merge pull request #3353 from nickvergessen/ticket/13553
[ticket/13553] Add a method to the controller helper to display a message
2015-01-30 13:09:14 +05:30
Andreas Fischer
5f237a0426 [prep-release-3.0.13] Correct changelog link to 3.0.13 changes. 2015-01-30 01:32:34 +01:00
Andreas Fischer
1e94b0ae71 [prep-release-3.0.13] Also update version in references to files. 2015-01-29 23:32:05 +01:00
Andreas Fischer
5fea945b5b [prep-release-3.0.13] Add changelog for 3.0.13-PL1 release. 2015-01-29 23:27:12 +01:00
Andreas Fischer
208923563e [prep-release-3.0.13] Get rid of roman numbers in CHANGELOG.html. 2015-01-29 23:16:34 +01:00
Joas Schilling
afe99f9050 [ticket/13553] Add a method to the controller helper to display a message
PHPBB3-13553
2015-01-29 19:08:32 +01:00
Andreas Fischer
40e676ad03 [prep-release-3.0.13] Bump version numbers for 3.0.13-PL1 release. 2015-01-29 18:17:29 +01:00
Dhruv Goel
36f8fb2b37 Merge pull request #3347 from bantu/ticket/13554
[ticket/13554] Show feature release upgrades in blue rather than red.
2015-01-29 11:47:37 +05:30
Andreas Fischer
872caf805c Merge pull request #3348 from bantu/ticket/13549
[ticket/13549] Do not exit when ORIG_PATH_INFO just contains SCRIPT_NAME...

* bantu/ticket/13549:
  [ticket/13549] Do not exit when ORIG_PATH_INFO just contains SCRIPT_NAME.
2015-01-29 00:06:00 +01:00
Andreas Fischer
8da3a6f117 Merge pull request #3349 from bantu/ticket/12933
[ticket/12933] Handle case when * is last character of word

* bantu/ticket/12933:
  [ticket/12933] Handle case when * is last character of word
2015-01-29 00:03:05 +01:00
Marc Alexander
7495055907 [ticket/13549] Do not exit when ORIG_PATH_INFO just contains SCRIPT_NAME.
The ORIG_PATH_INFO on IIS also contains the script name. Only use that
for killing the script after removing the script name from ORIG_PATH_INFO.

PHPBB3-13549
2015-01-28 22:07:16 +01:00
Dhruv
5eb0d422c8 [ticket/12933] Handle case when * is last character of word
PHPBB3-12933
2015-01-28 21:59:58 +01:00
Andreas Fischer
dff1ea6b85 [ticket/13554] Show feature release upgrades in blue rather than red.
PHPBB3-13554
2015-01-28 21:59:03 +01:00
brunoais
4b16add055 [ticket/13544] Use integer case because $role_id is an int
PHPBB3-13544
2015-01-26 22:00:20 +00:00
brunoais
73d1bf9fea [ticket/13544] Fixing wrong SQL query for permission_unset for roles
PHPBB3-13544
2015-01-26 19:21:22 +00:00
Joas Schilling
b2b5addd09 [prep-release-3.1.3] Add changelog for 3.1.3-RC1 2015-01-26 20:09:46 +01:00
Joas Schilling
513b2f8296 [prep-release-3.1.3] Prepare Changelog 2015-01-26 20:00:11 +01:00
Joas Schilling
32b25d7b11 [prep-release-3.1.3] Add migration for 3.1.3-RC1 2015-01-26 19:43:36 +01:00
Joas Schilling
acfb9b9539 [prep-release-3.1.3] Update version to 3.1.2-RC1 2015-01-26 19:42:06 +01:00
Nils Adermann
1c6ebcf02b Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [prep-release-3.0.13] Bump version numbers for 3.0.13 release
  [prep-release-3.0.13] Highlight security relevant changes

Conflicts:
	build/build.xml
	phpBB/install/database_update.php
2015-01-26 19:01:34 +01:00
Nils Adermann
ebd5aace3f Merge branch 'prep-release-3.0.13' into develop-olympus
* prep-release-3.0.13:
  [prep-release-3.0.13] Bump version numbers for 3.0.13 release
  [prep-release-3.0.13] Highlight security relevant changes

Conflicts:
	build/build.xml
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2015-01-26 18:57:06 +01:00
Nils Adermann
5ce89ae82f [prep-release-3.0.13] Bump version numbers for 3.0.13 release 2015-01-26 18:08:31 +01:00
Nils Adermann
4b42589cfa [prep-release-3.0.13] Highlight security relevant changes 2015-01-26 17:53:43 +01:00
Andreas Fischer
ffbe8cdc96 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12089] Add assert message on HTTP status code check
2015-01-26 02:47:38 +01:00
Andreas Fischer
4c11ea97d5 Merge pull request #3339 from nickvergessen/ticket/12089
[ticket/12089] Add assert message on HTTP status code check

* nickvergessen/ticket/12089:
  [ticket/12089] Add assert message on HTTP status code check
2015-01-26 02:47:36 +01:00
Joas Schilling
ed2d080551 [ticket/12089] Add assert message on HTTP status code check
PHPBB3-12089
2015-01-25 23:06:56 +01:00
Marc Alexander
a2fbde44c0 Merge pull request #3336 from nickvergessen/ticket/13543
Ticket/13543
2015-01-24 21:52:56 +01:00
Joas Schilling
b2674cf1f6 [ticket/13543] Fix broken slow test
PHPBB3-13543
2015-01-24 21:10:53 +01:00
Joas Schilling
c423038587 [ticket/13543] Add slow tests to travis matrix
PHPBB3-13543
2015-01-24 21:10:35 +01:00
Joas Schilling
9cdbb69f9e Merge pull request #3321 from marc1706/ticket/13282
[ticket/13282] Use 0 as default for integer type columns in postgresql
2015-01-23 17:32:28 +01:00
Marc Alexander
eb4594d8ee [ticket/13282] Add unit test for adding integer column with default null
PHPBB3-13282
2015-01-22 23:17:59 +01:00
Nils Adermann
40ab75478e Merge pull request #3173 from Nicofuma/ticket/13361
[ticket/13361] Improve the exception listener
2015-01-22 16:16:21 +01:00
Marc Alexander
47f04d7620 [ticket/13282] Add functional tests for adding profilefields
PHPBB3-13282
2015-01-22 10:30:24 +01:00
Marc Alexander
816465bfe9 [ticket/13282] Use strpos() instead of preg_match()
PHPBB3-13282
2015-01-22 10:11:08 +01:00
Marc Alexander
1367fc234f [ticket/13282] Use 0 as default for integer type columns in postgresql
PHPBB3-13282
2015-01-22 00:06:48 +01:00
Andreas Fischer
a737eeb6ce Merge pull request #3320 from marc1706/ticket/13534
[ticket/13534] Set imagick path to empty string to prevent failing path ...

* marc1706/ticket/13534:
  [ticket/13534] Set imagick path to empty string to prevent failing path check
2015-01-21 16:59:26 +01:00
Andreas Fischer
7ed065a630 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [develop-olympus] Increment version number to 3.0.14-dev.
  [develop-olympus] Add changelog for 3.0.13 release.
  [develop-olympus] Bump version numbers for 3.0.13-RC1 release.
  [develop-olympus] Bumping version numbers to final for 3.0.13 releases.

Conflicts:
	build/build.xml
	phpBB/docs/CHANGELOG.html
	phpBB/docs/INSTALL.html
	phpBB/includes/constants.php
	phpBB/install/convertors/convert_phpbb20.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
	phpBB/styles/prosilver/imageset/imageset.cfg
	phpBB/styles/prosilver/style.cfg
	phpBB/styles/prosilver/template/template.cfg
	phpBB/styles/prosilver/theme/theme.cfg
	phpBB/styles/subsilver2/imageset/imageset.cfg
	phpBB/styles/subsilver2/style.cfg
	phpBB/styles/subsilver2/template/template.cfg
	phpBB/styles/subsilver2/theme/theme.cfg
2015-01-21 16:07:12 +01:00
Marc Alexander
7d6fdcfaa5 [ticket/13534] Set imagick path to empty string to prevent failing path check
The imagick path defaults to /usr/bin. If it doesn't exist for some reason,
for example on travis, the form won't be submitted and the settings won't be
changed.

PHPBB3-13534
2015-01-21 15:18:25 +01:00
Andreas Fischer
14585fcb4f [develop-olympus] Increment version number to 3.0.14-dev. 2015-01-21 15:15:30 +01:00
Tristan Darricau
7fef91afd2 [ticket/13361] Rename exception to runtime_exception
PHPBB3-13361
2015-01-21 08:41:02 +01:00
Andreas Fischer
2c9e178a42 [develop-olympus] Add changelog for 3.0.13 release. 2015-01-21 01:45:23 +01:00
Andreas Fischer
9f7f366573 [develop-olympus] Bump version numbers for 3.0.13-RC1 release. 2015-01-21 01:32:18 +01:00
Andreas Fischer
c09023d1db [develop-olympus] Bumping version numbers to final for 3.0.13 releases. 2015-01-21 01:25:50 +01:00
Nils Adermann
ddeb696b25 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13531] Send 404 Not Found.
  [ticket/13531] Explicitly disallow trailing paths (e.g. PATH_INFO).
2015-01-21 01:07:30 +01:00
Nils Adermann
eaeb88133f Merge pull request #3316 from bantu/ticket/13531
[ticket/13531] Explicitly disallow trailing paths (e.g. PATH_INFO).
2015-01-21 01:05:13 +01:00
Andreas Fischer
e34b92882a [ticket/13531] Send 404 Not Found.
PHPBB3-13531
2015-01-21 01:02:16 +01:00
Marc Alexander
4b9434bf1b [ticket/13531] Explicitly disallow trailing paths (e.g. PATH_INFO).
PHPBB3-13531
2015-01-21 01:02:08 +01:00
Tristan Darricau
08e186af8e Merge pull request #3314 from VSEphpbb/ticket/13133
[ticket/13133] Fix variable name in set_custom_style()

* VSEphpbb/ticket/13133:
  [ticket/13133] Fix variable name in set_custom_style()
2015-01-20 23:47:44 +01:00
Tristan Darricau
f6057c5eab Merge pull request #3315 from nickvergessen/ticket/13530
[ticket/13530] Fix undefined variables

* nickvergessen/ticket/13530:
  [ticket/13530] Fix undefined variables
2015-01-20 23:43:57 +01:00
Joas Schilling
ed6b8f84ad [ticket/13530] Fix undefined variables
PHPBB3-13530
2015-01-20 23:36:45 +01:00
Tristan Darricau
9334100cb3 Merge pull request #3313 from nickvergessen/ticket/13528
[ticket/13528] Return correct translation instead of is_set()

* nickvergessen/ticket/13528:
  [ticket/13528] Return correct translation instead of is_set()
2015-01-20 23:36:23 +01:00
Joas Schilling
a5fae1b1f0 Merge pull request #3293 from Nicofuma/ticket/13489
[ticket/13489] Disable the event dispatcher in the migrator
2015-01-20 23:27:54 +01:00
Matt Friedman
41966c481f [ticket/13133] Fix variable name in set_custom_style()
PHPBB3-13133
2015-01-20 14:21:02 -08:00
Andreas Fischer
d0e5c0a187 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13527] Apply htmlspecialchars() to data from version server.
  [ticket/13527] Remove two unused variables.

Conflicts:
	phpBB/includes/acp/acp_update.php
2015-01-20 23:15:21 +01:00
Andreas Fischer
d17904884e Merge pull request #3312 from bantu/ticket/13527
[ticket/13527] Escape information received from version server

* bantu/ticket/13527:
  [ticket/13527] Apply htmlspecialchars() to data from version server.
  [ticket/13527] Remove two unused variables.
2015-01-20 23:14:38 +01:00
Andreas Fischer
6e00529f36 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13526] Correctly validate the ucp_pm_options form key.
2015-01-20 23:12:53 +01:00
Andreas Fischer
a8027c542f Merge pull request #3311 from bantu/ticket/13526
[ticket/13526] Correctly validate the ucp_pm_options form key.

* bantu/ticket/13526:
  [ticket/13526] Correctly validate the ucp_pm_options form key.
2015-01-20 23:12:00 +01:00
Andreas Fischer
4d0b04a397 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13519] Correctly validate imagick path as path and not string

Conflicts:
	phpBB/includes/acp/acp_attachments.php
2015-01-20 23:11:29 +01:00
Andreas Fischer
3134b6b70e Merge pull request #3306 from marc1706/ticket/13519
[ticket/13519] Correctly validate imagick path as path and not string

* marc1706/ticket/13519:
  [ticket/13519] Correctly validate imagick path as path and not string
2015-01-20 23:10:19 +01:00
Joas Schilling
d1bff80dd1 [ticket/13528] Return correct translation instead of is_set()
PHPBB3-13528
2015-01-20 22:56:33 +01:00
Joas Schilling
f02dc44a23 Merge pull request #3138 from prototech/ticket/12642
[ticket/12642] Ensure CPF type specific options are set when editing booleans.
2015-01-20 22:46:08 +01:00
Andreas Fischer
92b5222295 [ticket/13527] Apply htmlspecialchars() to data from version server.
PHPBB3-13527
2015-01-20 22:40:39 +01:00
Andreas Fischer
251868dd7e [ticket/13527] Remove two unused variables.
PHPBB3-13527
2015-01-20 22:34:14 +01:00
Joas Schilling
23069a13e2 [ticket/13526] Correctly validate the ucp_pm_options form key.
PHPBB3-13526
2015-01-20 22:16:24 +01:00
Joas Schilling
40006376f2 Merge pull request #3226 from prototech/ticket/13420
[ticket/13420] Correctly filter by lt/gt/equal to 0 posts when pruning users.
2015-01-20 20:58:12 +01:00
Joas Schilling
e66a28eb14 Merge branch 'develop-olympus' into develop-ascraeus
Conflicts:
	.travis.yml
2015-01-20 20:49:45 +01:00
Joas Schilling
03e3ee7f16 Merge pull request #3310 from bantu/ticket/13523
[ticket/13523] Install PHPUnit manually instead of from PEAR.
2015-01-20 20:47:36 +01:00
Andreas Fischer
0beb9128f9 [ticket/13523] Install PHPUnit manually instead of from PEAR.
The pear.phpunit.de channel has been shut down in 2014.

PHPBB3-13523
2015-01-20 20:31:08 +01:00
Joas Schilling
d99cd2d02e Merge pull request #3278 from rxu/ticket/13492
[ticket/13492] Fix IDN support for custom BBCode URL tokens
2015-01-20 17:31:06 +01:00
Tristan Darricau
dab0728357 [ticket/13489] Fix service configuration
PHPBB3-13489
2015-01-20 14:19:55 +01:00
rxu
8002af7526 [ticket/13492] Add the migration to update custom bbcodes with IDN regexps
Also fix the $utf8 checking regexp removing the curly braces.

PHPBB3-13492
2015-01-20 08:47:56 +07:00
Andreas Fischer
38c5ee6eec Merge pull request #3308 from nickvergessen/ticket/13504
[ticket/13504] Fix invalid variable $user

* nickvergessen/ticket/13504:
  [ticket/13504] Fix invalid variable $user
2015-01-19 23:23:57 +01:00
Nils Adermann
e4a041fedb Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/10985] Add fix to properly inherit style during update process

Conflicts:
	phpBB/includes/bbcode.php
2015-01-19 22:29:38 +01:00
Nils Adermann
ebbe6a7791 Merge pull request #2990 from Senky/ticket/10985
[ticket/10985] Error bbcode.html not found when updating with custom style inheriting from prosilver
2015-01-19 22:27:14 +01:00
Joas Schilling
7e8bb68999 [ticket/13504] Fix invalid variable $user
PHPBB3-13504
2015-01-19 21:42:22 +01:00
Joas Schilling
ff39ffacf6 Merge pull request #3296 from PayBas/ticket/13431
[ticket/13431] Fix responsive RTL media queries for <IE11
2015-01-19 21:37:14 +01:00
Joas Schilling
c29db8e7a4 Merge pull request #3294 from PayBas/ticket/13507
[ticket/13507] Fix horizontal scrollbar for large images in posts
2015-01-19 21:13:41 +01:00
Marc Alexander
6564446b0f [ticket/13519] Correctly validate imagick path as path and not string
PHPBB3-13519
2015-01-19 20:47:47 +01:00
Tristan Darricau
add3d3e760 Merge pull request #3055 from marc1706/ticket/13192
[ticket/13192] Add method for generating valid user page links based on mod_rewrite

* marc1706/ticket/13192:
  [ticket/13192] Add test for app.php in external subfolder
  [ticket/13192] Use ltrim() instead of preg_replace()
  [ticket/13192] Order test cases consistently
  [ticket/13192] Remove app.php on mod rewrite even if app.php is outside root
  [ticket/13192] Pass correct parameters and rename method to get_valid_page
  [ticket/13192] Use get_valid_user_page in confirm_box() and cleanup globals
  [ticket/13192] Use get_valid_user_page method in build_url function
  [ticket/13192] Add method for generating valid user page links
2015-01-19 16:45:43 +01:00
Marc Alexander
da189a105b [ticket/13192] Add test for app.php in external subfolder
PHPBB3-13192
2015-01-19 16:10:32 +01:00
Andreas Fischer
9d2c6b6ed6 Merge pull request #3299 from Nicofuma/ticket/13511
[ticket/13511] Call the check() method with the phpcsFile object

* Nicofuma/ticket/13511:
  [ticket/13511] Call the check() method with the phpcsFile object
2015-01-17 01:20:40 +01:00
Tristan Darricau
6b92fccd06 [ticket/13511] Call the check() method with the phpcsFile object
PHPBB3-13511
2015-01-17 00:09:06 +01:00
PayBas
4e5e356555 [ticket/13431] Fix responsive RTL media queries for <IE11
PHPBB3-13431
2015-01-16 19:25:45 +01:00
PayBas
9e38e9dc6f [ticket/13507] Fix horizontal scrollbar for large images in posts
PHPBB3-13507
2015-01-16 19:10:04 +01:00
Tristan Darricau
ce47170c29 [ticket/13489] Update migrations
PHPBB3-13489
2015-01-14 12:16:24 +01:00
Tristan Darricau
4df125625c [ticket/13489] Fix tests
PHPBB3-13489
2015-01-14 12:04:30 +01:00
Tristan Darricau
8ef238ea73 [ticket/13361] Fix the JsonResponse in the exception listener
PHPBB3-13361
2015-01-14 11:13:28 +01:00
Tristan Darricau
c99ed64473 [ticket/13489] Disable the event dispatcher in the migrator
PHPBB3-13489
2015-01-14 11:09:44 +01:00
Joas Schilling
e3e16a0166 Merge pull request #3234 from brunoais/ticket/13154
[ticket/13154] Event to edit user list for notification in notifications
2015-01-13 23:31:28 +01:00
Joas Schilling
2a08c60a62 Merge pull request #3233 from brunoais/ticket/13160
[ticket/13160] Viewtopic; before viewing permissions event
2015-01-13 23:27:30 +01:00
Joas Schilling
b27c0ab992 Merge pull request #3283 from Elsensee/ticket/13490
[ticket/13490] Allow multibyte characters in edit reason
2015-01-12 23:56:35 +01:00
brunoais
1d49ccd920 [ticket/13160] New line before comment block
PHPBB3-13160
2015-01-11 19:12:08 +00:00
Oliver Schramm
f075fb78f6 [ticket/13490] Allow multibyte characters in edit reason
PHPBB3-13490
2015-01-11 19:29:33 +01:00
rxu
17f4dce0fc [ticket/13492] Add IDN support for custom BBCode URL tokens
Custom BBCode URL tokens does not support IDN.
Custom BBCodes added earlier than IDN has been applied are unaffected.

PHPBB3-13492
2015-01-11 20:36:22 +07:00
Tristan Darricau
1f4bb2c149 [ticket/13361] Add tests
PHPBB3-13361
2015-01-11 11:28:45 +01:00
Dhruv Goel
e8464d7fe2 Merge pull request #3276 from nickvergessen/ticket/13272
[ticket/13272] Add vendor/ folder to "changed files" package
2015-01-11 15:42:58 +05:30
Dhruv Goel
fbf7726642 Merge pull request #3176 from Senky/ticket/13346
[ticket/13346] Fix indentation, spacing and missing divs
2015-01-11 14:42:40 +05:30
Joas Schilling
bfba52781b Merge pull request #3210 from brunoais/ticket/13147
[ticket/13147] Change get_global_visibility_sql()'s results
2015-01-10 22:00:07 +01:00
Joas Schilling
659e15656f [ticket/13272] Add vendor/ folder to "changed files" package
PHPBB3-13272
2015-01-10 21:17:16 +01:00
Jakub Senko
10e72a36a3 [ticket/13346] Remove unnecessary divs
PHPBB3-13346
2015-01-10 21:05:30 +01:00
brunoais
e0733ae435 [ticket/13147] New line before comment block
PHPBB3-13147
2015-01-10 17:15:54 +00:00
brunoais
ef9abd7165 [ticket/13147] Override variable name changed by request
PHPBB3-13147
2015-01-10 17:15:22 +00:00
brunoais
9cc4d60b88 [ticket/13146] Remove empty line
PHPBB3-13146
2015-01-10 17:08:46 +00:00
brunoais
ec749a2b39 [ticket/13146] "Make it" -> "Set it to"
PHPBB3-13146
2015-01-10 17:08:46 +00:00
brunoais
6d3fca9a41 [ticket/13146] Forced line feed on long line
PHPBB3-13146
2015-01-10 17:08:45 +00:00
brunoais
9cbb9b4253 [ticket/13146] Fixed wrong tab + space into only tab
PHPBB3-13146
2015-01-10 17:08:44 +00:00
brunoais
fce1be2684 [ticket/13160] Appending "_check" to override variable names
PHPBB3-13160
2015-01-10 17:08:43 +00:00
brunoais
f02e3a4076 [ticket/13160] lowercase null
PHPBB3-13160
2015-01-10 17:08:43 +00:00
brunoais
3d8aaf6aaf [ticket/13160] Wrong variable types fixed
PHPBB3-13160
2015-01-10 17:08:42 +00:00
brunoais
ffb7d618ac [ticket/13160] Removed an unwanted tab char.
PHPBB3-13160
2015-01-10 17:08:41 +00:00
brunoais
11269fe62a [ticket/13160] Allow override topic_tracking_info
PHPBB3-13160
2015-01-10 17:08:40 +00:00
brunoais
a5a6855a0d [ticket/13160] Allow override f_read and forum password
Adds a couple of variables to the event that allows  extension authors to
bypass the f_read and forum password checks as if the user had those permissions
whether or not he actually has them.

PHPBB3-13160
2015-01-10 17:08:40 +00:00
brunoais
a0287a62c1 [ticket/13160] Viewtopic; before viewing permissions event
An event before the f_Read permissions check in viewtopic

PHPBB3-13160
2015-01-10 17:08:39 +00:00
brunoais
2b76d7dc7c [ticket/13154] Don't assign dispatcher to a variable. Just the obj param.
PHPBB3-13154
2015-01-10 17:06:51 +00:00
Tristan Darricau
74e8f9bd4e [ticket/13361] Support ajax request (send a json response)
PHPBB3-13361
2015-01-10 17:14:14 +01:00
Marc Alexander
a415a4ec2b Merge pull request #3274 from nickvergessen/ticket/13486
[ticket/13486] Fix typo in method name
2015-01-10 16:25:27 +01:00
Joas Schilling
f756632185 [ticket/13486] Fix typo in method name
PHPBB3-13486
2015-01-10 15:14:58 +01:00
Marc Alexander
c28ef9afdd Merge pull request #3195 from nickvergessen/ticket/13238-asc
[ticket/13238] Do not drop indexes that do not exist from fulltext search
2015-01-10 13:17:59 +01:00
Marc Alexander
ba477f77c7 Merge pull request #3272 from nickvergessen/ticket/13307
[ticket/13307] Update mysql_upgrader.php to work without the schema_data...
2015-01-10 13:06:46 +01:00
brunoais
8ed5a047ec [ticket/13147] Wrong extra new line
PHPBB3-13147
2015-01-10 11:48:01 +00:00
Marc Alexander
e6509aaf60 [ticket/13192] Use ltrim() instead of preg_replace()
PHPBB3-13192
2015-01-10 12:46:40 +01:00
brunoais
9caec668af [ticket/13147] Renaming content_replaced->get_global_visibility_sql_overwrite
Renamed content_replaced to get_global_visibility_sql_overwrite in order to
follow the convention in other events' variables that have the same basic
function

PHPBB3-13147
2015-01-10 11:44:55 +00:00
brunoais
a09c38f1cc [ticket/13147] Removing globals and using injection
Using globals is NG. Using a parameter instead.

PHPBB3-13147
2015-01-10 11:44:54 +00:00
brunoais
0f6a0d820e [ticket/13147] Using $phpbb_dispatcher global var
PHPBB3-13147
2015-01-10 11:44:54 +00:00
brunoais
8f5e3d5efb [ticket/13147] Allow changing the result of calling get_global_visibility_sql
PHPBB3-13147
2015-01-10 11:44:52 +00:00
Marc Alexander
67c987f0d0 Merge pull request #3166 from nickvergessen/Senky-ticket/12866
[ticket/12866] Wrong profile field validation options
2015-01-10 12:36:49 +01:00
Joas Schilling
bf59d8dd74 Merge pull request #3209 from brunoais/ticket/13146
[ticket/13146] Allow changing the result of calling get_forums_visibility_sql
2015-01-10 12:29:48 +01:00
brunoais
cea35c486c [ticket/13146] Removed stray empty line
PHPBB3-13146
2015-01-10 09:55:43 +00:00
brunoais
b64d8c59b0 [ticket/13146] dispatcher, not phpbb_dispatcher
PHPBB3-13146
2015-01-10 09:18:03 +00:00
brunoais
349aaab6ac [ticket/13146] Even more missing phpbb_mock_event_dispatcher()
PHPBB3-13146
2015-01-10 08:32:22 +00:00
brunoais
da9ac2da72 [ticket/13146] Last missing phpbb_mock_event_dispatcher()
Thank you nickvergessen

PHPBB3-13146
2015-01-10 08:11:51 +00:00
Joas Schilling
8ae1b0c52e Merge pull request #3189 from rxu/ticket/12926
[ticket/12926] Support for IDN (IRI)
2015-01-10 00:09:57 +01:00
Joas Schilling
58d8ea5b0b Merge pull request #3265 from tas2580/develop-ascraeus
[ticket/13453] Sort param in Canonical URL
2015-01-09 21:41:19 +01:00
rxu
d86bdcb2a7 [ticket/12926] Get rid of the $scheme and $inline vars, fix regex_idn.php
Get rid of the $scheme and $inline vars, fix regex_idn.php to generate
both common and inline mode regexes all at once.

PHPBB3-12926
2015-01-10 03:21:36 +07:00
Joas Schilling
d2a4d6624f [ticket/13307] Update mysql_upgrader.php to work without the schema_data.php
The file has been delete quite some time ago.

PHPBB3-13307
2015-01-09 19:46:14 +01:00
Joas Schilling
d9bdd05c80 Merge pull request #3128 from omniError/ticket/13306
[ticket/13306] add error level to collector
2015-01-09 18:39:11 +01:00
Joas Schilling
3350df131f Merge pull request #3227 from prototech/ticket/13366
[ticket/13366] Ensure plupload_last_gc config entry is dynamic.
2015-01-09 18:11:41 +01:00
Joas Schilling
9ce8b62894 Merge pull request #3242 from lavigor/ticket/13442
[ticket/13442] UTF-8 symbols for database host
2015-01-09 18:07:00 +01:00
Joas Schilling
65ffc76e2f Merge pull request #3258 from marc1706/ticket/13385
[ticket/13385] Free result in \phpbb\config\db::set_atomic()
2015-01-09 18:03:21 +01:00
Joas Schilling
b64da23fe1 Merge pull request #3267 from Elsensee/ticket/13478
[ticket/13478] Add event core.bbcode_cache_init_end
2015-01-09 17:47:46 +01:00
Joas Schilling
67c9f4d064 Merge pull request #3268 from Elsensee/ticket/13470
[ticket/13470] Fix non-empty username array if no usernames are given
2015-01-09 17:41:42 +01:00
Joas Schilling
d4c078cc78 Merge pull request #3271 from marc1706/ticket/13432
[ticket/13432] Make sure to add language file when including acp_modules
2015-01-09 17:36:07 +01:00
Marc Alexander
9d9c57f334 [ticket/13432] Make sure to add language file when including acp_modules
PHPBB3-13432
2015-01-09 13:47:36 +01:00
Marc Alexander
38f184ad6b [ticket/13385] Remove unneeded $result in \phpbb\config\db::set_atomic()
PHPBB3-13385
2015-01-09 13:41:36 +01:00
Marc Alexander
7ba1a96427 [ticket/13192] Order test cases consistently
PHPBB3-13192
2015-01-09 13:38:52 +01:00
Oliver Schramm
e3571fc6eb [ticket/13470] Fix non-empty username array if no usernames are given
PHPBB3-13470
2015-01-08 22:17:05 +01:00
Oliver Schramm
953a98dc0b [ticket/13478] Add event core.bbcode_cache_init_end
PHPBB3-13478
2015-01-08 00:13:58 +01:00
Tobi Schäfer
de3d7aca16 [ticket/13453] Sort param in Canonical URL
PHPBB3-13453
2015-01-06 15:31:27 +01:00
brunoais
346f654b2e [ticket/13146] Use the correct phpbb_mock_event_dispatcher, instead of builder
PHPBB3-13146
2015-01-06 12:58:01 +00:00
Joas Schilling
87578e90eb Merge pull request #3262 from Elsensee/ticket/13466
[ticket/13466] Add bitfield and uid to event core.message_parser_check_message
2015-01-06 11:29:11 +01:00
Joas Schilling
874356e57f Merge pull request #3243 from kinerity/ticket/13437
[ticket/13437] Add template event viewtopic_body_post_author_before/after
2015-01-06 11:24:25 +01:00
Joas Schilling
26bf79425c Merge pull request #3231 from rxu/ticket/13435
[ticket/13435] Add core event to modify submit_post() sql data
2015-01-06 11:08:01 +01:00
Joas Schilling
d36b0452bd Merge pull request #3230 from omniError/ticket/13430
[ticket/13430] Add event core.prune_sql
2015-01-06 11:05:08 +01:00
Joas Schilling
64d880a15c Merge branch 'Wolfsblvt-ticket/13428' into develop-ascraeus 2015-01-06 11:01:40 +01:00
Wolfsblvt
387e4b942b [ticket/13428] Add core events to memberlist.php for teampage
PHPBB3-13428
2015-01-06 11:01:18 +01:00
Joas Schilling
6fd8f1b835 Merge pull request #3221 from MasterShredder/ticket/13422
[ticket/13422] New events for save custom cookies and set custom ban type
2015-01-06 10:48:14 +01:00
Joas Schilling
2dab3c8c52 Merge pull request #3211 from brunoais/ticket/13148
[ticket/13148] Creating a final way to modify edit logs output
2015-01-06 10:25:10 +01:00
Joas Schilling
35b7f94754 Merge pull request #3070 from brunoais/ticket/13141
[Event] Allow applying additional permissions to MCP access besides f_read
2015-01-06 10:04:51 +01:00
Oliver Schramm
2532583765 [ticket/13466] Add bitfield and uid to event core.message_parser_check_message
PHPBB3-13466
2015-01-05 22:15:56 +01:00
Joas Schilling
7a34bf9bf5 Merge pull request #3244 from rxu/ticket/13449
[ticket/13449] Add viewforum event after the topic's been assigned to template
2015-01-05 20:39:58 +01:00
Marc Alexander
281cc53532 [ticket/13192] Remove app.php on mod rewrite even if app.php is outside root
PHPBB3-13192
2015-01-04 17:41:02 +01:00
Marc Alexander
3638b2ff64 Merge pull request #3254 from VSEphpbb/ticket/13440
[ticket/13440] Update event version to 3.1.3-RC1
2015-01-04 12:21:09 +01:00
Marc Alexander
8c27c7f10b Merge pull request #3253 from VSEphpbb/ticket/13439
[ticket/13439] Update event version to 3.1.3-RC1
2015-01-04 11:25:43 +01:00
Matt Friedman
88034ea2f0 [ticket/13440] Update event version to 3.1.3-RC1
PHPBB3-13440
2015-01-04 01:40:18 -08:00
Matt Friedman
86f66b5f72 [ticket/13439] Update event version to 3.1.3-RC1
PHPBB3-13439
2015-01-04 01:38:50 -08:00
Marc Alexander
838b1250f6 Merge pull request #3249 from VSEphpbb/ticket/13440
[ticket/13440] Add event core.login_box_failed
2015-01-04 00:43:11 +01:00
Marc Alexander
4da3d41083 Merge pull request #3248 from VSEphpbb/ticket/13439
[ticket/13439] Add event core.acp_users_overview_before
2015-01-04 00:25:20 +01:00
Matt Friedman
9d9b8139d0 [ticket/13440] Add event core.login_box_failed
PHPBB3-13440
2015-01-03 15:23:50 -08:00
Matt Friedman
179a7a4c71 [ticket/13439] Add event core.acp_users_overview_before
PHPBB3-13439
2015-01-03 15:21:47 -08:00
rxu
970ed40b09 [ticket/13449] Add viewforum event after the topic's been assigned to template
PHPBB3-13449
2015-01-03 20:12:47 +07:00
Gaëtan Muller
0e0c649477 [ticket/13441] Functions_convert fails to set global moderators default group
PHPBB3-13441
2015-01-03 13:45:52 +01:00
brunoais
b3bcc1b501 [ticket/13146] Missing delete post test mock
PHPBB3-13146
2015-01-02 19:26:05 +00:00
Kailey Truscott
652a7630bb [ticket/13437] Change "View" to "view"
PHPBB3-13437
2015-01-02 10:38:56 -05:00
Kailey Truscott
7dad863a41 Fix events.md event name
PHPBB3-13437
2015-01-02 10:20:36 -05:00
Kailey Truscott
c61fa1aaa1 [ticket/13437] Add template event viewtopic_body_post_author_before/after
PHPBB3-13437
2015-01-02 10:00:01 -05:00
brunoais
8376a027a1 [ticket/13146] Setup mocks for tests with dispatcher
PHPBB3-13146
2015-01-02 11:46:03 +00:00
lavigor
d769e59090 [ticket/13442] UTF-8 symbols for database host
Added support for cyrillic domains as database hosts.

PHPBB3-13442
2015-01-02 14:21:05 +03:00
brunoais
abc5dbcd71 [ticket/13146] Realign variables and descriptions in event
PHPBB3-13146
2014-12-29 08:42:13 +00:00
brunoais
59ab09273f [ticket/13146] Improved $get_forums_visibility_sql_overwrite's clarity
PHPBB3-13146
2014-12-29 08:40:23 +00:00
brunoais
92d7c16782 [ticket/13148] Wrong version num; copy & paste fail
PHPBB3-13148
2014-12-29 08:23:31 +00:00
brunoais
0104188074 [ticket/13148] Fixed my error
PHPBB3-13148
2014-12-28 20:35:16 +00:00
brunoais
d455dd68f6 [ticket/13148] Fixed syntax error
PHPBB3-13148
2014-12-28 20:25:36 +00:00
brunoais
cf036ea0e8 [ticket/13148] Added more variables as requested
Added more variables as requested and some extra that may be of use.

PHPBB3-13148
2014-12-28 19:52:58 +00:00
MasterShredder
655d95002c [ticket/13422] Renamed event
PHPBB3-13422
2014-12-28 13:20:04 +04:00
MasterShredder
0a1f8388d0 [ticket/13422] Changed some spaces to tabs
PHPBB3-13422
2014-12-28 03:44:07 +04:00
MasterShredder
3f88be6527 [ticket/13422] Changed variable descriptions
PHPBB3-13422
2014-12-28 03:35:21 +04:00
MasterShredder
50ed202aac [ticket/13422] Renamed "continue" variable to "retain_cookie" for the event core.ucp_save_custom_cookies
PHPBB3-13422
2014-12-27 17:43:30 +04:00
Joas Schilling
a92589436a Merge pull request #3213 from brunoais/ticket/13158
[ticket/13158] Allow adding extra auth checks when the user is posting
2014-12-27 14:22:48 +01:00
Joas Schilling
b0f1a0f4bb Merge pull request #3229 from n-aleha/ticket/13098
[ticket/13098] Repair Yahoo contact field
2014-12-27 14:16:55 +01:00
Joas Schilling
6ff0aaaa70 Merge pull request #3225 from prototech/ticket/13302
[ticket/13302] Fix incorrect links to phpBB.com resources
2014-12-27 14:12:23 +01:00
Joas Schilling
ffbe1d424b Merge pull request #3224 from prototech/ticket/13427
[ticket/13427] Add several before/after template events to mcp_front.html
2014-12-27 14:08:51 +01:00
Joas Schilling
a5922a0e8b Merge pull request #3223 from prototech/ticket/13370
[ticket/13370] Allow calling class method in convertor framework directly
2014-12-27 14:07:37 +01:00
Joas Schilling
fa06c7967e Merge pull request #3218 from rxu/ticket/13419
[ticket/13419] Add the lowermost template event
2014-12-27 14:02:39 +01:00
Joas Schilling
d5f99e0478 Merge pull request #3216 from kinerity/ticket/13409
[ticket/13409] Add event core.search_modify_param_before
2014-12-27 14:01:05 +01:00
Joas Schilling
7b43d5c54e Merge pull request #3214 from brunoais/ticket/13159
[ticket/13159] Allow to do extra auth checks on report posting
2014-12-27 13:58:49 +01:00
Joas Schilling
3ba62628dc Merge pull request #3205 from rxu/ticket/13406
[ticket/13406] Add a space between the index name and columns list
2014-12-27 13:51:24 +01:00
Joas Schilling
faad779cf6 Merge pull request #3202 from Nicofuma/ticket/13402
[ticket/13402] Code sniffer, unused use, check the function doc blocks
2014-12-27 13:49:50 +01:00
Joas Schilling
f6b21a2789 Merge pull request #3191 from Elsensee/ticket/13312
[ticket/13312] Add event core.acp_email_send_before
2014-12-27 13:46:32 +01:00
Joas Schilling
867a45138c Merge pull request #3175 from Senky/ticket/13368
[ticket/13368] Add $forum_data to viewforum_get_topic_ids_data event
2014-12-27 13:38:19 +01:00
Joas Schilling
aea67c8e37 Merge pull request #3168 from Senky/ticket/11033
[ticket/11033] FULLTEXT_SPHINX_NO_CONFIG_DATA references unrequired field
2014-12-27 13:37:04 +01:00
Joas Schilling
d2334ab3e0 Merge pull request #3167 from Senky/ticket/12924
[ticket/12924] Make meta tags self-closing
2014-12-27 13:34:48 +01:00
Joas Schilling
5b1c9831c2 Merge pull request #3099 from Senky/ticket/13266
[ticket/13266] Enabling twig dump function if DEBUG is defined
2014-12-27 13:31:01 +01:00
Joas Schilling
a66e4770c1 Merge pull request #3159 from Crizz0/ticket/13357
[ticket/13357] Adds missing LOG_MOVED_TOPIC for 3.0.12 left-over entries
2014-12-27 13:29:04 +01:00
brunoais
0929267e72 [ticket/13154] Wrong variable name in the comment block
PHPBB3-13154
2014-12-19 11:23:23 +00:00
brunoais
dd9c415020 [ticket/13154] space before @var
Not a tab.

PHPBB3-13154
2014-12-19 10:03:57 +00:00
brunoais
dd6efdad59 [ticket/13154] Fix submit_post_test() test group
PHPBB3-13154
2014-12-18 14:56:58 +00:00
brunoais
13320a08ef [ticket/13154] Forgot the $this->
PHPBB3-13154
2014-12-17 23:17:12 +00:00
brunoais
8098d313e6 [ticket/13154] Adjusting phpBB tests for the dispatcher
PHPBB3-13154
2014-12-17 23:11:14 +00:00
brunoais
458f9cade6 [ticket/13154] Adding phpBB dispatcher to notifications manager
PHPBB3-13154
2014-12-17 23:10:54 +00:00
brunoais
7512efed9e [ticket/13154] Allow filtering the list of users to be notified
PHPBB3-13154
2014-12-17 15:17:44 +00:00
rxu
2929f28243 [ticket/13435] Add core event to modify submit_post() sql data
PHPBB3-13435
2014-12-13 21:08:01 +07:00
omniError
7b0cabc416 [ticket/13430] update event version
https://tracker.phpbb.com/browse/PHPBB3-13430

PHPBB3-13430
2014-12-12 17:39:30 -06:00
n-aleha
6463354a39 [ticket/13098] Repair Yahoo contact field
Update the Yahoo link of the yahoo profile field.

PHPBB3-13098
2014-12-12 13:54:35 +02:00
omniError
9f1493ce73 [ticket/13430] Add event core.prune_sql
https://tracker.phpbb.com/browse/PHPBB3-13430

PHPBB3-13430
2014-12-11 16:58:29 -06:00
Jakub Senko
91dc002c31 [ticket/13368] Update version
PHPBB3-13368
2014-12-11 14:11:43 +01:00
Cesar G
54b5ee5806 [ticket/13366] Ensure plupload_last_gc config entry is dynamic.
PHPBB3-13366
2014-12-09 18:50:29 -08:00
Cesar G
75780d7fc8 [ticket/13420] Correctly filter by lt/gt/equal to 0 posts when pruning users.
PHPBB3-13420
2014-12-09 18:27:04 -08:00
Cesar G
61df1ac2b3 Merge remote-tracking branch 'Senky/ticket/12567' into develop-ascraeus
* Senky/ticket/12567:
  [ticket/12567] wrap to top
2014-12-09 17:58:43 -08:00
Cesar G
46384adf00 Merge remote-tracking branch 'Senky/ticket/13319' into develop-ascraeus
* Senky/ticket/13319:
  [ticket/13319] Add missing table tags
2014-12-09 17:50:14 -08:00
Cesar G
719aa66224 [ticket/13302] Fix incorrect link to extensions database.
PHPBB3-13302
2014-12-09 17:10:08 -08:00
Cesar G
15507ffc16 [ticket/13302] Update translations forum link to 3.1.
PHPBB3-13302
2014-12-09 17:10:08 -08:00
Cesar G
bb4b3d2731 [ticket/13302] Update documentation and support forum links to 3.1 versions.
PHPBB3-13302
2014-12-09 17:10:03 -08:00
Cesar G
4dab281da1 [ticket/13427] Add several before/after template events to mcp_front.html.
PHPBB3-13427
2014-12-09 16:26:32 -08:00
Cesar G
1aea572aca [ticket/13370] Allow calling class method in convertor framework directly.
This change allows the usage of array($class, 'method')) directly instead of
having to use the functionX syntax as follows:
array('function1' => array($class, 'method')))

PHPBB3-13370
2014-12-09 15:59:05 -08:00
MasterShredder
fda5d8d637 [ticket/13422] Deleted event core.session_check_user_session 2014-12-08 21:37:07 +03:00
MasterShredder
1896825f39 [ticket/13422] Add new event core.session_set_custom_ban
PHPBB3-13422
2014-12-07 05:59:20 +04:00
MasterShredder
566510769b [ticket/13422] Add new event core.session_check_user_session
PHPBB3-13422
2014-12-07 05:57:07 +04:00
MasterShredder
4700b44125 [ticket/13422] Add new event core.ucp_save_custom_cookies
PHPBB3-13422
2014-12-07 05:52:24 +04:00
Joas Schilling
641a9e5441 Merge pull request #3208 from prototech/ticket/13396
[ticket/13396] Normalize multibyte characters in attachment file names.
2014-12-06 14:22:49 +01:00
Joas Schilling
7fbf5649eb Merge branch 'ticket/13400' into develop-ascraeus 2014-12-06 13:42:24 +01:00
kochi
dfbc109b59 [ticket/13400] Information text if the server load id high at search
PHPBB3-13400
2014-12-06 13:42:16 +01:00
rxu
0a419781c2 [ticket/13419] Add the lowermost template event
PHPBB3-13419
2014-12-06 16:36:33 +07:00
Kailey Truscott
0795b6bd6c [ticket/13409] Change search_id type and release version
PHPBB3-13409
2014-12-05 05:53:59 -05:00
Kailey Truscott
ddd1937655 [ticket/13409] Fix event name
PHPBB3-13409
2014-12-04 21:04:58 -05:00
Kailey Truscott
3bf55c0b4d [ticket/13409] Add event core.search_modify_param_before
PHPBB3-13409
2014-12-04 20:30:16 -05:00
brunoais
a8d3cbe53b [ticket/13159] Allow to do extra auth checks on report posting
PHPBB3-13159
2014-12-03 17:53:10 +00:00
brunoais
96a734b012 [ticket/13158] Allow adding extra auth checks when the user is posting
PHPBB3-13158
2014-12-03 17:34:35 +00:00
brunoais
b7f83b2cfc [ticket/13148] Creating a final way to modify edit logs output
PHPBB3-13148
2014-12-03 16:04:32 +00:00
brunoais
bfecae1d60 [ticket/13146] Forgot delete_post_test.php
PHPBB3-13146
2014-12-03 15:43:27 +00:00
brunoais
1c02f7e032 [ticket/13146] Adding required tests modifications for the new constructor
PHPBB3-13146
2014-12-03 15:10:32 +00:00
brunoais
f045744606 [ticket/13146] FIxed wrong order in config/content.yml
PHPBB3-13146
2014-12-03 14:26:25 +00:00
brunoais
10a4f79135 [ticket/13146] Fixed variable name for the override
PHPBB3-13146
2014-12-03 14:00:00 +00:00
brunoais
4159bb1340 [ticket/13146] Wrong usage of tabs in .yml
PHPBB3-13146
2014-12-03 13:56:50 +00:00
brunoais
ac8a4b05b4 [ticket/13146] Fixing what merging broke
Merging added content I didn't expect it to add. This fixes back to what it is supposed to be.

PHPBB3-13146
2014-12-03 13:55:53 +00:00
brunoais
80a7f6930c [ticket/13146] Adding eventDispatcher to the list
PHPBB3-13146
2014-12-03 13:55:53 +00:00
brunoais
614f975e68 [ticket/13146] $contentReplaced -> $content_replaced
PHPBB3-13146
2014-12-03 13:55:52 +00:00
brunoais
df3447b725 [ticket/13146] Extra line for clarity
Added an extra line after the "if ($contentReplaced)"  to help reading the code

PHPBB3-13146
2014-12-03 13:55:52 +00:00
brunoais
e9cb9baedb [ticket/13146] $phpbb_dispatcher was missing
Added $phpbb_dispatcher to the globals list for this function.

PHPBB3-13146
2014-12-03 13:55:51 +00:00
brunoais
e279a779fc [ticket/13146] Typo on the returning variable
PHPBB3-13146
2014-12-03 13:55:50 +00:00
brunoais
e596d0b6ce [ticket/13147] Adding $approve_forums to the list of the event's variables
PHPBB3-13147
2014-12-03 13:55:50 +00:00
brunoais
0388d82504 [ticket/13146] Adding $content_replaced to allow even more flexibility
PHPBB3-13146
2014-12-03 13:55:49 +00:00
brunoais
909bb523bf [ticket/13146] Allow changing the result of calling get_forums_visibility_sql
PHPBB3-13146
2014-12-03 13:55:48 +00:00
Cesar G
589394e80b [ticket/13396] Normalize multibyte characters in attachment file names.
PHPBB3-13396
2014-12-02 16:23:40 -08:00
Tristan Darricau
7f7f60698c [ticket/13402] Handle arrays and multiples types
PHPBB3-13402
2014-11-30 20:55:29 +01:00
Tristan Darricau
13d4394844 [ticket/13402] Refactor unused use Sniff
PHPBB3-13402
2014-11-30 19:18:18 +01:00
Tristan Darricau
70483d6088 Merge pull request #3204 from rxu/ticket/13405
[ticket/13405] Fix a typo in phpbb/migration/data/v310/style_update_p1.php

* rxu/ticket/13405:
  [ticket/13405] Fix a typo in phpbb/migration/data/v310/style_update_p1.php
2014-11-30 19:07:14 +01:00
rxu
2f92bc38e6 [ticket/13406] Add a space between the index name and columns list
Currently there's no space between the index name and columns list
when generating ADD INDEX sql query for MySQL DBMSes. This may cause errors
on earlier MySQL versions like 3.23.

PHPBB3-13406
2014-11-30 16:52:36 +07:00
rxu
499c1467df [ticket/13405] Fix a typo in phpbb/migration/data/v310/style_update_p1.php
PHPBB3-13405
2014-11-30 11:27:47 +07:00
Tristan Darricau
c5227ab2a5 [ticket/13402] Code sniffer, unused use, check the function doc blocks
PHPBB3-13402
2014-11-29 19:17:52 +01:00
brunoais
fe1f7beaf8 [ticket/13142] Extra space before the comment block
PHPBB3-13142
2014-11-29 10:40:35 +00:00
Joas Schilling
ac8b07ddd9 Merge pull request #3192 from Elsensee/ticket/13393
[ticket/13393] Call user->lang function directly
2014-11-29 09:08:51 +01:00
Joas Schilling
aab98b8626 [ticket/13238] Do not drop indexes that do not exist from fulltext search
PHPBB3-13238
2014-11-28 20:13:49 +01:00
Joas Schilling
1145af71bf [ticket/12866] Update existing profile fields with the new validation
PHPBB3-12866
2014-11-28 20:00:49 +01:00
Jakub Senko
b7f69edaa2 [ticket/12866] Assume underscore is part of \w
PHPBB3-12866
2014-11-28 20:00:48 +01:00
Joas Schilling
8f1a1874a9 Merge pull request #3194 from Nicofuma/ticket/13381
[ticket/13381] Allow ' *' in the doc blocks (especially the header files)
2014-11-28 19:58:56 +01:00
brunoais
bc7db0ae16 [ticket/13141] BUMPing version to 3.1.3
PHPBB3-13141
2014-11-28 15:05:20 +00:00
brunoais
88798b3514 [ticket/13141] Adding more variables to the event
Adding action, forum_id, mode, module and quickmod to
core.mcp_global_f_read_auth_after

PHPBB3-13141
2014-11-28 15:04:31 +00:00
Tristan Darricau
79ce924bc1 [ticket/13381] Allow ' *' in the doc blocks (especially the header files)
PHPBB3-13381
2014-11-27 11:20:26 +01:00
Tristan Darricau
d43e8c94f5 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/11613] Allow cookies to work on netbios domains
2014-11-27 10:39:11 +01:00
Tristan Darricau
b54dbe0df6 Merge pull request #3188 from marc1706/ticket/11613
[ticket/11613] Allow cookies for domains without dots

* marc1706/ticket/11613:
  [ticket/11613] Allow cookies to work on netbios domains
2014-11-27 10:38:45 +01:00
Cesar G
79a1495f66 Merge remote-tracking branch 'Prosk8er/ticket/13391' into develop-ascraeus
* Prosk8er/ticket/13391:
  [ticket/13391] subsilver2 poll options must have a setting of 1 when editing a post
2014-11-26 18:43:24 -08:00
Oliver Schramm
893e4b3067 [ticket/13393] Call user->lang function directly
PHPBB3-13393
2014-11-27 00:55:01 +01:00
Oliver Schramm
a349db54d6 [ticket/13312] Use empty for usernames array
PHPBB3-13312
2014-11-26 23:10:02 +01:00
Oliver Schramm
41d0b5d3a2 [ticket/13312] Add event core.acp_email_send_before
PHPBB3-13312
2014-11-26 23:01:58 +01:00
Prosk8er
a5a18fb6dd [ticket/13391] subsilver2 poll options must have a setting of 1 when editing a post
PHPBB3-13391
2014-11-26 14:09:07 -05:00
rxu
a8c62e707a [ticket/12926] Support for IDN (IRI)
Add international domain name support for URLs.

PHPBB3-12926
2014-11-27 01:18:49 +07:00
Jakub Senko
b67b67f2df [ticket/11613] Allow cookies to work on netbios domains
PHPBB3-11613
2014-11-26 14:58:33 +01:00
Marc Alexander
ee90d227c2 Merge pull request #3187 from Nicofuma/ticket/13362
[ticket/13362] Fix cache paths in .gitignore
2014-11-26 13:37:02 +01:00
Marc Alexander
51f46a8f91 Merge pull request #3185 from Nicofuma/ticket/13389
[ticket/13389] Replace pattern with path
2014-11-26 13:30:03 +01:00
Marc Alexander
6ac088ea2f Merge pull request #3075 from Senky/ticket/11613
[ticket/11613] Cookies do not work for netbios domain
2014-11-26 13:20:36 +01:00
Tristan Darricau
6a4179cef5 [ticket/13362] Fix cache paths in .gitignore
PHPBB3-13362
2014-11-26 12:38:02 +01:00
Tristan Darricau
90012c86e8 [ticket/13389] Replace pattern with path
PHPBB3-13389
2014-11-26 12:24:50 +01:00
Marc Alexander
aa3a46a35f Merge remote-tracking branch 'nickvergessen/ticket/13381' into develop-ascraeus 2014-11-25 23:15:03 +01:00
Joas Schilling
2e7ae40d49 Merge pull request #3183 from Nicofuma/ticket/13362
[ticket/13362] Ignore the whole cache directory in git
2014-11-25 22:45:23 +01:00
Joas Schilling
eb83bd5797 [ticket/13381] Fix header intendation of v312.php
PHPBB3-13381
2014-11-25 22:42:52 +01:00
Tristan Darricau
f46057ca02 [ticket/13362] Ignore the whole cache directory in git
PHPBB3-13362
2014-11-25 18:00:07 +01:00
Joas Schilling
f4898b9258 Merge branch 'prep-release-3.1.2' into develop-ascraeus 2014-11-25 16:44:57 +01:00
Joas Schilling
9c9623e47f [prep-release-3.1.2] Update the development version to 3.1.3-RC1-dev 2014-11-25 16:43:43 +01:00
Joas Schilling
1ad0dd28f1 Merge branch 'develop-olympus' into prep-release-3.1.2 2014-11-25 16:36:32 +01:00
Joas Schilling
ff9b541070 Merge pull request #3180 from naderman/ticket/13376
[ticket/13376] Revert unnecessary change for cookies called GLOBALS 92f554e3
2014-11-25 16:36:18 +01:00
Nils Adermann
965042d015 [ticket/13376] Revert unnecessary change for cookies called GLOBALS 92f554e3
Also introduce a clear cookie message hardcoded just in case.

PHPBB3-13376
2014-11-25 15:57:12 +01:00
Joas Schilling
9264d7c758 [prep-release-3.1.2] Update Changelog with 13376 2014-11-25 15:44:39 +01:00
Joas Schilling
0fbe8e8e69 [prep-release-3.1.2] Add migration to update version to 3.1.2 2014-11-24 21:32:17 +01:00
Joas Schilling
3862b60094 [prep-release-3.1.2] Increase version number to 3.1.2 2014-11-24 21:31:49 +01:00
Jakub Senko
b8ecd1a656 [ticket/13368] Add @changed entry
PHPBB3-13368
2014-11-24 21:30:42 +01:00
Jakub Senko
bb4b04f89a [ticket/13319] Add missing table tags
PHPBB3-13319
2014-11-24 20:48:15 +01:00
Jakub Senko
d24fa2e777 [ticket/13346] Fix indentation, spacing and missing divs
PHPBB3-13346
2014-11-24 20:41:01 +01:00
Jakub Senko
9348b0c4f2 [ticket/13368] Add $forum_data to viewforum_get_topic_ids_data event
PHPBB3-13368
2014-11-24 20:28:47 +01:00
Tristan Darricau
b00d02496e [ticket/13361] Improve the exception listener
PHPBB3-13361
2014-11-23 03:15:50 +01:00
Joas Schilling
5f3dffa820 [prep-release-3.1.2] Add changelog for 3.1.2-RC1 2014-11-22 19:35:24 +01:00
Joas Schilling
18d5ca9ce5 [prep-release-3.1.2] Prepare Changelog 2014-11-22 19:32:36 +01:00
Joas Schilling
dcd0f200d6 [prep-release-3.1.2] Add migration for 3.1.2-RC1 2014-11-22 19:27:34 +01:00
Joas Schilling
a5b3393bb0 [prep-release-3.1.2] Update version to 3.1.2-RC1 2014-11-22 19:22:40 +01:00
Jakub Senko
595f9c132b [ticket/12924] Remove newlines at the EOF
PHPBB3-12924
2014-11-22 19:19:08 +01:00
Joas Schilling
5c3b6a8559 Merge pull request #10 from phpbb/ticket/security-171
[ticket/security-171] Use type cast helper for json data
2014-11-22 17:48:37 +01:00
Joas Schilling
a3b18d87dd Merge pull request #8 from phpbb/ticket/security-169
[ticket/security-169] Stop loop through referer dir in top directory
2014-11-22 15:51:48 +01:00
Marc Alexander
0f06b88ee7 [ticket/security-171] Remove duplicate semicolon from tests
SECURITY-171
2014-11-22 15:48:09 +01:00
Joas Schilling
fd993cbaf2 Merge pull request #3157 from marc1706/ticket/13358
[ticket/13358] Add class for retrieving remote file data
2014-11-22 15:42:37 +01:00
Marc Alexander
ab69c79d07 Merge branch 'ticket/13358' into ticket/security-171 2014-11-22 15:24:27 +01:00
Marc Alexander
f3ae5e4cb2 [ticket/13358] Correctly create version_helper in acp_extensions
The full namespace for the file_downloader is now also being used in
version_helper.

PHPBB3-13358
2014-11-22 15:23:26 +01:00
Jakub Senko
b9289340d9 [ticket/12567] wrap to top
PHPBB3-12567
2014-11-22 12:37:31 +01:00
Joas Schilling
8b71103836 Merge pull request #3123 from Elsensee/ticket/13310
[ticket/13310] Add event core.acp_email_modify_sql
2014-11-22 12:21:24 +01:00
Joas Schilling
ea101f7932 Merge pull request #3160 from PayBas/ticket/13228
[ticket/13228] Fix codebox "select all" font-size in UCP and MCP
2014-11-22 12:18:00 +01:00
Joas Schilling
7700f31213 Merge pull request #3116 from rxu/ticket/13297
[ticket/13297] Add unicode modifier to url/email regular expression patterns
2014-11-22 12:13:39 +01:00
Jakub Senko
a609c9db82 [ticket/12924] Make meta tags self-closing
PHPBB3-12924
2014-11-22 12:12:13 +01:00
Joas Schilling
a83b952f63 Merge pull request #3158 from prototech/ticket/13354
[ticket/13354] Fix incorrect column name when deleting all topic logs.
2014-11-22 12:08:33 +01:00
Jakub Senko
86b3c54c77 [ticket/11033] Update string to reflect real requirements
PHPBB3-11033
2014-11-22 11:56:52 +01:00
Joas Schilling
e283611dc2 Merge pull request #3161 from Crizz0/ticket/12885
[ticket/12885] New if for Index-page - board-index-text switch
2014-11-22 11:35:51 +01:00
Joas Schilling
8489e0bdc2 Merge branch 'develop-olympus' into develop-ascraeus 2014-11-22 11:31:41 +01:00
Joas Schilling
a415b8e37b Merge pull request #3164 from Crizz0/ticket/10442
[ticket/10442] Adds <dd>&nbsp;</dd> to <dl> for xhtml correctness
2014-11-22 11:31:31 +01:00
Jakub Senko
30f292f5a2 [ticket/11613] Allow cookies to work on netbios domains
PHPBB3-11613
2014-11-22 11:29:57 +01:00
PayBas
2c15388520 [ticket/13228] Gotta use !important after all. Too bad
PHPBB3-13228
2014-11-22 02:42:25 +01:00
Crizzo
867bfa3f9e [ticket/10442] Adds <dd>&nbsp;</dd> to <dl> for xhtml correctness
PHPBB3-10442
2014-11-22 01:08:14 +01:00
Crizzo
4cb930c2c1 [ticket/12885] New if for Index-page - board-index-text switch
PHPBB3-12885
2014-11-22 00:09:38 +01:00
Marc Alexander
70692dd522 Merge pull request #3094 from nickvergessen/ticket/10744
Ticket/10744 Prevent installing styles with reserved names
2014-11-22 00:00:22 +01:00
Joas Schilling
c174862b7e [ticket/10744] Fix some doc blocks
PHPBB3-10744
2014-11-21 23:59:29 +01:00
Joas Schilling
7c683608ab [ticket/10744] Type hint objects for IDE usages
PHPBB3-10744
2014-11-21 23:58:53 +01:00
Joas Schilling
7f8c4d877a [ticket/10744] Prevent installing styles with reserved names
PHPBB3-10744
2014-11-21 23:55:48 +01:00
Marc Alexander
f648fe88d5 [ticket/security-171] Modify tests for new file_downloader class
SECURITY-171
2014-11-21 23:49:54 +01:00
Marc Alexander
9649d78fa4 Merge branch 'ticket/13358' into ticket/security-171 2014-11-21 23:37:17 +01:00
PayBas
16c43b6a7d [ticket/13228] Fix codebox "select all" font-size in UCP and MCP
PHPBB3-13228
2014-11-21 23:35:33 +01:00
Joas Schilling
2e2ab7b485 Merge pull request #3127 from omniError/ticket/13323
[ticket/13323] empty auth option in posting.php
2014-11-21 23:33:45 +01:00
Marc Alexander
6d3ac29aee [ticket/13358] Use protected and public keywords where applicable
PHPBB3-13358
2014-11-21 23:30:47 +01:00
Crizzo
f930a75471 [ticket/13357] Adds missing LOG_MOVED_TOPIC for 3.0.12 left-over entries
PHPBB3-13357
2014-11-21 23:18:42 +01:00
Marc Alexander
171837eefe [ticket/13358] Do not pass variables by reference
PHPBB3-13358
2014-11-21 23:16:22 +01:00
Joas Schilling
0017fad554 Merge pull request #3108 from Elsensee/ticket/13284
[ticket/13284] Message body not included in email
2014-11-21 23:10:00 +01:00
Joas Schilling
c98cceaf22 Merge pull request #3068 from marc1706/ticket/13204
[ticket/13204] Tell user that password was incorrect when exceeding attempts
2014-11-21 22:52:24 +01:00
Joas Schilling
dd7e09d092 Merge pull request #3064 from marc1706/ticket/13197
[ticket/13197] Also delete group avatar from users that have it set
2014-11-21 22:41:17 +01:00
Marc Alexander
4ee05b1c17 [ticket/security-171] Add tests for retrieved remote data in version_helper
SECURITY-171
2014-11-21 22:32:28 +01:00
Marc Alexander
34004612ac [ticket/security-171] Sanitize data from composer.json
SECURITY-171
2014-11-21 22:32:28 +01:00
Marc Alexander
da1888a7fa [ticket/security-171] Use type cast helper for json data
SECURITY-171
2014-11-21 22:32:28 +01:00
Joas Schilling
d7d4f681ca Merge pull request #3156 from prototech/ticket/13316
[ticket/13316] Ensure Recaptcha image uses https when necessary.
2014-11-21 22:29:02 +01:00
Cesar G
8d8c2930d2 [ticket/13354] Fix incorrect column name when deleting all topic logs.
PHPBB3-13354
2014-11-21 12:48:26 -08:00
Marc Alexander
352648f173 [ticket/13358] Fix tests and use exceptions instead of user object
PHPBB3-13358
2014-11-21 21:37:43 +01:00
Marc Alexander
f6e7a94bd5 [ticket/13358] Use file_downloader in get_remote_file()
get_remote_file() has been marked as deprecated.

PHPBB3-13358
2014-11-21 21:37:43 +01:00
Marc Alexander
2793f9c078 [ticket/13358] Add file_downloader to version_helper
PHPBB3-13358
2014-11-21 21:37:43 +01:00
Marc Alexander
a080173010 [ticket/13358] Add file_downloader as replacement for get_remote_file
PHPBB3-13358
2014-11-21 21:37:43 +01:00
Cesar G
f3373e1e32 [ticket/13316] Ensure Recaptcha image uses https when necessary.
PHPBB3-13316
2014-11-21 12:17:04 -08:00
Joas Schilling
f719803fdc Merge pull request #3144 from marc1706/ticket/13337
[ticket/13337] Do not use SQL IN comparison with empty array
2014-11-21 21:04:11 +01:00
Joas Schilling
d56da0d68f Merge pull request #3044 from Elsensee/ticket/13100
[ticket/13100] Display only confirmation buttons when deleting shadow topic
2014-11-21 20:59:22 +01:00
Joas Schilling
1689191f29 Merge pull request #3023 from Nicofuma/ticket/13133
[ticket/13133] Allow @vendor_name for includecss
2014-11-21 20:36:41 +01:00
Joas Schilling
973c2a9a3a Merge pull request #2765 from Elsensee/ticket/11863
[ticket/11863] Set require_activation to none if emails are disabled
2014-11-21 20:18:15 +01:00
Joas Schilling
707a85b6c1 Merge pull request #3043 from rxu/ticket/13182
[ticket/13182] Add posting.php core event to allow modifying the message text
2014-11-21 20:14:36 +01:00
Joas Schilling
71a015557f Merge pull request #3150 from omniError/ticket/13347
[ticket/13347] missing acp_forums template events

Conflicts:
	phpBB/docs/events.md
2014-11-21 20:09:13 +01:00
Joas Schilling
bc52a84998 Merge pull request #3131 from omniError/ticket/13328
[ticket/13328] add core.mcp_view_forum_modify_sql
2014-11-21 20:05:19 +01:00
Joas Schilling
d6e8cce44b Merge pull request #3130 from omniError/ticket/13326
[ticket/13326] add viewtopic_url to event
2014-11-21 19:58:43 +01:00
Joas Schilling
2d6734cb0a Merge pull request #3126 from VSEphpbb/ticket/13290
[ticket/13290] Add EVENT index_body_forumlist_body_after
2014-11-21 19:53:15 +01:00
Joas Schilling
7bc1917908 Merge pull request #3122 from Elsensee/ticket/13309
[ticket/13309] Add event acp_email_options_after
2014-11-21 19:42:14 +01:00
rxu
bb75cd40f5 [ticket/13182] Add posting.php core event to allow modifying the message text
posting.php core event to allow modifying the message before parsing
would be needed for some extensions, like for adding topic title to the
topic URL etc.
Also removed 'delete' var from core.posting_modify_template_vars and
core.modify_posting_parameters as it does not exist.

PHPBB3-13182
2014-11-22 01:33:12 +07:00
Joas Schilling
4bf3dcbebd Merge pull request #3114 from rxu/ticket/13294
[ticket/13294] Add function parse() core event for additional message checks
2014-11-21 19:28:07 +01:00
Joas Schilling
c31b53942d Merge pull request #3071 from rxu/ticket/13220
[ticket/13220] Add template events to memberlist_search.html
2014-11-21 19:23:10 +01:00
rxu
1e867ce52b [ticket/13294] Add function parse() core event for additional message checks
Add core event to the function parse() in includes/message_parser.php to allow
additional handling message before parsing (i.e. perform custom message
checks, cleanup etc.).

PHPBB3-13294
2014-11-20 00:47:51 +07:00
Tristan Darricau
acfe6dd37d Merge pull request #3149 from prototech/ticket/13342
[ticket/13342] Fix invalid resetting of CAPTCHA plugin when using Recaptcha

* prototech/ticket/13342:
  [ticket/13342] Fix invalid resetting of CAPTCHA plugin when using Recaptcha.
2014-11-18 16:28:59 +01:00
Tristan Darricau
0019039bc1 Merge pull request #3148 from prototech/ticket/13315
[ticket/13315] Fix loss of CAPTCHA plugin config value.

* prototech/ticket/13315:
  [ticket/13315] Check for the includes/captcha/plugins/ directory instead.
  [ticket/13315] Fix loss of CAPTCHA plugin config value.
2014-11-18 15:11:07 +01:00
Marc Alexander
ba3e4da853 Merge pull request #3154 from cyberalien/ticket/13349
[ticket/13349] Fix breadcrumb arrow entity
2014-11-18 15:00:45 +01:00
cyberalien
795fd75d60 [ticket/13349] Fix breadcrumb arrow entity
PHPBB3-13349
2014-11-18 14:13:07 +02:00
Marc Alexander
b84d151afa Merge pull request #3151 from nickvergessen/ticket/13298
[ticket/13298] Add missing $db->freeresult(); calls in functions_admin.php
2014-11-18 13:11:55 +01:00
Marc Alexander
17d76de7b8 Merge pull request #3152 from prototech/ticket/13277
[ticket/13277] Force IE to not cache AJAX requests.
2014-11-18 13:08:58 +01:00
Cesar G
052fdcc8d9 Merge remote-tracking branch 'Nicofuma/ticket/13023' into develop-ascraeus
* Nicofuma/ticket/13023:
  [ticket/13023] Add template event posting_editor_buttons_custom_tags_before
2014-11-18 01:30:06 -08:00
Cesar G
266755bd82 [ticket/13277] Force IE to not cache AJAX requests.
Caching causes problems, such as the inability to move a forum/CPF/module in the
same direction by more than one row.

PHPBB3-13277
2014-11-18 00:41:57 -08:00
Cesar G
7c68964153 [ticket/13315] Check for the includes/captcha/plugins/ directory instead.
PHPBB3-13315
2014-11-18 00:37:07 -08:00
Joas Schilling
31c59cad83 [ticket/13298] Add missing $db->freeresult(); calls in functions_admin.php
PHPBB3-13298
2014-11-17 23:56:33 +01:00
Joas Schilling
4f96688bf7 Merge pull request #3145 from bantu/ticket/13338
[ticket/13338] Make all tests run on their own. Avoid _test suffix for abstract test case classes.
2014-11-17 23:32:45 +01:00
omniError
c1a0d1bf3d [ticket/13347] update event docs
PHPBB3-13347
2014-11-17 16:25:56 -06:00
omniError
115bf63538 [ticket/13347] fix CS
PHPBB3-13347
2014-11-17 16:14:57 -06:00
omniError
bd0107a2ab [ticket/13347] missing acp_forums template events
PHPBB3-13347
2014-11-17 16:09:40 -06:00
Joas Schilling
f261c748b6 Merge branch 'develop-olympus' into develop-ascraeus 2014-11-17 22:47:46 +01:00
Joas Schilling
2b55476df0 Merge pull request #3147 from bantu/ticket/13341-ascraeus
[ticket/13341] Change coverage to whitelist to prevent errors with temp files
2014-11-17 22:47:41 +01:00
Joas Schilling
d4fd5e3365 Merge pull request #3146 from bantu/ticket/13341
[ticket/13341] Change coverage to whitelist to prevent errors with temp ...
2014-11-17 22:47:17 +01:00
Andreas Fischer
21c8985fe8 [ticket/13338] Add include statements for dependencies.
PHPBB3-13338
2014-11-17 21:54:02 +01:00
Andreas Fischer
765d72d194 [ticket/13338] Do not use the _test.php suffix for abstract test case classes.
PHPBB3-13338
2014-11-17 21:53:27 +01:00
Andreas Fischer
a918abe113 [ticket/13338] Move insert_config_array_test to functions_acp, add deps.
PHPBB3-13338
2014-11-17 21:53:27 +01:00
Cesar G
7b33018ade [ticket/13315] Fix loss of CAPTCHA plugin config value.
The plugins were moved to phpbb/captcha/plugins/ after this migration was
created, thus the check is no longer valid and ends up resetting the value
prematurely.

PHPBB3-13315
2014-11-16 17:01:38 -08:00
Cesar G
fb34cbf7cd [ticket/13342] Fix invalid resetting of CAPTCHA plugin when using Recaptcha.
The Recaptcha plugin class name does not follow the phpbb_captcha_ prefix
convention as all others. Instead it simply uses phpbb_, hence the check
for its existence under phpbb/captcha/plugins/ fails.

PHPBB3-13342
2014-11-16 17:01:03 -08:00
Nils Adermann
4ffdb12938 Merge remote-tracking branch 'github-nicofuma/ticket/13280' into develop-ascraeus
* github-nicofuma/ticket/13280:
  [ticket/13280] Output escaping for the symfony request object
  [ticket/13280] Add new tests
  [ticket/13280] Make the tests failing
  [ticket/13280] Revert "Merge pull request #3107 from marc1706/ticket/13280"
2014-11-16 16:50:15 +01:00
Tristan Darricau
0dfe1d0d8b [ticket/13280] Output escaping for the symfony request object
PHPBB3-13280
2014-11-16 16:45:19 +01:00
Tristan Darricau
e27b69f42a Merge pull request #3136 from marc1706/ticket/13332
[ticket/13332] Pass user row to passwords manager check method

* marc1706/ticket/13332:
  [ticket/13332] Fix auth provider tests
  [ticket/13332] Remove useless $result assignment
  [ticket/13332] Pass user row to passwords manager check method
2014-11-16 12:22:51 +01:00
Tristan Darricau
074b91497b [ticket/13023] Add template event posting_editor_buttons_custom_tags_before
PHPBB3-13023
2014-11-16 11:52:30 +01:00
Andreas Fischer
8297f700d0 Merge pull request #3146 from bantu/ticket/13341
[ticket/13341] Change coverage to whitelist to prevent errors with temp ...

* bantu/ticket/13341:
  [ticket/13341] Change coverage to whitelist to prevent errors with temp files.

Conflicts:
	phpunit.xml.dist
2014-11-14 17:27:15 +01:00
Andreas Fischer
c40d7f0896 [ticket/13341] Change coverage to whitelist to prevent errors with temp files.
b4f95deefc suggests that this can lead to issues
with classes having the same name. However, this does not seem to be a problem
with the current version of PHPUnit we are using.

Despite https://phpunit.de/manual/4.1/en/code-coverage-analysis.html saying
that addUncoveredFilesFromWhitelist="true" is optional, this seems to be on by
default in PHPUnit 4.1.0. As a result, all files are considered for code
coverage; which is what we want.

processUncoveredFilesFromWhitelist is however false (by default) and as such
even files that are considered for code coverage are not processed through PHP
when not used in actual tests. Since it is already impossible to test multiple
classes with the same name in the same test run (without process isolation),
because that would already lead to "cannot redeclare class" errors, it is also
impossible for "cannot redeclare class" errors to happen in test coverage.

PHPBB3-13341
2014-11-14 13:44:42 +01:00
Marc Alexander
556565d072 [ticket/13337] Allow empty array passed to sql_in_set()
is_array() will evaluate to true even if the array is just an empty array.
Make sure we also expect an empty array passed to sql_in_set().

PHPBB3-13337
2014-11-14 11:08:35 +01:00
omniError
8a9c2c055c [ticket/13306] update test
https://tracker.phpbb.com/browse/PHPBB3-13306

PHPBB3-13306
2014-11-13 20:55:20 -06:00
omniError
0a4ffb7cf8 [ticket/13306] move error_reporting call
https://tracker.phpbb.com/browse/PHPBB3-13306

PHPBB3-13306
2014-11-13 20:55:10 -06:00
Marc Alexander
c9db08873f Merge pull request #3141 from bantu/ticket/13325
[ticket/13325] Make installing composer dependencies in tests folder optional.
2014-11-13 17:11:48 +01:00
Marc Alexander
9f9ce10f2f Merge pull request #3125 from lavigor/ticket/13318
[ticket/13318] login_username needs to have the multibyte parameter set to true
2014-11-13 01:02:49 +01:00
Marc Alexander
2f54ab0a24 Merge pull request #3137 from prototech/ticket/13209
[ticket/13209] Fix loss of CPF language field values when switching steps
2014-11-13 00:14:54 +01:00
Joas Schilling
a520edb8fa Merge branch 'develop-olympus' into develop-ascraeus 2014-11-12 23:04:10 +01:00
Joas Schilling
12fd9a8827 Merge pull request #3143 from bantu/ticket/13331-ascraeus
[ticket/13331] Use docs target for this branch, add docs-all for all branches
2014-11-12 23:04:07 +01:00
Joas Schilling
b99fbd0be0 Merge pull request #3142 from bantu/ticket/13331
[ticket/13331] Use docs target for this branch, add docs-all for all branches
2014-11-12 22:55:30 +01:00
Andreas Fischer
968360fed6 [ticket/13331] Remove travis/sami.conf.php. Use build/sami-checkout.conf.php.
PHPBB3-13331
2014-11-12 21:45:03 +01:00
Andreas Fischer
0103478521 Merge pull request #3142 from bantu/ticket/13331
[ticket/13331] Use docs target for this branch, add docs-all for all branches

* bantu/ticket/13331:
  [ticket/13331] Use docs target for this branch, add docs-all for dev branches.

Conflicts:
	build/build.xml
	build/sami-checkout.conf.php
2014-11-12 21:43:56 +01:00
Andreas Fischer
b55d744e77 [ticket/13331] Use docs target for this branch, add docs-all for dev branches.
PHPBB3-13331
2014-11-12 21:40:26 +01:00
Andreas Fischer
1e4ff6105a [ticket/13325] Make installing composer dependencies in tests folder optional.
Make phpbb_ui_test_case available unconditionally. Nothing depends on 5.3.19
here. Remove __init__ include. Composer classmap autoloading ensures classes
can be loaded.

PHPBB3-13325
2014-11-12 20:34:36 +01:00
Andreas Fischer
8df63a4499 [ticket/13325] Remove whitespace at end of line.
PHPBB3-13325
2014-11-12 20:32:36 +01:00
Andreas Fischer
e1bf699ad4 [ticket/13325] Update / Fix composer.lock hash.
PHPBB3-13325
2014-11-12 20:31:41 +01:00
Tristan Darricau
526a97db7c [ticket/13280] Add new tests
PHPBB3-13280
2014-11-12 15:43:20 +01:00
Tristan Darricau
f142ed28e4 [ticket/13280] Make the tests failing
PHPBB3-13280
2014-11-12 15:43:12 +01:00
Tristan Darricau
6d533d2f86 [ticket/13280] Revert "Merge pull request #3107 from marc1706/ticket/13280"
This reverts commit a1b58d05d1, reversing
changes made to 0e772afb9d.

PHPBB3-13280
2014-11-12 15:42:23 +01:00
Marc Alexander
09ad1d529e Merge pull request #3139 from prototech/ticket/13239
[ticket/13239] Ensure "Add files" button position is correctly calculated.
2014-11-12 13:04:46 +01:00
Marc Alexander
63022f3c59 [ticket/13332] Fix auth provider tests
PHPBB3-13332
2014-11-12 11:42:08 +01:00
omniError
834a93f76c [ticket/13306] allow 0 error types
https://tracker.phpbb.com/browse/PHPBB3-13306

PHPBB3-13306
2014-11-11 20:23:13 -06:00
omniError
efd4b43c1b [ticket/13306] constructor sets error types
https://tracker.phpbb.com/browse/PHPBB3-13306

PHPBB3-13306
2014-11-11 20:20:52 -06:00
Cesar G
430c6aa32f [ticket/13239] Ensure "Add files" button position is correctly calculated.
PHPBB3-13239
2014-11-11 17:30:34 -08:00
Cesar G
d43f196fa6 [ticket/12642] Ensure CPF type specific options are set when editing booleans.
prepare_hidden_fields is expected to return null if the option is not sent
in the request. The boolean method returns false instead, which results in
the options being set as false in hidden fields when accessing the first edit
step.

When checking the "Default value" option, there is also a failure to check
whether the "Field type" option is set to checkbox, thus resulting in this
option getting lost as well.

PHPBB3-12642
2014-11-11 16:48:25 -08:00
Cesar G
ec220d6494 [ticket/13209] Gather language field values for boolean CPF's in all steps.
The user can move back and forth between all three steps and as such the lang
field data should be expected in all steps.

PHPBB3-13209
2014-11-11 16:32:04 -08:00
Cesar G
3108d0b060 [ticket/13209] Fix expected request value of CPF language fields.
Multiple languages can be edited, thus the expected value is an array.

PHPBB3-13209
2014-11-11 16:28:06 -08:00
Marc Alexander
91f7d53d8e [ticket/13332] Remove useless $result assignment
PHPBB3-13332
2014-11-11 19:02:20 +01:00
Marc Alexander
040fc6dd0f [ticket/13332] Pass user row to passwords manager check method
PHPBB3-13332
2014-11-11 19:02:01 +01:00
omniError
65f83b814c [ticket/13326] fix CS
https://tracker.phpbb.com/browse/PHPBB3-13326

PHPBB3-13326
2014-11-11 10:51:03 -06:00
omniError
b648d3eb4c [ticket/13328] fix CS
https://tracker.phpbb.com/browse/PHPBB3-13328

PHPBB3-13328
2014-11-11 10:47:39 -06:00
Tristan Darricau
cd6085ebdc Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13324] Update sami/sami and fabpot/goutte for new zipball location.
2014-11-11 15:29:58 +01:00
Tristan Darricau
6949f64d28 Merge pull request #3133 from bantu/ticket/13324
[ticket/13324] Update sami/sami and fabpot/goutte for new zipball location

* bantu/ticket/13324:
  [ticket/13324] Update sami/sami and fabpot/goutte for new zipball location.
2014-11-11 15:27:53 +01:00
Andreas Fischer
9bd24e2efb [ticket/13324] Update sami/sami and fabpot/goutte for new zipball location.
PHPBB3-13324
2014-11-11 12:23:02 +01:00
Tristan Darricau
4dfd4e4cd3 Merge pull request #3112 from Elsensee/ticket/13083
[ticket/13083] Fix language string NO_ENTRIES for logs

* Elsensee/ticket/13083:
  [ticket/13083] Fix language string NO_ENTRIES for logs
2014-11-11 11:56:23 +01:00
omniError
71e0de5588 [ticket/13328] add core.mcp_view_forum_modify_sql
https://tracker.phpbb.com/browse/PHPBB3-13328

PHPBB3-13328
2014-11-10 22:57:54 -06:00
omniError
42b595e7e7 [ticket/13326] add viewtopic_url to event
https://tracker.phpbb.com/browse/PHPBB3-13326

PHPBB3-13326
2014-11-10 20:35:23 -06:00
omniError
a143a19b8b [ticket/13306] add error level to collector
https://tracker.phpbb.com/browse/PHPBB3-13306

PHPBB3-13306
2014-11-10 18:05:18 -06:00
omniError
2d0917c56e [ticket/13323] empty auth option in posting.php
https://tracker.phpbb.com/browse/PHPBB3-13323

PHPBB3-13323
2014-11-10 17:23:23 -06:00
Matt Friedman
971b30a76d [ticket/13290] Add EVENT index_body_forumlist_body_after
PHPBB3-13290
2014-11-10 13:56:52 -08:00
lavigor
8171087cfb [ticket/13318] login_username needs to have the multibyte parameter set to true
This is needed for usernames with UTF-8 characters.

PHPBB3-13318
2014-11-10 20:12:10 +03:00
Marc Alexander
9bb302b92c [ticket/security-169] Stop loop through referer dir in top directory
SECURITY-169
2014-11-09 23:00:39 +01:00
Marc Alexander
6a4cb42565 Merge pull request #3113 from prototech/ticket/13251
[ticket/13251] Escape container parameters defined from config.php.
2014-11-09 20:01:20 +01:00
Oliver Schramm
b6f0c789d5 [ticket/13310] Add event core.acp_email_modify_sql
PHPBB3-13310
2014-11-09 15:34:54 +01:00
rxu
483af1d036 [ticket/13297] Add unicode modifier to url/email regular expression patterns.
PHPBB3-13297
2014-11-09 20:59:14 +07:00
Joas Schilling
7ab774bc8d Merge pull request #3121 from Elsensee/ticket/13300
[ticket/13300] Don't show jabber in profile if jabber is disabled
2014-11-09 14:50:06 +01:00
Marc Alexander
f23634d580 [ticket/13197] Fix tabbing
PHPBB3-13197
2014-11-09 13:43:26 +01:00
Marc Alexander
8dd32c2bb5 [ticket/13197] Correctly format sql query
PHPBB3-13197
2014-11-09 13:07:38 +01:00
Marc Alexander
10b628a20a Merge pull request #3120 from Elsensee/ticket/13301
[ticket/13301] Fix called function in apche auth module
2014-11-09 10:42:30 +01:00
Marc Alexander
8e64652d80 Merge pull request #3119 from Elsensee/ticket/13243
[ticket/13243] Validate announcement entry for existence in version_helper
2014-11-09 10:38:48 +01:00
Oliver Schramm
054ab67771 [ticket/13310] Always use sql_build_query in acp_email.php
PHPBB3-13310
2014-11-09 02:46:50 +01:00
Oliver Schramm
98711450dd [ticket/13309] Add event acp_email_options_after
PHPBB3-13309
2014-11-09 02:31:20 +01:00
Oliver Schramm
ced316d88c [ticket/13300] Don't show jabber in profile if jabber is disabled
PHPBB3-13300
2014-11-09 02:22:39 +01:00
Oliver Schramm
c4628bd92a [ticket/13301] Fix called function in apche auth module
PHPBB3-13301
2014-11-09 01:37:28 +01:00
Oliver Schramm
3fba5e317a [ticket/13243] Validate announcement entry for existence in version_helper
PHPBB3-13243
2014-11-09 01:21:40 +01:00
Joas Schilling
101945acf9 Merge pull request #3110 from Elsensee/ticket/13242
[ticket/13242] Fix HTML validity
2014-11-09 00:39:19 +01:00
Cesar G
92c509bc48 Merge remote-tracking branch 'Elsensee/ticket/13265' into develop-ascraeus
* Elsensee/ticket/13265:
  [ticket/13265] Don't show link to edit own profile to those without permission
2014-11-08 13:53:11 -08:00
rxu
70641e701a [ticket/13220] Add template events to memberlist_search.html
PHPBB3-13220
2014-11-08 21:22:59 +07:00
Tristan Darricau
9aa8f44489 [ticket/13133] Rename $ok variable
PHPBB3-13133
2014-11-07 15:57:31 +01:00
Tristan Darricau
778e0e06f3 Merge pull request #3118 from prototech/ticket/13270
[ticket/13270] Make m_softdelete perm global for boards updated from 3.0.12.

* prototech/ticket/13270:
  [ticket/13270] Make m_softdelete perm global for boards updated from 3.0.12.
2014-11-07 15:19:35 +01:00
Tristan Darricau
8956ec0bd4 Merge pull request #3117 from prototech/ticket/13303
[ticket/13303] Speed up migration dependency calculation.

* prototech/ticket/13303:
  [ticket/13303] Speed up migration dependency calculation.
2014-11-07 11:38:40 +01:00
Cesar G
757e1eac7a [ticket/13270] Make m_softdelete perm global for boards updated from 3.0.12.
PHPBB3-13270
2014-11-07 02:31:11 -08:00
Cesar G
95140bb724 [ticket/13303] Speed up migration dependency calculation.
PHPBB3-13303
2014-11-07 02:30:44 -08:00
Cesar G
d60534d52c [ticket/13251] Escape container parameters defined from config.php.
PHPBB3-13251
2014-11-07 02:30:03 -08:00
Tristan Darricau
a1b58d05d1 Merge pull request #3107 from marc1706/ticket/13280
[ticket/13280] Properly format the current page and add sanitizer to tests

* marc1706/ticket/13280:
  [ticket/13280] Remove unneeded str_replace in build_url()
  [ticket/13280] Only run sanitizer for server superglobal and modify tests
  [ticket/13280] Seperate server sanitizer call and add comment
  [ticket/13280] Add additional sanitizer for ampersands in server superglobal
  [ticket/13280] Correctly format user page for build_url()
  [ticket/13280] Properly format the current page and add sanitizer to tests
2014-11-07 11:10:03 +01:00
Marc Alexander
f432193e07 [ticket/13280] Remove unneeded str_replace in build_url()
PHPBB3-13280
2014-11-06 13:45:09 +01:00
Oliver Schramm
25a7c6e829 [ticket/13083] Fix language string NO_ENTRIES for logs
The string was misleading because there does not
always have to be a period when viewing log entries.

PHPBB3-13083
2014-11-05 21:16:04 +01:00
Oliver Schramm
307fa831d6 [ticket/13265] Don't show link to edit own profile to those without permission
PHPBB3-13265
2014-11-05 21:06:32 +01:00
Oliver Schramm
85031a66cc [ticket/13242] Fix HTML validity
PHPBB3-13242
2014-11-05 20:59:38 +01:00
Oliver Schramm
32010de36e [ticket/13284] Set message body in topic form too, so it will be sent
PHPBB3-13284
2014-11-04 18:33:59 +01:00
Oliver Schramm
b32dc8c667 [ticket/13284] Fix request name so users can cc themselves
PHPBB3-13284
2014-11-04 18:22:46 +01:00
Marc Alexander
32881dbe31 [ticket/13280] Only run sanitizer for server superglobal and modify tests
PHPBB3-13280
2014-11-04 16:54:45 +01:00
Marc Alexander
3986470b3c [ticket/13280] Seperate server sanitizer call and add comment
PHPBB3-13280
2014-11-04 16:14:11 +01:00
Oliver Schramm
e502c8db86 [ticket/13100] Remove pointless variable
PHPBB3-13100
2014-11-04 00:46:06 +01:00
Marc Alexander
13b59af1ff [ticket/13280] Add additional sanitizer for ampersands in server superglobal
PHPBB3-13280
2014-11-03 17:27:01 +01:00
Marc Alexander
6fd092b5df [ticket/13280] Correctly format user page for build_url()
PHPBB3-13280
2014-11-03 16:24:09 +01:00
Marc Alexander
6cc7da0c9c [ticket/13280] Properly format the current page and add sanitizer to tests
PHPBB3-13280
2014-11-03 16:07:32 +01:00
Marc Alexander
0868831675 [ticket/13204] Tell user that password was incorrect when exceeding attempts
At the end of the login method, the captcha was entered correctly and only
the password was incorrect. Therefore, just tell the user that the password
was incorrect. He will see that he still needs to enter a captcha.

PHPBB3-13204
2014-11-02 11:18:08 +01:00
Nils Adermann
0e772afb9d Merge branch 'prep-release-3.1.1' into develop-ascraeus
* prep-release-3.1.1:
  [ticket/13271] Disable CC sender feature for anonymous users
  [prep-release-3.1.1] Add 3.1.1 CHANGELOG
  [prep-release-3.1.1] Add 3.1.1 migration file
  [ticket/13263] Make sure default style exists and clean up code
  [ticket/13263] Only install/set prosilver if no style available
  [ticket/13263] Use prosilver as default style if user's style doesn't exist
  [ticket/security-164] Correctly format page_name
  [ticket/security-164] Sanitize all global variables in symfony_request class
  [ticket/13248] Use functional framework login method in tests
  [ticket/13248] Correctly pass provider name
  [ticket/13248] Always use provider collection for getting provider
  [ticket/13248] Allow specifying different auth provider in provider collection
  [ticket/13248] Use auth provider collection for getting provider
  [ticket/13262] Mention htaccess file when updating from 3.0 to 3.1
  [ticket/13267] Update Automatic Update instructions to include vendor directory
  [ticket/13268] Properly append ternary result in get_existing_indexes()
  [prep-release-3.1.1] Update version number to 3.1.1

Conflicts:
	build/build.xml
	phpBB/includes/constants.php
	phpBB/install/schemas/schema_data.sql
2014-11-02 01:25:51 +01:00
Nils Adermann
b6a4f83c41 Merge remote-tracking branch 'github-security/ticket/security-164-alt' into prep-release-3.1.1
* github-security/ticket/security-164-alt:
  [ticket/security-164] Correctly format page_name
  [ticket/security-164] Sanitize all global variables in symfony_request class
2014-11-02 00:24:02 +01:00
Nils Adermann
c980402a4c Merge branch 'ticket/13271' into prep-release-3.1.1
* ticket/13271:
  [ticket/13271] Disable CC sender feature for anonymous users
2014-11-02 00:22:58 +01:00
Nils Adermann
27be69e3b3 [ticket/13271] Disable CC sender feature for anonymous users
PHPBB3-13271
2014-11-02 00:21:23 +01:00
Nils Adermann
aede89d408 [prep-release-3.1.1] Add 3.1.1 CHANGELOG 2014-11-02 00:20:44 +01:00
Nils Adermann
4ae9e8cf6e [prep-release-3.1.1] Add 3.1.1 migration file 2014-11-02 00:08:21 +01:00
Nils Adermann
0843fd4b77 Merge remote-tracking branch 'github-marc1706/ticket/13263' into prep-release-3.1.1
* github-marc1706/ticket/13263:
  [ticket/13263] Make sure default style exists and clean up code
  [ticket/13263] Only install/set prosilver if no style available
  [ticket/13263] Use prosilver as default style if user's style doesn't exist
2014-11-01 23:57:12 +01:00
Marc Alexander
7461536459 [ticket/13263] Make sure default style exists and clean up code
PHPBB3-13263
2014-11-01 23:53:58 +01:00
Marc Alexander
d1f85f0de3 [ticket/13263] Only install/set prosilver if no style available
Users that have a nonexistent style selectd will revert back to the default
style.

PHPBB3-13263
2014-11-01 23:53:53 +01:00
Marc Alexander
be8b5a41c8 [ticket/13263] Use prosilver as default style if user's style doesn't exist
If prosilver is not installed for whatever reason, it will be installed by
the newly added migration.

PHPBB3-13263
2014-11-01 23:53:48 +01:00
Marc Alexander
f534503a66 [ticket/security-164] Correctly format page_name
SECURITY-164
2014-11-01 22:43:28 +01:00
Marc Alexander
28ef238a5c [ticket/security-164] Sanitize all global variables in symfony_request class
SECURITY-164
2014-11-01 22:43:18 +01:00
Nils Adermann
dde1c7424f Merge pull request #3104 from marc1706/ticket/13248-alt
[ticket/13248] Login functions need to use provider collection for retrieving provider
2014-11-01 22:41:27 +01:00
Marc Alexander
8aec6b58e0 [ticket/13248] Use functional framework login method in tests
PHPBB3-13248
2014-11-01 21:54:34 +01:00
Marc Alexander
d9c868d0f5 [ticket/13248] Correctly pass provider name
PHPBB3-13248
2014-11-01 21:54:27 +01:00
Marc Alexander
a9249bce5e [ticket/13248] Always use provider collection for getting provider
PHPBB3-13248
2014-11-01 21:54:21 +01:00
Marc Alexander
c3f5dc75be [ticket/13248] Allow specifying different auth provider in provider collection
PHPBB3-13248
2014-11-01 21:54:14 +01:00
Marc Alexander
6b057e026c [ticket/13248] Use auth provider collection for getting provider
PHPBB3-13248
2014-11-01 21:54:06 +01:00
Nils Adermann
f3588c66ec Merge branch 'ticket/13262' into prep-release-3.1.1
* ticket/13262:
  [ticket/13262] Mention htaccess file when updating from 3.0 to 3.1
2014-11-01 19:14:11 +01:00
Matt Friedman
a269929f0e [ticket/13262] Mention htaccess file when updating from 3.0 to 3.1
PHPBB3-13262
2014-11-01 19:14:00 +01:00
Nils Adermann
45d054d295 Merge branch 'ticket/13267' into prep-release-3.1.1
* ticket/13267:
  [ticket/13267] Update Automatic Update instructions to include vendor directory
2014-11-01 19:13:21 +01:00
Patrick Webster
8bdbadabb2 [ticket/13267] Update Automatic Update instructions to include vendor directory
PHPBB3-13267
2014-11-01 19:13:09 +01:00
Nils Adermann
2cc9fe5267 Merge branch 'ticket/13268' into prep-release-3.1.1
* ticket/13268:
  [ticket/13268] Properly append ternary result in get_existing_indexes()
2014-11-01 19:12:43 +01:00
Patrick Webster
c3aca59cfb [ticket/13268] Properly append ternary result in get_existing_indexes()
PHPBB3-13268
2014-11-01 19:12:28 +01:00
Nils Adermann
3f3c8d74e8 [prep-release-3.1.1] Update version number to 3.1.1 2014-11-01 18:47:56 +01:00
Jakub Senko
4522db7624 [ticket/13266] Enable twig dump function
PHPBB3-13266
2014-11-01 12:31:58 +01:00
Marc Alexander
a61299a940 Merge pull request #3098 from VSEphpbb/ticket/13262
[ticket/13262] Mention htaccess file when updating from 3.0 to 3.1
2014-11-01 09:10:34 +01:00
Marc Alexander
af77106a2f Merge pull request #3097 from prototech/ticket/13253
[ticket/13253] Fix MCP queue link in active topics search.
2014-11-01 09:08:11 +01:00
Matt Friedman
416577f3dc [ticket/13262] Mention htaccess file when updating from 3.0 to 3.1
PHPBB3-13262
2014-10-31 13:08:36 -07:00
Cesar G
65c3f2a8f1 [ticket/13253] Fix MCP queue link in active topics search.
PHPBB3-13253
2014-10-30 22:47:51 -07:00
Andreas Fischer
17928563a2 Merge pull request #3093 from nickvergessen/ticket/13241
[ticket/13241] Fix pagination of viewforum with global announcements

* nickvergessen/ticket/13241:
  [ticket/13241] Remove sleep() and change flood interval instead
  [ticket/13241] Remove sleep() since the method takes care of this now
  [ticket/13241] Sleep for 1 second when posting twice in the same second
  [ticket/13241] Fix pagination with global announcements
  [ticket/13241] Correctly ignore announcements from topics list
  [ticket/13241] Add a functional test for viewforum with global announcement
2014-10-29 15:10:39 +01:00
Andreas Fischer
bb4f65d743 Merge pull request #3076 from marc1706/ticket/12703
[ticket/12703] Only query database for subscription types once

* marc1706/ticket/12703:
  [ticket/12703] Only query database for subscription types once
2014-10-29 15:09:55 +01:00
Andreas Fischer
932b75c166 Merge pull request #3065 from dhruvgoel92/feature/phantom
[feature/phantom]

* dhruvgoel92/feature/phantom:
  [ticket/12962] Rename setup-phpbb-test
  [ticket/12962] Use phpVersion in phpunit.xml
  [ticket/12962] Functional tests run for php <5.3.19
  [ticket/12962] Clean up composer.json
  [ticket/12962] Fix Line Endings in bootstrap
  [ticket/12962] Load composer test dependencies for php >= 5.3.19
  [ticket/12962] bootstrap functional and ui test when php >5.3.19
  [ticket/12962] Install test dependencies on travis
  [ticket/12962] Add facebook/webdriver dependency
  [ticket/12962] Fix whitespace characters
  [ticket/12962] Run tests for all databases on Travis
  [ticket/12962] Force language=en for UI tests installation
  [ticket/12962] Dump server output to /dev/null
  [ticket/12962] Start phantomjs on travis in background
  [ticket/12962] Mark test skipped when phantom server not running
  [ticket/12962] Add setup-phantomjs-server.sh
  [ticket/12962] Run UI tests on Travis-mysql
  [ticket/12962] Add UI tests to phpunit.xml.dist
  [ticket/12962] Add quick-links JS test
  [ticket/12962] Add initial class for ui_testing
2014-10-29 15:09:22 +01:00
Joas Schilling
1787ccb585 [ticket/13241] Remove sleep() and change flood interval instead
PHPBB3-13241
2014-10-29 14:17:15 +01:00
Joas Schilling
b868886b25 [ticket/13241] Remove sleep() since the method takes care of this now
PHPBB3-13241
2014-10-29 13:42:44 +01:00
Joas Schilling
e42202e794 [ticket/13241] Sleep for 1 second when posting twice in the same second
PHPBB3-13241
2014-10-29 13:42:43 +01:00
Joas Schilling
9ee177573d [ticket/13241] Fix pagination with global announcements
PHPBB3-13241
2014-10-29 13:42:42 +01:00
Joas Schilling
ae6a3b03c4 [ticket/13241] Correctly ignore announcements from topics list
PHPBB3-13241
2014-10-29 13:42:41 +01:00
Joas Schilling
82aed75b3b [ticket/13241] Add a functional test for viewforum with global announcement
PHPBB3-13241
2014-10-29 13:42:41 +01:00
Joas Schilling
3a2ccd079e Merge branch 'prep-release-3.1.0' into develop-ascraeus 2014-10-28 13:35:27 +01:00
Joas Schilling
c57fbe9d0d Merge branch 'prep-release-3.1.0' into develop-ascraeus 2014-10-28 12:58:45 +01:00
Joas Schilling
0682e5719d Merge branch 'prep-release-3.1.0' into develop-ascraeus 2014-10-28 10:02:53 +01:00
Nils Adermann
b9c08cddd4 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13227] Properly handle curlwrapper headers in remote avatars
  [ticket/13231] Update the dependencies of the migration contact_admin_form
2014-10-27 19:04:01 -07:00
Nils Adermann
4c75f013de Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13229] Fix overloading memberlist with redundant SQL queries
2014-10-27 17:01:57 -07:00
Joas Schilling
91a9d25a38 Merge branch 'prep-release-3.1.0' into develop-ascraeus 2014-10-27 23:40:04 +01:00
Dhruv
505ee586ff [ticket/12962] Rename setup-phpbb-test
PHPBB3-12962
2014-10-27 18:36:33 -04:00
Nils Adermann
b1d7386075 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13230] Add missing globals and missing request object for path helper
  [ticket/13226] Add functional test for group ranks
  [ticket/13226] Fix the usage of $rank_img
2014-10-27 12:25:41 -07:00
Dhruv
cc82f95c8f [ticket/12962] Use phpVersion in phpunit.xml
PHPBB3-12962
2014-10-27 08:13:41 -07:00
Dhruv
c6cca9d0d2 [ticket/12962] Functional tests run for php <5.3.19
PHPBB3-12962
2014-10-26 21:30:31 -07:00
Dhruv
98554475be [ticket/12962] Clean up composer.json
PHPBB3-12962
2014-10-26 20:58:21 -07:00
Marc Alexander
cb65cd363a [ticket/12703] Only query database for subscription types once
PHPBB3-12703
2014-10-26 13:56:34 -07:00
Nils Adermann
222bec0204 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [prep-release-3.1.0] Update CHANGELOG with last minute changes
2014-10-26 12:54:02 -07:00
Nils Adermann
78aa120089 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13223] Fix USERNAME email template variable in notification
2014-10-26 12:48:25 -07:00
Nils Adermann
c19ab58420 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13221] Add bot_update as a dependency to gold
  [ticket/13221] Perform bot updates after user table changes
2014-10-26 12:43:17 -07:00
Marc Alexander
b0942fe31d [ticket/13197] Test that user's group avatar is deleted by group avatar delete
PHPBB3-13197
2014-10-26 12:42:47 -07:00
Andreas Fischer
69cf5782d4 Merge pull request #3054 from Senky/ticket/13193
[ticket/13193] Post count in PMs not a link

* Senky/ticket/13193:
  [ticket/13193] Swap ternary condition members
  [ticket/13193] Make template more readable
  [ticket/13193] Add load_search config check
  [ticket/13193] Add link to post count in PMs
2014-10-26 14:20:33 +01:00
brunoais
1fc7bd107d [ticket/13141] Ups wrong version
PHPBB3-13141
2014-10-26 10:58:53 +00:00
brunoais
203f9c24d4 [ticket/13141] Implement core.mcp_global_f_read_auth_after
PHPBB3-13141
2014-10-26 10:58:23 +00:00
Jakub Senko
79274e904c [ticket/13193] Swap ternary condition members
PHPBB3-13193
2014-10-26 08:44:21 +01:00
Nils Adermann
5441a4ea13 Merge pull request #3067 from marc1706/ticket/13216
[ticket/13216] Use gmdate() instead of date() in datetime tests
2014-10-25 21:26:38 -07:00
Nils Adermann
5c1ef45488 Merge remote-tracking branch 'github-marc1706/ticket/13207' into develop-ascraeus
* github-marc1706/ticket/13207:
  [ticket/13207] Use assert_checkbox_is_checked for registration test
2014-10-25 21:01:51 -07:00
Nils Adermann
7a4b404af7 [develop-ascraeus] Update version number to 3.1.1-RC1-dev 2014-10-25 20:28:46 -07:00
Marc Alexander
1046ada9fc [ticket/13216] Use gmdate() instead of date() in datetime tests
PHPBB3-13216
2014-10-25 20:25:57 -07:00
Marc Alexander
cafd3b79fd [ticket/13207] Use assert_checkbox_is_checked for registration test
PHPBB3-13207
2014-10-25 20:05:25 -07:00
Nils Adermann
a5830fe0d5 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [prep-release-3.1.0] Add missing CHANGELOG entries for RC6
2014-10-25 18:11:03 -07:00
Dhruv
1c88a2cb25 [ticket/12962] Fix Line Endings in bootstrap
PHPBB3-12962
2014-10-25 17:33:47 -07:00
Nils Adermann
9c95831f35 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [prep-release-3.1.0] Add CHANGELOG for 3.1.0
2014-10-25 17:12:34 -07:00
Nils Adermann
8de93bee95 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [prep-release-3.1.0] Add 3.1.0 gold release migration
2014-10-25 17:05:07 -07:00
Nils Adermann
26d4483d36 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13207] Add notification manager mock to user_add method in tests
  [ticket/13207] Move default user notifications settings to user_add()
  [ticket/13207] Add default subscription options for newly registered users
2014-10-25 16:56:05 -07:00
Marc Alexander
1da1a70650 [ticket/13197] Also delete group avatar from users that have it set
PHPBB3-13197
2014-10-25 15:57:41 -07:00
Dhruv
e78210dc96 [ticket/12962] Load composer test dependencies for php >= 5.3.19
PHPBB3-12962
2014-10-25 15:34:39 -07:00
Marc Alexander
a623868f20 [ticket/13192] Pass correct parameters and rename method to get_valid_page
PHPBB3-13192
2014-10-21 22:38:03 -05:00
Marc Alexander
ce8c09f51f [ticket/13192] Use get_valid_user_page in confirm_box() and cleanup globals
The $request global existed twice and the $phpEx global is not being used
in confirm_box().

PHPBB3-13192
2014-10-21 22:17:48 -05:00
Marc Alexander
c381ad2002 [ticket/13192] Use get_valid_user_page method in build_url function
PHPBB3-13192
2014-10-21 22:17:24 -05:00
Marc Alexander
40497ec824 [ticket/13192] Add method for generating valid user page links
PHPBB3-13192
2014-10-21 22:16:53 -05:00
Jakub Senko
5581a30f58 [ticket/13193] Make template more readable
PHPBB3-13193
2014-10-21 23:12:00 +02:00
Jakub Senko
0dcfcf5854 [ticket/13193] Add load_search config check
PHPBB3-13193
2014-10-21 22:53:59 +02:00
Jakub Senko
92f077a4e9 [ticket/13193] Add link to post count in PMs
PHPBB3-13193
2014-10-21 22:32:57 +02:00
Oliver Schramm
30213816ae [ticket/13100] Display only confirmation buttons when deleting shadow topic
PHPBB3-13100
2014-10-20 00:24:16 +02:00
Oliver Schramm
0ba3bd9aed [ticket/11863] Add functional test
PHPBB3-11863
2014-10-17 23:33:28 +02:00
Oliver Schramm
f049fcd604 [ticket/11863] Display warning to user because of activation method
PHPBB3-11863
2014-10-17 15:42:11 +02:00
Oliver Schramm
01df1d3301 [ticket/11863] Grey out unavailable activation methods when emails disabled
Further fall back to USER_ACTIVATION_DISABLE when emails are disabled
but evaluate it at runtime.

PHPBB3-11863
2014-10-17 15:40:03 +02:00
Tristan Darricau
d285363700 [ticket/13133] Add unit tests
PHPBB3-13133
2014-10-09 19:54:56 +02:00
Tristan Darricau
911831a9c5 [ticket/13133] Allow @vendor_name for includecss
PHPBB3-13133
2014-10-08 18:25:36 +02:00
Jakub Senko
ca7f4fb531 [ticket/10985] Add fix to properly inherit style during update process
PHPBB3-10985
2014-09-23 23:03:07 +02:00
Dhruv
29ffddee71 [ticket/12962] bootstrap functional and ui test when php >5.3.19
PHPBB3-12962
2014-09-21 15:54:52 +05:30
Dhruv
7fa596a991 [ticket/12962] Install test dependencies on travis
PHPBB3-12962
2014-09-21 14:24:36 +05:30
Dhruv
77d52982c8 [ticket/12962] Add facebook/webdriver dependency
Create a new composer.json for tests dir and add
facebook/webdriver dependency

PHPBB3-12962
2014-09-21 14:24:29 +05:30
Dhruv
a1dff65cd1 [ticket/12962] Fix whitespace characters
PHPBB3-12962
2014-09-21 13:53:28 +05:30
Dhruv
a2627e8790 [ticket/12962] Run tests for all databases on Travis
PHPBB3-12962
2014-09-21 13:53:26 +05:30
Dhruv
20dfb23dd4 [ticket/12962] Force language=en for UI tests installation
PHPBB3-12962
2014-09-21 13:53:24 +05:30
Dhruv
d1935b0b0b [ticket/12962] Dump server output to /dev/null
PHPBB3-12962
2014-09-21 13:53:23 +05:30
Dhruv
039b466bd0 [ticket/12962] Start phantomjs on travis in background
PHPBB3-12962
2014-09-21 13:53:20 +05:30
Dhruv
c371e86fa1 [ticket/12962] Mark test skipped when phantom server not running
PHPBB3-12962
2014-09-21 13:53:19 +05:30
Dhruv
8d0933ca4b [ticket/12962] Add setup-phantomjs-server.sh
PHPBB3-12962
2014-09-21 13:53:17 +05:30
Dhruv
6de352f7da [ticket/12962] Run UI tests on Travis-mysql
PHPBB3-12962
2014-09-21 13:53:15 +05:30
Dhruv
c0d3cf6a27 [ticket/12962] Add UI tests to phpunit.xml.dist
PHPBB3-12962
2014-09-21 13:53:14 +05:30
Dhruv
f21ef60175 [ticket/12962] Add quick-links JS test
PHPBB3-12962
2014-09-21 13:53:08 +05:30
Dhruv
77f8bb48fe [ticket/12962] Add initial class for ui_testing
PHPBB3-12962
2014-09-21 12:07:06 +05:30
262 changed files with 5202 additions and 907 deletions

8
.gitignore vendored
View File

@@ -1,9 +1,8 @@
*~
/phpunit.xml
/phpBB/cache/twig/*
/phpBB/cache/*.html
/phpBB/cache/*.php
/phpBB/cache/*.lock
/phpBB/cache/*
!/phpBB/cache/.htaccess
!/phpBB/cache/index.html
/phpBB/composer.phar
/phpBB/config*.php
/phpBB/ext/*
@@ -22,3 +21,4 @@
/tests/phpbb_unit_tests.sqlite*
/tests/test_config*.php
/tests/tmp/*
/tests/vendor

View File

@@ -16,6 +16,8 @@ matrix:
env: DB=postgres
- php: 5.4
env: DB=sqlite3
- php: 5.4
env: DB=mysqli;SLOWTESTS=1
- php: 5.5
env: DB=mysqli
- php: 5.6
@@ -34,12 +36,14 @@ install:
before_script:
- travis/setup-database.sh $DB $TRAVIS_PHP_VERSION
- phantomjs --webdriver=8910 > /dev/null &
script:
- travis/phing-sniff.sh $DB $TRAVIS_PHP_VERSION
- travis/check-sami-parse-errors.sh $DB $TRAVIS_PHP_VERSION
- travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION
- travis/check-executable-files.sh $DB $TRAVIS_PHP_VERSION ./
- phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml
- sh -c "if [ '$SLOWTESTS' != '1' ]; then phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml; fi"
- sh -c "if [ '$SLOWTESTS' = '1' ]; then phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml --group slow; fi"
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.3.3' -a '$DB' = 'mysqli' -a '$TRAVIS_PULL_REQUEST' != 'false' ]; then git-tools/commit-msg-hook-range.sh origin/$TRAVIS_BRANCH..FETCH_HEAD; fi"

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.1.0" />
<property name="prevversion" value="3.1.0-RC6" />
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2, 3.1.0-a3, 3.1.0-b1, 3.1.0-b2, 3.1.0-b3, 3.1.0-b4, 3.1.0-RC1, 3.1.0-RC2, 3.1.0-RC3, 3.1.0-RC4, 3.1.0-RC5" />
<property name="newversion" value="3.1.3" />
<property name="prevversion" value="3.1.3-RC2" />
<property name="olderversions" value="3.0.12, 3.0.13, 3.0.13-PL1, 3.1.0, 3.1.1, 3.1.2, 3.1.3-RC1" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />
@@ -117,9 +117,16 @@
</if>
</target>
<!-- Builds docs for current branch into build/api/output/master -->
<target name="docs">
<exec dir="."
command="phpBB/vendor/bin/sami.php update build/sami.conf.php"
command="phpBB/vendor/bin/sami.php update build/sami-checkout.conf.php"
passthru="true" />
</target>
<!-- Builds docs for multiple branches/tags into build/api/output/$branch -->
<target name="docs-all">
<exec dir="."
command="phpBB/vendor/bin/sami.php update build/sami-all.conf.php"
passthru="true" />
</target>

View File

@@ -84,12 +84,12 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
$line = $tokens[$i]['content'];
// Check that each line starts with a '*'
if (substr($line, 0, 1) !== '*')
if (substr($line, 0, 1) !== '*' && substr($line, 0, 2) !== ' *')
{
$message = 'The file doc comment should not be idented.';
$message = 'The file doc comment should not be indented.';
$phpcsFile->addWarning($message, $i);
}
else if (preg_match('/^\*\s+@([\w]+)\s+(.*)$/', $line, $match) !== 0)
else if (preg_match('/^[ ]?\*\s+@([\w]+)\s+(.*)$/', $line, $match) !== 0)
{
if (!isset($tags[$match[1]]))
{

View File

@@ -24,6 +24,23 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
return array(T_USE);
}
protected function check($phpcsFile, $found_name, $full_name, $short_name, $line)
{
if ($found_name === $full_name)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $line, 'FullName');
}
if ($found_name === $short_name)
{
return true;
}
return false;
}
/**
* {@inheritdoc}
*/
@@ -74,16 +91,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
$simple_class_name = trim($phpcsFile->getTokensAsString($simple_class_name_start, ($simple_class_name_end - $simple_class_name_start)));
if ($simple_class_name === $class_name_full)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $simple_statement, 'FullName');
}
if ($simple_class_name === $class_name_short)
{
$ok = true;
}
$ok = $this->check($phpcsFile, $simple_class_name, $class_name_full, $class_name_short, $simple_statement) ? true : $ok;
}
}
@@ -98,16 +106,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
$paamayim_nekudotayim_class_name = trim($phpcsFile->getTokensAsString($paamayim_nekudotayim_class_name_start + 1, ($paamayim_nekudotayim_class_name_end - $paamayim_nekudotayim_class_name_start)));
if ($paamayim_nekudotayim_class_name === $class_name_full)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $paamayim_nekudotayim, 'FullName');
}
if ($paamayim_nekudotayim_class_name === $class_name_short)
{
$ok = true;
}
$ok = $this->check($phpcsFile, $paamayim_nekudotayim_class_name, $class_name_full, $class_name_short, $paamayim_nekudotayim) ? true : $ok;
}
// Checks in implements
@@ -126,16 +125,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
$implements_class_name = trim($phpcsFile->getTokensAsString($implements_class_name_start, ($implements_class_name_end - $implements_class_name_start)));
if ($implements_class_name === $class_name_full)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $implements, 'FullName');
}
if ($implements_class_name === $class_name_short)
{
$ok = true;
}
$ok = $this->check($phpcsFile, $implements_class_name, $class_name_full, $class_name_short, $implements) ? true : $ok;
}
}
@@ -145,34 +135,64 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
{
$old_function_declaration = $function_declaration;
$end_function = $phpcsFile->findNext(array(T_CLOSE_PARENTHESIS), ($function_declaration + 1));
$old_argument = $function_declaration;
while (($argument = $phpcsFile->findNext(T_VARIABLE, ($old_argument + 1), $end_function)) !== false)
// Check docblocks
$find = array(
T_COMMENT,
T_DOC_COMMENT,
T_CLASS,
T_FUNCTION,
T_OPEN_TAG,
);
$comment_end = $phpcsFile->findPrevious($find, ($function_declaration - 1));
if ($comment_end !== false)
{
$old_argument = $argument;
$start_argument = $phpcsFile->findPrevious(array(T_OPEN_PARENTHESIS, T_COMMA), $argument);
$argument_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($start_argument + 1), $argument);
// Skip the parameter if no type is defined.
if ($argument_class_name_start !== false)
if (!$tokens[$comment_end]['code'] !== T_DOC_COMMENT)
{
$argument_class_name_end = $phpcsFile->findNext($find, ($argument_class_name_start + 1), null, true);
$comment_start = ($phpcsFile->findPrevious(T_DOC_COMMENT, ($comment_end - 1), null, true) + 1);
$comment = $phpcsFile->getTokensAsString($comment_start, ($comment_end - $comment_start + 1));
$argument_class_name = $phpcsFile->getTokensAsString($argument_class_name_start, ($argument_class_name_end - $argument_class_name_start - 1));
if ($argument_class_name === $class_name_full)
try
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $function_declaration, 'FullName');
$comment_parser = new PHP_CodeSniffer_CommentParser_FunctionCommentParser($comment, $phpcsFile);
$comment_parser->parse();
// Check @param
foreach ($comment_parser->getParams() as $param) {
$type = $param->getType();
$types = explode('|', str_replace('[]', '', $type));
foreach ($types as $type)
{
$ok = $this->check($phpcsFile, $type, $class_name_full, $class_name_short, $param->getLine() + $comment_start) ? true : $ok;
}
}
// Check @return
$return = $comment_parser->getReturn();
if ($return !== null)
{
$type = $return->getValue();
$types = explode('|', str_replace('[]', '', $type));
foreach ($types as $type)
{
$ok = $this->check($phpcsFile, $type, $class_name_full, $class_name_short, $return->getLine() + $comment_start) ? true : $ok;
}
}
}
if ($argument_class_name === $class_name_short)
catch (PHP_CodeSniffer_CommentParser_ParserException $e)
{
$ok = true;
$line = ($e->getLineWithinComment() + $comment_start);
$phpcsFile->addError($e->getMessage(), $line, 'FailedParse');
}
}
}
// Check type hint
$params = $phpcsFile->getMethodParameters($function_declaration);
foreach ($params as $param)
{
$ok = $this->check($phpcsFile, $param['type_hint'], $class_name_full, $class_name_short, $function_declaration) ? true : $ok;
}
}
if (!$ok)

View File

@@ -394,6 +394,7 @@ if (sizeof($package->old_packages))
$package->run_command('mkdir ' . $package->get('files_directory') . '/release');
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/docs ' . $package->get('files_directory') . '/release');
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/install ' . $package->get('files_directory') . '/release');
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/vendor ' . $package->get('files_directory') . '/release');
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_install.php');
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_update.php');

30
build/sami-all.conf.php Normal file
View File

@@ -0,0 +1,30 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
require __DIR__ . '/sami-checkout.conf.php';
$config['versions'] = Sami\Version\GitVersionCollection::create(__DIR__ . '/../')
/*
This would be nice, but currently causes various problems that need
debugging.
->addFromTags('release-3.0.*')
->add('develop-olympus', '3.0-next (olympus)')
->addFromTags('release-3.1.*')
->add('develop-ascraeus', '3.1-next (ascraeus)')
->add('develop')
*/
->add('develop-olympus')
->add('develop-ascraeus')
;
return new Sami\Sami($iterator, $config);

View File

@@ -31,23 +31,8 @@ $iterator = Symfony\Component\Finder\Finder::create()
->notPath('data')
;
$versions = Sami\Version\GitVersionCollection::create(__DIR__ . '/../')
/*
This would be nice, but currently causes various problems that need
debugging.
->addFromTags('release-3.0.*')
->add('develop-olympus', '3.0-next (olympus)')
->addFromTags('release-3.1.*')
->add('develop-ascraeus', '3.1-next (ascraeus)')
->add('develop')
*/
->add('develop-olympus')
->add('develop-ascraeus')
;
$config = array(
'theme' => 'enhanced',
'versions' => $versions,
'title' => 'phpBB API Documentation',
'build_dir' => __DIR__.'/api/output/%version%',
'cache_dir' => __DIR__.'/api/cache/%version%',

View File

@@ -47,6 +47,8 @@
<dd><input id="send" type="checkbox" class="radio" name="send_immediately" checked="checked" /></dd>
</dl>
<!-- EVENT acp_email_options_after -->
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_EMAIL}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />

View File

@@ -111,6 +111,7 @@
<fieldset>
<legend>{L_FORUM_SETTINGS}</legend>
<!-- EVENT acp_forums_main_settings_prepend -->
<dl>
<dt><label for="forum_type">{L_FORUM_TYPE}{L_COLON}</label></dt>
<dd><select id="forum_type" name="forum_type" onchange="display_options(this.options[this.selectedIndex].value);">{S_FORUM_TYPE_OPTIONS}</select></dd>
@@ -182,6 +183,7 @@
<dt><label for="forum_style">{L_FORUM_STYLE}{L_COLON}</label></dt>
<dd><select id="forum_style" name="forum_style"><option value="0">{L_DEFAULT_STYLE}</option>{S_STYLES_OPTIONS}</select></dd>
</dl>
<!-- EVENT acp_forums_main_settings_append -->
</fieldset>
<div id="forum_cat_options">
@@ -198,6 +200,7 @@
<div id="forum_post_options">
<fieldset>
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
<!-- EVENT acp_forums_normal_settings_prepend -->
<dl>
<dt><label for="forum_status">{L_FORUM_STATUS}{L_COLON}</label></dt>
<dd><select id="forum_status" name="forum_status">{S_STATUS_OPTIONS}</select></dd>
@@ -246,6 +249,7 @@
<fieldset>
<legend>{L_FORUM_PRUNE_SETTINGS}</legend>
<!-- EVENT acp_forums_prune_settings_prepend -->
<dl>
<dt><label for="enable_prune">{L_FORUM_AUTO_PRUNE}{L_COLON}</label><br /><span>{L_FORUM_AUTO_PRUNE_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="enable_prune" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
@@ -291,6 +295,7 @@
<dt><label for="prune_shadow_days">{L_AUTO_PRUNE_SHADOW_DAYS}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_SHADOW_DAYS_EXPLAIN}</span></dt>
<dd><input type="number" id="prune_shadow_days" name="prune_shadow_days" value="{PRUNE_SHADOW_DAYS}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
</dl>
<!-- EVENT acp_forums_prune_settings_append -->
</fieldset>
</div>
@@ -317,6 +322,7 @@
<div id="forum_rules_options">
<fieldset>
<legend>{L_FORUM_RULES}</legend>
<!-- EVENT acp_forums_rules_settings_prepend -->
<dl>
<dt><label for="forum_rules_link">{L_FORUM_RULES_LINK}{L_COLON}</label><br /><span>{L_FORUM_RULES_LINK_EXPLAIN}</span></dt>
<dd><input class="text medium" type="text" id="forum_rules_link" name="forum_rules_link" value="{FORUM_RULES_LINK}" maxlength="255" /></dd>
@@ -334,6 +340,7 @@
<label><input type="checkbox" class="radio" name="rules_parse_smilies"<!-- IF S_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
<label><input type="checkbox" class="radio" name="rules_parse_urls"<!-- IF S_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
</dl>
<!-- EVENT acp_forums_rules_settings_append -->
</fieldset>
</div>

View File

@@ -7,7 +7,7 @@
<script type="text/javascript" defer="defer">
// <![CDATA[
<!-- IF S_ADD_CODE -->
var smiley = Array();
<!-- BEGIN smile -->
smiley['{smile.SMILEY_URL}'] = Array();
@@ -37,10 +37,10 @@
}
}
}
<!-- ENDIF -->
function toggle_select(icon, display, select)
{
var disp = document.getElementById('order_disp_' + select);
@@ -101,7 +101,7 @@
<tbody>
<!-- BEGIN items -->
<tr>
<td style="text-align: center;"><img src="{items.IMG_SRC}" alt="" title="" /><input type="hidden" name="image[{items.IMG}]" value="1" /></td>
<td style="vertical-align: top;">[{items.IMG}]</td>
<!-- IF S_SMILIES -->
@@ -121,7 +121,7 @@
<optgroup id="order_disp_{items.S_ROW_COUNT}" label="{L_DISPLAY_POSTING}" <!-- IF not items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_DISPLAY}</optgroup>
<optgroup id="order_no_disp_{items.S_ROW_COUNT}" label="{L_DISPLAY_POSTING_NO}" <!-- IF items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_UNDISPLAY}</optgroup>
</select></td>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF S_ADD -->
<td><input type="checkbox" class="radio" name="add_img[{items.IMG}]" value="1" /></td>
<!-- ENDIF -->
@@ -147,6 +147,8 @@
</tr>
<!-- ENDIF -->
<!-- ELSE -->
</thead>
<tbody>
<tr class="row3">
<td colspan="{COLSPAN}">{L_NO_ICONS}</td>
</tr>
@@ -174,7 +176,7 @@
<fieldset>
<legend>{L_IMPORT}</legend>
<!-- IF not S_PAK_OPTIONS -->
<p>{L_NO_PAK_OPTIONS}</p>
@@ -259,7 +261,7 @@
</table>
<div class="pagination">
<!-- IF .pagination -->
<!-- INCLUDE pagination.html -->
<!-- INCLUDE pagination.html -->
<!-- ENDIF -->
</div>
<p class="quick">

View File

@@ -386,7 +386,8 @@ phpbb.ajaxify = function(options) {
type: method,
data: data,
success: returnHandler,
error: errorHandler
error: errorHandler,
cache: false
});
request.always(function() {
$loadingIndicator.fadeOut(phpbb.alertTime);

View File

@@ -34,6 +34,14 @@ phpbb.plupload.initialize = function() {
if (uploader.features.dragdrop) {
$('#drag-n-drop-message').show();
}
// Ensure "Add files" button position is correctly calculated.
if ($('#attach-panel-multi').is(':visible')) {
uploader.refresh();
}
$('[data-subpanel="attach-panel"]').one('click', function() {
uploader.refresh();
});
});
};

40
phpBB/composer.lock generated
View File

@@ -703,21 +703,21 @@
"packages-dev": [
{
"name": "fabpot/goutte",
"version": "v1.0.3",
"version": "v1.0.7",
"source": {
"type": "git",
"url": "https://github.com/fabpot/Goutte.git",
"reference": "75c9f23c4122caf4ea3e87a42a00b471366e707f"
"url": "https://github.com/FriendsOfPHP/Goutte.git",
"reference": "794b196e76bdd37b5155cdecbad311f0a3b07625"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fabpot/Goutte/zipball/75c9f23c4122caf4ea3e87a42a00b471366e707f",
"reference": "75c9f23c4122caf4ea3e87a42a00b471366e707f",
"url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/794b196e76bdd37b5155cdecbad311f0a3b07625",
"reference": "794b196e76bdd37b5155cdecbad311f0a3b07625",
"shasum": ""
},
"require": {
"ext-curl": "*",
"guzzle/http": ">=3.0.5,<3.8-dev",
"guzzle/http": "~3.1",
"php": ">=5.3.0",
"symfony/browser-kit": "~2.1",
"symfony/css-selector": "~2.1",
@@ -726,8 +726,8 @@
"symfony/process": "~2.1"
},
"require-dev": {
"guzzle/plugin-history": ">=3.0.5,<3.8-dev",
"guzzle/plugin-mock": ">=3.0.5,<3.8-dev"
"guzzle/plugin-history": "~3.1",
"guzzle/plugin-mock": "~3.1"
},
"type": "application",
"extra": {
@@ -747,9 +747,7 @@
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
"email": "fabien@symfony.com"
}
],
"description": "A simple PHP Web Scraper",
@@ -757,7 +755,7 @@
"keywords": [
"scraper"
],
"time": "2013-08-16 06:03:22"
"time": "2014-10-09 15:52:51"
},
{
"name": "guzzle/common",
@@ -1592,16 +1590,16 @@
},
{
"name": "sami/sami",
"version": "v1.3",
"version": "v1.4",
"source": {
"type": "git",
"url": "https://github.com/fabpot/Sami.git",
"reference": "76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110"
"url": "https://github.com/FriendsOfPHP/Sami.git",
"reference": "70f29c781f7bef30181c814b9471b2ceac694454"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fabpot/Sami/zipball/76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110",
"reference": "76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110",
"url": "https://api.github.com/repos/FriendsOfPHP/Sami/zipball/70f29c781f7bef30181c814b9471b2ceac694454",
"reference": "70f29c781f7bef30181c814b9471b2ceac694454",
"shasum": ""
},
"require": {
@@ -1622,7 +1620,7 @@
"type": "application",
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
"dev-master": "1.4-dev"
}
},
"autoload": {
@@ -1637,9 +1635,7 @@
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
"email": "fabien@symfony.com"
}
],
"description": "Sami, an API documentation generator",
@@ -1647,7 +1643,7 @@
"keywords": [
"phpdoc"
],
"time": "2013-11-30 17:16:25"
"time": "2014-06-25 11:24:03"
},
{
"name": "sebastian/comparator",

View File

@@ -4,6 +4,7 @@ services:
arguments:
- @auth
- @config
- @dispatcher
- @dbal.conn
- @user
- %core.root_path%

View File

@@ -18,6 +18,7 @@ services:
migrator:
class: phpbb\db\migrator
arguments:
- @service_container
- @config
- @dbal.conn
- @dbal.tools

View File

@@ -7,6 +7,7 @@ services:
- @service_container
- @user_loader
- @config
- @dispatcher
- @dbal.conn
- @cache
- @user

View File

@@ -1,7 +1,7 @@
# Structure:
#
# foo_controller:
# pattern: /foo
# path: /foo
# defaults: { _controller: foo_sevice:method }
#
# The above will be accessed via app.php?controller=foo and it will

View File

@@ -75,6 +75,7 @@ services:
- @controller.provider
- @ext.manager
- @symfony_request
- @request
- @filesystem
- %core.root_path%
- %core.php_ext%
@@ -108,6 +109,9 @@ services:
filesystem:
class: phpbb\filesystem
file_downloader:
class: phpbb\file_downloader
http_kernel:
class: Symfony\Component\HttpKernel\HttpKernel
arguments:
@@ -155,6 +159,8 @@ services:
- null
- %core.disable_super_globals%
# WARNING: The Symfony request does not escape the input and should be used very carefully
# prefer the phpbb request (service @request) as possible
symfony_request:
class: phpbb\symfony_request
arguments:
@@ -178,4 +184,5 @@ services:
arguments:
- @cache
- @config
- @file_downloader
- @user

View File

@@ -51,7 +51,6 @@ $classes = $finder->core_path('phpbb/')
$db = new \phpbb\db\driver\sqlite();
$schema_generator = new \phpbb\db\migration\schema_generator($classes, new \phpbb\config\config(array()), $db, new \phpbb\db\tools($db, true), $phpbb_root_path, $phpEx, $table_prefix);
$schema_data = $schema_generator->get_schema();
$dbms_type_map = phpbb\db\tools::get_dbms_type_map();
$fp = fopen($schema_path . 'schema.json', 'wb');
fwrite($fp, json_encode($schema_data, JSON_PRETTY_PRINT));

View File

@@ -62,10 +62,14 @@ echo "USE $dbname;$newline$newline";
@set_time_limit(0);
require($phpbb_root_path . 'includes/db/schema_data.' . $phpEx);
require($phpbb_root_path . 'phpbb/db/tools.' . $phpEx);
$finder = new \phpbb\finder(new \phpbb\filesystem(), $phpbb_root_path);
$classes = $finder->core_path('phpbb/')
->directory('/db/migration/data')
->get_classes();
$dbms_type_map = phpbb\db\tools::get_dbms_type_map();
$schema_generator = new \phpbb\db\migration\schema_generator($classes, $config, $db, new \phpbb\db\tools($db, true), $phpbb_root_path, $phpEx, $table_prefix);
$schema_data = $schema_generator->get_schema();
$dbms_type_map = \phpbb\db\tools::get_dbms_type_map();
foreach ($schema_data as $table_name => $table_data)
{

151
phpBB/develop/regex_idn.php Normal file
View File

@@ -0,0 +1,151 @@
<?php
//
// Security message:
//
// This script is potentially dangerous.
// Remove or comment the next line (die(".... ) to enable this script.
// Do NOT FORGET to either remove this script or disable it after you have used it.
//
die("Please read the first lines of this script for instructions on how to enable it");
// IP regular expressions
$dec_octet = '(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])';
$h16 = '[\dA-F]{1,4}';
$ipv4 = "(?:$dec_octet\.){3}$dec_octet";
$ls32 = "(?:$h16:$h16|$ipv4)";
$ipv6_construct = array(
array(false, '', '{6}', $ls32),
array(false, '::', '{0,5}', "(?:$h16(?::$h16)?|$ipv4)"),
array('', ':', '{4}', $ls32),
array('{1,2}', ':', '{3}', $ls32),
array('{1,3}', ':', '{2}', $ls32),
array('{1,4}', ':', '', $ls32),
array('{1,5}', ':', false, $ls32),
array('{1,6}', ':', false, $h16),
array('{1,7}', ':', false, ''),
array(false, '::', false, '')
);
$ipv6 = '(?:';
foreach ($ipv6_construct as $ip_type)
{
$ipv6 .= '(?:';
if ($ip_type[0] !== false)
{
$ipv6 .= "(?:$h16:)" . $ip_type[0];
}
$ipv6 .= $ip_type[1];
if ($ip_type[2] !== false)
{
$ipv6 .= "(?:$h16:)" . $ip_type[2];
}
$ipv6 .= $ip_type[3] . ')|';
}
$ipv6 = substr($ipv6, 0, -1) . ')';
echo 'IPv4: ' . $ipv4 . "<br /><br />\n\nIPv6: " . $ipv6 . "<br /><br />\n\n";
// URL regular expressions
/* IDN2008 characters derivation
** http://unicode.org/faq/idn.html#33 - IDN FAQ: derivation of valid characters in terms of Unicode properties
** http://unicode.org/reports/tr46/ - Unicode Technical Standard #46. Unicode IDNA Compatibility Processing
** http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt - Unicode Character Database
*/
/*
** Remove Control Characters and Whitespace (as in IDNA2003)
*/
$no_cc = '\p{C}\p{Z}';
/*
** Remove Symbols, Punctuation, non-decimal Numbers, and Enclosing Marks
*/
$no_symbol = '\p{S}\p{P}\p{Nl}\p{No}\p{Me}';
/*
** Remove characters used for archaic Hangul (Korean) - \p{HST=L} and \p{HST=V}
** as per http://unicode.org/Public/UNIDATA/HangulSyllableType.txt
*/
$no_hangul = '\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}';
/*
** Remove three blocks of technical or archaic symbols.
*/
$no_cdm = '\x{20D0}-\x{20FF}'; // \p{block=Combining_Diacritical_Marks_For_Symbols}
$no_musical = '\x{1D100}-\x{1D1FF}'; // \p{block=Musical_Symbols}
$no_ancient_greek_musical = '\x{1D200}-\x{1D24F}'; // \p{block=Ancient_Greek_Musical_Notation}
/* Remove certain exceptions:
** U+0640 ARABIC TATWEEL
** U+07FA NKO LAJANYALAN
** U+302E HANGUL SINGLE DOT TONE MARK
** U+302F HANGUL DOUBLE DOT TONE MARK
** U+3031 VERTICAL KANA REPEAT MARK
** U+3032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK
** ..
** U+3035 VERTICAL KANA REPEAT MARK LOWER HALF
** U+303B VERTICAL IDEOGRAPHIC ITERATION MARK
*/
$no_certain_exceptions = '\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}';
/* Add certain exceptions:
** U+00B7 MIDDLE DOT
** U+0375 GREEK LOWER NUMERAL SIGN
** U+05F3 HEBREW PUNCTUATION GERESH
** U+05F4 HEBREW PUNCTUATION GERSHAYIM
** U+30FB KATAKANA MIDDLE DOT
** U+002D HYPHEN-MINUS
** U+06FD ARABIC SIGN SINDHI AMPERSAND
** U+06FE ARABIC SIGN SINDHI POSTPOSITION MEN
** U+0F0B TIBETAN MARK INTERSYLLABIC TSHEG
** U+3007 IDEOGRAPHIC NUMBER ZERO
*/
$add_certain_exceptions = '\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}';
/* Add special exceptions (Deviations):
** U+00DF LATIN SMALL LETTER SHARP S
** U+03C2 GREEK SMALL LETTER FINAL SIGMA
** U+200C ZERO WIDTH NON-JOINER
** U+200D ZERO WIDTH JOINER
*/
$add_deviations = '\x{00DF}\x{03C2}\x{200C}\x{200D}';
// Concatenate remove/add regexes respectively
$remove_chars = "$no_cc$no_symbol$no_hangul$no_cdm$no_musical$no_ancient_greek_musical$no_certain_exceptions";
$add_chars = "$add_certain_exceptions$add_deviations";
// Initialize inline mode
$inline = false;
do
{
$inline = !$inline;
$pct_encoded = "%[\dA-F]{2}";
$unreserved = "$add_chars\pL0-9\-._~";
$sub_delims = ($inline) ? '!$&\'(*+,;=' : '!$&\'()*+,;=';
$scheme = ($inline) ? '[a-z][a-z\d+]*': '[a-z][a-z\d+\-.]*' ; // avoid automatic parsing of "word" in "last word.http://..."
$pchar = "(?:[^$remove_chars]*[$unreserved$sub_delims:@|]+|$pct_encoded)"; // rfc: no "|"
$reg_name = "(?:[^$remove_chars]*[$unreserved$sub_delims:@|]+|$pct_encoded)+"; // rfc: * instead of + and no "|" and no "@" and no ":" (included instead of userinfo)
//$userinfo = "(?:(?:[$unreserved$sub_delims:]+|$pct_encoded))*";
$ipv4_simple = '[0-9.]+';
$ipv6_simple = '\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\]';
$host = "(?:$reg_name|$ipv4_simple|$ipv6_simple)";
$port = '\d*';
//$authority = "(?:$userinfo@)?$host(?::$port)?";
$authority = "$host(?::$port)?";
$segment = "$pchar*";
$path_abempty = "(?:/$segment)*";
$hier_part = "/{2}$authority$path_abempty";
$query = "(?:[^$remove_chars]*[$unreserved$sub_delims:@/?|]+|$pct_encoded)*"; // pchar | "/" | "?", rfc: no "|"
$fragment = $query;
$url = "$scheme:$hier_part(?:\?$query)?(?:\#$fragment)?";
echo (($inline) ? 'URL inline: ' : 'URL: ') . $url . "<br /><br />\n\n";
// no scheme, shortened authority, but host has to start with www.
$www_url = "www\.$reg_name(?::$port)?$path_abempty(?:\?$query)?(?:\#$fragment)?";
echo (($inline) ? 'www.URL_inline: ' : 'www.URL: ') . $www_url . "<br /><br />\n\n";
// no schema and no authority
$relative_url = "$segment$path_abempty(?:\?$query)?(?:\#$fragment)?";
echo (($inline) ? 'relative URL inline: ' : 'relative URL: ') . $relative_url . "<br /><br />\n\n";
}
while ($inline);

View File

@@ -45,7 +45,11 @@
<ol>
<li><a href="#changelog">Changelog</a>
<ol style="list-style-type: lower-roman;">
<ul>
<li><a href="#v312">Changes since 3.1.3-RC1</a></li>
<li><a href="#v312">Changes since 3.1.2</a></li>
<li><a href="#v311">Changes since 3.1.1</a></li>
<li><a href="#v310">Changes since 3.1.0</a></li>
<li><a href="#v310RC6">Changes since 3.1.0-RC6</a></li>
<li><a href="#v310RC5">Changes since 3.1.0-RC5</a></li>
<li><a href="#v310RC4">Changes since 3.1.0-RC4</a></li>
@@ -60,6 +64,8 @@
<li><a href="#v310a2">Changes since 3.1.0-a2</a></li>
<li><a href="#v310a1">Changes since 3.1.0-a1</a></li>
<li><a href="#v30x">Changes since 3.0.x</a></li>
<li><a href="#v3013">Changes since 3.0.13</a></li>
<li><a href="#v3012">Changes since 3.0.12</a></li>
<li><a href="#v3011">Changes since 3.0.11</a></li>
<li><a href="#v3010">Changes since 3.0.10</a></li>
<li><a href="#v309">Changes since 3.0.9</a></li>
@@ -81,7 +87,7 @@
<li><a href="#v30rc3">Changes since RC-3</a></li>
<li><a href="#v30rc2">Changes since RC-2</a></li>
<li><a href="#v30rc1">Changes since RC-1</a></li>
</ol>
</ul>
</li>
<li><a href="#disclaimer">Copyright and disclaimer</a></li>
</ol>
@@ -100,7 +106,218 @@
<div class="content">
<a name="v310RC6"></a><h3>1.i. Changes since 3.1.0-RC6</h3>
<a name="v313rc1"></a><h3>Changes since 3.1.3-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12933">PHPBB3-12933</a>] - The search operator for partial matches does not work</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13544">PHPBB3-13544</a>] - Migrations' &quot;permission.permission_unset&quot; deletes all permissions instead of just the one stated</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13556">PHPBB3-13556</a>] - Translated exceptions from file_downloader are handled incorrectly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13557">PHPBB3-13557</a>] - Migrations for 3.0.13 and PL1 are missing</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13553">PHPBB3-13553</a>] - Controller helper needs a message handler to replace error handler</li>
</ul>
<a name="v312"></a><h3>Changes since 3.1.2</h3>
<h4>Security</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13519">PHPBB3-13519</a>] - Correctly validate imagick path as path and not string</li>
</ul>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9100">PHPBB3-9100</a>] - Inline attachments are not being inserted at the cursor</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11613">PHPBB3-11613</a>] - Cookies do not work for netbios domain</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12089">PHPBB3-12089</a>] - Make HTTP status code error messages more informative</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12642">PHPBB3-12642</a>] - Custom profile field isn't displayed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12698">PHPBB3-12698</a>] - Replace all instances of magic numbers with constants in javascript</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12866">PHPBB3-12866</a>] - Wrong profile field validation options</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13098">PHPBB3-13098</a>] - Repair Yahoo contact field</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13192">PHPBB3-13192</a>] - confirm_box() action contains app.php when enable_mod_rewrite is set</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13238">PHPBB3-13238</a>] - \phpbb\db\migration\data\v310\mysql_fulltext_drop tries to drop non existent indexes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13272">PHPBB3-13272</a>] - Changed Files packages do not include vendor directory</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13282">PHPBB3-13282</a>] - PostgreSQL error when creating boolean/dropdown custom profile fields</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13302">PHPBB3-13302</a>] - ACP links to docs need to be updated to 3.1 URLs</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13307">PHPBB3-13307</a>] - develop/mysql_upgrader.php does not work anymore</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13319">PHPBB3-13319</a>] - Icons/smilies table improperly formed when no images present</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13346">PHPBB3-13346</a>] - Missing space in posting_editor.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13357">PHPBB3-13357</a>] - LOG_MOVED_TOPIC Language var missing</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13358">PHPBB3-13358</a>] - Add class for retrieving remote file data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13362">PHPBB3-13362</a>] - The whole cache dir (excluding the .htaccess and index.html files) should be ignored by git</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13366">PHPBB3-13366</a>] - Dynamic config for &quot;plupload_last_gc&quot; is static</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13381">PHPBB3-13381</a>] - Code Sniffer complains about 3.1.2 migration</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13385">PHPBB3-13385</a>] - Add free result after running update query in $config-&gt;set_atomic()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13391">PHPBB3-13391</a>] - subsilver2 poll options must have a setting of 1 when editing a post</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13393">PHPBB3-13393</a>] - Invalid parameters passed to call_user_func_array in version_helper.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13396">PHPBB3-13396</a>] - Multibyte chars cause attachment upload to fail</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13400">PHPBB3-13400</a>] - Add a new message for high server loads during search</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13405">PHPBB3-13405</a>] - A typo in style_update_p1.php migration may prevent updating in some circumstances</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13406">PHPBB3-13406</a>] - ADD INDEX syntax may cause an error in earlier MySQL versions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13420">PHPBB3-13420</a>] - Prune users bug - filter all with 0 posts</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13427">PHPBB3-13427</a>] - Add template events to MCP front before/after each list</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13431">PHPBB3-13431</a>] - Wrong margin-left for RTL sites in Internet Explorer mobile view</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13432">PHPBB3-13432</a>] - Migrator module tool does not add the needed module language file</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13441">PHPBB3-13441</a>] - functions_convert fails to set global moderators default group</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13442">PHPBB3-13442</a>] - UTF-8 symbols for database host</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13448">PHPBB3-13448</a>] - \phpbb\messenger-&gt;template can't find email templates in extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13453">PHPBB3-13453</a>] - Sort params in Canonical URL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13470">PHPBB3-13470</a>] - Mass email says &quot;user doesn't exist&quot; when all users is selected</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13486">PHPBB3-13486</a>] - Call to undefined method phpbb\db\driver\factory::sql_escpape() on database update</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13489">PHPBB3-13489</a>] - Allow the migrations to use the DI container</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13490">PHPBB3-13490</a>] - Unicode chars are broken in edit message after preview</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13492">PHPBB3-13492</a>] - Custom BBCode URL tokens do not support IDN</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13504">PHPBB3-13504</a>] - &quot;Array&quot; is displayed when searching, or when unanswered posts or active topics are selected</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13507">PHPBB3-13507</a>] - Large images in posts can cause horizontal scrollbars</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13511">PHPBB3-13511</a>] - The &quot;Unused Use&quot; Sniff is broken</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13530">PHPBB3-13530</a>] - Fix undefined variables in migrations and tests</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13534">PHPBB3-13534</a>] - Non-existent path in attachment settings causes travis failure</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13543">PHPBB3-13543</a>] - Slow tests fail on 3.1 and 3.2</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11033">PHPBB3-11033</a>] - FULLTEXT_SPHINX_NO_CONFIG_DATA references unrequired field</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12567">PHPBB3-12567</a>] - [proSilver] - viewtopic_body.html: Change 'back2top' anchor in to '#top'</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12926">PHPBB3-12926</a>] - Support for IDN (IRI)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13266">PHPBB3-13266</a>] - Enabling twig dump function if DEBUG is defined</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13306">PHPBB3-13306</a>] - Add error level to the error collector</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13312">PHPBB3-13312</a>] - [event] - Add core event to the mass email form</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13368">PHPBB3-13368</a>] - Add the forum_data var to the core.viewforum_get_topic_ids_data event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13370">PHPBB3-13370</a>] - Add ability to call class methods more easily in the convertor framework</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13389">PHPBB3-13389</a>] - Replace pattern with path in routing.yml</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13402">PHPBB3-13402</a>] - Code Sniffer, unused use, check the function doc blocks</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13409">PHPBB3-13409</a>] - Add event to modify search parameters before searching</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13419">PHPBB3-13419</a>] - Add template event at the end of the file</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13422">PHPBB3-13422</a>] - Add new events in save custom cookies and set custom ban type</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13428">PHPBB3-13428</a>] - Add core events to memberlist.php for teampage</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13430">PHPBB3-13430</a>] - Add event for modifying prune SQL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13435">PHPBB3-13435</a>] - Add core event to modify submit_post() sql data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13437">PHPBB3-13437</a>] - [Template] - viewtopic_body_post_author_before/after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13439">PHPBB3-13439</a>] - [event] - Add event to run code at beginning of ACP users overview</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13440">PHPBB3-13440</a>] - [event] - Add event to process when a user fails a login attempt</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13449">PHPBB3-13449</a>] - Add viewforum.php core event after the topic data has been assigned to template </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13466">PHPBB3-13466</a>] - Add bbcode_uid and bitfield to event core.message_parser_check_message</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13478">PHPBB3-13478</a>] - Add core event core.bbcode_cache_init_end</li>
</ul>
<h4>Sub-task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13141">PHPBB3-13141</a>] - Add an event to allow applying additional permissions to MCP access besides f_read</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13146">PHPBB3-13146</a>] - Add an event to allow changing the result of calling get_forums_visibility_sql()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13147">PHPBB3-13147</a>] - Add an event to change get_global_visibility_sql()'s results</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13148">PHPBB3-13148</a>] - Add an event to creating a final way to modify edit logs output</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13154">PHPBB3-13154</a>] - Add an event to edit user list for notifications</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13158">PHPBB3-13158</a>] - Add an event to allow adding extra auth checks when the user is posting</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13159">PHPBB3-13159</a>] - Add an event to allow extra auth checks when reporting posts</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13160">PHPBB3-13160</a>] - Add an event to viewtopic before viewing permissions</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12924">PHPBB3-12924</a>] - Meta tags should be self-closing</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13528">PHPBB3-13528</a>] - Boolean checkbox profile fields display &quot;1&quot; instead of selected value</li>
</ul>
<a name="v311"></a><h3>Changes since 3.1.1</h3>
<h4>Security</h4>
<ul>
<li>[SECURITY-171] - Version helper does not properly escape version info</li>
<li>[SECURITY-169] - AJAX request with unexpected referrer causes infinite loop</li>
</ul>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10442">PHPBB3-10442</a>] - XHTML is invalid when a forum link without redirect counter is present</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10744">PHPBB3-10744</a>] - Prevent user from installing styles with reserved directory names</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11863">PHPBB3-11863</a>] - User registration settings show incorrectly as disabled when board-wide emails are disabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12703">PHPBB3-12703</a>] - Notification System sends exact same SQL query multiple times</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13083">PHPBB3-13083</a>] - Language correction in NO_ENTRIES in acp_logs</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13100">PHPBB3-13100</a>] - Don't display &quot;delete reason&quot; dialog for shadow-topics</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13193">PHPBB3-13193</a>] - Post counts in Private Messages should link to the user's posts</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13197">PHPBB3-13197</a>] - Group Avatar not deleted from users</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13204">PHPBB3-13204</a>] - Login flood control error supresses incorrect credential error</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13209">PHPBB3-13209</a>] - Boolean (Yes/No) custom profile field doesn't show given name</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13216">PHPBB3-13216</a>] - Datetime tests fail randomly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13228">PHPBB3-13228</a>] - &quot;Code: Select all&quot; font-size too big in Private Messages</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13239">PHPBB3-13239</a>] - Can´t upload Attachments on iOS</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13241">PHPBB3-13241</a>] - Topics are being duplicated in multipage forums</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13242">PHPBB3-13242</a>] - Validation error in Contact a Board Administrator</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13243">PHPBB3-13243</a>] - Debug error when clicking Re-check all versions on ACP manage extensions page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13251">PHPBB3-13251</a>] - Database password containing special characters no longer accepted after upgrade to 3.1.0</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13253">PHPBB3-13253</a>] - MCP queue link in active topics search is missing</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13265">PHPBB3-13265</a>] - &quot;Edit profile&quot; link on view-own-profile page should only show if user has permission to edit</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13270">PHPBB3-13270</a>] - Upgrading from 3.0.12 to 3.1.1 does not display moderator soft delete permissions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13277">PHPBB3-13277</a>] - Move Up &amp; Down does not take work in Internet Explorer</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13280">PHPBB3-13280</a>] - $user-&gt;page['page'] - is invalid resulting in confirm_box() not working correctly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13284">PHPBB3-13284</a>] - Message body not included in email topic message </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13298">PHPBB3-13298</a>] - Use mysql_free_result to free result sets which were requested using mysql_query()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13300">PHPBB3-13300</a>] - Jabber field still shown in profile when feature is disabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13301">PHPBB3-13301</a>] - Apache Authentication is probably broken</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13303">PHPBB3-13303</a>] - Migrator caught in loop calculating dependencies</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13315">PHPBB3-13315</a>] - Upgrade from 3.0.12 to 3.1.1 resets CAPTCHA selection</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13316">PHPBB3-13316</a>] - reCAPTCHA does not work on secured connection</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13318">PHPBB3-13318</a>] - login_username doesn't have multibyte parameter set to true</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13323">PHPBB3-13323</a>] - posting.php can pass invalid auth option to acl_get()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13332">PHPBB3-13332</a>] - Insufficient information passed to password drivers for converted boards</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13337">PHPBB3-13337</a>] - Mark subforums read triggers error if subforums contain no topics</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13338">PHPBB3-13338</a>] - Some tests fail when run on their own</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13342">PHPBB3-13342</a>] - 310/captcha_plugins migration changes recaptcha to nogd</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13349">PHPBB3-13349</a>] - Incorrect entities used for breadcrumb separator in CSS</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13354">PHPBB3-13354</a>] - Unknown column 'topic_logs' in 'where clause' when deleting topic log in MCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13376">PHPBB3-13376</a>] - deregister_globals() does not work correctly when $_COOKIE['GLOBALS'] is specified</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12681">PHPBB3-12681</a>] - Cache the compiled routes and dump the url_generator</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12885">PHPBB3-12885</a>] - Wrong index page title when using Board Index text</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13023">PHPBB3-13023</a>] - [event] - Add Event posting_editor_buttons_custom_tags_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13133">PHPBB3-13133</a>] - Allow @vendor_extname in INCLUDECSS</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13182">PHPBB3-13182</a>] - [event] - Add posting.php core event to allow modifying the message before parsing</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13220">PHPBB3-13220</a>] - [event] - Add template events to memberlist_search.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13290">PHPBB3-13290</a>] - [event] - Add template event index_body_forumlist_body_after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13294">PHPBB3-13294</a>] - [event] - Add message_parser.php core event for additional message handling before parsing</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13297">PHPBB3-13297</a>] - Add unicode modifier to url/email regular expression patterns</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13309">PHPBB3-13309</a>] - [event] - Add ACP template event acp_email_options_after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13310">PHPBB3-13310</a>] - [event] - Add core event core.acp_email_modify_sql</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13326">PHPBB3-13326</a>] - Add viewtopic_url variable to a viewtopic event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13328">PHPBB3-13328</a>] - [event] - Add event core.mcp_view_forum_modify_sql</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13347">PHPBB3-13347</a>] - [event] - Add new template events to acp_forums.html</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12962">PHPBB3-12962</a>] - Use phantomjs and webdriver for UI testing</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13324">PHPBB3-13324</a>] - Composer no longer downloads sami/sami and fabpot/goutte</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13325">PHPBB3-13325</a>] - Make installing dependencies for tests more user friendly or optional</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13331">PHPBB3-13331</a>] - Sami run as part of phing MUST NOT switch branches</li>
</ul>
<a name="v310"></a><h3>Changes since 3.1.0</h3>
<h4>Security</h4>
<ul>
<li>[SECURITY-164] - Cross Site Scripting via PATH_INFO in page_name variable</li>
</ul>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13248">PHPBB3-13248</a>] - Login functions need to use provider collection for retrieving provider</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13267">PHPBB3-13267</a>] - Automatic Update instructions indicate that only the install folder is necessary</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13268">PHPBB3-13268</a>] - MSSQL's get_existing_indexes() function improperly appends ternary result</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13271">PHPBB3-13271</a>] - Anonymous users can CC themselves on emails sent to admin via contact form</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13262">PHPBB3-13262</a>] - Add note to docs about htaccess file when upgrading 3.0 to 3.1</li>
</ul>
<a name="v310RC6"></a><h3>Changes since 3.1.0-RC6</h3>
<h4>Bug</h4>
<ul>
@@ -128,7 +345,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13215">PHPBB3-13215</a>] - Update Symfony Components to 2.3.21</li>
</ul>
<a name="v310RC5"></a><h3>1.ii. Changes since 3.1.0-RC5</h3>
<a name="v310RC5"></a><h3>Changes since 3.1.0-RC5</h3>
<h4>Bug</h4>
<ul>
@@ -169,7 +386,7 @@
</ul>
<a name="v310RC4"></a><h3>1.iii. Changes since 3.1.0-RC4</h3>
<a name="v310RC4"></a><h3>Changes since 3.1.0-RC4</h3>
<h4>Bug</h4>
<ul>
@@ -236,7 +453,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13123">PHPBB3-13123</a>] - Add events to allow post blocking and post pre/past processing</li>
</ul>
<a name="v310RC3"></a><h3>1.iv. Changes since 3.1.0-RC3</h3>
<a name="v310RC3"></a><h3>Changes since 3.1.0-RC3</h3>
<h4>Bug</h4>
<ul>
@@ -326,7 +543,7 @@
</ul>
<a name="v310RC2"></a><h3>1.v. Changes since 3.1.0-RC2</h3>
<a name="v310RC2"></a><h3>Changes since 3.1.0-RC2</h3>
<h4>Bug</h4>
<ul>
@@ -450,7 +667,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12948">PHPBB3-12948</a>] - Remove Travis CI &quot;broken opcache on PHP 5.5.7 and 5.5.8&quot; workaround.</li>
</ul>
<a name="v310RC1"></a><h3>1.vi. Changes since 3.1.0-RC1</h3>
<a name="v310RC1"></a><h3>Changes since 3.1.0-RC1</h3>
<h4>Bug</h4>
<ul>
@@ -521,7 +738,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12829">PHPBB3-12829</a>] - Remove check for pgsql 8.3/8.2</li>
</ul>
<a name="v310b4"></a><h3>1.vii. Changes since 3.1.0-b4</h3>
<a name="v310b4"></a><h3>Changes since 3.1.0-b4</h3>
<h4>Bug</h4>
<ul>
@@ -641,7 +858,7 @@
</ul>
<a name="v310b3"></a><h3>1.viii. Changes since 3.1.0-b3</h3>
<a name="v310b3"></a><h3>Changes since 3.1.0-b3</h3>
<h4>Bug</h4>
<ul>
@@ -748,7 +965,7 @@
</ul>
<a name="v310b2"></a><h3>1.ix. Changes since 3.1.0-b2</h3>
<a name="v310b2"></a><h3>Changes since 3.1.0-b2</h3>
<h4>Bug</h4>
<ul>
@@ -913,7 +1130,7 @@
</ul>
<a name="v310b1"></a><h3>1.x. Changes since 3.1.0-b1</h3>
<a name="v310b1"></a><h3>Changes since 3.1.0-b1</h3>
<h4>Bug</h4>
<ul>
@@ -981,7 +1198,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12302">PHPBB3-12302</a>] - Upgrade composer.phar to 1.0.0-alpha8</li>
</ul>
<a name="v310a3"></a><h3>1.xi. Changes since 3.1.0-a3</h3>
<a name="v310a3"></a><h3>Changes since 3.1.0-a3</h3>
<h4>Bug</h4>
<ul>
@@ -1128,7 +1345,7 @@
</ul>
<a name="v310a2"></a><h3>1.xii. Changes since 3.1.0-a2</h3>
<a name="v310a2"></a><h3>Changes since 3.1.0-a2</h3>
<h4>Bug</h4>
<ul>
@@ -1236,7 +1453,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12147">PHPBB3-12147</a>] - Remove Travis CI notification configuration</li>
</ul>
<a name="v310a1"></a><h3>1.xiii. Changes since 3.1.0-a1</h3>
<a name="v310a1"></a><h3>Changes since 3.1.0-a1</h3>
<h4>Bug</h4>
<ul>
@@ -1312,7 +1529,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11998">PHPBB3-11998</a>] - Add console / command line client environment </li>
</ul>
<a name="v30x"></a><h3>1.xiv. Changes since 3.0.x</h3>
<a name="v30x"></a><h3>Changes since 3.0.x</h3>
<h4>Bug</h4>
<ul>
@@ -1993,7 +2210,152 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11913">PHPBB3-11913</a>] - Apply reorganisation of download.phpbb.com to build_announcement.php</li>
</ul>
<a name="v3011"></a><h3>1.xv. Changes since 3.0.11</h3>
<a name="v3013"></a><h3>Changes since 3.0.13</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12933">PHPBB3-12933</a>] - The search operator for partial matches does not work</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13549">PHPBB3-13549</a>] - Compare ORIG_PATH_INFO with SCRIPT_NAME for checking trailing paths</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13554">PHPBB3-13554</a>] - Advertisement of feature release in red indicates a problem</li>
</ul>
<a name="v3012"></a><h3>Changes since 3.0.12</h3>
<h4>Security</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13531">PHPBB3-13531</a>] - Disallow trailing paths (e.g. using the PATH_INFO feature) to prevent path-relative CSS injection</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13526">PHPBB3-13526</a>] - Correctly validate ucp_pm_options form key</li>
</ul>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-6703">PHPBB3-6703</a>] - Problem with russian letter while converting from 2.0.x</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8960">PHPBB3-8960</a>] - Allow changing allow_avatar_remote when images/avatars/upload is not writable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9420">PHPBB3-9420</a>] - BBCode - Unable to use a proper URI token</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9724">PHPBB3-9724</a>] - Wrong return &quot;Return to ACP&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9725">PHPBB3-9725</a>] - MSSQL Schema is not azure compatible</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10023">PHPBB3-10023</a>] - Password change requirement notification in UCP is not noticable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10423">PHPBB3-10423</a>] - Searching for the term &quot;test *&quot; will highlight nearly every word and displays htmlspecialchars as htmlentities.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10442">PHPBB3-10442</a>] - XHTML is invalid when a forum link without redirect counter is present</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10687">PHPBB3-10687</a>] - UNABLE_GET_IMAGE_SIZE text misleading for remote avatars</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10729">PHPBB3-10729</a>] - Post editor information is not updated when user being deleted with posts</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10776">PHPBB3-10776</a>] - Grammar errors in docs/README.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10796">PHPBB3-10796</a>] - SQL Azure does not allow SELECT FROM sysfiles</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10851">PHPBB3-10851</a>] - HTML files containing certain tags being rejected as possible attack vectors with &quot;Check attachment file&quot; set to &quot;No&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10863">PHPBB3-10863</a>] - Permission mask does not accurately show some forum permissions if user has MOD parmissions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10917">PHPBB3-10917</a>] - Updater notice &quot;Update files are out of date...&quot; when updating to unreleased version</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10985">PHPBB3-10985</a>] - Error bbcode.html not found when updating with custom style inheriting from prosilver</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11062">PHPBB3-11062</a>] - In Automatic Update, new language strings from install.php are only loaded from English</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11224">PHPBB3-11224</a>] - SQL cache destroy does not destroy queries to tables joined</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11288">PHPBB3-11288</a>] - &quot;Fulltext native&quot; search fooled by hyphens</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11480">PHPBB3-11480</a>] - Prevent Private Message system from returning &quot;Unknown folder&quot; when inbox folder is full</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11613">PHPBB3-11613</a>] - Cookies do not work for netbios domain</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11686">PHPBB3-11686</a>] - Not checking for phpBB Debug errors on functional tests</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11699">PHPBB3-11699</a>] - PHP Lint Test should exclude selected subdirectories of the build directory.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11726">PHPBB3-11726</a>] - Don't run lint tests on Travis on postgres</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11762">PHPBB3-11762</a>] - generate_text_for_display() treats &quot;0&quot; as an empty string</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11789">PHPBB3-11789</a>] - Inline css with color value in subsilver2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11794">PHPBB3-11794</a>] - Coding Guidelines document says to place a comma after every array element, but fails to do so itself</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11799">PHPBB3-11799</a>] - Anti Abuse Headers missing for sendpassword</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11811">PHPBB3-11811</a>] - Chrome 30 adds outline to focused elements</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11821">PHPBB3-11821</a>] - Wrong comma usage &quot;You are receiving this notification&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11823">PHPBB3-11823</a>] - Travis-CI webserver not matching PHP files with anything after the .php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11829">PHPBB3-11829</a>] - Closed reports may seem open in detailed view</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11860">PHPBB3-11860</a>] - .htaccess not working for Apache 2.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11864">PHPBB3-11864</a>] - Do not call exit after display_progress_bar in acp_forums</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11879">PHPBB3-11879</a>] - Compatibility error in forum_fn.js: .live should be replaced with .on</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11968">PHPBB3-11968</a>] - Travis Image are broken due to repository rename</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12037">PHPBB3-12037</a>] - acp_inactive.html has hard-coded text</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12048">PHPBB3-12048</a>] - Custom BBCodes Fail to Render Language Strings with a Number</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12061">PHPBB3-12061</a>] - Keyboard shortcut alt+h doesn't work properly in firefox</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12072">PHPBB3-12072</a>] - Missing word &quot;send&quot; in comment in schema_data.sql</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12093">PHPBB3-12093</a>] - IE 11 javascript selection is no longer supported</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12118">PHPBB3-12118</a>] - Add noindex meta tag to subsilver2 pm/topic view-print template</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12119">PHPBB3-12119</a>] - Remove keywords and description meta tags from prosilver view-print templates</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12120">PHPBB3-12120</a>] - Update docs/AUTHORS for 3.0.13-RC1</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12140">PHPBB3-12140</a>] - Avoid endless loop in build script</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12161">PHPBB3-12161</a>] - build/save directories are no longer created</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12162">PHPBB3-12162</a>] - Binary files missing from update packages</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12176">PHPBB3-12176</a>] - No error shown when attempting to delete a founder</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12186">PHPBB3-12186</a>] - MCP should open &quot;Reported posts&quot; instead of PM Reports</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12188">PHPBB3-12188</a>] - Add php 5.6 to travis tests</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12202">PHPBB3-12202</a>] - Variables read from style.cfg etc. should be htmlspecialchared</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12205">PHPBB3-12205</a>] - Custom Profile Field display bug</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12210">PHPBB3-12210</a>] - dbtools::sql_create_table incorrectly throws error related to auto-increment length on non auto-increment fields</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12310">PHPBB3-12310</a>] - SMTP username and password should not autocomplete during install</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12316">PHPBB3-12316</a>] - develop-ascraeus build status missing from &quot;Automated Testing&quot; section in README.md</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12353">PHPBB3-12353</a>] - User attachments in ACP are not displaying every attachment</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12359">PHPBB3-12359</a>] - Day and Month of Birthday Misaligned When Editing</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12381">PHPBB3-12381</a>] - Broken error message when selecting invalid DB driver</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12397">PHPBB3-12397</a>] - db_tools::sql_unique_index_exists() has wrong doc block</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12429">PHPBB3-12429</a>] - Update phpunit to 3.8+</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12467">PHPBB3-12467</a>] - Add config_*.php and tests_config_*.php to .gitignore</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12472">PHPBB3-12472</a>] - Set fast finish for .travis.yml</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12485">PHPBB3-12485</a>] - Broken tests due to absolute exclude</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12492">PHPBB3-12492</a>] - DB_TEST: Special chars are not supported.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12540">PHPBB3-12540</a>] - WRONG_FILESIZE contains broken placeholders</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12660">PHPBB3-12660</a>] - Undefined offset error when phpinfo() disabled and debug enabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12695">PHPBB3-12695</a>] - Undefined index: MISSING_INLINE_ATTACHMENT notice given when viewing post details</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12720">PHPBB3-12720</a>] - Git commit hook should not require commit message to start with a capital letter</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12741">PHPBB3-12741</a>] - Functional tests on Travis fail since php update last night</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12755">PHPBB3-12755</a>] - Remote upload stuck in infinite loop if server sends keep-alive</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13086">PHPBB3-13086</a>] - Update ACP_MASS_EMAIL_EXPLAIN language key</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13096">PHPBB3-13096</a>] - ldap_escape() added to PHP 5.6.0</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13138">PHPBB3-13138</a>] - Banned users cause infinite recursion</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13168">PHPBB3-13168</a>] - Warning displayed in PHP 5.6 for mbstring.http_input</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13234">PHPBB3-13234</a>] - Remember me cookie gets unset by admin reauthentication</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13341">PHPBB3-13341</a>] - Tests fail when generating coverage report</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13376">PHPBB3-13376</a>] - deregister_globals() does not work correctly when $_COOKIE['GLOBALS'] - is specified</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13519">PHPBB3-13519</a>] - Correctly validate imagick path as path and not string</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13523">PHPBB3-13523</a>] - PHP 5.2 Unit Tests no longer work due to deprecated PHPUnit PEAR channel</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13527">PHPBB3-13527</a>] - Escape information received from version server</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10037">PHPBB3-10037</a>] - Add Smiley Buttons in Signature Editor</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10174">PHPBB3-10174</a>] - Rename &quot;Ban usernames&quot; to &quot;Ban users&quot; in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10549">PHPBB3-10549</a>] - Languages variables should be used, not hardcoded</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10555">PHPBB3-10555</a>] - Copyright notice in overall_header.html is not translatable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10945">PHPBB3-10945</a>] - Show entered search query in the search box when no results are found.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11254">PHPBB3-11254</a>] - Check CRLF line endings in the test suite</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11295">PHPBB3-11295</a>] - Drop tables for postgres in the test suite</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11297">PHPBB3-11297</a>] - Running tests doc should mention dbunit dependency</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11704">PHPBB3-11704</a>] - phing build script does not include vendor folder, even if there are dependencies</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11766">PHPBB3-11766</a>] - Remove Quote and Edit button when topic is lock</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11801">PHPBB3-11801</a>] - missing semi colons in css</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11814">PHPBB3-11814</a>] - Topic reply notification email text change</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12035">PHPBB3-12035</a>] - Add a link to user's posts in the ACP user overview page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12106">PHPBB3-12106</a>] - Document exceptions to &quot;Disable Board&quot; in ACP.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12146">PHPBB3-12146</a>] - Add color demo when editing a group from the UCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12247">PHPBB3-12247</a>] - include poster's username in email notifications of posts that get approved by moderators</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12259">PHPBB3-12259</a>] - Too many redundant tests are run on Travis</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12468">PHPBB3-12468</a>] - Allow mbstring.http_input='' besides 'pass' for PHP 5.6 compatibility</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10839">PHPBB3-10839</a>] - Remove phpunit.xml.functional and always include functional tests</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11509">PHPBB3-11509</a>] - Travis should check commit message format</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11876">PHPBB3-11876</a>] - Upgrade package checksums from MD5 to SHA256</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11877">PHPBB3-11877</a>] - Create package download links and checksums for announcement via script</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11920">PHPBB3-11920</a>] - Add MariaDB tests to Travis-CI</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11951">PHPBB3-11951</a>] - Add MariaDB to supported RDBMS list</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11970">PHPBB3-11970</a>] - Use 'set -x' in Travis CI setup scripts</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12046">PHPBB3-12046</a>] - Use PHP_BINARY environment variable in lint unit test</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12056">PHPBB3-12056</a>] - Make sure each unit test runs on its own</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12147">PHPBB3-12147</a>] - Remove Travis CI notification configuration</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12302">PHPBB3-12302</a>] - Upgrade composer.phar to 1.0.0-alpha8</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12318">PHPBB3-12318</a>] - Correctly setup HHVM functional tests on Travis CI</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12319">PHPBB3-12319</a>] - Backport Travis CI HHVM environment enabling to develop-olympus.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12320">PHPBB3-12320</a>] - No longer allow Travis CI HHVM environment to fail</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12341">PHPBB3-12341</a>] - Add tests for get_username_string()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12384">PHPBB3-12384</a>] - Run Travis CI HHVM tests against MySQLi instead of MySQL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12417">PHPBB3-12417</a>] - hhvm-nightly 2014.04.16~precise breaks tests</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12495">PHPBB3-12495</a>] - Add Sami to composer dependencies and build script</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12582">PHPBB3-12582</a>] - Strip away copyrighted ICC profile from images</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12917">PHPBB3-12917</a>] - Move commit check and file executable checks to 5.3.3 build on travis</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13324">PHPBB3-13324</a>] - Composer no longer downloads sami/sami and fabpot/goutte</li>
</ul>
<a name="v3011"></a><h3>Changes since 3.0.11</h3>
<h4>Bug</h4>
<ul>
@@ -2148,7 +2510,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11753">PHPBB3-11753</a>] - Upgrade mysql_upgrader.php schema data.</li>
</ul>
<a name="v3010"></a><h3>1.xvi. Changes since 3.0.10</h3>
<a name="v3010"></a><h3>Changes since 3.0.10</h3>
<h4>Bug</h4>
<ul>
@@ -2273,7 +2635,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10909">PHPBB3-10909</a>] - Update Travis Test Configuration: Travis no longer supports PHP 5.3.2</li>
</ul>
<a name="v309"></a><h3>1.xvii. Changes since 3.0.9</h3>
<a name="v309"></a><h3>Changes since 3.0.9</h3>
<h4>Bug</h4>
<ul>
@@ -2409,7 +2771,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10480">PHPBB3-10480</a>] - Automate changelog building</li>
</ul>
<a name="v308"></a><h3>1.xviii. Changes since 3.0.8</h3>
<a name="v308"></a><h3>Changes since 3.0.8</h3>
<h4> Bug
</h4>
@@ -2474,7 +2836,7 @@
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9924'>PHPBB3-9924</a>] - $template-&gt;display hook does not pass $template instance
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9925'>PHPBB3-9925</a>] - prosilver logo margin bug in IE 6-7-8
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9925'>PHPBB3-9925</a>] - prosilver logo margin bug in IE 6-7-8
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9928'>PHPBB3-9928</a>] - Do not link &quot;login to your board&quot; to the &quot;send statistics&quot; page after completed update.
</li>
@@ -2482,7 +2844,7 @@
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9932'>PHPBB3-9932</a>] - The Bing bot is not added when converting.
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9933'>PHPBB3-9933</a>] - Wrong handling of consecutive multiple asterisks in word censor
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9933'>PHPBB3-9933</a>] - Wrong handling of consecutive multiple asterisks in word censor
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9934'>PHPBB3-9934</a>] - Mass Mail missing under the system tab on a fresh install
</li>
@@ -2494,7 +2856,7 @@
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9948'>PHPBB3-9948</a>] - Inline quicktime files won&#39;t display
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9949'>PHPBB3-9949</a>] - $user-&gt;lang() is not handling arguments as per documentation
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9949'>PHPBB3-9949</a>] - $user-&gt;lang() is not handling arguments as per documentation
</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9950'>PHPBB3-9950</a>] - Problem with localized button images after uprading from 3.0.7-PL1 to 3.0.8
</li>
@@ -2657,7 +3019,7 @@
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10250'>PHPBB3-10250</a>] - phpBB Logo needs the Registered Trademark Symbol
</li>
</ul>
<h4> Improvement
</h4>
<ul>
@@ -2714,7 +3076,7 @@
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10186'>PHPBB3-10186</a>] - UCP signature panel displays when not authed for signatures
</li>
</ul>
<h4> New Feature
</h4>
<ul>
@@ -2725,7 +3087,7 @@
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10110'>PHPBB3-10110</a>] - Redis caching module
</li>
</ul>
<h4> Task
</h4>
<ul>
@@ -2764,7 +3126,7 @@
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10107'>PHPBB3-10107</a>] - Improve docs for non-apache webserver configuration
</li>
</ul>
<h4> Sub-task
</h4>
<ul>
@@ -2776,8 +3138,8 @@
</li>
</ul>
<a name="v307-PL1"></a><h3>Changes since 3.0.7-PL1</h3>
<a name="v307-PL1"></a><h3>1.xix. Changes since 3.0.7-PL1</h3>
<h4> Security
</h4>
<ul>
@@ -3234,14 +3596,13 @@
</li>
</ul>
<a name="v307"></a><h3>1.xx. Changes since 3.0.7</h3>
<a name="v307"></a><h3>Changes since 3.0.7</h3>
<ul>
<li>[Sec] Do not expose forum content of forums with ACL entries but no actual permission in ATOM Feeds. (Bug #58595)</li>
</ul>
<a name="v306"></a><h3>1.xxi. Changes since 3.0.6</h3>
<a name="v306"></a><h3>Changes since 3.0.6</h3>
<ul>
<li>[Fix] Allow ban reason and length to be selected and copied in ACP and subsilver2 MCP. (Bug #51095)</li>
@@ -3345,7 +3706,7 @@
</ul>
<a name="v305"></a><h3>1.xxii. Changes since 3.0.5</h3>
<a name="v305"></a><h3>Changes since 3.0.5</h3>
<ul>
<li>[Fix] Allow whitespaces in avatar gallery names. (Bug #44955)</li>
@@ -3567,7 +3928,7 @@
<li>[Feature] Send anonymous statistical information to phpBB on installation and update (optional).</li>
</ul>
<a name="v304"></a><h3>1.xxiii. Changes since 3.0.4</h3>
<a name="v304"></a><h3>Changes since 3.0.4</h3>
<ul>
<li>[Fix] Delete user entry from ban list table upon user deletion (Bug #40015 - Patch by TerraFrost)</li>
@@ -3656,7 +4017,7 @@
<li>[Sec] Only use forum id supplied for posting if global announcement detected. (Reported by nickvergessen)</li>
</ul>
<a name="v303"></a><h3>1.xxiv. Changes since 3.0.3</h3>
<a name="v303"></a><h3>Changes since 3.0.3</h3>
<ul>
<li>[Fix] Allow mixed-case template directories to be inherited (Bug #36725)</li>
@@ -3688,7 +4049,7 @@
<li>[Sec] Ask for forum password if post within passworded forum quoted in private message. (Reported by nickvergessen)</li>
</ul>
<a name="v302"></a><h3>1.xxv. Changes since 3.0.2</h3>
<a name="v302"></a><h3>Changes since 3.0.2</h3>
<ul>
<li>[Fix] Correctly set topic starter if first post in topic removed (Bug #30575 - Patch by blueray2048)</li>
@@ -3787,7 +4148,7 @@
<li>[Sec Precaution] Stricter validation of the HTTP_HOST header (Thanks to Techie-Micheal et al for pointing out possible issues in derived code)</li>
</ul>
<a name="v301"></a><h3>1.xxvi. Changes since 3.0.1</h3>
<a name="v301"></a><h3>Changes since 3.0.1</h3>
<ul>
<li>[Fix] Ability to set permissions on non-mysql dbms (Bug #24955)</li>
@@ -3835,7 +4196,7 @@
<li>[Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)</li>
</ul>
<a name="v300"></a><h3>1.xxvii. Changes since 3.0.0</h3>
<a name="v300"></a><h3>Changes since 3.0.0</h3>
<ul>
<li>[Change] Validate birthdays (Bug #15004)</li>
@@ -3906,7 +4267,7 @@
<li>[Fix] Find and display colliding usernames correctly when converting from one database to another (Bug #23925)</li>
</ul>
<a name="v30rc8"></a><h3>1.xxviii. Changes since 3.0.RC8</h3>
<a name="v30rc8"></a><h3>Changes since 3.0.RC8</h3>
<ul>
<li>[Fix] Cleaned usernames contain only single spaces, so &quot;a_name&quot; and &quot;a__name&quot; are treated as the same name (Bug #15634)</li>
@@ -3915,7 +4276,7 @@
<li>[Fix] Call garbage_collection() within database updater to correctly close connections (affects Oracle for example)</li>
</ul>
<a name="v30rc7"></a><h3>1.xxix. Changes since 3.0.RC7</h3>
<a name="v30rc7"></a><h3>Changes since 3.0.RC7</h3>
<ul>
<li>[Fix] Fixed MSSQL related bug in the update system</li>
@@ -3950,7 +4311,7 @@
<li>[Fix] No duplication of active topics (Bug #15474)</li>
</ul>
<a name="v30rc6"></a><h3>1.xxx. Changes since 3.0.RC6</h3>
<a name="v30rc6"></a><h3>Changes since 3.0.RC6</h3>
<ul>
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
@@ -3960,7 +4321,7 @@
<li>[Fix] Able to request new password (Bug #14743)</li>
</ul>
<a name="v30rc5"></a><h3>1.xxxi. Changes since 3.0.RC5</h3>
<a name="v30rc5"></a><h3>Changes since 3.0.RC5</h3>
<ul>
<li>[Feature] Removing constant PHPBB_EMBEDDED in favor of using an exit_handler(); the constant was meant to achive this more or less.</li>
@@ -4023,7 +4384,7 @@
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
</ul>
<a name="v30rc4"></a><h3>1.xxxii. Changes since 3.0.RC4</h3>
<a name="v30rc4"></a><h3>Changes since 3.0.RC4</h3>
<ul>
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
@@ -4074,7 +4435,7 @@
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
</ul>
<a name="v30rc3"></a><h3>1.xxxiii. Changes since 3.0.RC3</h3>
<a name="v30rc3"></a><h3>Changes since 3.0.RC3</h3>
<ul>
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
@@ -4183,7 +4544,7 @@
</ul>
<a name="v30rc2"></a><h3>1.xxxiv. Changes since 3.0.RC2</h3>
<a name="v30rc2"></a><h3>Changes since 3.0.RC2</h3>
<ul>
<li>[Fix] Re-allow searching within the memberlist</li>
@@ -4229,7 +4590,7 @@
</ul>
<a name="v30rc1"></a><h3>1.xxxv. Changes since 3.0.RC1</h3>
<a name="v30rc1"></a><h3>Changes since 3.0.RC1</h3>
<ul>
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>

View File

@@ -243,7 +243,7 @@ I want to sue you because i think you host an illegal board!</h2>
<div class="content">
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/documentation/3.0/">online documentation</a>.</p>
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">online documentation</a>.</p>
</div>
@@ -299,7 +299,7 @@ I want to sue you because i think you host an illegal board!</h2>
<div class="content">
<p>Please read our <a href="https://www.phpbb.com/support/documentation/3.0/">extensive user documentation</a> first, it may just explain what you want to know.</p>
<p>Please read our <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">extensive user documentation</a> first, it may just explain what you want to know.</p>
<p>Feel free to search our community forum for the information you require. <strong>PLEASE DO NOT</strong> post your question without having first used search, chances are someone has already asked and answered your question. You can find our board here:</p>

View File

@@ -39,7 +39,7 @@
<p>This document will walk you through the basics on installing, updating and converting the forum software.</p>
<p>A basic overview of running 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/documentation/3.0/">the documentation</a> available online.</p>
<p>A basic overview of running phpBB can be found in the accompanying <a href="README.html">README</a> file. Please ensure you read that document in addition to this! For more detailed information on using, installing, updating and converting phpBB you should read <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">the documentation</a> available online.</p>
<h1>Install</h1>
@@ -297,13 +297,13 @@
<p>This update method is the recommended method for updating. This package detects changed files automatically and merges in changes if needed.</p>
<p>The automatic update package will update the board from a given version to the latest version. A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is <strong>3.0.10</strong>, you need the <code>phpBB-3.0.10_to_3.0.11.zip/tar.bz2</code> file.</p>
<p>The automatic update package will update the board from a given version to the latest version. A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is <strong>3.0.12</strong>, you need the <code>phpBB-3.0.12_to_3.0.13.zip/tar.bz2</code> file.</p>
<p>To perform the update, either follow the instructions from the <strong>Administration Control Panel-&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>
<ul>
<li>Go to the <a href="https://www.phpbb.com/downloads/">downloads page</a> and download the latest update package listed there, matching your current version.</li>
<li>Upload the uncompressed archive contents to your phpBB installation - only the install folder is required. Upload the whole install folder, retaining the file structure.</li>
<li>Upload the uncompressed archive contents to your phpBB installation - only the <code>install/</code> and <code>vendor/</code> folders are required. Upload these folders in their entirety, retaining the file structure.</li>
<li>After the install folder is present, phpBB will go offline automatically.</li>
<li>Point your browser to the install directory, for example <code>http://www.example.com/phpBB3/install/</code></li>
<li>Choose the "Update" Tab and follow the instructions</li>
@@ -347,7 +347,7 @@
<li>The <code>store/</code> directory</li>
</ul></li>
<li>Upload the contents of the 3.1.x Full Package into your forum's directory.</li>
<li>Upload the contents of the 3.1.x Full Package into your forum's directory. Make sure the root level .htaccess file is included in the upload.</li>
<li>Browse to install/database_update.php</li>
<li>Delete the <code>install/</code> directory</li>
</ol>
@@ -462,7 +462,7 @@
<hr />
<a name="anti_spam"></a><h2>8. Anti-Spam Measures</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>

View File

@@ -134,7 +134,7 @@
<p>Installation of these packages is straightforward: simply download the required language pack, uncompress (unzip) it and via FTP transfer the included <code>language</code> and <code>styles</code> folders to the root of your board installation. The language can then be installed via the Administration Control Panel of your board: <code>Customise tab -&gt; Language management -&gt; Language packs</code>. A more detailed description of the process is in the Knowledge Base article, <a href="https://www.phpbb.com/kb/article/how-to-install-a-language-pack/">How to Install a Language Pack</a>.</p>
<p>If your language is not available, please visit our <a href="https://www.phpbb.com/community/viewforum.php?f=66">[3.0.x] Translations</a> forum where you will find topics on translations in progress. Should you wish to volunteer to translate a language not currently available or assist in maintaining an existing language pack, you can <a href="https://www.phpbb.com/languages/apply.php">Apply to become a translator</a>.</p>
<p>If your language is not available, please visit our <a href="https://www.phpbb.com/community/viewforum.php?f=491">[3.1.x] Translations</a> forum where you will find topics on translations in progress. Should you wish to volunteer to translate a language not currently available or assist in maintaining an existing language pack, you can <a href="https://www.phpbb.com/languages/apply.php">Apply to become a translator</a>.</p>
<a name="styles"></a><h3>2.ii. Styles</h3>
@@ -150,7 +150,7 @@
<a name="extensions"></a><h3>2.iii. Extensions</h3>
<p>We are proud to have a thriving extensions community. These third party extensions to the standard phpBB software, extend its capabilities still further. You can browse through many of the extensions in the <a href="https://www.phpbb.com/customise/db/extensions-27/">Extensions</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p>We are proud to have a thriving extensions community. These third party extensions to the standard phpBB software, extend its capabilities still further. You can browse through many of the extensions in the <a href="https://www.phpbb.com/customise/db/extensions-36">Extensions</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p>For more information about extensions, please see: <a href="https://www.phpbb.com/extensions">https://www.phpbb.com/extensions</a></p>
@@ -180,7 +180,7 @@
<p>Comprehensive documentation is now available on the phpBB website:</p>
<p><a href="https://www.phpbb.com/support/documentation/3.0/">https://www.phpbb.com/support/documentation/3.0/</a></p>
<p><a href="https://www.phpbb.com/support/docs/en/3.1/ug/">https://www.phpbb.com/support/docs/en/3.1/ug/</a></p>
<p>This covers everything from installation to setting permissions and managing users.</p>

View File

@@ -16,11 +16,59 @@ acp_bbcodes_edit_fieldsets_after
* Since: 3.1.0-a3
* Purpose: Add settings to BBCode add/edit form
acp_email_options_after
===
* Location: adm/style/acp_email.html
* Since: 3.1.2-RC1
* Purpose: Add settings to mass email form
acp_forums_main_settings_append
===
* Location: adm/style/acp_forums.html
* Since: 3.1.2-RC1
* Purpose: Add settings to forums at end of main settings section
acp_forums_main_settings_prepend
===
* Location: adm/style/acp_forums.html
* Since: 3.1.2-RC1
* Purpose: Add settings to forums before main settings section
acp_forums_normal_settings_append
===
* Location: adm/style/acp_forums.html
* Since: 3.1.0-a1
* Purpose: Add settings to forums
* Purpose: Add settings to forums at end of normal settings section
acp_forums_normal_settings_prepend
===
* Location: adm/style/acp_forums.html
* Since: 3.1.2-RC1
* Purpose: Add settings to forums before normal settings section
acp_forums_prune_settings_append
===
* Location: adm/style/acp_forums.html
* Since: 3.1.2-RC1
* Purpose: Add settings to forums at end of prune settings section
acp_forums_prune_settings_prepend
===
* Location: adm/style/acp_forums.html
* Since: 3.1.2-RC1
* Purpose: Add settings to forums before prune settings section
acp_forums_rules_settings_append
===
* Location: adm/style/acp_forums.html
* Since: 3.1.2-RC1
* Purpose: Add settings to forums at end of rules settings section
acp_forums_rules_settings_prepend
===
* Location: adm/style/acp_forums.html
* Since: 3.1.2-RC1
* Purpose: Add settings to forums before rules settings section
acp_group_options_before
===
@@ -111,7 +159,7 @@ acp_ranks_list_column_before
* Locations:
+ adm/style/acp_ranks.html
* Since: 3.1.0-RC3
* Purpose: Add content after the last column (but before the action column)
* Purpose: Add content after the last column (but before the action column)
in the ranks list in the ACP
acp_ranks_list_header_after
@@ -126,7 +174,7 @@ acp_ranks_list_header_before
* Locations:
+ adm/style/acp_ranks.html
* Since: 3.1.0-RC3
* Purpose: Add content after the last header-column (but before the action column)
* Purpose: Add content after the last header-column (but before the action column)
in the ranks list in the ACP
acp_simple_footer_after
@@ -336,6 +384,14 @@ index_body_block_stats_prepend
* Since: 3.1.0-b3
* Purpose: Prepend content to the statistics list on the Board index
index_body_forumlist_body_after
===
* Locations:
+ styles/prosilver/template/index_body.html
+ styles/subsilver2/template/index_body.html
* Since: 3.1.1
* Purpose: Add content after the forum list body on the index page
index_body_markforums_after
===
* Locations:
@@ -400,6 +456,46 @@ mcp_ban_unban_before
* Since: 3.1.0-RC3
* Purpose: Add additional fields to the unban form in MCP
mcp_front_latest_logs_after
===
* Locations:
+ styles/prosilver/template/mcp_front.html
+ styles/subsilver2/template/mcp_front.html
* Since: 3.1.3-RC1
* Purpose: Add content after latest logs list
mcp_front_latest_logs_before
===
* Locations:
+ styles/prosilver/template/mcp_front.html
+ styles/subsilver2/template/mcp_front.html
* Since: 3.1.3-RC1
* Purpose: Add content before latest logs list
mcp_front_latest_reported_before
===
* Locations:
+ styles/prosilver/template/mcp_front.html
+ styles/subsilver2/template/mcp_front.html
* Since: 3.1.3-RC1
* Purpose: Add content before latest reported posts list
mcp_front_latest_reported_pms_before
===
* Locations:
+ styles/prosilver/template/mcp_front.html
+ styles/subsilver2/template/mcp_front.html
* Since: 3.1.3-RC1
* Purpose: Add content before latest reported private messages list
mcp_front_latest_unapproved_before
===
* Locations:
+ styles/prosilver/template/mcp_front.html
+ styles/subsilver2/template/mcp_front.html
* Since: 3.1.3-RC1
* Purpose: Add content before latest unapproved posts list
memberlist_body_username_append
===
* Locations:
@@ -418,6 +514,30 @@ memberlist_body_username_prepend
* Purpose: Add information before every username in the memberlist. Works in
all display modes (leader, group and normal memberlist).
memberlist_search_fields_after
===
* Locations:
+ styles/prosilver/template/memberlist_search.html
+ styles/subsilver2/template/memberlist_search.html
* Since: 3.1.2-RC1
* Purpose: Add information after the search fields column.
memberlist_search_fields_before
===
* Locations:
+ styles/prosilver/template/memberlist_search.html
+ styles/subsilver2/template/memberlist_search.html
* Since: 3.1.2-RC1
* Purpose: Add information before the search fields column.
memberlist_search_sorting_options_before
===
* Locations:
+ styles/prosilver/template/memberlist_search.html
+ styles/subsilver2/template/memberlist_search.html
* Since: 3.1.2-RC1
* Purpose: Add information before the search sorting options field.
memberlist_view_contact_after
===
* Locations:
@@ -555,6 +675,14 @@ overall_footer_after
* Since: 3.1.0-a1
* Purpose: Add content at the end of the file, directly prior to the `</body>` tag
overall_footer_body_after
===
* Locations:
+ styles/prosilver/template/overall_footer.html
+ styles/subsilver2/template/overall_footer.html
* Since: 3.1.3-RC1
* Purpose: Add content before the `</body>` tag but after the $SCRIPTS var, i.e. after the js scripts have been loaded
overall_footer_breadcrumb_append
===
* Locations:
@@ -756,6 +884,14 @@ posting_editor_buttons_before
* Since: 3.1.0-a3
* Purpose: Add content before the BBCode posting buttons
posting_editor_buttons_custom_tags_before
===
* Locations:
+ styles/prosilver/template/posting_buttons.html
+ styles/subsilver2/template/posting_buttons.html
* Since: 3.1.2-RC1
* Purpose: Add content inside the BBCode posting buttons and before the customs BBCode
posting_editor_message_after
===
* Locations:
@@ -1011,7 +1147,7 @@ ucp_pm_viewmessage_post_buttons_after
+ styles/prosilver/template/ucp_pm_viewmessage.html
+ styles/subsilver2/template/ucp_pm_viewmessage.html
* Since: 3.1.0-RC3
* Purpose: Add post button to private messages (next to edit, quote etc), at
* Purpose: Add post button to private messages (next to edit, quote etc), at
the end of the list.
ucp_pm_viewmessage_post_buttons_before
@@ -1020,7 +1156,7 @@ ucp_pm_viewmessage_post_buttons_before
+ styles/prosilver/template/ucp_pm_viewmessage.html
+ styles/subsilver2/template/ucp_pm_viewmessage.html
* Since: 3.1.0-RC3
* Purpose: Add post button to private messages (next to edit, quote etc), at
* Purpose: Add post button to private messages (next to edit, quote etc), at
the start of the list.
ucp_pm_viewmessage_print_head_append
@@ -1319,6 +1455,22 @@ viewtopic_body_poll_question_prepend
* Since: 3.1.0-b3
* Purpose: Add content directly before the poll question on the View topic screen
viewtopic_body_post_author_after
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.3-RC1
* Purpose: Add content directly after the post author on the view topic screen
viewtopic_body_post_author_before
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.3-RC1
* Purpose: Add content directly before the post author on the view topic screen
viewtopic_body_post_buttons_after
===
* Locations:

View File

@@ -153,7 +153,7 @@ class acp_attachments
'img_create_thumbnail' => array('lang' => 'CREATE_THUMBNAIL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'img_max_thumb_width' => array('lang' => 'MAX_THUMB_WIDTH', 'validate' => 'int:0:999999999999999', 'type' => 'number:0:999999999999999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
'img_min_thumb_filesize' => array('lang' => 'MIN_THUMB_FILESIZE', 'validate' => 'int:0:999999999999999', 'type' => 'number:0:999999999999999', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'string', 'type' => 'text:20:200', 'explain' => true, 'append' => '&nbsp;&nbsp;<span>[ <a href="' . $this->u_action . '&amp;action=imgmagick">' . $user->lang['SEARCH_IMAGICK'] . '</a> ]</span>'),
'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'path', 'type' => 'text:20:200', 'explain' => true, 'append' => '&nbsp;&nbsp;<span>[ <a href="' . $this->u_action . '&amp;action=imgmagick">' . $user->lang['SEARCH_IMAGICK'] . '</a> ]</span>'),
'img_max' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int:0:9999', 'type' => 'dimension:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
'img_link' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int:0:9999', 'type' => 'dimension:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
)

View File

@@ -409,7 +409,9 @@ class acp_bbcodes
{
$bbcode_match = trim($bbcode_match);
$bbcode_tpl = trim($bbcode_tpl);
$utf8 = strpos($bbcode_match, 'INTTEXT') !== false;
// Allow unicode characters for URL|LOCAL_URL|RELATIVE_URL|INTTEXT tokens
$utf8 = preg_match('/(URL|LOCAL_URL|RELATIVE_URL|INTTEXT)/', $bbcode_match);
$utf8_pcre_properties = phpbb_pcre_utf8_support();

View File

@@ -615,7 +615,15 @@ class acp_board
{
add_log('admin', 'LOG_CONFIG_' . strtoupper($mode));
trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action));
$message = $user->lang('CONFIG_UPDATED');
$message_type = E_USER_NOTICE;
if (!$config['email_enable'] && in_array($mode, array('email', 'registration')) &&
in_array($config['require_activation'], array(USER_ACTIVATION_SELF, USER_ACTIVATION_ADMIN)))
{
$message .= '<br /><br />' . $user->lang('ACC_ACTIVATION_WARNING');
$message_type = E_USER_WARNING;
}
trigger_error($message . adm_back_link($this->u_action), $message_type);
}
$this->tpl_name = 'acp_board';
@@ -792,20 +800,19 @@ class acp_board
global $user, $config;
$act_ary = array(
'ACC_DISABLE' => USER_ACTIVATION_DISABLE,
'ACC_NONE' => USER_ACTIVATION_NONE,
'ACC_DISABLE' => array(true, USER_ACTIVATION_DISABLE),
'ACC_NONE' => array(true, USER_ACTIVATION_NONE),
'ACC_USER' => array($config['email_enable'], USER_ACTIVATION_SELF),
'ACC_ADMIN' => array($config['email_enable'], USER_ACTIVATION_ADMIN),
);
if ($config['email_enable'])
{
$act_ary['ACC_USER'] = USER_ACTIVATION_SELF;
$act_ary['ACC_ADMIN'] = USER_ACTIVATION_ADMIN;
}
$act_options = '';
foreach ($act_ary as $key => $value)
$act_options = '';
foreach ($act_ary as $key => $data)
{
list($available, $value) = $data;
$selected = ($selected_value == $value) ? ' selected="selected"' : '';
$act_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$key] . '</option>';
$class = (!$available) ? ' class="disabled-option"' : '';
$act_options .= '<option value="' . $value . '"' . $selected . $class . '>' . $user->lang($key) . '</option>';
}
return $act_options;

View File

@@ -26,7 +26,7 @@ class acp_email
function main($id, $mode)
{
global $config, $db, $user, $auth, $template, $cache;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix, $phpbb_dispatcher;
$user->add_lang('acp/email');
$this->tpl_name = 'acp_email';
@@ -40,6 +40,7 @@ class acp_email
$error = array();
$usernames = request_var('usernames', '', true);
$usernames = (!empty($usernames)) ? explode("\n", $usernames) : array();
$group_id = request_var('g', 0);
$subject = utf8_normalize_nfc(request_var('subject', '', true));
$message = utf8_normalize_nfc(request_var('message', '', true));
@@ -69,14 +70,18 @@ class acp_email
if (!sizeof($error))
{
if ($usernames)
if (!empty($usernames))
{
// If giving usernames the admin is able to email inactive users too...
$sql = 'SELECT username, user_email, user_jabber, user_notify_type, user_lang
FROM ' . USERS_TABLE . '
WHERE ' . $db->sql_in_set('username_clean', array_map('utf8_clean_string', explode("\n", $usernames))) . '
AND user_allow_massemail = 1
ORDER BY user_lang, user_notify_type'; // , SUBSTRING(user_email FROM INSTR(user_email, '@'))
$sql_ary = array(
'SELECT' => 'username, user_email, user_jabber, user_notify_type, user_lang',
'FROM' => array(
USERS_TABLE => '',
),
'WHERE' => $db->sql_in_set('username_clean', array_map('utf8_clean_string', $usernames)) . '
AND user_allow_massemail = 1',
'ORDER_BY' => 'user_lang, user_notify_type',
);
}
else
{
@@ -123,8 +128,18 @@ class acp_email
),
);
}
$sql = $db->sql_build_query('SELECT', $sql_ary);
}
/**
* Modify sql query to change the list of users the email is sent to
*
* @event core.acp_email_modify_sql
* @var array sql_ary Array which is used to build the sql query
* @since 3.1.2-RC1
*/
$vars = array('sql_ary');
extract($phpbb_dispatcher->trigger_event('core.acp_email_modify_sql', compact($vars)));
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
@@ -180,6 +195,39 @@ class acp_email
$errored = false;
$email_template = 'admin_send_email';
$template_data = array(
'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx),
'MESSAGE' => htmlspecialchars_decode($message),
);
$generate_log_entry = true;
/**
* Modify email template data before the emails are sent
*
* @event core.acp_email_send_before
* @var string email_template The template to be used for sending the email
* @var string subject The subject of the email
* @var array template_data Array with template data assigned to email template
* @var bool generate_log_entry If false, no log entry will be created
* @var array usernames Usernames which will be displayed in log entry, if it will be created
* @var int group_id The group this email will be sent to
* @var bool use_queue If true, email queue will be used for sending
* @var int priority Priority of sent emails
* @since 3.1.3-RC1
*/
$vars = array(
'email_template',
'subject',
'template_data',
'generate_log_entry',
'usernames',
'group_id',
'use_queue',
'priority',
);
extract($phpbb_dispatcher->trigger_event('core.acp_email_send_before', compact($vars)));
for ($i = 0, $size = sizeof($email_list); $i < $size; $i++)
{
$used_lang = $email_list[$i][0]['lang'];
@@ -193,17 +241,14 @@ class acp_email
$messenger->im($email_row['jabber'], $email_row['name']);
}
$messenger->template('admin_send_email', $used_lang);
$messenger->template($email_template, $used_lang);
$messenger->anti_abuse_headers($config, $user);
$messenger->subject(htmlspecialchars_decode($subject));
$messenger->set_mail_priority($priority);
$messenger->assign_vars(array(
'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx),
'MESSAGE' => htmlspecialchars_decode($message))
);
$messenger->assign_vars($template_data);
if (!($messenger->send($used_method)))
{
@@ -214,24 +259,26 @@ class acp_email
$messenger->save_queue();
if ($usernames)
if ($generate_log_entry)
{
$usernames = explode("\n", $usernames);
add_log('admin', 'LOG_MASS_EMAIL', implode(', ', utf8_normalize_nfc($usernames)));
}
else
{
if ($group_id)
if (!empty($usernames))
{
$group_name = get_group_name($group_id);
add_log('admin', 'LOG_MASS_EMAIL', implode(', ', utf8_normalize_nfc($usernames)));
}
else
{
// Not great but the logging routine doesn't cope well with localising on the fly
$group_name = $user->lang['ALL_USERS'];
}
if ($group_id)
{
$group_name = get_group_name($group_id);
}
else
{
// Not great but the logging routine doesn't cope well with localising on the fly
$group_name = $user->lang['ALL_USERS'];
}
add_log('admin', 'LOG_MASS_EMAIL', $group_name);
add_log('admin', 'LOG_MASS_EMAIL', $group_name);
}
}
if (!$errored)
@@ -272,7 +319,7 @@ class acp_email
'WARNING_MSG' => (sizeof($error)) ? implode('<br />', $error) : '',
'U_ACTION' => $this->u_action,
'S_GROUP_OPTIONS' => $select_list,
'USERNAMES' => $usernames,
'USERNAMES' => implode("\n", $usernames),
'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&amp;form=acp_email&amp;field=usernames'),
'SUBJECT' => $subject,
'MESSAGE' => $message,

View File

@@ -537,7 +537,7 @@ class acp_extensions
$version_check = $meta['extra']['version-check'];
$version_helper = new \phpbb\version_helper($this->cache, $this->config, $this->user);
$version_helper = new \phpbb\version_helper($this->cache, $this->config, new \phpbb\file_downloader(), $this->user);
$version_helper->set_current_version($meta['version']);
$version_helper->set_file_location($version_check['host'], $version_check['directory'], $version_check['filename']);
$version_helper->force_stability($this->config['extension_force_unstable'] ? 'unstable' : null);

View File

@@ -397,7 +397,7 @@ class acp_prune
$joined_after = request_var('joined_after', '');
$active = request_var('active', '');
$count = request_var('count', 0);
$count = ($request->variable('count', '') === '') ? false : $request->variable('count', 0);
$active = ($active) ? explode('-', $active) : array();
$joined_before = ($joined_before) ? explode('-', $joined_before) : array();
@@ -439,7 +439,7 @@ class acp_prune
$where_sql .= ($username) ? ' AND username_clean ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), utf8_clean_string($username))) : '';
$where_sql .= ($email) ? ' AND user_email ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), $email)) . ' ' : '';
$where_sql .= $joined_sql;
$where_sql .= ($count) ? " AND user_posts " . $key_match[$count_select] . ' ' . (int) $count . ' ' : '';
$where_sql .= ($count !== false) ? " AND user_posts " . $key_match[$count_select] . ' ' . (int) $count . ' ' : '';
// First handle pruning of users who never logged in, last active date is 0000-00-00
if (sizeof($active) && (int) $active[0] == 0 && (int) $active[1] == 0 && (int) $active[2] == 0)

View File

@@ -29,14 +29,31 @@ class acp_styles
protected $styles_path;
protected $styles_path_absolute = 'styles';
protected $default_style = 0;
protected $styles_list_cols = 0;
protected $reserved_style_names = array('adm', 'admin', 'all');
/** @var \phpbb\db\driver\driver_interface */
protected $db;
/** @var \phpbb\user */
protected $user;
/** @var \phpbb\template\template */
protected $template;
/** @var \phpbb\request\request_interface */
protected $request;
/** @var \phpbb\cache\driver\driver_interface */
protected $cache;
/** @var \phpbb\auth\auth */
protected $auth;
/** @var string */
protected $phpbb_root_path;
/** @var string */
protected $php_ext;
public function main($id, $mode)
@@ -164,6 +181,12 @@ class acp_styles
$last_installed = false;
foreach ($dirs as $dir)
{
if (in_array($dir, $this->reserved_style_names))
{
$messages[] = $this->user->lang('STYLE_NAME_RESERVED', htmlspecialchars($dir));
continue;
}
$found = false;
foreach ($styles as &$style)
{
@@ -809,7 +832,7 @@ class acp_styles
* Update styles tree
*
* @param array $styles Styles list, passed as reference
* @param array $style Current style, false if root
* @param array|false $style Current style, false if root
* @return bool True if something was updated, false if not
*/
protected function update_styles_tree(&$styles, $style = false)
@@ -1091,7 +1114,7 @@ class acp_styles
/**
* Install style
*
* @param $style style data
* @param array $style style data
* @return int Style id
*/
protected function install_style($style)

View File

@@ -173,6 +173,21 @@ class acp_users
$delete_type = request_var('delete_type', '');
$ip = request_var('ip', 'ip');
/**
* Run code at beginning of ACP users overview
*
* @event core.acp_users_overview_before
* @var array user_row Current user data
* @var string mode Active module
* @var string action Module that should be run
* @var bool submit Do we display the form only
* or did the user press submit
* @var array error Array holding error messages
* @since 3.1.3-RC1
*/
$vars = array('user_row', 'mode', 'action', 'submit', 'error');
extract($phpbb_dispatcher->trigger_event('core.acp_users_overview_before', compact($vars)));
if ($submit)
{
if ($delete)

View File

@@ -129,7 +129,7 @@ class bbcode
*/
function bbcode_cache_init()
{
global $phpbb_root_path, $phpEx, $config, $user, $phpbb_extension_manager, $phpbb_path_helper;
global $phpbb_root_path, $phpEx, $config, $user, $phpbb_dispatcher, $phpbb_extension_manager, $phpbb_path_helper;
if (empty($this->template_filename))
{
@@ -388,6 +388,26 @@ class bbcode
break;
}
}
$bbcode_cache = $this->bbcode_cache;
$bbcode_bitfield = $this->bbcode_bitfield;
$bbcode_uid = $this->bbcode_uid;
/**
* Use this event to modify the bbcode_cache
*
* @event core.bbcode_cache_init_end
* @var array bbcode_cache The array of cached search and replace patterns of bbcodes
* @var string bbcode_bitfield The bbcode bitfield
* @var string bbcode_uid The bbcode uid
* @since 3.1.3-RC1
*/
$vars = array('bbcode_cache', 'bbcode_bitfield', 'bbcode_uid');
extract($phpbb_dispatcher->trigger_event('core.bbcode_cache_init_end', compact($vars)));
$this->bbcode_cache = $bbcode_cache;
$this->bbcode_bitfield = $bbcode_bitfield;
$this->bbcode_uid = $bbcode_uid;
}
/**

View File

@@ -28,7 +28,7 @@ if (!defined('IN_PHPBB'))
*/
// phpBB Version
define('PHPBB_VERSION', '3.1.0');
define('PHPBB_VERSION', '3.1.3');
// QA-related
// define('PHPBB_QA', 1);

View File

@@ -2396,26 +2396,7 @@ function build_url($strip_vars = false)
{
global $config, $user, $phpbb_path_helper;
$php_ext = $phpbb_path_helper->get_php_ext();
$page = $user->page['page'];
// We need to be cautious here.
// On some situations, the redirect path is an absolute URL, sometimes a relative path
// For a relative path, let's prefix it with $phpbb_root_path to point to the correct location,
// else we use the URL directly.
$url_parts = parse_url($page);
// URL
if ($url_parts === false || empty($url_parts['scheme']) || empty($url_parts['host']))
{
// Remove 'app.php/' from the page, when rewrite is enabled
if ($config['enable_mod_rewrite'] && strpos($page, 'app.' . $php_ext . '/') === 0)
{
$page = substr($page, strlen('app.' . $php_ext . '/'));
}
$page = $phpbb_path_helper->get_phpbb_root_path() . $page;
}
$page = $phpbb_path_helper->get_valid_page($user->page['page'], $config['enable_mod_rewrite']);
// Append SID
$redirect = append_sid($page, false, false);
@@ -2657,7 +2638,7 @@ function check_form_key($form_name, $timespan = false)
function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_body.html', $u_action = '')
{
global $user, $template, $db, $request;
global $phpEx, $phpbb_root_path, $request;
global $config, $phpbb_path_helper;
if (isset($_POST['cancel']))
{
@@ -2719,8 +2700,8 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
}
// re-add sid / transform & to &amp; for user->page (user->page is always using &)
$use_page = ($u_action) ? $phpbb_root_path . $u_action : $phpbb_root_path . str_replace('&', '&amp;', $user->page['page']);
$u_action = reapply_sid($use_page);
$use_page = ($u_action) ? $u_action : str_replace('&', '&amp;', $user->page['page']);
$u_action = reapply_sid($phpbb_path_helper->get_valid_page($use_page, $config['enable_mod_rewrite']));
$u_action .= ((strpos($u_action, '?') === false) ? '?' : '&amp;') . 'confirm_key=' . $confirm_key;
$template->assign_vars(array(
@@ -2922,6 +2903,19 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
break;
}
/**
* This event allows an extension to process when a user fails a login attempt
*
* @event core.login_box_failed
* @var array result Login result data
* @var string username User name used to login
* @var string password Password used to login
* @var string err Error message
* @since 3.1.3-RC1
*/
$vars = array('result', 'username', 'password', 'err');
extract($phpbb_dispatcher->trigger_event('core.login_box_failed', compact($vars)));
}
// Assign credential for username/password pair
@@ -3327,23 +3321,33 @@ function get_preg_expression($mode)
break;
case 'url':
// generated with regex_idn.php file in the develop folder
return "[a-z][a-z\d+\-.]*:/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";
break;
case 'url_inline':
$inline = ($mode == 'url') ? ')' : '';
$scheme = ($mode == 'url') ? '[a-z\d+\-.]' : '[a-z\d+]'; // avoid automatic parsing of "word" in "last word.http://..."
// generated with regex generation file in the develop folder
return "[a-z]$scheme*:/{2}(?:(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
// generated with regex_idn.php file in the develop folder
return "[a-z][a-z\d+]*:/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?";
break;
case 'www_url':
// generated with regex_idn.php file in the develop folder
return "www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";
break;
case 'www_url_inline':
$inline = ($mode == 'www_url') ? ')' : '';
return "www\.(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
// generated with regex_idn.php file in the develop folder
return "www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?";
break;
case 'relative_url':
// generated with regex_idn.php file in the develop folder
return "(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";
break;
case 'relative_url_inline':
$inline = ($mode == 'relative_url') ? ')' : '';
return "(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
// generated with regex_idn.php file in the develop folder
return "(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?";
break;
case 'table_prefix':

View File

@@ -2311,7 +2311,7 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
*/
function prune($forum_id, $prune_mode, $prune_date, $prune_flags = 0, $auto_sync = true)
{
global $db;
global $db, $phpbb_dispatcher;
if (!is_array($forum_id))
{
@@ -2351,6 +2351,21 @@ function prune($forum_id, $prune_mode, $prune_date, $prune_flags = 0, $auto_sync
$sql_and .= ' AND topic_status = ' . ITEM_MOVED . " AND topic_last_post_time < $prune_date";
}
/**
* Use this event to modify the SQL that selects topics to be pruned
*
* @event core.prune_sql
* @var string forum_id The forum id
* @var string prune_mode The prune mode
* @var string prune_date The prune date
* @var int prune_flags The prune flags
* @var bool auto_sync Whether or not to perform auto sync
* @var string sql_and SQL text appended to where clause
* @since 3.1.3-RC1
*/
$vars = array('forum_id', 'prune_mode', 'prune_date', 'prune_flags', 'auto_sync', 'sql_and');
extract($phpbb_dispatcher->trigger_event('core.prune_sql', compact($vars)));
$sql = 'SELECT topic_id
FROM ' . TOPICS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $forum_id) . "
@@ -2512,6 +2527,7 @@ function phpbb_cache_moderators($db, $cache, $auth)
{
$usernames_ary[$row['user_id']] = $row['username'];
}
$db->sql_freeresult($result);
foreach ($hold_ary as $user_id => $forum_id_ary)
{
@@ -2806,6 +2822,7 @@ function view_inactive_users(&$users, &$user_count, $limit = 0, $offset = 0, $li
$users[] = $row;
}
$db->sql_freeresult($result);
return $offset;
}
@@ -2980,68 +2997,21 @@ function get_database_size()
/**
* Retrieve contents from remotely stored file
*
* @deprecated 3.1.2 Use file_downloader instead
*/
function get_remote_file($host, $directory, $filename, &$errstr, &$errno, $port = 80, $timeout = 6)
{
global $user;
global $phpbb_container;
if ($fsock = @fsockopen($host, $port, $errno, $errstr, $timeout))
{
@fputs($fsock, "GET $directory/$filename HTTP/1.0\r\n");
@fputs($fsock, "HOST: $host\r\n");
@fputs($fsock, "Connection: close\r\n\r\n");
// Get file downloader and assign $errstr and $errno
$file_downloader = $phpbb_container->get('file_downloader');
$timer_stop = time() + $timeout;
stream_set_timeout($fsock, $timeout);
$file_data = $file_downloader->get($host, $directory, $filename, $port, $timeout);
$errstr = $file_downloader->get_error_string();
$errno = $file_downloader->get_error_number();
$file_info = '';
$get_info = false;
while (!@feof($fsock))
{
if ($get_info)
{
$file_info .= @fread($fsock, 1024);
}
else
{
$line = @fgets($fsock, 1024);
if ($line == "\r\n")
{
$get_info = true;
}
else if (stripos($line, '404 not found') !== false)
{
$errstr = $user->lang('FILE_NOT_FOUND', $filename);
return false;
}
}
$stream_meta_data = stream_get_meta_data($fsock);
if (!empty($stream_meta_data['timed_out']) || time() >= $timer_stop)
{
$errstr = $user->lang['FSOCK_TIMEOUT'];
return false;
}
}
@fclose($fsock);
}
else
{
if ($errstr)
{
$errstr = utf8_convert_message($errstr);
return false;
}
else
{
$errstr = $user->lang['FSOCK_DISABLED'];
return false;
}
}
return $file_info;
return $file_data;
}
/*

View File

@@ -712,7 +712,7 @@ function make_clickable_callback($type, $whitespace, $url, $relative_url, $class
break;
}
$short_url = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
$short_url = (utf8_strlen($url) > 55) ? utf8_substr($url, 0, 39) . ' ... ' . utf8_substr($url, -10) : $url;
switch ($type)
{
@@ -788,28 +788,28 @@ function make_clickable($text, $server_url = false, $class = 'postlink')
// relative urls for this board
$magic_url_match_args[$server_url][] = array(
'#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#i',
'#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#iu',
MAGIC_URL_LOCAL,
$local_class,
);
// matches a xxxx://aaaaa.bbb.cccc. ...
$magic_url_match_args[$server_url][] = array(
'#(^|[\n\t (>.])(' . get_preg_expression('url_inline') . ')#i',
'#(^|[\n\t (>.])(' . get_preg_expression('url_inline') . ')#iu',
MAGIC_URL_FULL,
$class,
);
// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
$magic_url_match_args[$server_url][] = array(
'#(^|[\n\t (>])(' . get_preg_expression('www_url_inline') . ')#i',
'#(^|[\n\t (>])(' . get_preg_expression('www_url_inline') . ')#iu',
MAGIC_URL_WWW,
$class,
);
// matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode.
$magic_url_match_args[$server_url][] = array(
'/(^|[\n\t (>])(' . get_preg_expression('email') . ')/i',
'/(^|[\n\t (>])(' . get_preg_expression('email') . ')/iu',
MAGIC_URL_EMAIL,
'',
);

View File

@@ -2148,6 +2148,7 @@ function fix_empty_primary_groups()
}
$sql = 'SELECT user_id FROM ' . USER_GROUP_TABLE . ' WHERE group_id = ' . get_group_id('global_moderators');
$result = $db->sql_query($sql);
$user_ids = array();
while ($row = $db->sql_fetchrow($result))

View File

@@ -1608,8 +1608,8 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
'U_EMAIL' => $email,
'U_JABBER' => ($data['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&amp;action=jabber&amp;u=' . $user_id) : '',
'USER_JABBER' => $data['user_jabber'],
'USER_JABBER_IMG' => ($data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '',
'USER_JABBER' => ($config['jab_enable']) ? $data['user_jabber'] : '',
'USER_JABBER_IMG' => ($config['jab_enable'] && $data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '',
'L_SEND_EMAIL_USER' => $user->lang('SEND_EMAIL_USER', $username),
'L_CONTACT_USER' => $user->lang('CONTACT_USER', $username),

View File

@@ -1825,6 +1825,30 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
break;
}
/**
* Modify sql query data for post submitting
*
* @event core.submit_post_modify_sql_data
* @var array data Array with the data for the post
* @var array poll Array with the poll data for the post
* @var string post_mode Variable containing posting mode value
* @var bool sql_data Array with the data for the posting SQL query
* @var string subject Variable containing post subject value
* @var int topic_type Variable containing topic type value
* @var string username Variable containing post author name
* @since 3.1.3-RC1
*/
$vars = array(
'data',
'poll',
'post_mode',
'sql_data',
'subject',
'topic_type',
'username',
);
extract($phpbb_dispatcher->trigger_event('core.submit_post_modify_sql_data', compact($vars)));
// Submit new topic
if ($post_mode == 'post')
{

View File

@@ -165,6 +165,22 @@ function mcp_forum_view($id, $mode, $action, $forum_info)
AND ' . $phpbb_content_visibility->get_visibility_sql('topic', $forum_id, 't.') . "
$limit_time_sql
ORDER BY t.topic_type DESC, $sort_order_sql";
/**
* Modify SQL query before MCP forum view topic list is queried
*
* @event core.mcp_view_forum_modify_sql
* @var string sql SQL query for forum view topic list
* @var int forum_id ID of the forum
* @var string limit_time_sql SQL query part for limit time
* @var string sort_order_sql SQL query part for sort order
* @var int topics_per_page Number of topics per page
* @var int start Start value
* @since 3.1.2-RC1
*/
$vars = array('sql', 'forum_id', 'limit_time_sql', 'sort_order_sql', 'topics_per_page', 'start');
extract($phpbb_dispatcher->trigger_event('core.mcp_view_forum_modify_sql', compact($vars)));
$result = $db->sql_query_limit($sql, $topics_per_page, $start);
$topic_list = $topic_tracking_info = array();

View File

@@ -137,7 +137,7 @@ class mcp_logs
if ($mode == 'topic_logs')
{
$conditions['topic_logs'] = $topic_id;
$conditions['topic_id'] = $topic_id;
}
$phpbb_log->delete('mod', $conditions);

View File

@@ -813,8 +813,17 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
$user->add_lang('posting');
// If there are only shadow topics, we neither need a reason nor softdelete
$sql = 'SELECT topic_id
FROM ' . TOPICS_TABLE . '
WHERE ' . $db->sql_in_set('topic_id', $topic_ids) . '
AND topic_moved_id = 0';
$result = $db->sql_query_limit($sql, 1);
$only_shadow = !$db->sql_fetchfield('topic_id');
$db->sql_freeresult($result);
$only_softdeleted = false;
if ($auth->acl_get('m_delete', $forum_id) && $auth->acl_get('m_softdelete', $forum_id))
if (!$only_shadow && $auth->acl_get('m_delete', $forum_id) && $auth->acl_get('m_softdelete', $forum_id))
{
// If there are only soft deleted topics, we display a message why the option is not available
$sql = 'SELECT topic_id
@@ -827,6 +836,7 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
}
$template->assign_vars(array(
'S_SHADOW_TOPICS' => $only_shadow,
'S_SOFTDELETED' => $only_softdeleted,
'S_TOPIC_MODE' => true,
'S_ALLOWED_DELETE' => $auth->acl_get('m_delete', $forum_id),
@@ -839,7 +849,7 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
$l_confirm .= '_PERMANENTLY';
$s_hidden_fields['delete_permanent'] = '1';
}
else if (!$auth->acl_get('m_softdelete', $forum_id))
else if ($only_shadow || !$auth->acl_get('m_softdelete', $forum_id))
{
$s_hidden_fields['delete_permanent'] = '1';
}

View File

@@ -313,7 +313,7 @@ class bbcode_firstpass extends bbcode
$in = str_replace(' ', '%20', $in);
// Checking urls
if (!preg_match('#^' . get_preg_expression('url') . '$#i', $in) && !preg_match('#^' . get_preg_expression('www_url') . '$#i', $in))
if (!preg_match('#^' . get_preg_expression('url') . '$#iu', $in) && !preg_match('#^' . get_preg_expression('www_url') . '$#iu', $in))
{
return '[img]' . $in . '[/img]';
}
@@ -381,8 +381,8 @@ class bbcode_firstpass extends bbcode
$in = str_replace(' ', '%20', $in);
// Make sure $in is a URL.
if (!preg_match('#^' . get_preg_expression('url') . '$#i', $in) &&
!preg_match('#^' . get_preg_expression('www_url') . '$#i', $in))
if (!preg_match('#^' . get_preg_expression('url') . '$#iu', $in) &&
!preg_match('#^' . get_preg_expression('www_url') . '$#iu', $in))
{
return '[flash=' . $width . ',' . $height . ']' . $in . '[/flash]';
}
@@ -973,9 +973,9 @@ class bbcode_firstpass extends bbcode
$url = str_replace(' ', '%20', $url);
// Checking urls
if (preg_match('#^' . get_preg_expression('url') . '$#i', $url) ||
preg_match('#^' . get_preg_expression('www_url') . '$#i', $url) ||
preg_match('#^' . preg_quote(generate_board_url(), '#') . get_preg_expression('relative_url') . '$#i', $url))
if (preg_match('#^' . get_preg_expression('url') . '$#iu', $url) ||
preg_match('#^' . get_preg_expression('www_url') . '$#iu', $url) ||
preg_match('#^' . preg_quote(generate_board_url(), '#') . get_preg_expression('relative_url') . '$#iu', $url))
{
$valid = true;
}
@@ -1103,7 +1103,7 @@ class parse_message extends bbcode_firstpass
*/
function parse($allow_bbcode, $allow_magic_url, $allow_smilies, $allow_img_bbcode = true, $allow_flash_bbcode = true, $allow_quote_bbcode = true, $allow_url_bbcode = true, $update_this_message = true, $mode = 'post')
{
global $config, $db, $user;
global $config, $db, $user, $phpbb_dispatcher;
$this->mode = $mode;
@@ -1158,6 +1158,58 @@ class parse_message extends bbcode_firstpass
}
}
/**
* This event can be used for additional message checks/cleanup before parsing
*
* @event core.message_parser_check_message
* @var bool allow_bbcode Do we allow BBCodes
* @var bool allow_magic_url Do we allow magic urls
* @var bool allow_smilies Do we allow smilies
* @var bool allow_img_bbcode Do we allow image BBCode
* @var bool allow_flash_bbcode Do we allow flash BBCode
* @var bool allow_quote_bbcode Do we allow quote BBCode
* @var bool allow_url_bbcode Do we allow url BBCode
* @var bool update_this_message Do we alter the parsed message
* @var string mode Posting mode
* @var string message The message text to parse
* @var string bbcode_bitfield The bbcode_bitfield before parsing
* @var string bbcode_uid The bbcode_uid before parsing
* @var bool return Do we return after the event is triggered if $warn_msg is not empty
* @var array warn_msg Array of the warning messages
* @since 3.1.2-RC1
* @change 3.1.3-RC1 Added vars $bbcode_bitfield and $bbcode_uid
*/
$message = $this->message;
$warn_msg = $this->warn_msg;
$return = false;
$bbcode_bitfield = $this->bbcode_bitfield;
$bbcode_uid = $this->bbcode_uid;
$vars = array(
'allow_bbcode',
'allow_magic_url',
'allow_smilies',
'allow_img_bbcode',
'allow_flash_bbcode',
'allow_quote_bbcode',
'allow_url_bbcode',
'update_this_message',
'mode',
'message',
'bbcode_bitfield',
'bbcode_uid',
'return',
'warn_msg',
);
extract($phpbb_dispatcher->trigger_event('core.message_parser_check_message', compact($vars)));
$this->message = $message;
$this->warn_msg = $warn_msg;
$this->bbcode_bitfield = $bbcode_bitfield;
$this->bbcode_uid = $bbcode_uid;
if ($return && !empty($this->warn_msg))
{
return (!$update_this_message) ? $return_message : $this->warn_msg;
}
// Prepare BBcode (just prepares some tags for better parsing)
if ($allow_bbcode && strpos($this->message, '[') !== false)
{

View File

@@ -69,31 +69,13 @@ function deregister_globals()
{
if (isset($not_unset[$varname]))
{
// Hacking attempt. No point in continuing unless it's a COOKIE (so a cookie called GLOBALS doesn't lock users out completely)
if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
// Hacking attempt. No point in continuing.
if (isset($_COOKIE[$varname]))
{
exit;
}
else
{
$cookie = &$_COOKIE;
while (isset($cookie['GLOBALS']))
{
if (!is_array($cookie['GLOBALS']))
{
break;
}
foreach ($cookie['GLOBALS'] as $registered_var => $value)
{
if (!isset($not_unset[$registered_var]))
{
unset($GLOBALS[$registered_var]);
}
}
$cookie = &$cookie['GLOBALS'];
}
echo "Clear your cookies. ";
}
echo "Malicious variable name detected. Contact the administrator and ask them to disable register_globals.";
exit;
}
unset($GLOBALS[$varname]);

View File

@@ -34,11 +34,12 @@ class ucp_auth_link
*/
public function main($id, $mode)
{
global $config, $request, $template, $phpbb_container, $user;
global $request, $template, $phpbb_container, $user;
$error = array();
$auth_provider = $phpbb_container->get('auth.provider.' . $config['auth_method']);
$provider_collection = $phpbb_container->get('auth.provider_collection');
$auth_provider = $provider_collection->get_provider();
// confirm that the auth provider supports this page
$provider_data = $auth_provider->get_auth_link_data();

View File

@@ -39,7 +39,7 @@ class ucp_login_link
*/
function main($id, $mode)
{
global $config, $phpbb_container, $request, $template, $user;
global $phpbb_container, $request, $template, $user;
global $phpbb_root_path, $phpEx;
// Initialize necessary variables
@@ -57,8 +57,8 @@ class ucp_login_link
}
// Use the auth_provider requested even if different from configured
$auth_provider = 'auth.provider.' . $request->variable('auth_provider', $config['auth_method']);
$auth_provider = $phpbb_container->get($auth_provider);
$provider_collection = $phpbb_container->get('auth.provider_collection');
$auth_provider = $provider_collection->get_provider($request->variable('auth_provider', ''));
// Set the link_method to login_link
$data['link_method'] = 'login_link';
@@ -75,7 +75,7 @@ class ucp_login_link
{
if ($request->is_set_post('login'))
{
$login_username = $request->variable('login_username', '', false, \phpbb\request\request_interface::POST);
$login_username = $request->variable('login_username', '', true, \phpbb\request\request_interface::POST);
$login_password = $request->untrimmed_variable('login_password', '', true, \phpbb\request\request_interface::POST);
$login_result = $auth_provider->login($login_username, $login_password);

View File

@@ -197,7 +197,7 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
$u_pm = append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&amp;mode=compose&amp;u=' . $author_id);
}
if ($user_info['user_jabber'] && $auth->acl_get('u_sendim'))
if ($config['jab_enable'] && $user_info['user_jabber'] && $auth->acl_get('u_sendim'))
{
$u_jabber = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&amp;action=jabber&amp;u=' . $author_id);
}
@@ -213,6 +213,7 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
'AUTHOR_AVATAR' => (isset($user_info['avatar'])) ? $user_info['avatar'] : '',
'AUTHOR_JOINED' => $user->format_date($user_info['user_regdate']),
'AUTHOR_POSTS' => (int) $user_info['user_posts'],
'U_AUTHOR_POSTS' => ($config['load_search'] && $auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id=$author_id&amp;sr=posts") : '',
'CONTACT_USER' => $user->lang('CONTACT_USER', get_username_string('username', $author_id, $user_info['username'], $user_info['user_colour'], $user_info['username'])),
'ONLINE_IMG' => (!$config['load_onlinetrack']) ? '' : ((isset($user_info['online']) && $user_info['online']) ? $user->img('icon_user_online', $user->lang['ONLINE']) : $user->img('icon_user_offline', $user->lang['OFFLINE'])),

View File

@@ -33,7 +33,8 @@ class ucp_register
global $request, $phpbb_container;
//
if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
if ($config['require_activation'] == USER_ACTIVATION_DISABLE ||
(in_array($config['require_activation'], array(USER_ACTIVATION_SELF, USER_ACTIVATION_ADMIN)) && !$config['email_enable']))
{
trigger_error('UCP_REGISTER_DISABLE');
}
@@ -87,8 +88,8 @@ class ucp_register
if (!empty($login_link_data))
{
// Confirm that we have all necessary data
$auth_provider = 'auth.provider.' . $request->variable('auth_provider', $config['auth_method']);
$auth_provider = $phpbb_container->get($auth_provider);
$provider_collection = $phpbb_container->get('auth.provider_collection');
$auth_provider = $provider_collection->get_provider($request->variable('auth_provider', ''));
$result = $auth_provider->login_link_has_necessary_data($login_link_data);
if ($result !== null)

View File

@@ -185,7 +185,7 @@ $template->assign_vars(array(
'U_MCP' => ($auth->acl_get('m_') || $auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&amp;mode=front', true, $user->session_id) : '')
);
$page_title = $user->lang['INDEX'];
$page_title = ($config['board_index_text'] !== '') ? $config['board_index_text'] : $user->lang['INDEX'];
/**
* You can use this event to modify the page title and load data for the index

View File

@@ -38,7 +38,7 @@ $dbms = $phpbb_config_php_file->convert_30_dbms_to_31($dbms);
$convertor_data = array(
'forum_name' => 'phpBB 2.0.x',
'version' => '1.0.3',
'phpbb_version' => '3.1.0',
'phpbb_version' => '3.1.3',
'author' => '<a href="https://www.phpbb.com/">phpBB Limited</a>',
'dbms' => $dbms,
'dbhost' => $dbhost,

View File

@@ -2014,7 +2014,7 @@ class install_convert extends module
{
$value = $fields[1][$firstkey];
}
else if (is_array($fields[2]))
else if (is_array($fields[2]) && !is_callable($fields[2]))
{
// Execute complex function/eval/typecast
$value = $fields[1];

View File

@@ -2083,7 +2083,7 @@ class install_install extends module
return array(
'language' => basename(request_var('language', '')),
'dbms' => request_var('dbms', ''),
'dbhost' => request_var('dbhost', ''),
'dbhost' => request_var('dbhost', '', true),
'dbport' => request_var('dbport', ''),
'dbuser' => request_var('dbuser', ''),
'dbpasswd' => request_var('dbpasswd', '', true),

View File

@@ -273,7 +273,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('use_system_cron', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.1.0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.1.3');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400');
@@ -805,7 +805,7 @@ INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_len
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_aol', 'profilefields.type.string', 'phpbb_aol', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 5, 1, '', '');
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_icq', 'profilefields.type.string', 'phpbb_icq', '20', '3', '15', '', '', '[0-9]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 6, 1, 'SEND_ICQ_MESSAGE', 'https://www.icq.com/people/%s/');
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_wlm', 'profilefields.type.string', 'phpbb_wlm', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 7, 1, '', '');
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_yahoo', 'profilefields.type.string', 'phpbb_yahoo', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 8, 1, 'SEND_YIM_MESSAGE', 'http://edit.yahoo.com/config/send_webmesg?.target=%s&amp;.src=pg');
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_yahoo', 'profilefields.type.string', 'phpbb_yahoo', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 8, 1, 'SEND_YIM_MESSAGE', 'ymsgr:sendim?%s');
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_facebook', 'profilefields.type.string', 'phpbb_facebook', '20', '5', '50', '', '', '[\w.]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 9, 1, 'VIEW_FACEBOOK_PROFILE', 'http://facebook.com/%s/');
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_twitter', 'profilefields.type.string', 'phpbb_twitter', '20', '1', '15', '', '', '[\w_]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 10, 1, 'VIEW_TWITTER_PROFILE', 'http://twitter.com/%s');
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_skype', 'profilefields.type.string', 'phpbb_skype', '20', '6', '32', '', '', '[a-zA-Z][\w\.,\-_]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 11, 1, 'VIEW_SKYPE_PROFILE', 'skype:%s?userinfo');

View File

@@ -221,7 +221,8 @@ $lang = array_merge($lang, array(
'ACP_REGISTER_SETTINGS_EXPLAIN' => 'Here you are able to define registration and profile related settings.',
'ACC_ACTIVATION' => 'Account activation',
'ACC_ACTIVATION_EXPLAIN' => 'This determines whether users have immediate access to the board or if confirmation is required. You can also completely disable new registrations. “Board-wide email” must be enabled in order to use user or admin activation.',
'ACC_ACTIVATION_EXPLAIN' => 'This determines whether users have immediate access to the board or if confirmation is required. You can also completely disable new registrations. <em>“Board-wide email” must be enabled in order to use user or admin activation.</em>',
'ACC_ACTIVATION_WARNING' => 'Please note that the currently selected activation method requires emails to be enabled, otherwise registration will be disabled. We recommend to either select a different activation method or reenable emails.',
'NEW_MEMBER_POST_LIMIT' => 'New member post limit',
'NEW_MEMBER_POST_LIMIT_EXPLAIN' => 'New members are within the <em>Newly Registered Users</em> group until they reach this number of posts. You can use this group to keep them from using the PM system or to review their posts. <strong>A value of 0 disables this feature.</strong>',
'NEW_MEMBER_GROUP_DEFAULT' => 'Set Newly Registered Users group to default',
@@ -556,7 +557,7 @@ $lang = array_merge($lang, array(
'EMAIL_SIG' => 'Email signature',
'EMAIL_SIG_EXPLAIN' => 'This text will be attached to all emails the board sends.',
'ENABLE_EMAIL' => 'Enable board-wide emails',
'ENABLE_EMAIL_EXPLAIN' => 'If this is set to disabled no emails will be sent by the board at all. <em>Note the user and admin account activation settings require this setting to be enabled. If currently using “user” or “admin” activation in the activation settings, disabling this setting will require no activation of new accounts.</em>',
'ENABLE_EMAIL_EXPLAIN' => 'If this is set to disabled no emails will be sent by the board at all. <em>Note the user and admin account activation settings require this setting to be enabled. If currently using “user” or “admin” activation in the activation settings, disabling this setting will disable registration.</em>',
'SMTP_AUTH_METHOD' => 'Authentication method for SMTP',
'SMTP_AUTH_METHOD_EXPLAIN' => 'Only used if a username/password is set, ask your provider if you are unsure which method to use.',
'SMTP_CRAM_MD5' => 'CRAM-MD5',

View File

@@ -558,6 +558,7 @@ $lang = array_merge($lang, array(
'LOG_LOCK_POST' => '<strong>Locked post</strong><br />» %s',
'LOG_MERGE' => '<strong>Merged posts</strong> into topic<br />» %s',
'LOG_MOVE' => '<strong>Moved topic</strong><br />» from %1$s to %2$s',
'LOG_MOVED_TOPIC' => '<strong>Moved topic</strong><br />» %s',
'LOG_PM_REPORT_CLOSED' => '<strong>Closed PM report</strong><br />» %s',
'LOG_PM_REPORT_DELETED' => '<strong>Deleted PM report</strong><br />» %s',
'LOG_POST_APPROVED' => '<strong>Approved post</strong><br />» %s',

View File

@@ -54,7 +54,7 @@ $lang = array_merge($lang, array(
<br />
<p>For further information on setting up and managing permissions on your phpBB3 board, please see <a href="https://www.phpbb.com/support/documentation/3.0/quickstart/quick_permissions.html">Chapter 1.5 of our Quick Start Guide</a>.</p>
<p>For further information on setting up and managing permissions on your phpBB3 board, please see the section on <a href="https://www.phpbb.com/support/docs/en/3.1/ug/quickstart/permissions/">Setting permissions of our Quick Start Guide</a>.</p>
',
'ACL_NEVER' => 'Never',

View File

@@ -84,7 +84,7 @@ $lang = array_merge($lang, array(
'FULLTEXT_SPHINX_WRONG_DATABASE' => 'The sphinx search for phpBB supports MySQL and PostgreSQL only.',
'FULLTEXT_SPHINX_CONFIG_FILE' => 'Sphinx config file',
'FULLTEXT_SPHINX_CONFIG_FILE_EXPLAIN' => 'The generated content of the sphinx config file. This data needs to be pasted into the sphinx.conf which is used by sphinx search daemon. Replace the [dbuser] and [dbpassword] placeholders with your database credentials.',
'FULLTEXT_SPHINX_NO_CONFIG_DATA' => 'The sphinx data and config directory paths are not defined. Please define them to generate the config file.',
'FULLTEXT_SPHINX_NO_CONFIG_DATA' => 'The sphinx data directory path is not defined. Please define the path and submit to generate the config file.',
'GENERAL_SEARCH_SETTINGS' => 'General search settings',
'GO_TO_SEARCH_INDEX' => 'Go to search index page',

View File

@@ -74,6 +74,7 @@ $lang = array_merge($lang, array(
'STYLE_INSTALLED_RETURN_INSTALLED_STYLES' => 'Return to installed styles list',
'STYLE_INSTALLED_RETURN_UNINSTALLED_STYLES' => 'Install more styles',
'STYLE_NAME' => 'Style name',
'STYLE_NAME_RESERVED' => 'Style "%s" can not be installed, because the name is reserved.',
'STYLE_NOT_INSTALLED' => 'Style "%s" was not installed.',
'STYLE_PATH' => 'Style path',
'STYLE_UNINSTALL' => 'Uninstall',

View File

@@ -80,7 +80,7 @@ $lang = array_merge($lang, array(
'CONTINUE_OLD_CONVERSION' => 'Continue previously started conversion',
'CONVERT' => 'Convert',
'CONVERT_COMPLETE' => 'Conversion completed',
'CONVERT_COMPLETE_EXPLAIN' => 'You have now successfully converted your board to phpBB 3.1. You can now login and <a href="../">access your board</a>. Please ensure that the settings were transferred correctly before enabling your board by deleting the install directory. Remember that help on using phpBB is available online via the <a href="https://www.phpbb.com/support/documentation/3.0/">Documentation</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=46">support forums</a>.',
'CONVERT_COMPLETE_EXPLAIN' => 'You have now successfully converted your board to phpBB 3.1. You can now login and <a href="../">access your board</a>. Please ensure that the settings were transferred correctly before enabling your board by deleting the install directory. Remember that help on using phpBB is available online via the <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">Documentation</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=466">support forums</a>.',
'CONVERT_INTRO' => 'Welcome to the phpBB Unified Convertor Framework',
'CONVERT_INTRO_BODY' => 'From here, you are able to import data from other (installed) board systems. The list below shows all the conversion modules currently available. If there is no convertor shown in this list for the board software you wish to convert from, please check our website where further conversion modules may be available for download.',
'CONVERT_NEW_CONVERSION' => 'New conversion',
@@ -192,7 +192,7 @@ $lang = array_merge($lang, array(
<h2>Convert an existing board to phpBB3</h2>
<p>The phpBB Unified Convertor Framework supports the conversion of phpBB 2.0.x and other board systems to phpBB3. If you have an existing board that you wish to convert, please <a href="%2$s">proceed to the convertor</a>.</p>
<h2>Go live with your phpBB3!</h2>
<p>Clicking the button below will take you to a form for submitting statistical data to phpBB in your Administration Control Panel (ACP). We would appreciate it if you could help us by sending that information. Afterwards you should take some time to examine the options available to you. Remember that help is available online via the <a href="https://www.phpbb.com/support/documentation/3.0/">Documentation</a>, <a href="%3$s">README</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=46">Support Forums</a>.</p><p><strong>Please delete, move or rename the install directory before using your board. While this directory exists, only the Administration Control Panel (ACP) will be accessible.</strong>',
<p>Clicking the button below will take you to a form for submitting statistical data to phpBB in your Administration Control Panel (ACP). We would appreciate it if you could help us by sending that information. Afterwards you should take some time to examine the options available to you. Remember that help is available online via the <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">Documentation</a>, <a href="%3$s">README</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=466">Support Forums</a>.</p><p><strong>Please delete, move or rename the install directory before using your board. While this directory exists, only the Administration Control Panel (ACP) will be accessible.</strong>',
'INSTALL_INTRO' => 'Welcome to Installation',
'INSTALL_INTRO_BODY' => 'With this option, it is possible to install phpBB3 onto your server.</p><p>In order to proceed, you will need your database settings. If you do not know your database settings, please contact your host and ask for them. You will not be able to continue without them. You need:</p>
@@ -274,7 +274,7 @@ $lang = array_merge($lang, array(
'MAKE_FOLDER_WRITABLE' => 'Please make sure that this folder exists and is writable by the webserver then try again:<br />»<strong>%s</strong>.',
'MAKE_FOLDERS_WRITABLE' => 'Please make sure that these folders exist and are writable by the webserver then try again:<br />»<strong>%s</strong>.',
'MYSQL_SCHEMA_UPDATE_REQUIRED' => 'Your MySQL database schema for phpBB is outdated. phpBB detected a schema for MySQL 3.x/4.x, but the server runs on MySQL %2$s.<br /><strong>Before you proceed the update, you need to upgrade the schema.</strong><br /><br />Please refer to the <a href="https://www.phpbb.com/kb/article/doesnt-have-a-default-value-errors/">Knowledge Base article about upgrading the MySQL schema</a>. If you encounter problems, please use <a href="https://www.phpbb.com/community/viewforum.php?f=46">our support forums</a>.',
'MYSQL_SCHEMA_UPDATE_REQUIRED' => 'Your MySQL database schema for phpBB is outdated. phpBB detected a schema for MySQL 3.x/4.x, but the server runs on MySQL %2$s.<br /><strong>Before you proceed the update, you need to upgrade the schema.</strong><br /><br />Please refer to the <a href="https://www.phpbb.com/kb/article/doesnt-have-a-default-value-errors/">Knowledge Base article about upgrading the MySQL schema</a>. If you encounter problems, please use <a href="https://www.phpbb.com/community/viewforum.php?f=466">our support forums</a>.',
'NAMING_CONFLICT' => 'Naming conflict: %s and %s are both aliases<br /><br />%s',
'NEXT_STEP' => 'Proceed to next step',
@@ -345,7 +345,7 @@ $lang = array_merge($lang, array(
'SUB_LICENSE' => 'License',
'SUB_SUPPORT' => 'Support',
'SUCCESSFUL_CONNECT' => 'Successful connection',
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/community/viewtopic.php?f=14&amp;t=571070">The phpBB Welcome Package</a><br /><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/documentation/3.1/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, why not <a href="https://www.phpbb.com/support/">subscribe to our mailing list</a>?<br /><br />',
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/community/viewtopic.php?f=14&amp;t=571070">The phpBB Welcome Package</a><br /><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/docs/en/3.1/ug/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, why not <a href="https://www.phpbb.com/support/">subscribe to our mailing list</a>?<br /><br />',
'SYNC_FORUMS' => 'Starting to synchronise forums',
'SYNC_POST_COUNT' => 'Synchronising post_counts',
'SYNC_POST_COUNT_ID' => 'Synchronising post_counts from <var>entry</var> %1$s to %2$s.',
@@ -547,7 +547,7 @@ $lang = array_merge($lang, array(
<ul style="margin-left: 20px; font-size: 1.1em;">
<li>Go to the <a href="https://www.phpbb.com/downloads/" title="https://www.phpbb.com/downloads/">phpBB.com downloads page</a> and download the "Automatic Update Package" archive.<br /><br /></li>
<li>Unpack the archive.<br /><br /></li>
<li>Upload the complete uncompressed install folder to your phpBB root directory (where your config.php file is).<br /><br /></li>
<li>Upload the complete uncompressed "install" and "vendor" folders to your phpBB root directory (where your config.php file is).<br /><br /></li>
</ul>
<p>Once uploaded your board will be offline for normal users due to the install directory you uploaded now present.<br /><br />

View File

@@ -237,7 +237,7 @@ $lang = array_merge($lang, array(
'NOT_MODERATOR' => 'You are not a moderator of this forum.',
'NO_DESTINATION_FORUM' => 'Please select a forum for destination.',
'NO_DESTINATION_FORUM_FOUND' => 'There is no destination forum available.',
'NO_ENTRIES' => 'No log entries for this period.',
'NO_ENTRIES' => 'No log entries.',
'NO_FEEDBACK' => 'No feedback exists for this user.',
'NO_FINAL_TOPIC_SELECTED' => 'You have to select a destination topic for merging posts.',
'NO_MATCHES_FOUND' => 'No matches found.',

View File

@@ -48,7 +48,7 @@ $lang = array_merge($lang, array(
'BEFORE' => 'Before',
'CC_EMAIL' => 'Send a copy of this email to yourself.',
'CC_SENDER' => 'Send a copy of this email to yourself.',
'CONTACT_ADMIN' => 'Contact a Board Administrator',
'DEST_LANG' => 'Language',

View File

@@ -71,6 +71,7 @@ $lang = array_merge($lang, array(
'NO_RECENT_SEARCHES' => 'No searches have been carried out recently.',
'NO_SEARCH' => 'Sorry but you are not permitted to use the search system.',
'NO_SEARCH_RESULTS' => 'No suitable matches were found.',
'NO_SEARCH_LOAD' => 'Sorry but you cannot use search at this time. The server has high load. Please try again later.',
'NO_SEARCH_TIME' => array(
1 => 'Sorry but you cannot use search at this time. Please try again in %d second.',
2 => 'Sorry but you cannot use search at this time. Please try again in %d seconds.',

View File

@@ -137,6 +137,28 @@ if ($forum_id && !$auth->acl_get('f_read', $forum_id))
trigger_error('NOT_AUTHORISED');
}
/**
* Allow applying additional permissions to MCP access besides f_read
*
* @event core.mcp_global_f_read_auth_after
* @var string action The action the user tried to execute
* @var int forum_id The forum the user tried to access
* @var string mode The MCP module the user is trying to access
* @var p_master module Module system class
* @var bool quickmod True if the user is accessing using quickmod tools
* @var int topic_id The topic the user tried to access
* @since 3.1.3-RC1
*/
$vars = array(
'action',
'forum_id',
'mode',
'module',
'quickmod',
'topic_id',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_global_f_read_auth_after', compact($vars)));
if ($forum_id)
{
$module->acl_forum_id = $forum_id;

View File

@@ -173,6 +173,22 @@ switch ($mode)
'ORDER_BY' => 'u.username_clean ASC',
);
/**
* Modify the query used to get the users for the team page
*
* @event core.memberlist_team_modify_query
* @var array sql_ary Array containing the query
* @var array group_ids Array of group ids
* @var array teampage_data The teampage data
* @since 3.1.3-RC1
*/
$vars = array(
'sql_ary',
'group_ids',
'teampage_data',
);
extract($phpbb_dispatcher->trigger_event('core.memberlist_team_modify_query', compact($vars)));
$result = $db->sql_query($db->sql_build_query('SELECT', $sql_ary));
$user_ary = $user_ids = $group_users = array();
@@ -285,7 +301,7 @@ switch ($mode)
$user_rank_data = phpbb_get_user_rank($row, (($row['user_id'] == ANONYMOUS) ? false : $row['user_posts']));
$template->assign_block_vars('group.user', array(
$template_vars = array(
'USER_ID' => $row['user_id'],
'FORUMS' => $row['forums'],
'FORUM_OPTIONS' => (isset($row['forums_options'])) ? true : false,
@@ -304,7 +320,25 @@ switch ($mode)
'USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
'USER_COLOR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
'U_VIEW_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
));
);
/**
* Modify the template vars for displaying the user in the groups on the teampage
*
* @event core.memberlist_team_modify_template_vars
* @var array template_vars Array containing the query
* @var array row Array containing the action user row
* @var array groups_ary Array of groups with all users that should be displayed
* @since 3.1.3-RC1
*/
$vars = array(
'template_vars',
'row',
'groups_ary',
);
extract($phpbb_dispatcher->trigger_event('core.memberlist_team_modify_template_vars', compact($vars)));
$template->assign_block_vars('group.user', $template_vars);
if ($config['teampage_memberships'] != 2)
{
@@ -681,7 +715,7 @@ switch ($mode)
'U_MCP_QUEUE' => ($auth->acl_getf_global('m_approve')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue', true, $user->session_id) : '',
'U_SWITCH_PERMISSIONS' => ($auth->acl_get('a_switchperm') && $user->data['user_id'] != $user_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=switch_perm&amp;u={$user_id}&amp;hash=" . generate_link_hash('switchperm')) : '',
'U_EDIT_SELF' => ($user_id == $user->data['user_id']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=ucp_profile&amp;mode=profile_info') : '',
'U_EDIT_SELF' => ($user_id == $user->data['user_id'] && $auth->acl_get('u_chgprofileinfo')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=ucp_profile&amp;mode=profile_info') : '',
'S_USER_NOTES' => ($user_notes_enabled) ? true : false,
'S_WARN_USER' => ($warn_user_enabled) ? true : false,

View File

@@ -927,11 +927,11 @@ class auth
*/
function login($username, $password, $autologin = false, $viewonline = 1, $admin = 0)
{
global $config, $db, $user, $phpbb_root_path, $phpEx, $phpbb_container;
global $db, $user, $phpbb_root_path, $phpEx, $phpbb_container;
$method = trim(basename($config['auth_method']));
$provider_collection = $phpbb_container->get('auth.provider_collection');
$provider = $phpbb_container->get('auth.provider.' . $method);
$provider = $provider_collection->get_provider();
if ($provider)
{
$login = $provider->login($username, $password);

View File

@@ -137,7 +137,7 @@ class apache extends \phpbb\auth\provider\base
return array(
'status' => LOGIN_SUCCESS_CREATE_PROFILE,
'error_msg' => false,
'user_row' => user_row_apache($php_auth_user, $php_auth_pw),
'user_row' => $this->user_row($php_auth_user, $php_auth_pw),
);
}
@@ -185,7 +185,7 @@ class apache extends \phpbb\auth\provider\base
}
// create the user if he does not exist yet
user_add(user_row_apache($php_auth_user, $php_auth_pw));
user_add($this->user_row($php_auth_user, $php_auth_pw));
$sql = 'SELECT *
FROM ' . USERS_TABLE . "

View File

@@ -87,7 +87,7 @@ class db extends \phpbb\auth\provider\base
$username_clean = utf8_clean_string($username);
$sql = 'SELECT user_id, username, user_password, user_passchg, user_email, user_type, user_login_attempts
$sql = 'SELECT *
FROM ' . USERS_TABLE . "
WHERE username_clean = '" . $this->db->sql_escape($username_clean) . "'";
$result = $this->db->sql_query($sql);
@@ -123,7 +123,7 @@ class db extends \phpbb\auth\provider\base
'username_clean' => $username_clean,
);
$sql = 'INSERT INTO ' . LOGIN_ATTEMPT_TABLE . $this->db->sql_build_array('INSERT', $attempt_data);
$result = $this->db->sql_query($sql);
$this->db->sql_query($sql);
}
else
{
@@ -175,7 +175,7 @@ class db extends \phpbb\auth\provider\base
}
// Check password ...
if ($this->passwords_manager->check($password, $row['user_password']))
if ($this->passwords_manager->check($password, $row['user_password'], $row))
{
// Check for old password hash...
if ($this->passwords_manager->convert_flag || strlen($row['user_password']) == 32)
@@ -232,7 +232,7 @@ class db extends \phpbb\auth\provider\base
// Give status about wrong password...
return array(
'status' => ($show_captcha) ? LOGIN_ERROR_ATTEMPTS : LOGIN_ERROR_PASSWORD,
'error_msg' => ($show_captcha) ? 'LOGIN_ERROR_ATTEMPTS' : 'LOGIN_ERROR_PASSWORD',
'error_msg' => 'LOGIN_ERROR_PASSWORD',
'user_row' => $row,
);
}

View File

@@ -38,6 +38,7 @@ class provider_collection extends \phpbb\di\service_collection
/**
* Get an auth provider.
*
* @param string $provider_name The name of the auth provider
* @return object Default auth provider selected in config if it
* does exist. Otherwise the standard db auth
* provider.
@@ -46,11 +47,12 @@ class provider_collection extends \phpbb\di\service_collection
* auth provider exist. The db auth provider
* should always exist in a phpBB installation.
*/
public function get_provider()
public function get_provider($provider_name = '')
{
if ($this->offsetExists('auth.provider.' . basename(trim($this->config['auth_method']))))
$provider_name = ($provider_name !== '') ? $provider_name : basename(trim($this->config['auth_method']));
if ($this->offsetExists('auth.provider.' . $provider_name))
{
return $this->offsetGet('auth.provider.' . basename(trim($this->config['auth_method'])));
return $this->offsetGet('auth.provider.' . $provider_name);
}
// Revert to db auth provider if selected method does not exist
else if ($this->offsetExists('auth.provider.db'))

View File

@@ -326,17 +326,41 @@ class manager
$driver->delete($avatar_data);
}
$result = self::$default_row;
foreach ($result as $key => $value)
{
$result[$prefix . $key] = $value;
unset($result[$key]);
}
$result = $this->prefix_avatar_columns($prefix, self::$default_row);
$sql = 'UPDATE ' . $table . '
SET ' . $db->sql_build_array('UPDATE', $result) . '
WHERE ' . $prefix . 'id = ' . (int) $avatar_data['id'];
SET ' . $db->sql_build_array('UPDATE', $result) . '
WHERE ' . $prefix . 'id = ' . (int) $avatar_data['id'];
$db->sql_query($sql);
// Make sure we also delete this avatar from the users
if ($prefix === 'group_')
{
$result = $this->prefix_avatar_columns('user_', self::$default_row);
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $result) . "
WHERE user_avatar = '" . $db->sql_escape($avatar_data['avatar']) . "'";
$db->sql_query($sql);
}
}
/**
* Prefix avatar columns
*
* @param string $prefix Column prefix
* @param array $data Column data
*
* @return array Column data with prefixed column names
*/
public function prefix_avatar_columns($prefix, $data)
{
foreach ($data as $key => $value)
{
$data[$prefix . $key] = $value;
unset($data[$key]);
}
return $data;
}
}

View File

@@ -26,8 +26,10 @@ class recaptcha extends captcha_abstract
var $challenge;
var $response;
// PHP4 Constructor
function phpbb_recaptcha()
/**
* Constructor
*/
public function __construct()
{
global $request;
$this->recaptcha_server = $request->is_secure() ? $this->recaptcha_server_secure : $this->recaptcha_server;

View File

@@ -145,9 +145,9 @@ class db extends \phpbb\config\config
$sql .= " AND config_value = '" . $this->db->sql_escape($old_value) . "'";
}
$result = $this->db->sql_query($sql);
$this->db->sql_query($sql);
if (!$this->db->sql_affectedrows($result) && isset($this->config[$key]))
if (!$this->db->sql_affectedrows() && isset($this->config[$key]))
{
return false;
}

View File

@@ -43,6 +43,12 @@ class content_visibility
*/
protected $config;
/**
* Event dispatcher object
* @var \phpbb\event\dispatcher
*/
protected $phpbb_dispatcher;
/**
* phpBB root path
* @var string
@@ -60,6 +66,7 @@ class content_visibility
*
* @param \phpbb\auth\auth $auth Auth object
* @param \phpbb\config\config $config Config object
* @param \phpbb\event\dispatcher $phpbb_dispatcher Event dispatcher object
* @param \phpbb\db\driver\driver_interface $db Database object
* @param \phpbb\user $user User object
* @param string $phpbb_root_path Root path
@@ -69,10 +76,11 @@ class content_visibility
* @param string $topics_table Topics table name
* @param string $users_table Users table name
*/
public function __construct(\phpbb\auth\auth $auth, \phpbb\config\config $config, \phpbb\db\driver\driver_interface $db, \phpbb\user $user, $phpbb_root_path, $php_ext, $forums_table, $posts_table, $topics_table, $users_table)
public function __construct(\phpbb\auth\auth $auth, \phpbb\config\config $config, \phpbb\event\dispatcher $phpbb_dispatcher, \phpbb\db\driver\driver_interface $db, \phpbb\user $user, $phpbb_root_path, $php_ext, $forums_table, $posts_table, $topics_table, $users_table)
{
$this->auth = $auth;
$this->config = $config;
$this->phpbb_dispatcher = $phpbb_dispatcher;
$this->db = $db;
$this->user = $user;
$this->phpbb_root_path = $phpbb_root_path;
@@ -160,6 +168,36 @@ class content_visibility
$approve_forums = array_intersect($forum_ids, array_keys($this->auth->acl_getf('m_approve', true)));
$get_forums_visibility_sql_overwrite = false;
/**
* Allow changing the result of calling get_forums_visibility_sql
*
* @event core.phpbb_content_visibility_get_forums_visibility_before
* @var string where_sql The action the user tried to execute
* @var string mode Either "topic" or "post" depending on the query this is being used in
* @var array forum_ids Array of forum ids which the posts/topics are limited to
* @var string table_alias Table alias to prefix in SQL queries
* @var array approve_forums Array of forums where the user has m_approve permissions
* @var mixed get_forums_visibility_sql_overwrite If a string, forces the function to return get_forums_visibility_sql_overwrite after executing the event
* If false, get_forums_visibility_sql continues normally
* It must be either boolean or string
* @since 3.1.3-RC1
*/
$vars = array(
'where_sql',
'mode',
'forum_ids',
'table_alias',
'approve_forums',
'get_forums_visibility_sql_overwrite',
);
extract($this->phpbb_dispatcher->trigger_event('core.phpbb_content_visibility_get_forums_visibility_before', compact($vars)));
if ($get_forums_visibility_sql_overwrite !== false)
{
return $get_forums_visibility_sql_overwrite;
}
if (sizeof($approve_forums))
{
// Remove moderator forums from the rest
@@ -206,6 +244,35 @@ class content_visibility
$approve_forums = array_diff(array_keys($this->auth->acl_getf('m_approve', true)), $exclude_forum_ids);
$visibility_sql_overwrite = null;
/**
* Allow changing the result of calling get_global_visibility_sql
*
* @event core.phpbb_content_visibility_get_global_visibility_before
* @var array where_sqls The action the user tried to execute
* @var string mode Either "topic" or "post" depending on the query this is being used in
* @var array forum_ids Array of forum ids which the posts/topics are limited to
* @var string table_alias Table alias to prefix in SQL queries
* @var array approve_forums Array of forums where the user has m_approve permissions
* @var string visibility_sql_overwrite Forces the function to return an implosion of where_sqls (joined by "OR")
* @since 3.1.3-RC1
*/
$vars = array(
'where_sqls',
'mode',
'forum_ids',
'table_alias',
'approve_forums',
'visibility_sql_overwrite',
);
extract($this->phpbb_dispatcher->trigger_event('core.phpbb_content_visibility_get_global_visibility_before', compact($vars)));
if ($visibility_sql_overwrite)
{
return $visibility_sql_overwrite;
}
if (sizeof($exclude_forum_ids))
{
$where_sqls[] = '(' . $this->db->sql_in_set($table_alias . 'forum_id', $exclude_forum_ids, true) . '

View File

@@ -44,6 +44,9 @@ class helper
/* @var \phpbb\symfony_request */
protected $symfony_request;
/* @var \phpbb\request\request_interface */
protected $request;
/**
* @var \phpbb\filesystem The filesystem object
*/
@@ -70,16 +73,18 @@ class helper
* @param \phpbb\controller\provider $provider Path provider
* @param \phpbb\extension\manager $manager Extension manager object
* @param \phpbb\symfony_request $symfony_request Symfony Request object
* @param \phpbb\request\request_interface $request phpBB request object
* @param \phpbb\filesystem $filesystem The filesystem object
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
*/
public function __construct(\phpbb\template\template $template, \phpbb\user $user, \phpbb\config\config $config, \phpbb\controller\provider $provider, \phpbb\extension\manager $manager, \phpbb\symfony_request $symfony_request, \phpbb\filesystem $filesystem, $phpbb_root_path, $php_ext)
public function __construct(\phpbb\template\template $template, \phpbb\user $user, \phpbb\config\config $config, \phpbb\controller\provider $provider, \phpbb\extension\manager $manager, \phpbb\symfony_request $symfony_request, \phpbb\request\request_interface $request, \phpbb\filesystem $filesystem, $phpbb_root_path, $php_ext)
{
$this->template = $template;
$this->user = $user;
$this->config = $config;
$this->symfony_request = $symfony_request;
$this->request = $request;
$this->filesystem = $filesystem;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
@@ -153,7 +158,7 @@ class helper
}
}
$base_url = $this->filesystem->clean_path($base_url);
$base_url = $this->request->escape($this->filesystem->clean_path($base_url), true);
$context->setBaseUrl($base_url);
@@ -179,15 +184,34 @@ class helper
* @param string $message The error message
* @param int $code The error code (e.g. 404, 500, 503, etc.)
* @return Response A Response instance
*
* @deprecated 3.1.3 (To be removed: 3.3.0) Use exceptions instead.
*/
public function error($message, $code = 500)
{
return $this->message($message, array(), 'INFORMATION', $code);
}
/**
* Output a message
*
* In case of an error, please throw an exception instead
*
* @param string $message The message to display (must be a language variable)
* @param array $parameters The parameters to use with the language var
* @param string $title Title for the message (must be a language variable)
* @param int $code The HTTP status code (e.g. 404, 500, 503, etc.)
* @return Response A Response instance
*/
public function message($message, array $parameters = array(), $title = 'INFORMATION', $code = 200)
{
array_unshift($parameters, $message);
$this->template->assign_vars(array(
'MESSAGE_TEXT' => $message,
'MESSAGE_TITLE' => $this->user->lang('INFORMATION'),
'MESSAGE_TEXT' => call_user_func_array(array($this->user, 'lang'), $parameters),
'MESSAGE_TITLE' => $this->user->lang($title),
));
return $this->render('message_body.html', $this->user->lang('INFORMATION'), $code);
return $this->render('message_body.html', $this->user->lang($title), $code);
}
/**
@@ -197,6 +221,6 @@ class helper
*/
public function get_current_url()
{
return generate_board_url(true) . $this->symfony_request->getRequestUri();
return generate_board_url(true) . $this->request->escape($this->symfony_request->getRequestUri(), true);
}
}

View File

@@ -0,0 +1,36 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Abstract base class for container aware database migrations.
*/
abstract class container_aware_migration extends migration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
protected $container;
/**
* {@inheritdoc}
*/
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v30x;
class release_3_0_13 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.0.13', '>=') && phpbb_version_compare($this->config['version'], '3.1.0-dev', '<');
}
static public function depends_on()
{
return array('\phpbb\db\migration\data\v30x\release_3_0_13_rc1');
}
public function update_data()
{
return array(
array('if', array(
phpbb_version_compare($this->config['version'], '3.0.13', '<'),
array('config.update', array('version', '3.0.13')),
)),
);
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v30x;
class release_3_0_13_pl1 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.0.13-PL1', '>=') && phpbb_version_compare($this->config['version'], '3.1.0-dev', '<');
}
static public function depends_on()
{
return array('\phpbb\db\migration\data\v30x\release_3_0_13');
}
public function update_data()
{
return array(
array('if', array(
phpbb_version_compare($this->config['version'], '3.0.13-PL1', '<'),
array('config.update', array('version', '3.0.13-PL1')),
)),
);
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v30x;
class release_3_0_13_rc1 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.0.13-RC1', '>=') && phpbb_version_compare($this->config['version'], '3.1.0-dev', '<');
}
static public function depends_on()
{
return array('\phpbb\db\migration\data\v30x\release_3_0_12');
}
public function update_data()
{
return array(
array('if', array(
phpbb_version_compare($this->config['version'], '3.0.13-RC1', '<'),
array('config.update', array('version', '3.0.13-RC1')),
)),
);
}
}

View File

@@ -13,7 +13,9 @@
namespace phpbb\db\migration\data\v30x;
class release_3_0_5_rc1 extends \phpbb\db\migration\migration
use phpbb\db\migration\container_aware_migration;
class release_3_0_5_rc1 extends container_aware_migration
{
public function effectively_installed()
{
@@ -55,9 +57,7 @@ class release_3_0_5_rc1 extends \phpbb\db\migration\migration
public function hash_old_passwords()
{
global $phpbb_container;
$passwords_manager = $phpbb_container->get('passwords.manager');
$passwords_manager = $this->container->get('passwords.manager');
$sql = 'SELECT user_id, user_password
FROM ' . $this->table_prefix . 'users
WHERE user_pass_convert = 1';
@@ -110,7 +110,7 @@ class release_3_0_5_rc1 extends \phpbb\db\migration\migration
// Select auth_option_ids... the largest id will be preserved
$sql = 'SELECT auth_option_id
FROM ' . ACL_OPTIONS_TABLE . "
WHERE auth_option = '" . $db->sql_escape($option) . "'
WHERE auth_option = '" . $this->db->sql_escape($option) . "'
ORDER BY auth_option_id DESC";
// sql_query_limit not possible here, due to bug in postgresql layer
$result = $this->db->sql_query($sql);

View File

@@ -25,9 +25,13 @@ class captcha_plugins extends \phpbb\db\migration\migration
public function update_data()
{
$captcha_plugin = $this->config['captcha_plugin'];
if (strpos($this->config['captcha_plugin'], 'phpbb_captcha_') === 0)
if (strpos($captcha_plugin, 'phpbb_captcha_') === 0)
{
$captcha_plugin = substr($this->config['captcha_plugin'], strlen('phpbb_captcha_'));
$captcha_plugin = substr($captcha_plugin, strlen('phpbb_captcha_'));
}
else if (strpos($captcha_plugin, 'phpbb_') === 0)
{
$captcha_plugin = substr($captcha_plugin, strlen('phpbb_'));
}
return array(

View File

@@ -15,10 +15,18 @@ namespace phpbb\db\migration\data\v310;
class mysql_fulltext_drop extends \phpbb\db\migration\migration
{
protected $indexes;
public function effectively_installed()
{
// This migration is irrelevant for all non-MySQL DBMSes.
return strpos($this->db->get_sql_layer(), 'mysql') === false;
if (strpos($this->db->get_sql_layer(), 'mysql') === false)
{
return true;
}
$this->find_indexes_to_drop();
return empty($this->indexes);
}
static public function depends_on()
@@ -30,6 +38,11 @@ class mysql_fulltext_drop extends \phpbb\db\migration\migration
public function update_schema()
{
if (empty($this->indexes))
{
return array();
}
/*
* Drop FULLTEXT indexes related to MySQL fulltext search.
* Doing so is equivalent to dropping the search index from the ACP.
@@ -40,12 +53,28 @@ class mysql_fulltext_drop extends \phpbb\db\migration\migration
*/
return array(
'drop_keys' => array(
$this->table_prefix . 'posts' => array(
'post_subject',
'post_text',
'post_content',
),
$this->table_prefix . 'posts' => $this->indexes,
),
);
}
public function find_indexes_to_drop()
{
if ($this->indexes !== null)
{
return $this->indexes;
}
$this->indexes = array();
$potential_keys = array('post_subject', 'post_text', 'post_content');
foreach ($potential_keys as $key)
{
if ($this->db_tools->sql_index_exists($this->table_prefix . 'posts', $key))
{
$this->indexes[] = $key;
}
}
return $this->indexes;
}
}

View File

@@ -15,10 +15,18 @@ namespace phpbb\db\migration\data\v310;
class postgres_fulltext_drop extends \phpbb\db\migration\migration
{
protected $indexes;
public function effectively_installed()
{
// This migration is irrelevant for all non-PostgreSQL DBMSes.
return strpos($this->db->get_sql_layer(), 'postgres') === false;
if (strpos($this->db->get_sql_layer(), 'postgres') === false)
{
return true;
}
$this->find_indexes_to_drop();
return empty($this->indexes);
}
static public function depends_on()
@@ -30,6 +38,11 @@ class postgres_fulltext_drop extends \phpbb\db\migration\migration
public function update_schema()
{
if (empty($this->indexes))
{
return array();
}
/*
* Drop FULLTEXT indexes related to PostgreSQL fulltext search.
* Doing so is equivalent to dropping the search index from the ACP.
@@ -40,12 +53,28 @@ class postgres_fulltext_drop extends \phpbb\db\migration\migration
*/
return array(
'drop_keys' => array(
$this->table_prefix . 'posts' => array(
'post_subject',
'post_text',
'post_content',
),
$this->table_prefix . 'posts' => $this->indexes,
),
);
}
public function find_indexes_to_drop()
{
if ($this->indexes !== null)
{
return $this->indexes;
}
$this->indexes = array();
$potential_keys = array('post_subject', 'post_text', 'post_content');
foreach ($potential_keys as $key)
{
if ($this->db_tools->sql_index_exists($this->table_prefix . 'posts', $key))
{
$this->indexes[] = $key;
}
}
return $this->indexes;
}
}

View File

@@ -29,7 +29,8 @@ class reset_missing_captcha_plugin extends \phpbb\db\migration\migration
{
return array(
array('if', array(
(!is_file($this->phpbb_root_path . "includes/captcha/plugins/{$this->config['captcha_plugin']}_plugin." . $this->php_ext)),
(is_dir($this->phpbb_root_path . 'includes/captcha/plugins/') &&
!is_file($this->phpbb_root_path . "includes/captcha/plugins/{$this->config['captcha_plugin']}_plugin." . $this->php_ext)),
array('config.update', array('captcha_plugin', 'phpbb_captcha_nogd')),
)),
);

View File

@@ -13,12 +13,14 @@
namespace phpbb\db\migration\data\v310;
use phpbb\db\migration\container_aware_migration;
/**
* Migration to convert the Soft Delete MOD for 3.0
*
* https://www.phpbb.com/customise/db/mod/soft_delete/
*/
class soft_delete_mod_convert extends \phpbb\db\migration\migration
class soft_delete_mod_convert extends container_aware_migration
{
static public function depends_on()
{
@@ -115,19 +117,11 @@ class soft_delete_mod_convert extends \phpbb\db\migration\migration
}
}
/**
* @return \phpbb\content_visibility
*/
protected function get_content_visibility()
{
return new \phpbb\content_visibility(
new \phpbb\auth\auth(),
$this->config,
$this->db,
new \phpbb\user('\phpbb\datetime'),
$this->phpbb_root_path,
$this->php_ext,
$this->table_prefix . 'forums',
$this->table_prefix . 'posts',
$this->table_prefix . 'topics',
$this->table_prefix . 'users'
);
return $this->container->get('content.visibility');
}
}

View File

@@ -92,7 +92,7 @@ class style_update_p1 extends \phpbb\db\migration\migration
else
{
$sql = 'SELECT s.style_id, t.template_path, t.template_id, t.bbcode_bitfield, t.template_inherits_id, t.template_inherit_path, c.theme_path, c.theme_id
FROM ' . STYLES_TABLE . ' s, ' . $this->table_prefix . 'styles_template t, ' . $this->table_prefix . "stles_theme c
FROM ' . STYLES_TABLE . ' s, ' . $this->table_prefix . 'styles_template t, ' . $this->table_prefix . "styles_theme c
WHERE t.template_id = s.template_id
AND c.theme_id = s.theme_id";
}

View File

@@ -0,0 +1,31 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class m_softdelete_global extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array('\phpbb\db\migration\data\v31x\v311');
}
public function update_data()
{
return array(
// Make m_softdelete global. The add method will take care of updating
// it if it already exists.
array('permission.add', array('m_softdelete', true)),
);
}
}

View File

@@ -0,0 +1,31 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class plupload_last_gc_dynamic extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array('\phpbb\db\migration\data\v31x\v312');
}
public function update_data()
{
return array(
// Make plupload_last_gc dynamic.
array('config.remove', array('plupload_last_gc')),
array('config.add', array('plupload_last_gc', 0, 1)),
);
}
}

View File

@@ -0,0 +1,47 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class profilefield_remove_underscore_from_alpha extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array('\phpbb\db\migration\data\v31x\v311');
}
public function update_data()
{
return array(
array('custom', array(array($this, 'remove_underscore_from_alpha_validations'))),
);
}
public function remove_underscore_from_alpha_validations()
{
$this->update_validation_rule('[\w]+', '[a-zA-Z0-9]+');
$this->update_validation_rule('[\w_]+', '[\w]+');
$this->update_validation_rule('[\w.]+', '[a-zA-Z0-9.]+');
$this->update_validation_rule('[\w\x20_+\-\[\]]+', '[\w\x20+\-\[\]]+');
$this->update_validation_rule('[a-zA-Z][\w\.,\-_]+', '[a-zA-Z][\w\.,\-]+');
}
public function update_validation_rule($old_validation, $new_validation)
{
$sql = 'UPDATE ' . PROFILE_FIELDS_TABLE . "
SET field_validation = '" . $this->db->sql_escape($new_validation) . "'
WHERE field_validation = '" . $this->db->sql_escape($old_validation) . "'";
$this->db->sql_query($sql);
}
}

View File

@@ -0,0 +1,38 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class profilefield_yahoo_update_url extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array('\phpbb\db\migration\data\v31x\v312');
}
public function update_data()
{
return array(
array('custom', array(array($this, 'update_contact_url'))),
);
}
public function update_contact_url()
{
$sql = 'UPDATE ' . $this->table_prefix . "profile_fields
SET field_contact_url = 'ymsgr:sendim?%s'
WHERE field_name = 'phpbb_yahoo'
AND field_contact_url = 'http://edit.yahoo.com/config/send_webmesg?.target=%s&amp;.src=pg'";
$this->sql_query($sql);
}
}

View File

@@ -0,0 +1,136 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class style_update extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array('\phpbb\db\migration\data\v310\gold');
}
public function update_data()
{
return array(
array('custom', array(array($this, 'update_installed_styles'))),
);
}
public function update_installed_styles()
{
// Get all currently available styles
$styles = $this->find_style_dirs();
$style_paths = $style_ids = array();
$sql = 'SELECT style_path, style_id
FROM ' . $this->table_prefix . 'styles';
$result = $this->db->sql_query($sql);
while ($styles_row = $this->db->sql_fetchrow())
{
if (in_array($styles_row['style_path'], $styles))
{
$style_paths[] = $styles_row['style_path'];
$style_ids[] = $styles_row['style_id'];
}
}
$this->db->sql_freeresult($result);
// Install prosilver if no style is available and prosilver can be installed
if (empty($style_paths) && in_array('prosilver', $styles))
{
// Try to parse config file
$cfg = parse_cfg_file($this->phpbb_root_path . 'styles/prosilver/style.cfg');
// Stop running this if prosilver cfg file can't be read
if (empty($cfg))
{
throw new \RuntimeException('No styles available and could not fall back to prosilver.');
}
$style = array(
'style_name' => 'prosilver',
'style_copyright' => '&copy; phpBB Limited',
'style_active' => 1,
'style_path' => 'prosilver',
'bbcode_bitfield' => 'kNg=',
'style_parent_id' => 0,
'style_parent_tree' => '',
);
// Add to database
$this->db->sql_transaction('begin');
$sql = 'INSERT INTO ' . $this->table_prefix . 'styles
' . $this->db->sql_build_array('INSERT', $style);
$this->db->sql_query($sql);
$style_id = $this->db->sql_nextid();
$style_ids[] = $style_id;
$this->db->sql_transaction('commit');
// Set prosilver to default style
$this->config->set('default_style', $style_id);
}
else if (empty($styles) && empty($available_styles))
{
throw new \RuntimeException('No valid styles available');
}
// Make sure default style is available
if (!in_array($this->config['default_style'], $style_ids))
{
$this->config->set('default_style', array_pop($style_ids));
}
// Reset users to default style if their user_style is nonexistent
$sql = 'UPDATE ' . $this->table_prefix . "users
SET user_style = {$this->config['default_style']}
WHERE " . $this->db->sql_in_set('user_style', $style_ids, true, true);
$this->db->sql_query($sql);
}
/**
* Find all directories that have styles
* Copied from acp_styles
*
* @return array Directory names
*/
protected function find_style_dirs()
{
$styles = array();
$styles_path = $this->phpbb_root_path . 'styles/';
$dp = @opendir($styles_path);
if ($dp)
{
while (($file = readdir($dp)) !== false)
{
$dir = $styles_path . $file;
if ($file[0] == '.' || !is_dir($dir))
{
continue;
}
if (file_exists("{$dir}/style.cfg"))
{
$styles[] = $file;
}
}
closedir($dp);
}
return $styles;
}
}

View File

@@ -0,0 +1,70 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class update_custom_bbcodes_with_idn extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v31x\v312',
);
}
public function update_data()
{
return array(
array('custom', array(array($this, 'update_bbcodes_table'))),
);
}
public function update_bbcodes_table()
{
if (!class_exists('acp_bbcodes'))
{
include($this->phpbb_root_path . 'includes/acp/acp_bbcodes.' . $this->php_ext);
}
$bbcodes = new \acp_bbcodes();
$sql = 'SELECT bbcode_id, bbcode_match, bbcode_tpl
FROM ' . BBCODES_TABLE;
$result = $this->sql_query($sql);
$sql_ary = array();
while ($row = $this->db->sql_fetchrow($result))
{
$data = array();
if (preg_match('/(URL|LOCAL_URL|RELATIVE_URL)/', $row['bbcode_match']))
{
$data = $bbcodes->build_regexp($row['bbcode_match'], $row['bbcode_tpl']);
$sql_ary[$row['bbcode_id']] = array(
'first_pass_match' => $data['first_pass_match'],
'first_pass_replace' => $data['first_pass_replace'],
'second_pass_match' => $data['second_pass_match'],
'second_pass_replace' => $data['second_pass_replace']
);
}
}
$this->db->sql_freeresult($result);
foreach ($sql_ary as $bbcode_id => $bbcode_data)
{
$sql = 'UPDATE ' . BBCODES_TABLE . '
SET ' . $this->db->sql_build_array('UPDATE', $bbcode_data) . '
WHERE bbcode_id = ' . (int) $bbcode_id;
$this->sql_query($sql);
}
}
}

View File

@@ -0,0 +1,32 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class v311 extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v310\gold',
'\phpbb\db\migration\data\v31x\style_update',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.1.1')),
);
}
}

View File

@@ -0,0 +1,31 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class v312 extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v31x\v312rc1',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.1.2')),
);
}
}

View File

@@ -0,0 +1,32 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class v312rc1 extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v31x\v311',
'\phpbb\db\migration\data\v31x\m_softdelete_global',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.1.2-RC1')),
);
}
}

View File

@@ -0,0 +1,31 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class v313 extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v31x\v313rc2',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.1.3')),
);
}
}

View File

@@ -0,0 +1,35 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class v313rc1 extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v30x\release_3_0_13_rc1',
'\phpbb\db\migration\data\v31x\plupload_last_gc_dynamic',
'\phpbb\db\migration\data\v31x\profilefield_remove_underscore_from_alpha',
'\phpbb\db\migration\data\v31x\profilefield_yahoo_update_url',
'\phpbb\db\migration\data\v31x\update_custom_bbcodes_with_idn',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.1.3-RC1')),
);
}
}

View File

@@ -0,0 +1,32 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v31x;
class v313rc2 extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v30x\release_3_0_13_pl1',
'\phpbb\db\migration\data\v31x\v313rc1',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.1.3-RC2')),
);
}
}

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