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

Compare commits

...

1057 Commits

Author SHA1 Message Date
Joas Schilling
197fed16bd [prep-release-3.1.0] Update changelog with final changes 2014-10-28 13:08:52 +01:00
Joas Schilling
12033bc499 Merge branch 'develop-olympus' into prep-release-3.1.0
Conflicts:
	phpBB/phpbb/session.php
2014-10-28 12:57:38 +01:00
Joas Schilling
71c19f6eb7 Merge pull request #3091 from Nicofuma/ticket/13234-2
Ticket/13234 2
2014-10-28 12:56:47 +01:00
Joas Schilling
d2cd24e875 Merge pull request #3090 from Nicofuma/ticket/13234
Ticket/13234
2014-10-28 12:56:15 +01:00
Tristan Darricau
9036edd935 [ticket/13234] Merge branch 'ticket/13234' into ticket/13234-2
* ticket/13234:
  [ticket/13234] Fix conditions and CS

Conflicts:
	phpBB/phpbb/session.php

PHPBB3-13234
2014-10-28 12:27:16 +01:00
Tristan Darricau
fcc320e385 [ticket/13234] Fix conditions and CS
PHPBB3-13234
2014-10-28 12:19:53 +01:00
Joas Schilling
679559ce18 Merge branch 'naderman-ticket/13232' into prep-release-3.1.0 2014-10-28 10:02:33 +01:00
Joas Schilling
2e814cc43f [ticket/13232] Fix spaces vs tabs
PHPBB3-13232
2014-10-28 10:01:28 +01:00
Nils Adermann
087a5363bb [ticket/13234-2] Correctly verify that user_id is set in user data array
PHPBB3-13234-2
2014-10-27 23:56:20 -07:00
Nils Adermann
3472b6c5bc [ticket/13234-2] Never allow autologin/remember me to modify the userid
Ascraeus version of 64d97d0787 commit

PHPBB3-13234
2014-10-27 19:58:32 -07:00
Nils Adermann
e1277c26ca Merge branch 'ticket/13234' into ticket/13234-2
* ticket/13234:
  [ticket/13234] Never allow autologin/remember me to modify the userid
2014-10-27 19:57:16 -07:00
Nils Adermann
64d97d0787 [ticket/13234] Never allow autologin/remember me to modify the userid
This prevents admin relogin with forced user id from overwriting
remember me cookies

PHPBB3-13234
2014-10-27 19:55:56 -07:00
Nils Adermann
dccbd573e8 [ticket/13232] Ensure prune cron job always gets run in prune test
The cron scheduler might pick a different task but we don't want to go
through them all to find the one we need. So we just make sure cron is
run at all and then manually run the one we want.

PHPBB3-13232
2014-10-27 19:00:23 -07:00
Nils Adermann
efe3aaaf0b Merge pull request #3085 from naderman/ticket/13227
[ticket/13227] Properly handle curlwrapper headers in remote avatars
2014-10-27 18:58:11 -07:00
Nils Adermann
df1212ce27 Merge pull request #3083 from Nicofuma/ticket/13231
[ticket/13231] Update the dependencies of the migration contact_admin_form
2014-10-27 18:51:47 -07:00
Nils Adermann
1f31e8e243 Merge branch 'ticket/13229' into prep-release-3.1.0
* ticket/13229:
  [ticket/13229] Fix overloading memberlist with redundant SQL queries
2014-10-27 17:01:46 -07:00
rxu
16d78407db [ticket/13229] Fix overloading memberlist with redundant SQL queries
PHPBB3-13229
2014-10-27 17:01:29 -07:00
Nils Adermann
4e4c3de103 [ticket/13227] Properly handle curlwrapper headers in remote avatars
Read a bit of the file to ensure header values are populated and then
handle headers in the nested array structure too.

PHPBB3-13227
2014-10-27 16:49:30 -07:00
Nils Adermann
dbaee1a5da Merge pull request #4 from nickvergessen/naderman-ticket/13232
[ticket/13232] Fix more issues with TTL and global cache file
2014-10-27 16:36:39 -07:00
Joas Schilling
6380aea647 [ticket/13232] Fix more issues with TTL and global cache file
PHPBB3-13232
2014-10-28 00:34:51 +01:00
Tristan Darricau
47663a4ad3 [ticket/13231] Update the dependencies of the migration contact_admin_form
PHPBB3-13231
2014-10-27 23:45:24 +01:00
Nils Adermann
0cdd071230 [ticket/13232] Fix indentation
PHPBB3-13232
2014-10-27 15:45:24 -07:00
Nils Adermann
df5366a5ca [ticket/13232] Use a cache var with _ to force TTL and shuffle cron tasks
PHPBB3-13232
2014-10-27 15:42:26 -07:00
Joas Schilling
aa916fc43f Merge pull request #3077 from marc1706/ticket/13225
[ticket/13225] Use passwords manager instead of phpbb_hash in migration
2014-10-27 23:38:53 +01:00
Marc Alexander
b295fa4f4f [ticket/13225] Prefix converted passwords with $CP$ in phpBB 3.0.5-RC1
PHPBB3-13225
2014-10-27 20:57:31 +01:00
Nils Adermann
d693d91e26 Merge remote-tracking branch 'github-nicofuma/ticket/13226' into prep-release-3.1.0
* github-nicofuma/ticket/13226:
  [ticket/13226] Add functional test for group ranks
  [ticket/13226] Fix the usage of $rank_img
2014-10-27 12:25:18 -07:00
Nils Adermann
decabb62c0 Merge pull request #3079 from nickvergessen/ticket/13230
[ticket/13230] Add missing globals and missing request object for path helper
2014-10-27 12:16:12 -07:00
Joas Schilling
47759eb096 [ticket/13230] Add missing globals and missing request object for path helper
PHPBB3-13230
2014-10-27 14:54:17 +01:00
Tristan Darricau
2e5cc62071 [ticket/13226] Add functional test for group ranks
PHPBB3-13226
2014-10-27 14:37:51 +01:00
Tristan Darricau
9ccb87675d [ticket/13226] Fix the usage of $rank_img
PHPBB3-13226
2014-10-27 10:00:24 +01:00
Marc Alexander
6cc5160d60 [ticket/13225] Use passwords manager instead of phpbb_hash in migration
PHPBB3-13225
2014-10-26 17:14:34 -07:00
Nils Adermann
51251293ab [prep-release-3.1.0] Update CHANGELOG with last minute changes 2014-10-26 12:53:45 -07:00
Nils Adermann
d5022d87e7 Merge branch 'ticket/13223' into prep-release-3.1.0
* ticket/13223:
  [ticket/13223] Fix USERNAME email template variable in notification
2014-10-26 12:48:16 -07:00
rxu
5431aa6391 [ticket/13223] Fix USERNAME email template variable in notification
admin_activate_user.php notification type is assigning usernames to email
template variables using user_loader->get_username() in 'no_profile' mode,
which in its turn calls get_username_string() function in 'no_profile' mode.
This causes HTML markup in emails for username colour.

PHPBB3-13223
2014-10-26 12:47:57 -07:00
Nils Adermann
7f347a290c Merge pull request #3073 from nickvergessen/ticket/13221
[ticket/13221] Perform bot updates after user table changes
2014-10-26 12:42:28 -07:00
Joas Schilling
0d1d836a89 [ticket/13221] Add bot_update as a dependency to gold
PHPBB3-13221
2014-10-26 20:03:46 +01:00
Joas Schilling
79d782c1d5 [ticket/13221] Perform bot updates after user table changes
PHPBB3-13221
2014-10-26 19:57:08 +01:00
Nils Adermann
5cee745fc5 [prep-release-3.1.0] Add missing CHANGELOG entries for RC6 2014-10-25 18:10:30 -07:00
Nils Adermann
c789acc091 [prep-release-3.1.0] Add CHANGELOG for 3.1.0 2014-10-25 17:12:14 -07:00
Nils Adermann
f2e9c62a97 [prep-release-3.1.0] Add 3.1.0 gold release migration 2014-10-25 17:03:50 -07:00
Nils Adermann
4859cec0c5 Merge remote-tracking branch 'github-marc1706/ticket/13207' into prep-release-3.1.0
* github-marc1706/ticket/13207:
  [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:55:29 -07:00
Marc Alexander
0dcb874c09 [ticket/13207] Add notification manager mock to user_add method in tests
PHPBB3-13207
2014-10-25 16:16:25 -07:00
Marc Alexander
81ad381263 [ticket/13207] Move default user notifications settings to user_add()
PHPBB3-13207
2014-10-25 14:57:01 -07:00
Marc Alexander
18f24a2270 [ticket/13207] Add default subscription options for newly registered users
PHPBB3-13207
2014-10-25 14:50:01 -07:00
Nils Adermann
f22cd2d734 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13215] Update Symfony components to v2.3.21.
2014-10-25 14:01:54 -07:00
Nils Adermann
07e7cde560 Merge pull request #3062 from bantu/ticket/13215
[ticket/13215] Update Symfony components to v2.3.21.
2014-10-25 14:01:13 -07:00
Andreas Fischer
ad06f6dd71 [ticket/13215] Update Symfony components to v2.3.21.
PHPBB3-13215
2014-10-25 21:29:45 +02:00
Nils Adermann
9ea08aa4d7 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
2014-10-25 12:09:55 -07:00
Nils Adermann
4e952ad443 Merge commit '078e0c1e440f7f906b670348e8da00141e245876' into prep-release-3.1.0
* commit '078e0c1e440f7f906b670348e8da00141e245876':
  [ticket/13211] Move console migrator output handler back to console folder
  [ticket/13211] Also use log wrapper output handler for console migrations
  [ticket/13211] Move console migrator output handler to db folder
  [ticket/13211] Add log wrapper for writing database updater to log file
  [ticket/13126] Add missing use statement
  [ticket/13126] Fix tests
  [ticket/13126] Change messages verbosity levels
  [ticket/13126] Move migrator_output_handler to an interface
  [ticket/13126] Extends migrator_output_handler instead of using a closure
  [ticket/13126] Improve the feedback when running the migrations
2014-10-25 12:09:20 -07:00
Nils Adermann
6308a442d1 Merge pull request #3060 from marc1706/ticket/13211
[ticket/13211] Add log wrapper for writing database updater to log file
2014-10-25 12:04:29 -07:00
Marc Alexander
078e0c1e44 [ticket/13211] Move console migrator output handler back to console folder
PHPBB3-13211
2014-10-25 12:03:13 -07:00
Marc Alexander
8443463006 [ticket/13211] Also use log wrapper output handler for console migrations
PHPBB3-13211
2014-10-25 11:55:15 -07:00
Andreas Fischer
d2e3198407 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13210] Use the correct config value
2014-10-25 19:50:26 +02:00
Andreas Fischer
a43879fe91 Merge pull request #3061 from Elsensee/ticket/13210
[ticket/13210] Use the correct config value

* Elsensee/ticket/13210:
  [ticket/13210] Use the correct config value
2014-10-25 19:48:33 +02:00
Andreas Fischer
103c929ff0 Merge branch 'prep-release-3.1.0' into develop-ascraeus
* prep-release-3.1.0:
  [ticket/13208] Add security issues to the final changelog
  [prep-release-3.1.0] Prepare Changelog
  [prep-release-3.1.0] Update version to 3.1.0
2014-10-25 19:39:50 +02:00
Oliver Schramm
a9a67b08a5 [ticket/13210] Use the correct config value
PHPBB3-13210
2014-10-25 14:28:56 +02:00
Marc Alexander
b27b9a6984 [ticket/13211] Move console migrator output handler to db folder
PHPBB3-13211
2014-10-24 13:33:26 -07:00
Marc Alexander
516bd9ea51 [ticket/13211] Add log wrapper for writing database updater to log file
PHPBB3-13211
2014-10-24 13:22:56 -07:00
Marc Alexander
14300a1475 Merge remote-tracking branch 'Nicofuma/ticket/13126' into ticket/13211 2014-10-24 13:22:39 -07:00
Marc Alexander
6217a51920 Merge pull request #3059 from nickvergessen/ticket/13208
[ticket/13208] Add security issues to the final changelog
2014-10-23 08:56:01 -04:00
Joas Schilling
c814483627 [ticket/13208] Add security issues to the final changelog
PHPBB3-13208
2014-10-23 12:36:27 +02:00
Joas Schilling
1cd09a03e6 [prep-release-3.1.0] Prepare Changelog 2014-10-23 12:25:52 +02:00
Joas Schilling
80a9c24b6b [prep-release-3.1.0] Update version to 3.1.0 2014-10-23 12:22:02 +02:00
Joas Schilling
08f365236a Merge branch 'prep-release-3.1.0-RC6' into develop-ascraeus 2014-10-23 02:44:45 +02:00
Joas Schilling
7a90184421 [prep-release-3.1.0-RC6] Update phpBB Version for RC7 development 2014-10-23 02:44:18 +02:00
Joas Schilling
5847a50334 [prep-release-3.1.0-RC6] Add changelog for 3.1.0-RC6 2014-10-23 01:57:59 +02:00
Joas Schilling
1ade9b39e4 [prep-release-3.1.0-RC6] Prepare Changelog 2014-10-23 01:55:48 +02:00
Joas Schilling
4c94e44710 [prep-release-3.1.0-RC6] Add migration for 3.1.0-RC6 2014-10-23 01:50:12 +02:00
Joas Schilling
d640a37984 [prep-release-3.1.0-RC6] Update version to 3.1.0-RC6 2014-10-23 01:48:38 +02:00
Joas Schilling
e4c8e4905c Merge pull request #3 from phpbb/ticket/security-161
[ticket/security-161] Add form token to styles management form.
2014-10-23 01:38:12 +02:00
Cesar G
4d30633cd4 [ticket/security-161] Add form token to styles management form.
SECURITY-161
2014-10-22 15:46:00 -07:00
Marc Alexander
6a0727acdc Merge pull request #3058 from naderman/ticket/13205
[ticket/13205] Add a mark all messages read link to PM folders
2014-10-22 17:39:13 -05:00
Nils Adermann
df72846b89 [ticket/13205] Explicitly cast ids to integers and reformat SQL
PHPBB3-13205
2014-10-22 18:35:07 -04:00
Nils Adermann
b5594371ab [ticket/13205] Remove superfluous newline
PHPBB3-13205
2014-10-22 18:31:29 -04:00
Nils Adermann
d7553893c4 Merge pull request #3057 from marc1706/ticket/security-159
[ticket/security-159] Only show first 8 characters of login keys in UCP
2014-10-22 18:20:46 -04:00
Nils Adermann
48dc4c02ae [ticket/13205] Add a mark all messages read link to PM folders
PHPBB3-13205
2014-10-22 18:02:43 -04:00
Marc Alexander
f796f92058 [ticket/security-159] Only show first 8 characters of login keys in UCP
SECURITY-159
2014-10-22 16:21:16 -05:00
Nils Adermann
fad280f94b Merge pull request #3056 from marc1706/ticket/13203
[ticket/13203] Use constant time comparison method for comparing password hashes
2014-10-22 16:57:50 -04:00
Marc Alexander
cf9d1fbd1a [ticket/13203] Fix passwords manager tests
PHPBB3-13203
2014-10-22 15:09:58 -05:00
Marc Alexander
0bc04a4df0 [ticket/13203] Use string_compare method in passwords drivers
PHPBB3-13203
2014-10-22 14:54:55 -05:00
Marc Alexander
2b47ef1266 [ticket/13203] Add method for byte by byte comparison to drivers helper
PHPBB3-13203
2014-10-22 14:54:22 -05:00
Tristan Darricau
fdece6cdf3 [ticket/13126] Add missing use statement
PHPBB3-13126
2014-10-22 15:25:50 +02:00
Marc Alexander
e43d1781bf Merge branch 'develop-olympus' into develop-ascraeus
Conflicts:
	phpBB/docs/AUTHORS
2014-10-21 19:24:48 -05:00
Marc Alexander
d51c1707e3 Merge pull request #3051 from nickvergessen/ticket/12120
[ticket/12120] Remove EXreaction from active authors
2014-10-21 19:22:11 -05:00
Marc Alexander
faec26b873 Merge pull request #3053 from Senky/ticket/13194
[ticket/13194] BBCode isn't parsed when issuing a warning for a post
2014-10-21 18:57:43 -05:00
Marc Alexander
0de7adfa37 Merge pull request #3052 from VSEphpbb/ticket/13041
[ticket/13041] Help_faq.php language file needs to be revised
2014-10-21 18:53:51 -05:00
Jakub Senko
defeb1a56f [ticket/13194] Use correct array to access bbcode_bitfield
PHPBB3-13194
2014-10-21 22:21:48 +02:00
Matt Friedman
4b99ab7066 [ticket/13041] Final grammar and language changes to help_faq
PHPBB3-13041
2014-10-21 09:54:25 -07:00
Joas Schilling
9cf81ac7f5 [ticket/12120] Remove EXreaction from active authors
PHPBB3-12120
2014-10-21 18:17:59 +02:00
Nils Adermann
1358acfd7c Merge pull request #3049 from marc1706/ticket/13189
[ticket/13189] Do not use confirm box for marking all notifications read
2014-10-21 09:49:16 -04:00
Marc Alexander
99eeb52b76 Merge pull request #3050 from prototech/ticket/13070
[ticket/13070] Adjust template hook name to match that provided in the class.
2014-10-20 22:44:33 -05:00
Cesar G
b9b15b7007 [ticket/13070] Adjust template hook name to match that provided in the class.
PHPBB3-13070
2014-10-20 19:59:56 -07:00
Marc Alexander
293d64e122 [ticket/13189] Do not use confirm box for marking all notifications read
We already use a token for preventing CSRF when marking notifications read.
Making a user confirm the marking read action serves no real purpose. No
information will be lost by just marking the notifications read but it will
prevent users from always having to confirm this action.

PHPBB3-13189
2014-10-20 21:55:36 -05:00
Andreas Fischer
b71cf56bda Merge pull request #3047 from Elsensee/ticket/13168
[ticket/13168] Fix mbstring warnings in ACP for PHP 5.6 compatibility

* Elsensee/ticket/13168:
  [ticket/13168] Fix mbstring warnings in ACP for PHP 5.6 compatibility
2014-10-20 23:20:42 +02:00
Andreas Fischer
afada9ed40 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13168] Fix mbstring warnings in ACP for PHP 5.6 compatibility
2014-10-20 23:20:42 +02:00
Joas Schilling
75b6545bc2 Merge pull request #3040 from nickvergessen/ticket/13138-asc
[3.1] Ticket/13138 Only use cookie data when we do not force a user_id

Conflicts:
	phpBB/phpbb/session.php
2014-10-20 22:19:25 +02:00
Nils Adermann
973dfbf868 Merge pull request #3048 from naderman/ticket/13188
[ticket/13188] Add missing where clause to post_id query in sphinx index
2014-10-20 15:30:08 -04:00
Nils Adermann
99f63f39eb Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13138] Do not use cookie data and autologin while forcing a user_id

Conflicts:
	phpBB/phpbb/session.php
2014-10-20 14:53:38 -04:00
Nils Adermann
d4faeb064b Merge pull request #3039 from nickvergessen/ticket/13138
[ticket/13138] Only use cookie data when we do not force a user_id
2014-10-20 14:49:29 -04:00
Tristan Darricau
981d3005f3 [ticket/13126] Fix tests
PHPBB3-13126
2014-10-20 20:46:11 +02:00
Tristan Darricau
faf4b03c43 [ticket/13126] Change messages verbosity levels
PHPBB3-13126
2014-10-20 19:42:54 +02:00
Tristan Darricau
8f6fcd2744 [ticket/13126] Move migrator_output_handler to an interface
PHPBB3-13126
2014-10-20 19:41:32 +02:00
Nils Adermann
941cf6979e [ticket/13188] Correctly format string concatenation
PHPBB3-13188
2014-10-20 12:20:44 -04:00
Nils Adermann
566c8a1bbc [ticket/13188] Add missing where clause to post_id query in sphinx index
PHPBB3-13188
2014-10-20 12:08:35 -04:00
Oliver Schramm
53f166274a [ticket/13168] Fix mbstring warnings in ACP for PHP 5.6 compatibility
PHPBB3-13168
2014-10-20 16:47:52 +02:00
Joas Schilling
57a575b5f0 Merge pull request #3046 from Elsensee/ticket/13187
[ticket/13187] Fix HTML validity of INSTALL.html
2014-10-20 16:28:44 +02:00
Oliver Schramm
51044167d1 [ticket/13187] Fix HTML validity of INSTALL.html
PHPBB3-13187
2014-10-20 15:36:27 +02:00
Joas Schilling
009d59335f Merge pull request #2960 from prototech/ticket/12568
[ticket/12568] Update user docs
2014-10-20 15:21:00 +02:00
Joas Schilling
ec5729a99f Merge pull request #3045 from Elsensee/ticket/13186
[ticket/13186] Don't show link on post count when search disabled
2014-10-20 14:23:46 +02:00
Oliver Schramm
86c472f4f7 [ticket/13186] Don't show link on post count when search disabled
PHPBB3-13186
2014-10-20 13:25:07 +02:00
Marc Alexander
c939f1b2c7 Merge pull request #3030 from Senky/ticket/13164
[ticket/13164] data sent to core.submit_post_end event does not include fresh post_visibility
2014-10-18 21:47:15 -04:00
Marc Alexander
b3421e397d Merge pull request #3041 from nickvergessen/ticket/13171
[ticket/13171] Check the correct (soft)delete permission when deleting in MCP
2014-10-18 17:59:48 -04:00
Dhruv Goel
c6272fca07 Merge pull request #3042 from naderman/ticket/13181
[ticket/13181] Replace database credentials with placeholders in sphinx conf
2014-10-19 01:28:36 +05:30
Nils Adermann
e7ad87e15f [ticket/13181] Replace database credentials with placeholders in sphinx conf
PHPBB3-13181
2014-10-18 12:32:39 -04:00
Mario Skouat
737894027a [ticket/13041] Added multiple changes
- Improper english in some sentences.
- Improper use of singular/plural in some sentences
- Replace "the board administrator" by "a board administrator"
- Update the category "Posting Issues" and "Subscriptions and Bookmarks"

PHPBB3-13041
2014-10-18 13:28:18 +02:00
Joas Schilling
66342f5b89 [ticket/13171] Check the correct (soft)delete permission when deleting in MCP
PHPBB3-13171
2014-10-17 15:39:20 +02:00
Joas Schilling
dec6c7ea8c [ticket/13138] Type hint the variables for IDE usage
PHPBB3-13138
2014-10-17 14:53:56 +02:00
Joas Schilling
f847a1a567 [ticket/13138] Fix the session key tests
PHPBB3-13138
2014-10-17 14:50:14 +02:00
Cesar G
6763de2f25 [ticket/12568] Fix awkward use of "phpBB Limited."
PHPBB3-12568
2014-10-16 20:37:26 -07:00
Cesar G
09b6add6ee [ticket/12568] The "Purge cache" option in the Customise tab no longer exists.
PHPBB3-12568
2014-10-16 20:33:24 -07:00
Cesar G
810d249ca2 [ticket/12568] Update GitHub link.
PHPBB3-12568
2014-10-16 20:20:15 -07:00
Cesar G
29ea1c85b4 [ticket/12568] Fix typo - "directorie" -> "directories"
PHPBB3-12568
2014-10-16 20:18:52 -07:00
Cesar G
f19a6b9714 [ticket/12568] Remove various unnecessary references to phpBB3.
PHPBB3-12568
2014-10-16 20:17:01 -07:00
Cesar G
d06c2cf0f7 [ticket/12568] Update style installation instructions.
PHPBB3-12568
2014-10-16 19:47:02 -07:00
Cesar G
7e08109229 [ticket/12568] Update path to language pack installation page.
PHPBB3-12568
2014-10-16 19:47:02 -07:00
Cesar G
defd36ad7f [ticket/12568] Replace modifications explanation with extensions.
PHPBB3-12568
2014-10-16 19:47:02 -07:00
Cesar G
39e51e5599 Merge remote-tracking branch 'PayBas/ticket/12796' into develop-ascraeus
* PayBas/ticket/12796:
  [ticket/12796] Use dedicated lang vars
  [ticket/12796] Use & in path
  [ticket/12796] Add view own profile to UCP (and vice versa)
2014-10-16 19:32:11 -07:00
Cesar G
6768490f69 Merge remote-tracking branch 'PayBas/ticket/13163' into develop-ascraeus
* PayBas/ticket/13163:
  [ticket/13163] Check for images
  [ticket/13163] Terminate timely when no data-last links exist
  [ticket/13163] Fix responsive link lists
2014-10-16 19:19:53 -07:00
Joas Schilling
55b97ffc27 Merge branch 'ticket/13138-2' into ticket/13138-asc
Conflicts:
	phpBB/phpbb/session.php
2014-10-16 12:48:13 +02:00
Joas Schilling
e7e016637b [ticket/13138] Do not use cookie data and autologin while forcing a user_id
PHPBB3-13138
2014-10-16 12:32:48 +02:00
Tristan Darricau
58075e25e8 [ticket/13126] Extends migrator_output_handler instead of using a closure
PHPBB3-13126
2014-10-16 01:34:23 +02:00
Joas Schilling
e1af6584d9 Merge pull request #3038 from prototech/ticket/12530
[ticket/12530] Move style and class to parent <a>.
2014-10-15 21:15:08 +02:00
Cesar G
23a513baec [ticket/12530] Move style and class to parent <a>.
PHPBB3-12530
2014-10-15 10:35:13 -07:00
Joas Schilling
b343bf783a Merge pull request #3037 from PayBas/ticket/13169
[ticket/13169] Fix RTL forms in responsive mode
2014-10-15 18:56:11 +02:00
Joas Schilling
8be701db0a Merge pull request #2938 from PayBas/ticket/12530
[ticket/12530] Fix captcha challange image breaking responsive layout
2014-10-15 18:47:45 +02:00
Joas Schilling
90771c1762 Merge pull request #3024 from marc1706/ticket/13124
[ticket/13124] Also trim spaces in front of comments except for first line
2014-10-15 18:31:46 +02:00
Joas Schilling
759950c1a6 Merge pull request #3036 from prototech/ticket/13177
[ticket/13177] Fix display of post count-based ranks in viewtopic.
2014-10-15 18:29:23 +02:00
PayBas
205be67622 [ticket/13169] Fix RTL forms in responsive mode
PHPBB3-13169
2014-10-15 17:08:11 +02:00
PayBas
1a128f9a76 [ticket/12796] Use dedicated lang vars
PHPBB3-12796
2014-10-15 16:07:01 +02:00
PayBas
223ae1dfc2 [ticket/13163] Check for images
PHPBB3-13163
2014-10-15 13:06:54 +02:00
PayBas
965894a875 [ticket/12530] Combine logo and TOS link into one
PHPBB3-12530
2014-10-15 12:08:55 +02:00
Cesar G
5c54e96aab [ticket/13177] Fix display of post count-based ranks in viewtopic.
PHPBB3-13177
2014-10-14 15:24:57 -07:00
Tristan Darricau
56d7c2c6ed [ticket/13126] Improve the feedback when running the migrations
PHPBB3-13126
2014-10-14 17:58:29 +02:00
Cesar G
df75b70f3e Merge remote-tracking branch 'PayBas/ticket/13174' into develop-ascraeus
* PayBas/ticket/13174:
  [ticket/13174] Add missing closing </div> to ucp_pm_viewmessage
2014-10-14 07:32:54 -07:00
PayBas
4bdae294cb [ticket/12796] Use &amp; in path
PHPBB3-12796
2014-10-14 12:58:07 +02:00
PayBas
253c6e1fc1 [ticket/12796] Add view own profile to UCP (and vice versa)
PHPBB3-12796
2014-10-14 10:59:03 +02:00
PayBas
9c4ba813d4 [ticket/13174] Add missing closing </div> to ucp_pm_viewmessage
PHPBB3-13174
2014-10-14 10:08:48 +02:00
PayBas
41d660dd98 [ticket/13163] Terminate timely when no data-last links exist
PHPBB3-13163
2014-10-14 00:05:22 +02:00
PayBas
36d1f87c5a [ticket/13163] Fix responsive link lists
PHPBB3-13163
2014-10-13 23:29:01 +02:00
Jakub Senko
9bc9e42c94 [ticket/13164] Fix syntax error
PHPBB3-13164
2014-10-11 17:58:41 +02:00
Jakub Senko
eb7152436c [ticket/13164] Add post_visibility to core.submit_post_end event
PHPBB3-13164
2014-10-11 16:56:03 +02:00
Mario Skouat
2bc79701e6 [ticket/13041] Added multiple changes
- Added the changes reported by VSE.

PHPBB3-13041
2014-10-11 10:43:01 +02:00
Tristan Darricau
29b54d12cc Merge pull request #3029 from nickvergessen/ticket/13161
Ticket/13161 PHP Warnings issued from phpbb database test case

* nickvergessen/ticket/13161:
  [ticket/13161] Check whether the schema exists, before deleting it
  [ticket/13161] Avoid problems when running tests with different migrations
2014-10-10 15:55:03 +02:00
Joas Schilling
1a04d15d4d [ticket/13161] Check whether the schema exists, before deleting it
PHPBB3-13161
2014-10-10 15:26:29 +02:00
Joas Schilling
f6fc8c08a4 [ticket/13161] Avoid problems when running tests with different migrations
PHPBB3-13161
2014-10-10 15:26:28 +02:00
Jakub Senko
699c642128 [ticket/13164] Update post_visibility before event is triggered
PHPBB3-13164
2014-10-10 14:24:46 +02:00
Marc Alexander
a9ed32663a [ticket/13124] Add another test case as requested
PHPBB3-13124
2014-10-09 13:30:10 -04:00
Mario Skouat
97db218829 [ticket/13041] Added multiple changes
- "phpBB3" replaced by "phpBB"
- Added the changes suggested by VSE.
- "Subscriptions and Bookmarks" reviewed
- Added trailing comma on modified lines

PHPBB3-13041
2014-10-08 00:14:00 +02:00
Joas Schilling
5b186c936d Merge branch 'prep-release-3.1.0-RC5' into develop-ascraeus 2014-10-07 22:11:14 +02:00
Joas Schilling
eed4d0d30f [prep-release-3.1.0-RC5] Update phpBB Version for RC6 development 2014-10-07 22:10:45 +02:00
Joas Schilling
366451c11c [prep-release-3.1.0-RC5] Add changelog for 3.1.0-RC5 2014-10-07 21:16:34 +02:00
Joas Schilling
9d13b91f46 [prep-release-3.1.0-RC5] Prepare Changelog 2014-10-07 21:14:55 +02:00
Joas Schilling
7f692e7b28 [prep-release-3.1.0-RC5] Add migration for 3.1.0-RC5 2014-10-07 21:12:06 +02:00
Joas Schilling
7137dc387a [prep-release-3.1.0-RC5] Update version to 3.1.0-RC5 2014-10-07 21:10:14 +02:00
PayBas
757c67b7d8 [ticket/12530] Show logo and policy in responsive
PHPBB3-12530
2014-10-07 20:49:39 +02:00
Andreas Fischer
63bdd193e0 Merge pull request #3027 from nickvergessen/ticket/13137
[ticket/13137] Remove schema.json from repository

* nickvergessen/ticket/13137:
  [ticket/13137] Create schema.json in build script
  [ticket/13137] Improve output of create_schema_files.php
  [ticket/13137] Add schema.json file to .gitignore
  [ticket/13137] Generate the schema when the schema.json file is not available
  [ticket/13137] Remove schema.json file
2014-10-07 20:30:40 +02:00
PayBas
66ecbd8545 [ticket/12530] Fix captcha challange image breaking responsive layout
PHPBB3-12530
2014-10-07 18:30:20 +02:00
Joas Schilling
d64a515476 [ticket/13137] Create schema.json in build script
PHPBB3-13137
2014-10-07 17:18:00 +02:00
Joas Schilling
34a9ed3587 [ticket/13137] Improve output of create_schema_files.php
PHPBB3-13137
2014-10-07 17:17:59 +02:00
Joas Schilling
ba1776d6a9 [ticket/13137] Add schema.json file to .gitignore
PHPBB3-13137
2014-10-07 16:33:26 +02:00
Joas Schilling
4fe95d6870 [ticket/13137] Generate the schema when the schema.json file is not available
PHPBB3-13137
2014-10-07 14:55:08 +02:00
Joas Schilling
943f2e1a7b [ticket/13137] Remove schema.json file
PHPBB3-13137
2014-10-07 14:55:05 +02:00
Nils Adermann
c77d6f39f2 Merge pull request #3026 from nickvergessen/ticket/13136
[ticket/13136] Update schema.json with latest changes
2014-10-07 13:57:31 +02:00
Joas Schilling
7bd5c793bb [ticket/13136] Update schema.json with latest changes
PHPBB3-13136
2014-10-07 13:14:33 +02:00
Joas Schilling
61601a052c Merge pull request #2942 from Senky/ticket/12489
[ticket/12489] Description for Contact link in custom profile fields
2014-10-07 11:41:47 +02:00
Jakub Senko
0c0024497d [ticket/12489] Language correction
PHPBB3-12489
2014-10-07 10:24:30 +02:00
Andreas Fischer
46a9e5657f Merge pull request #3002 from Nicofuma/ticket/12987
[ticket/12987] Cleanup the services.yml file

* Nicofuma/ticket/12987:
  [ticket/12987] Cleanup the services.yml file
2014-10-07 00:51:11 +02:00
Joas Schilling
4b90357d79 Merge pull request #2307 from PayBas/ticket/12408
[ticket/12408] Add quick setting for "default guest style" to ACP
2014-10-06 23:43:27 +02:00
Andreas Fischer
38ac0bcc8e Merge pull request #2991 from nickvergessen/ticket/13077
[ticket/13077] Move extension module to the top of the Customise tab

* nickvergessen/ticket/13077:
  [ticket/13077] Move extension module to the top of the Customise tab
2014-10-06 23:35:35 +02:00
Joas Schilling
b300e06226 Merge branch 'develop-olympus' into develop-ascraeus 2014-10-06 23:21:19 +02:00
Joas Schilling
f3eaf6fe04 Merge pull request #3016 from Nicofuma/ticket/11224-ascraeus
[ticket/11224][ascraeus] SQL cache destroy does not destroy queries to tables joined
2014-10-06 23:21:13 +02:00
Joas Schilling
a12a7d0b90 Merge pull request #2460 from Nicofuma/ticket/11224
[ticket/11224] SQL cache destroy does not destroy queries to tables joined
2014-10-06 23:20:50 +02:00
Joas Schilling
7479c61d05 Merge pull request #2828 from brunoais/ticket/12930
[ticket/12930] core.ucp_pm_compose_compose_pm_quotepost_query_after
2014-10-06 22:37:48 +02:00
Joas Schilling
3c91fbeaa6 Merge pull request #2827 from brunoais/ticket/12929
[ticket/12929] core.ucp_pm_compose_compose_pm_basic_info_query_before
2014-10-06 22:25:08 +02:00
Joas Schilling
2f2a306994 Merge pull request #3019 from Senky/ticket/13025
[ticket/13025] Add template events for buttons on viewforum and viewtopic
2014-10-06 22:20:16 +02:00
Joas Schilling
6c284060d7 Merge pull request #3025 from rxu/ticket/13134
[ticket/13134] Add core event to the root of the function display_forums()
2014-10-06 22:10:33 +02:00
rxu
1e8735eac1 [ticket/13134] Add core event to the root of the function display_forums()
PHPBB3-13134
2014-10-07 01:47:01 +08:00
Marc Alexander
7bcf6a621f [ticket/13124] Fix tests for event exporter
PHPBB3-13124
2014-10-06 16:53:41 +02:00
Marc Alexander
825af557ae [ticket/13124] Also trim spaces in front of comments except for first line
PHPBB3-13124
2014-10-06 16:09:56 +02:00
Nils Adermann
5e86c89989 Merge pull request #3017 from nickvergessen/ticket/13033
[ticket/13033] Fix "Duplicate entry 'notification.type.*' for key 'type'"
2014-10-06 02:07:52 +02:00
Marc Alexander
ce4cb9c917 Merge pull request #3022 from Nicofuma/ticket/12368
[ticket/12368] Always clean the cache prior to run the migrations
2014-10-05 15:00:40 +02:00
Tristan Darricau
bda6879305 [ticket/12368] Always clean the cache prior to run the migrations
PHPBB3-12368
2014-10-05 12:25:14 +02:00
Jakub Senko
608d3f4d8d [ticket/13025] Correct events in subsilver2 viewforum_body
PHPBB3-13025
2014-10-04 11:38:21 +02:00
Jakub Senko
51ece03612 [ticket/13025] Make RC uppercase
PHPBB3-13025
2014-10-04 10:36:45 +02:00
Andreas Fischer
682527f509 Merge pull request #3018 from Senky/ticket/13125
[ticket/13125] Uploaded avatars are not displayed

* Senky/ticket/13125:
  [ticket/13125] $user->browser to $browser
2014-10-04 00:41:25 +02:00
Tristan Darricau
5354c46e01 [ticket/11224] Updates tests
PHPBB3-11224
2014-10-03 23:51:16 +02:00
Tristan Darricau
8e638dbf6d [ticket/11224] Revert Revert "Merge pull request #2460 from ticket/11224"
This reverts commit 40cd7570e6.
2014-10-03 23:50:24 +02:00
Jakub Senko
a0673f8e10 [ticket/13025] rc4 -> rc5
PHPBB3-13025
2014-10-03 13:18:41 +02:00
Jakub Senko
4193bf5641 [ticket/13025] Add button template events
PHPBB3-13025
2014-10-03 13:16:44 +02:00
Tristan Darricau
ebaec047f2 [ticket/12987] Cleanup the services.yml file
PHPBB3-12987
2014-10-03 00:32:08 +02:00
Joas Schilling
3d9b257597 [ticket/13033] Fix "Duplicate entry 'notification.type.*' for key 'type'"
Caused by the solution of PHPBB3-12990

PHPBB3-13033
2014-10-02 16:04:33 +02:00
brunoais
9d9685eec9 [ticket/12929] BUMP to RC5
PHPBB3-12929
2014-10-02 14:44:43 +01:00
brunoais
cf2ac56950 [ticket/12930] BUMP to RC5
PHPBB3-12930
2014-10-02 14:43:50 +01:00
Joas Schilling
240ff27707 Merge pull request #3000 from rxu/ticket/13110
[ticket/13110] Add core event to the page_footer() function
2014-10-02 15:38:22 +02:00
Joas Schilling
90241ae4e6 Merge pull request #2947 from rxu/ticket/13059
[ticket/13059] Add core event to generate_page_link()
2014-10-02 15:35:55 +02:00
Jakub Senko
6400902a01 [ticket/13125] $user->browser to $browser
PHPBB3-13125
2014-10-02 15:34:56 +02:00
Joas Schilling
ee758e22a6 Merge pull request #2999 from rxu/ticket/13108
[ticket/13108] Add core event to the parse_attachments() function
2014-10-02 15:33:32 +02:00
Joas Schilling
2ee13bbc24 Merge pull request #3004 from Senky/ticket/13116
[ticket/13116] Topic and post approval notifications got interchanged
2014-10-02 15:18:23 +02:00
Mario Skouat
e5a5933db6 [ticket/13041] Updating "Topic Subscriptions and Bookmarks"
PHPBB3-13041
2014-10-02 12:57:17 +02:00
Mario Skouat
8c628a6dc2 [ticket/13041] Updating "phpBB3 Issues"
PHPBB3-13041
2014-10-02 12:56:56 +02:00
Mario Skouat
1fb4ebb34a [ticket/13041] Updating "Searching the Forums"
PHPBB3-13041
2014-10-02 11:54:48 +02:00
Mario Skouat
64eec22884 [ticket/13041] Updating "Posting Issues"
PHPBB3-13041
2014-10-02 11:53:39 +02:00
Mario Skouat
abb1244b44 [ticket/13041] Updating "Login and Registration Issues"
PHPBB3-13041
2014-10-02 10:27:48 +02:00
Mario Skouat
e816006b8e [ticket/13041] Updating "User Preferences and settings"
PHPBB3-13041
2014-10-01 20:14:30 +02:00
Tristan Darricau
c123c93ca0 Merge pull request #3012 from nickvergessen/ticket/13123
[ticket/13123] Add events to allow modifying post data

* nickvergessen/ticket/13123:
  [ticket/13123] Add events to allow modifying post data
2014-10-01 16:09:04 +02:00
Marc Alexander
0e27b10b8f Merge pull request #3015 from nickvergessen/ticket/13119
[ticket/13119] Add another event which is triggered independent from actions
2014-10-01 15:59:00 +02:00
rxu
a876cc8c26 [ticket/13108] Add core event to the parse_attachments() function
Add core event to the parse_attachments() function in functions_content.php
to allow modifying/adding attachment template data.

PHPBB3-13108
2014-10-01 21:00:37 +08:00
rxu
ce4035fdd3 [ticket/13059] Add core event to generate_page_link()
Add core event to generate_page_link() to allow
overriding/modifying pagination URLs.
Event request: http://area51.phpbb.com/phpBB/viewtopic.php?f=111&t=45905

PHPBB3-13059
2014-10-01 20:55:07 +08:00
Joas Schilling
95c0d81ba1 [ticket/13119] Add another event which is triggered independent from actions
PHPBB3-13119
2014-10-01 14:54:26 +02:00
Joas Schilling
40cd7570e6 [ticket/11224] Revert "Merge pull request #2460 from Nicofuma/ticket/11224"
This reverts commit d264369441, reversing
changes made to 75fcfb1c1d.

PHPBB3-11224
2014-10-01 11:38:45 +02:00
Joas Schilling
b003019958 Merge pull request #3013 from VSEphpbb/ticket/13121
[ticket/13121] Remove cache mode from style management module
2014-10-01 10:34:08 +02:00
Joas Schilling
d264369441 Merge pull request #2460 from Nicofuma/ticket/11224
[ticket/11224] SQL cache destroy does not destroy queries to tables joined
2014-10-01 10:27:47 +02:00
Joas Schilling
75fcfb1c1d Merge pull request #2545 from ptitlazy/ticket/12657
[ticket/12657] Add a test file for base case of command cache:purge
2014-10-01 10:24:19 +02:00
Joas Schilling
170b75d0c9 Merge pull request #2888 from Nicofuma/ticket/12993
[ticket/12993] Improve get_user_ranks
2014-10-01 10:19:24 +02:00
Joas Schilling
994a0dcd4c Merge branch 'ticket/12985' into develop-ascraeus 2014-10-01 10:09:29 +02:00
david63
5314c2bddf [ticket/12985] Add core.login_box_redirect
Add core.login_box_redirect core event to allow extensions to redirect a
user to a specific page when logging in.

PHPBB3-12985
2014-10-01 10:09:10 +02:00
Joas Schilling
b6acc1b9db Merge pull request #2978 from blitze/ticket/13071
[ticket/13071] Only use total_match_count after event dispatcher
2014-10-01 10:01:09 +02:00
Joas Schilling
1b393b1d0b Merge pull request #2979 from blitze/ticket/13072
[ticket/13072] Add total_match_count to core.search_get_topic_data event
2014-10-01 09:56:39 +02:00
Joas Schilling
effb5d95d0 Merge pull request #2998 from rxu/ticket/13107
[ticket/13107] Add template events to forum row in forumlist_body.html
2014-10-01 09:50:38 +02:00
Cesar G
8ab7f6b595 Merge remote-tracking branch 'nickvergessen/ticket/13119' into develop-ascraeus
* nickvergessen/ticket/13119:
  [ticket/13119] Remove unused globals and use the request class
  [ticket/13119] Add events to ACP's ban module
  [ticket/13119] Add events to MCP's ban module
2014-10-01 00:43:41 -07:00
Matt Friedman
1ee4894271 [ticket/13121] Fix migration file
PHPBB3-13121
2014-10-01 00:29:45 -07:00
Matt Friedman
65539df39a [ticket/13121] Remove cache mode from style management module
https://tracker.phpbb.com/browse/PHPBB3-13121

PHPBB3-13121
2014-10-01 00:03:54 -07:00
Andreas Fischer
8fef959418 Merge pull request #3011 from fredemmott/ticket/13122
[ticket/13122] Make phpbb_wrapper_gmgetdate_test more reliable

* fredemmott/ticket/13122:
  [ticket/13122] Make phpbb_wrapper_gmgetdate_test more reliable
2014-10-01 02:15:25 +02:00
Fred Emmott
f30c5f730e [ticket/13122] Make phpbb_wrapper_gmgetdate_test more reliable
If you're unlucky, calling time() or similar twice in a row will
give you different results. Facebook runs these tests thousands of
times a day, so we occasionally get bogus failures.

PHPBB3-13122
2014-09-30 15:53:02 -07:00
Andreas Fischer
a8e74fff9b Merge pull request #3010 from Nicofuma/ticket/13120
[ticket/13120] Follows the symlinks in phpbb_load_extensions_autoloaders

* Nicofuma/ticket/13120:
  [ticket/13120] Follows the symlinks in phpbb_load_extensions_autoloaders
2014-10-01 00:26:39 +02:00
Joas Schilling
cb49a0c4cc [ticket/13123] Add events to allow modifying post data
PHPBB3-13123
2014-10-01 00:13:37 +02:00
Tristan Darricau
3a413cbf30 [ticket/13120] Follows the symlinks in phpbb_load_extensions_autoloaders
PHPBB3-13120
2014-09-30 21:20:42 +02:00
Andreas Fischer
cb8b245639 Merge pull request #3005 from nickvergessen/ticket/13105
[ticket/13105] Fix the code logic as described in the comment

* nickvergessen/ticket/13105:
  [ticket/13105] Fix the code logic as described in the comment
2014-09-30 21:15:26 +02:00
Andreas Fischer
8fb9f19aae Merge pull request #3008 from nickvergessen/ticket/13111
[ticket/13111] Dropdown options are already an array in the field data

* nickvergessen/ticket/13111:
  [ticket/13111] Dropdown options are already an array in the field data
2014-09-30 21:04:25 +02:00
Andreas Fischer
a0db23bd0e Merge pull request #3007 from nickvergessen/ticket/13118
[ticket/13118] Correctly use the provided datetime class

* nickvergessen/ticket/13118:
  [ticket/13118] Correctly use the provided datetime class
2014-09-30 21:00:05 +02:00
Joas Schilling
6f66423de9 [ticket/13119] Remove unused globals and use the request class
PHPBB3-13119
2014-09-30 18:22:06 +02:00
Joas Schilling
7efc624b0a [ticket/13119] Add events to ACP's ban module
PHPBB3-13119
2014-09-30 18:22:05 +02:00
Joas Schilling
9c3126add0 [ticket/13119] Add events to MCP's ban module
PHPBB3-13119
2014-09-30 18:22:04 +02:00
Nils Adermann
f1ab6f31a1 Merge pull request #3003 from nickvergessen/ticket/13117
[ticket/13117] Correctly define auto increment columns as "NOT NULL" on mysql
2014-09-30 14:00:02 +02:00
Joas Schilling
f64a937a57 [ticket/13111] Dropdown options are already an array in the field data
PHPBB3-13111
2014-09-30 12:27:14 +02:00
Joas Schilling
526329e697 [ticket/13118] Correctly use the provided datetime class
PHPBB3-13118
2014-09-30 11:58:02 +02:00
Joas Schilling
89fdd1baf2 [ticket/13105] Fix the code logic as described in the comment
PHPBB3-13105
2014-09-29 21:39:31 +02:00
Jakub Senko
e132cdd325 [ticket/13116] Interchange post and topic approval notification
PHPBB3-13116
2014-09-29 21:13:53 +02:00
Joas Schilling
bc24c78e06 [ticket/13117] Correctly define auto increment columns as "NOT NULL" on mysql
Unintended change from 95ab4b3e93

PHPBB3-13117
2014-09-29 20:48:47 +02:00
Nils Adermann
6f093ade8a Merge pull request #3001 from Nicofuma/ticket/13113
[ticket/13113] Updates the base url only when the front-end isn't app.php
2014-09-29 16:16:30 +02:00
Tristan Darricau
a159899d02 [ticket/13113] Updates the base url only when the front-end isn't app.php
PHPBB3-13113
2014-09-28 23:32:56 +02:00
rxu
eb2aa1f83a [ticket/13110] Add core event to the page_footer() function
Add core event to the page_footer() in includes/functions.php to allow
extensions handling overall page output before its displaying.

PHPBB3-13110
2014-09-28 15:39:06 +08:00
rxu
cee8ac9dbe [ticket/13107] Add template events to forum row in forumlist_body.html
PHPBB3-13107
2014-09-27 09:26:35 +08:00
Joas Schilling
71ac6ab2b8 Merge pull request #2996 from Senky/ticket/13104
[ticket/13104] Responsive tabs display bug in IE11
2014-09-25 22:02:23 +02:00
Andreas Fischer
be769d4ca6 Merge pull request #2995 from nickvergessen/ticket/13105
[ticket/13105] Future relative dates are always displayed as "Tomorrow"

* nickvergessen/ticket/13105:
  [ticket/13105] Do not display future dates 2+ days ahead as "tomorrow"
  [ticket/13105] Add a test for relative dates
2014-09-25 21:52:53 +02:00
Andreas Fischer
e802c5f082 Merge pull request #2997 from Senky/ticket/13106
[ticket/13106] Remove the \phpbb\di\pass\kernel_pass class

* Senky/ticket/13106:
  [ticket/13106] Remove \phpbb\di\pass\kernel_pass.php
2014-09-25 21:47:28 +02:00
Jakub Senko
f64373a29f [ticket/13106] Remove \phpbb\di\pass\kernel_pass.php
PHPBB3-13106
2014-09-25 20:12:33 +02:00
Jakub Senko
a1683dfb67 [ticket/13104] inline-block -> block
PHPBB3-13104
2014-09-25 20:07:06 +02:00
Joas Schilling
e803efc6fc [ticket/13105] Do not display future dates 2+ days ahead as "tomorrow"
PHPBB3-13105
2014-09-25 18:09:32 +02:00
Joas Schilling
459c62b339 [ticket/13105] Add a test for relative dates
PHPBB3-13105
2014-09-25 18:09:24 +02:00
Andreas Fischer
1b3109d650 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13086] String replaces 50 with 20

Conflicts:
	phpBB/language/en/acp/email.php
2014-09-24 21:24:29 +02:00
Andreas Fischer
ce0c33f62a Merge pull request #2994 from Skouat/ticket/13086-olympus
[ticket/13086] Update ACP_MASS_EMAIL_EXPLAIN language key

* Skouat/ticket/13086-olympus:
  [ticket/13086] String replaces 50 with 20
2014-09-24 21:21:53 +02:00
Mario Skouat
077db77259 [ticket/13086] String replaces 50 with 20
PHPBB3-13086
2014-09-24 19:03:33 +02:00
Marc Alexander
30e1d29f58 Merge pull request #2993 from nickvergessen/ticket/13087
[ticket/13087] Correctly link to user profile when contact field has no URL
2014-09-24 18:27:37 +02:00
blitze
04e9789e7f [ticket/13072] Added '@changed 3.1.0-RC5 Added total_match_count'
PHPBB3-13072
2014-09-24 16:15:38 +00:00
Joas Schilling
b51b4c92e2 [ticket/13087] Correctly link to user profile when contact field has no URL
Broken by 975c5655f0

PHPBB3-13087
2014-09-24 17:33:54 +02:00
Tristan Darricau
74a96bf7c2 [ticket/11224] Adds a test case
PHPBB3-11224
2014-09-24 16:16:47 +02:00
Tristan Darricau
cd7b21a703 [ticket/12993] Update doc block
PHPBB3-12993
2014-09-24 16:07:23 +02:00
Tristan Darricau
834aea70a7 [ticket/12657] Fix unit tests
PHPBB3-12657
2014-09-24 15:24:56 +02:00
Joas Schilling
85bc9b69ae Merge pull request #2844 from marc1706/ticket/12858
[ticket/12858] Remove hard-coded GMT from timezone drop-down and rename to UTC
2014-09-24 13:47:59 +02:00
Joas Schilling
f3fef8934e Merge pull request #2954 from rxu/ticket/13055
[ticket/13055] Fix string profile fields validation to support unicode
2014-09-24 12:25:57 +02:00
Joas Schilling
43279ee010 Merge pull request #2983 from Senky/ticket/13094
[ticket/13094] Remove the search box if there are no new posts to search for
2014-09-24 10:33:58 +02:00
Joas Schilling
6d0697eb89 [ticket/13077] Move extension module to the top of the Customise tab
PHPBB3-13077
2014-09-24 00:34:17 +02:00
Andreas Fischer
d5128b3e87 Merge pull request #2988 from prototech/ticket/13011
[ticket/13011] Do not apply bbcode to whole text when selecting first 2 chars.

* prototech/ticket/13011:
  [ticket/13011] Do not apply bbcode to whole text when selecting first 2 chars.
2014-09-23 23:34:03 +02:00
Andreas Fischer
9feb7096ee Merge pull request #2985 from nickvergessen/ticket/13048
[ticket/13048] Only do not update the session page for ajax requests

* nickvergessen/ticket/13048:
  [ticket/13048] Only do not update the session page for ajax requests
2014-09-23 23:29:52 +02:00
Andreas Fischer
34aad4046f Merge pull request #2982 from marc1706/ticket/13070
[ticket/13070] Use old 'template' class for template class hook

* marc1706/ticket/13070:
  [ticket/13070] Use old 'template' class for template class hook
2014-09-23 23:25:59 +02:00
Andreas Fischer
80f15a41c4 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/13096] Add phpbb_ prefix to ldap_escape()

Conflicts:
	phpBB/includes/auth/auth_ldap.php
2014-09-23 22:55:13 +02:00
Andreas Fischer
2f773fca18 Merge pull request #2989 from Senky/ticket/13096
[ticket/13096] ldap_escape() added to PHP 5.6.0

* Senky/ticket/13096:
  [ticket/13096] Add phpbb_ prefix to ldap_escape()
2014-09-23 22:54:27 +02:00
Jakub Senko
ba464ec93a [ticket/13096] Add phpbb_ prefix to ldap_escape()
PHPBB3-13096
2014-09-23 22:43:52 +02:00
Cesar G
80d5a1ec1f [ticket/13011] Do not apply bbcode to whole text when selecting first 2 chars.
PHPBB3-13011
2014-09-23 12:56:20 -07:00
Cesar G
f2a98339e2 Merge remote-tracking branch 'hanakin/ticket/12889' into develop-ascraeus
* hanakin/ticket/12889:
  [ticket/12889] Fix multiple select lists
2014-09-23 12:49:04 -07:00
Cesar G
2478eef550 Merge remote-tracking branch 'Senky/ticket/13082' into develop-ascraeus
* Senky/ticket/13082:
  [ticket/13082] Repair fix
  [ticket/13082] Join classes
  [ticket/13082] move style to css file
  [ticket/13082] Replace float by text-align
2014-09-23 12:48:23 -07:00
Cesar G
7307380091 Merge remote-tracking branch 'hanakin/ticket/13097' into develop-ascraeus
* hanakin/ticket/13097:
  [ticket/13097] Add missing unit type
2014-09-23 10:06:00 -07:00
hanakin
fb610f99df [ticket/12889] Fix multiple select lists
PHPBB3-12889
2014-09-23 17:24:26 +02:00
hanakin
aa1ffc9319 [ticket/13097] Add missing unit type
PHPBB3-13097
2014-09-23 17:11:51 +02:00
Joas Schilling
ef9e0e743a Merge pull request #2937 from Senky/ticket/13027
[ticket/13027] PM folder full percentage could be a bit more accurate
2014-09-23 15:32:14 +02:00
Joas Schilling
820db008ff [ticket/13048] Only do not update the session page for ajax requests
The session time still needs to be updated, so e.g. long upload times
with PLupload stop the session from timing out.

PHPBB3-13048
2014-09-23 15:25:40 +02:00
Joas Schilling
05ae327553 Merge pull request #2974 from hanakin/ticket/13080
[Ticket/13080] Fix text overflow issue in mobile
2014-09-23 14:43:04 +02:00
Marc Alexander
9b8d8b020f Merge branch 'develop-olympus' into develop-ascraeus 2014-09-23 11:10:47 +02:00
Marc Alexander
92b096b05b Merge pull request #2984 from nickvergessen/ticket/10729-asc
[3.1][ticket/10729] Update editor information when user being deleted
2014-09-23 11:09:29 +02:00
Marc Alexander
8bd1853b56 Merge pull request #2981 from nickvergessen/ticket/10729
Ticket/10729 Update editor information when user being deleted
2014-09-23 11:08:56 +02:00
Joas Schilling
96024e88e9 [ticket/10729] Also test *delete_user on posts and topics
PHPBB3-10729
2014-09-23 09:54:21 +02:00
Joas Schilling
d6008e896a [ticket/10729] Fix handling of third parameter in 3.1
PHPBB3-10729
2014-09-23 09:42:30 +02:00
Joas Schilling
10b6399d30 [ticket/10729] Fix setup of the tests for 3.1
PHPBB3-10729
2014-09-23 09:38:35 +02:00
Joas Schilling
eeeb62b433 [ticket/10729] Update fixture to 3.1 database structure
PHPBB3-10729
2014-09-23 09:31:33 +02:00
Joas Schilling
9ff6358dc9 Merge branch 'ticket/10729' into ticket/10729-asc
Conflicts:
	phpBB/includes/functions_user.php
2014-09-23 09:31:13 +02:00
Joas Schilling
bea5f94de6 [ticket/10729] Use mocked null cache for phpunit 3.6 on travis with php 5.2
PHPBB3-10729
2014-09-23 09:03:44 +02:00
Joas Schilling
e28b93e0cc [ticket/10729] Ensure that no bans exist before testing create_session
PHPBB3-10729
2014-09-22 23:56:31 +02:00
Jakub Senko
9a8a0af7ba [ticket/13094] Condition search properly
PHPBB3-13094
2014-09-22 21:12:18 +02:00
Marc Alexander
d03be5ea5f [ticket/13070] Use old 'template' class for template class hook
PHPBB3-13070
2014-09-22 20:03:55 +02:00
Joas Schilling
7fca351e05 [ticket/10729] Add assert messages and finish up tests
PHPBB3-10729
2014-09-22 02:01:54 +02:00
Joas Schilling
d7c12ccd60 [ticket/10729] Add tests for some special tables with unique conditions
PHPBB3-10729
2014-09-22 01:42:36 +02:00
Joas Schilling
74854ac65d [ticket/10729] Add tests for user posts, reports and attachments
PHPBB3-10729
2014-09-22 00:55:34 +02:00
Joas Schilling
d48e4b680e [ticket/10729] Fix doc block for user_delete
PHPBB3-10729
2014-09-22 00:55:08 +02:00
Mario Skouat
39d46e2599 [ticket/13041] Reordering "Login and Registration Issues"
PHPBB3-13041
2014-09-21 10:43:10 +02:00
blitze
d6de9ce5d9 [ticket/13072] Add total_match_count to core.search_get_topic_data event
PHPBB3-13072
2014-09-21 08:22:15 +00:00
Jakub Senko
9f981a7741 [ticket/13082] Repair fix
PHPBB3-13082
2014-09-21 10:03:48 +02:00
blitze
6a33472214 [ticket/13071] Only use total_match_count after event dispatcher
PHPBB3-13071
2014-09-21 07:39:50 +00:00
Dhruv Goel
84e68b3a73 Merge pull request #2963 from Senky/ticket/13045
[ticket/13045] Remove Pragma headers
2014-09-21 11:29:56 +05:30
Dhruv Goel
b02e579c1c Merge pull request #2976 from n-aleha/ticket/13085
[ticket/13085] Fix typo in oauth.php
2014-09-21 10:29:07 +05:30
Jakub Senko
6851ff8fab [ticket/13082] Join classes
PHPBB3-13082
2014-09-21 00:07:39 +02:00
n-aleha
7313cc777e [ticket/13085] Fix typo in oauth.php
PHPBB3-13085
2014-09-21 00:33:07 +03:00
Jakub Senko
ace3b806a9 [ticket/13082] move style to css file
PHPBB3-13082
2014-09-20 20:35:14 +02:00
Jakub Senko
ef58752db8 [ticket/13082] Replace float by text-align
PHPBB3-13082
2014-09-20 18:35:26 +02:00
hanakin
8b8e065441 [ticket/13080] Fix mediaqueries formating
open { are should not to be on new lines for
media queries per spec, causes code highlight
issues in reputible code editors

PHPBB3-13080
2014-09-20 16:55:20 +02:00
hanakin
e3eff2a976 [ticket/13080] Remove nowrap from dd in responsive
PHPBB3-13080
2014-09-20 16:51:01 +02:00
Joas Schilling
e005455881 Merge branch 'prep-release-3.1.0-RC4' into develop-ascraeus
* prep-release-3.1.0-RC4:
  [prep-release-3.1.0-RC4] Update phpBB Version for RC4 development
  [prep-release-3.1.0-RC4] Add changelog for 3.1.0-RC4
  [prep-release-3.1.0-RC4] Prepare Changelog
  [prep-release-3.1.0-RC4] Add migration for 3.1.0-RC4
  [prep-release-3.1.0-RC4] Update version to 3.1.0-RC4
2014-09-20 09:53:23 +02:00
Joas Schilling
26c6ffa458 [prep-release-3.1.0-RC4] Update phpBB Version for RC4 development 2014-09-20 09:52:53 +02:00
Marc Alexander
457e13634e [ticket/12858] Properly format UTC offset in footer
PHPBB3-12858
2014-09-19 23:45:03 +02:00
Joas Schilling
2c5e184ea1 [prep-release-3.1.0-RC4] Add changelog for 3.1.0-RC4 2014-09-19 19:09:46 +02:00
Joas Schilling
841abf712e [prep-release-3.1.0-RC4] Prepare Changelog 2014-09-19 19:07:41 +02:00
Joas Schilling
221f4a4a8c [prep-release-3.1.0-RC4] Add migration for 3.1.0-RC4 2014-09-19 19:04:21 +02:00
Joas Schilling
301694e922 [prep-release-3.1.0-RC4] Update version to 3.1.0-RC4 2014-09-19 19:02:31 +02:00
Joas Schilling
fc252f1ba5 Merge pull request #2969 from marc1706/ticket/13073
[ticket/13073] Correctly generate routes from subfolders like /adm

* marc1706/ticket/13073:
  [ticket/13073] Remove _test suffix from common test class
  [ticket/13073] Switch $input with $expected and add paths with letters
  [ticket/13073] Use abstract class for controller helper route tests
  [ticket/13073] Add path regex to get_preg_expression() and add unit tests
  [ticket/13073] Use just one regex in helper route()
  [ticket/13073] Properly place comments in helper
  [ticket/13073] Use correct class names in test files
  [ticket/13073] Rework route tests and add tests for more directory types
  [ticket/13073] Test that routes from subfolders like /adm work
  [ticket/13073] Add tests for routes from adm pages
  [ticket/13073] Add phpbb root path with mod rewrite enabled for proper routes
2014-09-19 18:58:53 +02:00
Marc Alexander
3418683cfc [ticket/13073] Remove _test suffix from common test class
PHPBB3-13073
2014-09-19 16:50:26 +02:00
Marc Alexander
d720428564 [ticket/13073] Switch $input with $expected and add paths with letters
PHPBB3-13073
2014-09-19 15:30:24 +02:00
Marc Alexander
543d68a7d3 [ticket/13073] Use abstract class for controller helper route tests
PHPBB3-13073
2014-09-19 15:21:04 +02:00
Marc Alexander
6fd54436ee [ticket/13073] Add path regex to get_preg_expression() and add unit tests
We're now calling get_preg_expression() instead of hardcoding the regex into
the helper route method.

PHPBB3-13073
2014-09-19 13:54:15 +02:00
Marc Alexander
4186ced479 [ticket/13073] Use just one regex in helper route()
PHPBB3-13073
2014-09-19 12:14:57 +02:00
Marc Alexander
eaef881e7d [ticket/13073] Properly place comments in helper
PHPBB3-13073
2014-09-19 12:03:04 +02:00
Marc Alexander
de7ed7c286 [ticket/13073] Use correct class names in test files
PHPBB3-13073
2014-09-19 12:01:31 +02:00
Tristan Darricau
c767712c64 [ticket/12657] Fix the order of the parameters for the constructor
PHPBB3-12657
2014-09-19 11:09:37 +02:00
Tristan Darricau
689eaab3e2 [ticket/12657] The test does not need to depend on the database
PHPBB3-12657
2014-09-19 11:09:35 +02:00
LEZY Thomas
fb08d1b27e [ticket/12657] Remove unused global variables
PHPBB3-12657
2014-09-19 11:09:32 +02:00
LEZY Thomas
6e4348b0ea [ticket/12657] Fix name temporary directory used by test file
PHPBB3-12657
2014-09-19 11:09:30 +02:00
LEZY Thomas
4a76763a8a [ticket/12657] Add a test file for base case
PHPBB3-12657
2014-09-19 11:09:29 +02:00
brunoais
55664c1c10 [ticket/12930] Fixing event comment block and variable
According to comments on pull request

PHPBB3-12930
2014-09-19 08:44:12 +01:00
brunoais
d4938e34b0 [ticket/12929] Fixing event comment block and variable
PHPBB3-12929
2014-09-19 08:36:00 +01:00
rxu
c20b658f70 [ticket/13055] Add UTF-8 string tests for profile fields validation options
PHPBB3-13055
2014-09-19 09:31:28 +08:00
Tristan Darricau
98f02ece97 Merge pull request #2970 from nickvergessen/ticket/13062
[ticket/13062] Fix name of "ORDER_BY" key in SQL array

* nickvergessen/ticket/13062:
  [ticket/13062] Fix name of "ORDER_BY" key in SQL array
2014-09-19 01:18:32 +02:00
Joas Schilling
6bc23ee282 [ticket/13062] Fix name of "ORDER_BY" key in SQL array
PHPBB3-13062
2014-09-19 00:56:16 +02:00
Marc Alexander
a6d9b42e5f [ticket/13073] Rework route tests and add tests for more directory types
PHPBB3-13073
2014-09-19 00:35:17 +02:00
Joas Schilling
e9285d43af Merge pull request #2952 from rxu/ticket/13066
[ticket/13066] Add search results core event to modify search title

* rxu/ticket/13066:
  [ticket/13066] Add search results core event to modify search title
2014-09-19 00:22:53 +02:00
Marc Alexander
d74f45aee0 [ticket/13073] Test that routes from subfolders like /adm work
PHPBB3-13073
2014-09-19 00:11:36 +02:00
Marc Alexander
a70addbf14 [ticket/13073] Add tests for routes from adm pages
PHPBB3-13073
2014-09-19 00:07:31 +02:00
Cesar G
ae14b0f272 Merge remote-tracking branch 'hanakin/ticket/12598' into develop-ascraeus
* hanakin/ticket/12598:
  [ticket/12598] Fix sir typo
  [ticket/12598] Fix rtl positon in header
  [ticket/12598] Remove right border
  [ticket/12598] Remove border from .search-header
  [ticket/12598] Replace #search-box with class
  [ticket/12598] Remove hover border-color and use hover icon
  [ticket/12598] Add some responsive margin to give breathing room
  [ticket/12598] Clean up unused link colors
  [ticket/12598] Remove unused link colors
  [ticket/12598] Add lt IE9 fixes
  [ticket/12598] Improve search box styling
2014-09-18 15:07:27 -07:00
Marc Alexander
d892dfe084 [ticket/13073] Add phpbb root path with mod rewrite enabled for proper routes
PHPBB3-13073
2014-09-18 23:44:51 +02:00
hanakin
1914a08088 [ticket/12598] Fix sir typo
PHPBB3-12598
2014-09-18 23:13:42 +02:00
hanakin
88f645eeda [ticket/12598] Fix rtl positon in header
PHPBB3-12598
2014-09-18 22:45:24 +02:00
hanakin
2ca001edcf [ticket/12598] Remove right border
PHPBB3-12598
2014-09-18 22:34:55 +02:00
hanakin
6eb2b876f1 [ticket/12598] Remove border from .search-header
PHPBB3-12598
2014-09-18 21:47:24 +02:00
hanakin
0dc181a529 [ticket/12598] Replace #search-box with class
PHPBB3-12598
2014-09-18 21:47:23 +02:00
PayBas
d27e9c7c76 [ticket/12598] Remove hover border-color and use hover icon
PHPBB3-12598
2014-09-18 21:47:23 +02:00
PayBas
93d50db2d6 [ticket/12598] Add some responsive margin to give breathing room
PHPBB3-12598
2014-09-18 21:47:22 +02:00
PayBas
b5800d1124 [ticket/12598] Clean up unused link colors
PHPBB3-12598
2014-09-18 21:47:22 +02:00
PayBas
3f71d7dba1 [ticket/12598] Remove unused link colors
PHPBB3-12598
2014-09-18 21:47:21 +02:00
PayBas
514bf6e39a [ticket/12598] Add lt IE9 fixes
In case this one gets merged before hanakin's gradient PR.

PHPBB3-12598
2014-09-18 21:47:21 +02:00
PayBas
470e6d5edf [ticket/12598] Improve search box styling
PHPBB3-12598
2014-09-18 21:47:20 +02:00
Joas Schilling
3066cd700a Merge pull request #2875 from PayBas/ticket/12961
[ticket/12961] Add link in anti-spam ACP page which links directly to captchas in titania

* PayBas/ticket/12961:
  [ticket/12961] Shorten ext-db link text
  [ticket/12961] Fix missing phpBB.com
  [ticket/12961] Remove target="_blank" and switch to <strong>
  [ticket/12961] Add additional link to the KB
  [ticket/12961] Move link to language file
  [ticket/12961] Refactor lang entry
  [ticket/12961] Change url to anti-spam-ext
  [ticket/12961] Change url to https://www.phpbb.com/go/anti-spam/
  [ticket/12961] Add link in anti-spam ACP page to titania
2014-09-18 14:23:41 +02:00
Tristan Darricau
bad07b355c Merge pull request #2967 from nickvergessen/ticket/12963
[ticket/12963] Revert back to "migrations" folder name for extensions

* nickvergessen/ticket/12963:
  [ticket/12963] Always use core_path and core_directory()
  [ticket/12963] Remove old migration/ folder from tests
  [ticket/12963] Revert back to "migrations" folder name for extensions
2014-09-18 14:04:06 +02:00
Joas Schilling
b82a3cddd8 Merge pull request #2927 from Senky/ticket/13022
[ticket/13022] "Return to advanced search" wrong assumption

* Senky/ticket/13022:
  [ticket/13022] Language adjustments
  [ticket/13022] Remove ternary condition
  [ticket/13022] Condition Return to advanced search link
2014-09-18 12:44:12 +02:00
Jakub Senko
31e43ce124 [ticket/12489] Add notice about %s wildcard in FIELD_IS_CONTACT_EXPLAIN
PHPBB3-12489
2014-09-18 12:13:17 +02:00
Joas Schilling
1da5c41ab3 [ticket/12963] Always use core_path and core_directory()
PHPBB3-12963
2014-09-18 11:21:53 +02:00
Joas Schilling
5ce61e8c3a [ticket/12963] Remove old migration/ folder from tests
PHPBB3-12963
2014-09-18 11:21:51 +02:00
Joas Schilling
c220fa89a1 [ticket/12963] Revert back to "migrations" folder name for extensions
The issues that can be created with the name change are just too much

PHPBB3-12963
2014-09-18 10:45:08 +02:00
Cesar G
53e028ff14 Merge remote-tracking branch 'GiampaoloFalqui/develop-ascraeus' into develop-ascraeus
* GiampaoloFalqui/develop-ascraeus:
  [ticket/13068] Language correction in FIELD_IS_CONTACT_EXPLAIN
2014-09-17 18:17:56 -07:00
Cesar G
53f62f1129 Merge remote-tracking branch 'Nicofuma/ticket/12963' into develop-ascraeus
* Nicofuma/ticket/12963:
  [ticket/12963] Fix the migration's finder for the tests (path, new instance)
2014-09-17 17:49:01 -07:00
Giampaolo Falqui
a2b5ec7e1b [ticket/13068] Language correction in FIELD_IS_CONTACT_EXPLAIN
PHPBB3-13068
2014-09-18 02:25:39 +02:00
rxu
dc65058c20 [ticket/13055] Add string profile fields validation options to support unicode
PHPBB3-13055
2014-09-18 08:19:08 +08:00
Tristan Darricau
0d1f0c07fe [ticket/12963] Fix the migration's finder for the tests (path, new instance)
PHPBB3-12963
2014-09-18 02:04:47 +02:00
Tristan Darricau
6c043c4a86 Merge pull request #2964 from nickvergessen/ticket/12963
[ticket/12963] Correctly load migration files from migration/ in tests as well

* nickvergessen/ticket/12963:
  [ticket/12963] Correctly load migration files from migration/ in tests as well
2014-09-18 01:32:08 +02:00
Joas Schilling
180f9bf4fa [ticket/12963] Correctly load migration files from migration/ in tests as well
PHPBB3-12963
2014-09-17 23:33:26 +02:00
Joas Schilling
7729ae4ad0 [ticket/13064] Revert "[ticket/13064] Validate the migrations provided to ..."
This reverts commit 46a9fe93d7.

PHPBB3-13064
2014-09-17 21:24:33 +02:00
Jakub Senko
e59222496a [ticket/13045] Remove Pragma headers
PHPBB3-13045
2014-09-17 20:10:01 +02:00
Joas Schilling
910cd5edbe Merge pull request #2948 from Nicofuma/ticket/13061
[ticket/13061] Replace the service event.subscriber_loader by a compiler pass

* Nicofuma/ticket/13061:
  [ticket/13061] Replace the service event.subscriber_loader by a compiler pass
2014-09-17 20:09:49 +02:00
Joas Schilling
676f453cbd Merge pull request #2949 from rxu/ticket/13062
[ticket/13062] Add viewforum.php core event to modify topic ids sql query

* rxu/ticket/13062:
  [ticket/13062] Add viewforum.php core event to modify topic ids sql query
2014-09-17 20:02:13 +02:00
Joas Schilling
86ea314598 Merge pull request #2951 from Nicofuma/ticket/13064
[ticket/13064] Validate the migrations provided to migrator::set_migrations()

* Nicofuma/ticket/13064:
  [ticket/13064] Validate the migrations provided to migrator::set_migrations()
2014-09-17 19:59:39 +02:00
Joas Schilling
7201238104 Merge pull request #2962 from Senky/ticket/13044
[ticket/13044] Expires header violates RFC 2616

* Senky/ticket/13044:
  [ticket/13044] Move GMT out of gmdate in functions_acp
  [ticket/13044] Move GMT out of gmdate()
  [ticket/13044] \G\M\T to GMT in whole project
  [ticket/13044] move GMT string out of gmdate()
  [ticket/13044] Correct Expires headers
2014-09-17 19:44:42 +02:00
Marc Alexander
f4761b5e08 [ticket/12858] Directly return and use timezone selects
PHPBB3-12858
2014-09-17 19:07:24 +02:00
Jakub Senko
3885ac90f1 [ticket/13044] Move GMT out of gmdate in functions_acp
PHPBB3-13044
2014-09-17 18:38:21 +02:00
Jakub Senko
3d637fea98 [ticket/13044] Move GMT out of gmdate()
PHPBB3-13044
2014-09-17 18:35:38 +02:00
Marc Alexander
9c310f789f [ticket/12858] Rename tz_ prefixed block variables to timezone_ prefix
PHPBB3-12858
2014-09-17 17:56:09 +02:00
Marc Alexander
ad596f4390 [ticket/12858] Fix timezone select display in subsilver2
PHPBB3-12858
2014-09-17 17:56:09 +02:00
Marc Alexander
6323180344 [ticket/12858] Fix timezone display on acp users page
PHPBB3-12858
2014-09-17 17:56:09 +02:00
Marc Alexander
9a3aeb8a99 [ticket/12858] Remove hardcoded language entries from timezone selects
PHPBB3-12858
2014-09-17 17:56:04 +02:00
Marc Alexander
3dbac0f88b [ticket/12858] Use UTC for time info in footer and hide offset if it's 0
PHPBB3-12858
2014-09-17 14:23:34 +02:00
Marc Alexander
9ebee7de32 [ticket/12858] Generate timezone selects with template loop
PHPBB3-12858
2014-09-17 14:22:08 +02:00
Jakub Senko
ea5e46f6dd [ticket/13044] \G\M\T to GMT in whole project
Note that there are more uses of "\G\M\T" in vendor files.

PHPBB3-13044
2014-09-17 11:56:37 +02:00
Jakub Senko
7cbd9e9524 [ticket/13044] move GMT string out of gmdate()
PHPBB3-13044
2014-09-17 11:15:24 +02:00
Jakub Senko
33b2063680 [ticket/13044] Correct Expires headers
PHPBB3-13044
2014-09-17 10:52:19 +02:00
Marc Alexander
20903c0a9b Merge pull request #2922 from Nicofuma/ticket/13036
[ticket/13036] Make the reference type configurable when generating a route
2014-09-17 00:57:04 +02:00
Marc Alexander
4a06511d85 Merge pull request #2932 from Nicofuma/ticket/12963
[ticket/12963] Load extensions migrations from /migration
2014-09-17 00:36:38 +02:00
Marc Alexander
2e1aebbc12 Merge pull request #2959 from prototech/ticket/13069
[ticket/13069] Fix timezone location filtering.
2014-09-17 00:24:36 +02:00
Cesar G
4df031187f [ticket/13069] Fix timezone location filtering.
$timezone contains the original jQuery object, therefore the subsequent
removal of the optgroup children while filtering has no effect on the
$replacement object - the one that's now visible to the user. We'll simplify
and fix this by injecting the content of the copy instead of going through the
trouble of cloning it.

PHPBB3-13069
2014-09-16 14:47:42 -07:00
Tristan Darricau
a48b740b94 [ticket/13036] Complete tests
PHPBB3-13036
2014-09-16 21:56:45 +02:00
Tristan Darricau
8b16d31413 [ticket/12963] Edit deprecation message
PHPBB3-12963
2014-09-16 20:18:10 +02:00
Tristan Darricau
bb5d6a2551 [ticket/13036] Add unit tests
PHPBB3-13036
2014-09-16 19:44:58 +02:00
Tristan Darricau
dab6b99bcd [ticket/13036] Make the reference type configurable when generating a route
PHPBB3-13036
2014-09-16 19:28:06 +02:00
Marc Alexander
b3576d77da Merge pull request #2921 from Nicofuma/ticket/13034
[ticket/13034] Fix the route generated for the frontend not in the phpbb root path
2014-09-16 19:24:07 +02:00
Tristan Darricau
f4260e261f [ticket/13034] Fix tests
PHPBB3-13034
2014-09-16 01:25:36 +02:00
Tristan Darricau
68ad7685bc [ticket/13034] Update the base url to move to the root dir
PHPBB3-13034
2014-09-15 23:47:05 +02:00
Andreas Fischer
0b4f714bc4 Merge pull request #2958 from prototech/ticket/13018
[ticket/13018] Remove duplicate logic in confirm box and alert box handling.

* prototech/ticket/13018:
  [ticket/13018] Clean up and fix some logic.
  [ticket/13018] Do not handle events in close function.
  [ticket/13018] Reduce the delta further.
  [ticket/13018] Remove duplicate logic in confirm box and alert box handling.
2014-09-15 22:50:58 +02:00
Andreas Fischer
720561de6e Merge pull request #2943 from Nicofuma/ticket/13056
[ticket/13056] Move the arguments of the request class to the DI

* Nicofuma/ticket/13056:
  [ticket/13056] Move the arguments of the request class to the DI
2014-09-15 22:42:38 +02:00
Tristan Darricau
06f42f433b [ticket/13034] Add comment
PHPBB3-13034
2014-09-15 20:25:20 +02:00
Cesar G
4ae447b205 [ticket/13018] Clean up and fix some logic.
PHPBB3-13018
2014-09-15 07:44:02 -07:00
Cesar G
2b4807b116 [ticket/13018] Do not handle events in close function.
PHPBB3-13018
2014-09-15 07:43:18 -07:00
Cesar G
f807b82162 Merge remote-tracking branch 'PayBas/ticket/10472' into develop-ascraeus
* PayBas/ticket/10472:
  [ticket/10472] Remove dd selector and use -moz-padding-end
  [ticket/10472] Fix weird padding on input type=number
  [ticket/10472] More clearing and white-space fixes
  [ticket/10472] Fix ACP overflow:hidden problem for medium-sized screens
2014-09-15 06:58:21 -07:00
PayBas
0061a305d8 [ticket/12408] Fix white-space sniffer
PHPBB3-12408
2014-09-15 15:25:43 +02:00
PayBas
6488d236ec [ticket/10472] Remove dd selector and use -moz-padding-end
PHPBB3-10472
2014-09-15 14:58:57 +02:00
PayBas
38830f9cbb [ticket/10472] Fix weird padding on input type=number
PHPBB3-10472
2014-09-15 14:53:04 +02:00
PayBas
726573f100 [ticket/10472] More clearing and white-space fixes
PHPBB3-10472
2014-09-15 14:53:04 +02:00
PayBas
da716058fa [ticket/10472] Fix ACP overflow:hidden problem for medium-sized screens
PHPBB3-10472
2014-09-15 14:53:03 +02:00
PayBas
5a780dfab1 [ticket/12408] Clarify the behavior of "override style"
PHPBB3-12408
2014-09-15 14:49:56 +02:00
PayBas
aaddf41e5b [ticket/12408] Changed lang vars, added fieldset and removed "default"
PHPBB3-12408
2014-09-15 14:43:40 +02:00
PayBas
0b4944f125 [ticket/12408] Public functions and updated doc block
PHPBB3-12408
2014-09-15 14:43:40 +02:00
PayBas
60c9955f51 [ticket/12408] Code cleanup
Rebased to see if travis will finally play along

PHPBB3-12408
2014-09-15 14:43:39 +02:00
PayBas
ae63843647 [ticket/12408] Simplified queries
PHPBB3-12408
2014-09-15 14:43:38 +02:00
PayBas
265c621c9e [ticket/12408] Add quick setting for "default guest style" to ACP
PHPBB3-12408
2014-09-15 14:43:38 +02:00
Cesar G
5034b3ad7d [ticket/13018] Reduce the delta further.
The callback does not actually do anything when cancelling the confirmation
box so we can avoid calling it altogether when cancel is clicked.

PHPBB3-13018
2014-09-14 15:49:18 -07:00
Cesar G
6d80770ba4 [ticket/13018] Remove duplicate logic in confirm box and alert box handling.
This ensures a more consistent handling of the various closing/opening actions
and fixes some bugs where certain event handlers are not turned off in certain
instances.

PHPBB3-13018
2014-09-14 14:54:08 -07:00
Tristan Darricau
b9e7ed004c [ticket/13034] Use utf8_basename
PHPBB3-13034
2014-09-14 23:41:15 +02:00
Tristan Darricau
9ef01e7f82 Merge pull request #2956 from prototech/ticket/13019
[ticket/13019] Always accept a reason for deleting a post/topic.

* prototech/ticket/13019:
  [ticket/13019] Do not hide reason field when deleting permanently.
  [ticket/13019] Rename deletion reason label.
  [ticket/13019] Always accept a reason for deleting a post/topic.
2014-09-14 22:00:16 +02:00
Marc Alexander
1487e6f857 Merge pull request #2955 from prototech/ticket/13065
[ticket/13065] Fix rehashing of stored password hash in phpBB2 convertor.
2014-09-14 20:44:49 +02:00
Cesar G
ffe24d5b8f [ticket/13019] Do not hide reason field when deleting permanently.
PHPBB3-13019
2014-09-14 10:41:57 -07:00
Cesar G
8c11927b55 [ticket/13019] Rename deletion reason label.
PHPBB3-13019
2014-09-14 10:39:25 -07:00
Cesar G
bf7041eeb9 [ticket/13019] Always accept a reason for deleting a post/topic.
PHPBB3-13019
2014-09-14 10:38:56 -07:00
Cesar G
b71571b793 [ticket/13065] Fix rehashing of stored password hash in phpBB2 convertor.
PHPBB3-13065
2014-09-14 10:04:18 -07:00
Cesar G
a45df1d840 Merge remote-tracking branch 'prototech/ticket/13040' into develop-ascraeus
* prototech/ticket/13040:
  [ticket/13040] Fix W3C validator warning in overall_footer.html
2014-09-14 07:40:30 -07:00
John
e4401b2534 [ticket/13040] Fix W3C validator warning in overall_footer.html
Added a non-breaking space to remove the following warning:
**Empty heading.**

```html
<h3 class="alert_title"></h3><p class="alert_text"></p>
```

PHPBB3-13040
2014-09-14 06:30:03 -07:00
Cesar G
ca7168ee4a Merge remote-tracking branch 'hanakin/ticket/13009' into develop-ascraeus
* hanakin/ticket/13009:
  [ticket/13009] Remove legacy browser hacks
2014-09-14 06:23:00 -07:00
Cesar G
7f86b6e71e Merge remote-tracking branch 'Nicofuma/ticket/13058' into develop-ascraeus
* Nicofuma/ticket/13058:
  [ticket/13058] Add min value to jump to page input
2014-09-14 06:21:25 -07:00
rxu
bf6bc330af [ticket/13066] Add search results core event to modify search title
PHPBB3-13066
2014-09-14 15:00:47 +08:00
Tristan Darricau
46a9fe93d7 [ticket/13064] Validate the migrations provided to migrator::set_migrations()
PHPBB3-13064
2014-09-14 00:56:41 +02:00
Louis7777
2cf5b848db [ticket/13058] Add min value to jump to page input
PHPBB3-13058
2014-09-13 22:44:37 +02:00
rxu
e731dcfe6e [ticket/13062] Add viewforum.php core event to modify topic ids sql query
Event request: http://area51.phpbb.com/phpBB/viewtopic.php?f=111&t=45383

PHPBB3-13062
2014-09-14 01:04:34 +08:00
Tristan Darricau
c988b98ac6 [ticket/13061] Replace the service event.subscriber_loader by a compiler pass
PHPBB3-13061
2014-09-13 14:34:18 +02:00
Tristan Darricau
3dc73485ee [ticket/13056] Move the arguments of the request class to the DI
PHPBB3-13056
2014-09-13 14:22:55 +02:00
Marc Alexander
48dbef391b Merge pull request #2879 from callumacrae/ticket/12982
[ticket/12982] JS refactoring
2014-09-12 19:54:03 +02:00
Andreas Fischer
f26b6b6251 Merge pull request #2941 from Senky/ticket/12734
[ticket/12734] Custom profile manager should not suppress errors when inserting user rows

* Senky/ticket/12734:
  [ticket/12734] Remove unnecessary error supressing
2014-09-12 00:54:51 +02:00
Andreas Fischer
f892646a84 Merge pull request #2944 from Nicofuma/ticket/13057
[ticket/13057] Add $phpbb_dispatcher to the global in mcp/mcp_report.php

* Nicofuma/ticket/13057:
  [ticket/13057] Add $phpbb_dispatcher to the global in mcp/mcp_report.php
2014-09-12 00:52:22 +02:00
Tristan Darricau
7b4c5bdd34 [ticket/13057] Add $phpbb_dispatcher to the global in mcp/mcp_report.php
PHPBB3-13057
2014-09-11 22:01:09 +02:00
hanakin
7618e0387c [ticket/13009] Remove legacy browser hacks
PHPBB3-13009
2014-09-11 17:33:30 +02:00
Tristan Darricau
7d6ceb81c1 Merge pull request #2901 from rxu/ticket/13005
[ticket/13005] Add event to display_forums() to modify category template data

* rxu/ticket/13005:
  [ticket/13005] Add event to display_forums() to modify category template data
2014-09-11 16:58:34 +02:00
Tristan Darricau
5804e43589 Merge pull request #2903 from rxu/ticket/13006
[ticket/13006] Add variables to the 'core.modify_quickmod_actions' event

* rxu/ticket/13006:
  [ticket/13006] Add variables to the 'core.modify_quickmod_actions' event
2014-09-11 16:44:16 +02:00
Andreas Fischer
d42401056c Merge pull request #2940 from Senky/ticket/13042
[ticket/13042] Unused var in login_box()

* Senky/ticket/13042:
  [ticket/13042] Remove unused variables
2014-09-10 22:17:17 +02:00
Tristan Darricau
c842583bbf Merge pull request #2936 from nickvergessen/ticket/12976
[ticket/12976] Correctly use plurals for attachment count in UCP navigation

* nickvergessen/ticket/12976:
  [ticket/12976] Correctly use plurals for attachment count in UCP navigation
2014-09-10 20:00:52 +02:00
Tristan Darricau
04e0d305d0 [ticket/12963] Add unit tests
PHPBB3-12963
2014-09-10 19:22:00 +02:00
Tristan Darricau
72ee4b3a7c [ticket/12963] Load extensions migrations from /migration
PHPBB3-12963
2014-09-10 19:21:57 +02:00
Tristan Darricau
ff872a7970 [ticket/12963] Don't use static var in \extension\base\get_migration_file_list
The static var was global to all instance of \phpbb\base and so if two
different instances (for two different extensions) were created by the
same script they shared the same migrations list.

PHPBB3-12963
2014-09-10 19:21:55 +02:00
Jakub Senko
fcd2a2f186 [ticket/12734] Remove unnecessary error supressing
PHPBB3-12734
2014-09-10 18:37:16 +02:00
Jakub Senko
51f5c2d094 [ticket/13042] Remove unused variables
PHPBB3-13042
2014-09-10 17:38:05 +02:00
Tristan Darricau
a093c28d1a [ticket/12963] Fix the list of migrations in database_update.php
Without this patch the finder grab all the class available in the ext
folder and not only the migrations. This change is backported for the one
done before to the cli tool db:migrate. (see the commit
3420f8f320)

PHPBB3-12963
2014-09-10 12:01:01 +02:00
Tristan Darricau
b2a28962bc Merge pull request #2939 from nickvergessen/ticket/13052
[ticket/13052] Restore timespan parameter for check_form_key()

* nickvergessen/ticket/13052:
  [ticket/13052] Restore timespan parameter for check_form_key()
2014-09-10 11:50:13 +02:00
Callum Macrae
cb7e1540c6 [ticket/12982] Refactoring: Killed undescriptive variables
PHPBB3-12982
2014-09-10 09:58:46 +01:00
Joas Schilling
d87547da66 [ticket/13052] Restore timespan parameter for check_form_key()
PHPBB3-13052
2014-09-10 08:07:21 +02:00
Marc Alexander
6c0a3bb247 Merge pull request #2934 from VSEphpbb/ticket/13051
[ticket/13051] Fix viewonline event (recently broken) and add a new core event
2014-09-09 23:37:30 +02:00
Matt Friedman
0fc5a27889 [ticket/13051] Fix core event name
PHPBB3-13051
2014-09-09 13:12:29 -07:00
Matt Friedman
0861404121 [ticket/13051] Rename new event core.viewonline_modify_user_row
PHPBB3-13051
2014-09-09 12:52:53 -07:00
Jakub Senko
bfb672f326 [ticket/13027] round to floor
PHPBB3-13027
2014-09-09 21:33:19 +02:00
Joas Schilling
d9f36ae7e1 [ticket/12976] Correctly use plurals for attachment count in UCP navigation
PHPBB3-12976
2014-09-09 21:31:34 +02:00
Andreas Fischer
65026ed1fa Merge pull request #2935 from nickvergessen/ticket/13052
Ticket/13052 Remove additional parameter from check_form_key()

* nickvergessen/ticket/13052:
  [ticket/13052] Use request class instead of $_POST and request_var()
  [ticket/13052] Fix appearances with multiple parameters
  [ticket/13052] Remove additional parameter from check_form_key()
2014-09-09 21:25:15 +02:00
Joas Schilling
ef61deb132 [ticket/13052] Use request class instead of $_POST and request_var()
PHPBB3-13052
2014-09-09 19:49:17 +02:00
Joas Schilling
ad8d53af27 [ticket/13052] Fix appearances with multiple parameters
PHPBB3-13052
2014-09-09 19:47:00 +02:00
Joas Schilling
047728e3d4 [ticket/13052] Remove additional parameter from check_form_key()
PHPBB3-13052
2014-09-09 19:46:27 +02:00
Matt Friedman
c56c0fce0d [ticket/13051] Add a new core event to handle the template array
PHPBB3-13051
2014-09-09 09:14:32 -07:00
Matt Friedman
c6fc455432 [ticket/13051] Fix viewonline event, remove template data
PHPBB3-13051
2014-09-08 15:54:16 -07:00
Jakub Senko
4b4a673d98 [ticket/13022] Language adjustments
PHPBB3-13022
2014-09-08 23:14:33 +02:00
Andreas Fischer
e00697f3a1 Merge pull request #2926 from Senky/ticket/13038
[ticket/13038] Link user post tally to their posts

* Senky/ticket/13038:
  [ticket/13038] Add link to number of posts of user in viewtopic
2014-09-08 22:12:44 +02:00
Andreas Fischer
3458aa2482 Merge pull request #2931 from rxu/ticket/13050
[ticket/13050] Allow topic/forum subscription when email/jabber is off

* rxu/ticket/13050:
  [ticket/13050] Allow topic/forum subscription when email/jabber is off
2014-09-08 21:23:46 +02:00
Jakub Senko
aefd96e604 [ticket/13038] Add link to number of posts of user in viewtopic
PHPBB3-13038
2014-09-08 17:36:08 +02:00
Marc Alexander
bcd4cebd48 Merge pull request #2915 from rxu/ticket/13026
[ticket/13026] Add template vars array to core.viewonline_overwrite_location
2014-09-08 16:46:26 +02:00
Marc Alexander
cc96bcff99 Merge pull request #2911 from rxu/ticket/13020
[ticket/13020] Add variables to core.viewforum_get_topic_data event
2014-09-08 16:30:05 +02:00
Andreas Fischer
33e5e426d4 Merge pull request #2933 from bantu/ticket/13035
[ticket/13035] Remove empty meta tags

* bantu/ticket/13035:
  [ticket/13035] Remove empty meta tags
2014-09-08 13:45:34 +02:00
dcz
85468ce2ec [ticket/13035] Remove empty meta tags
PHPBB3-13035
2014-09-08 13:09:38 +02:00
Jakub Senko
dfbc2adc08 [ticket/13022] Remove ternary condition
PHPBB3-13022
2014-09-07 22:39:22 +02:00
rxu
de7b100b8a [ticket/13020] Add forum_data variable to core.viewforum_get_topic_data event
PHPBB3-13020
2014-09-07 19:48:06 +08:00
rxu
d470d628f5 [ticket/13026] Add template vars array to core.viewonline_overwrite_location
Add template vars array to core.viewonline_overwrite_location event
to allow modifying/adding template vars for every user row.

PHPBB3-13026
2014-09-07 19:04:32 +08:00
rxu
40ef561349 [ticket/13050] Allow topic/forum subscription when email/jabber is off
Currently, there's impossible to subscribe topic/forum if emails and/or jabber
is disabled. This seems to be a 3.0 leftover since 3.1 introduces new
notification system which handles this case and offers email/jabber-free
board notifications.

PHPBB3-13050
2014-09-07 18:54:34 +08:00
Joas Schilling
12398d65fd Merge pull request #2930 from Senky/ticket/13048
[ticket/13048] AJAX requests are being stored to session_page

* Senky/ticket/13048:
  [ticket/13048] Only update session_page if request is not ajax
2014-09-07 12:50:03 +02:00
Joas Schilling
c1d0528d80 Merge pull request #2929 from rxu/ticket/13047
[ticket/13047] Add $post_list array to core.viewtopic_modify_page_title event

* rxu/ticket/13047:
  [ticket/13047] Add $post_list array to core.viewtopic_modify_page_title event
2014-09-07 12:47:13 +02:00
Joas Schilling
b3a8e92810 Merge pull request #2928 from Nicofuma/ticket/13046
[ticket/13046] Call phpbb_load_extensions_autoloaders() in $download/file.php

* Nicofuma/ticket/13046:
  [ticket/13046] Call phpbb_load_extensions_autoloaders() in $download/file.php
2014-09-07 12:42:52 +02:00
Marc Alexander
a0ee6ccdf3 Merge pull request #2925 from nickvergessen/ticket/12983
Ticket/12983 UCP preferences, Display posts ordering by: input is not properly validated
2014-09-07 11:41:44 +02:00
Joas Schilling
d5801333f7 [ticket/12983] Do not test invalid values until Symfony 2.4
PHPBB3-12983
2014-09-07 10:40:18 +02:00
Jakub Senko
b218f3ad43 [ticket/13048] Only update session_page if request is not ajax
PHPBB3-13048
2014-09-07 10:15:51 +02:00
rxu
a6f1b22eb3 [ticket/13047] Add $post_list array to core.viewtopic_modify_page_title event
PHPBB3-13047
2014-09-07 13:36:23 +08:00
Tristan Darricau
088e34dc47 [ticket/13046] Call phpbb_load_extensions_autoloaders() in $download/file.php
PHPBB3-13046
2014-09-07 01:41:21 +02:00
Tristan Darricau
297ab5c526 Merge pull request #2919 from Senky/ticket/12852
[ticket/12852] Make get_url_parts handle get variable with no value

* Senky/ticket/12852:
  [ticket/12852] Add unit tests
  [ticket/12852] Add space after if
  [ticket/12852] Remove whitespace
  [ticket/12852] Make get_url_parts handle get variable with no value
2014-09-06 15:47:30 +02:00
Joas Schilling
647a75249c [ticket/12983] Add functional test for ucp pref module
PHPBB3-12983
2014-09-06 15:16:51 +02:00
Jakub Senko
1094de49c2 [ticket/13022] Condition Return to advanced search link
PHPBB3-13022
2014-09-06 14:53:14 +02:00
Tristan Darricau
6387bf8d13 Merge pull request #2918 from marc1706/ticket/13031
[ticket/13031] Only use mimetype guesser guess if it helps us

* marc1706/ticket/13031:
  [ticket/13031] Slightly change behavior of choose_mime_type and add unit tests
  [ticket/13031] Guess with all mimetype guessers and pick best guess
  [ticket/13031] Only use mimetype guesser guess if it helps us
2014-09-06 13:53:43 +02:00
Marc Alexander
21029e9fd2 [ticket/13031] Slightly change behavior of choose_mime_type and add unit tests
The mime type 'application/octet-stream' will still always be overwritten by
proper guesses. However, guesses with guessers that have a higher priority
will now overwrite previous guesses even if the mime types of these guesses
had a slash in them.

PHPBB3-13031
2014-09-05 21:55:49 +02:00
Marc Alexander
6eaeae60f6 Merge pull request #2748 from carlo94it/ticket/12765
[ticket/12765] Use db_tools instead of generating queries at moment
2014-09-05 21:23:04 +02:00
Marc Alexander
b854882470 Merge pull request #2868 from rxu/ticket/12969
[ticket/12969] Add template events around username link on composing pm
2014-09-05 21:05:33 +02:00
Joas Schilling
b9cb3b9e3e [ticket/12983] Correctly validate sorting options in the UCP
PHPBB3-12983
2014-09-05 13:24:31 +02:00
Marc Alexander
d31ff51785 [ticket/13031] Guess with all mimetype guessers and pick best guess
PHPBB3-13031
2014-09-05 10:56:06 +02:00
Tristan Darricau
4f44e73b21 [ticket/13034] Fix unit tests
PHPBB3-13034
2014-09-04 23:21:56 +02:00
Tristan Darricau
cb3eb84665 [ticket/13034] Fix the route generated for the frontend not in the phpbb root
PHPBB3-13034
2014-09-04 23:21:55 +02:00
Jakub Senko
7b796532df [ticket/12852] Add unit tests
PHPBB3-12852
2014-09-04 17:56:48 +02:00
Jakub Senko
1d4cae9ecb [ticket/12852] Add space after if
PHPBB3-12852
2014-09-04 17:44:41 +02:00
Jakub Senko
28587d0afc [ticket/12852] Remove whitespace
PHPBB3-12852
2014-09-04 16:15:45 +02:00
Jakub Senko
17e4e5f8c4 [ticket/12852] Make get_url_parts handle get variable with no value
PHPBB3-12852
2014-09-04 13:33:04 +02:00
Marc Alexander
10c99b3c2b Merge pull request #2917 from bantu/ticket/13032
[ticket/13032] Update Symfony Components to 2.3.19
2014-09-04 13:06:13 +02:00
Marc Alexander
7de15bc54c [ticket/13031] Only use mimetype guesser guess if it helps us
If we already have a mimetype and the guesser's guess is the default fallback,
we should keep the already existing mimetype the browser supplied. Otherwise,
platforms that might not support mimetype guessers will cause us to always
have the mimetype set to application/octet-stream on images. This will prevent
users from uploading images.

PHPBB3-13031
2014-09-03 23:09:17 +02:00
Andreas Fischer
a3c63f6c03 [ticket/13032] Also update symfony/css-selector and pin it down.
PHPBB3-13032
2014-09-03 21:47:41 +02:00
Andreas Fischer
65577ed422 [ticket/13032] Update Symfony Components to 2.3.19
PHPBB3-13032
2014-09-03 21:40:38 +02:00
Marc Alexander
6777d462ff Merge pull request #2908 from Pico/t/12661
[ticket/12661] Load extensions templates from "all" folder by render()
2014-09-02 20:54:51 +02:00
Marc Alexander
d86817ef07 Merge pull request #2887 from Pico/ticket/12991
[ticket/12991] Have events after/before "add warning" field - user and post
2014-09-01 22:43:54 +02:00
rxu
1d4c040d4f [ticket/12969] Add template events around username link on composing pm
Add template event before/after find username link on composing pm
to allow extensions perform additional actions on user finding.

PHPBB3-12969
2014-09-02 01:02:17 +08:00
Marc Alexander
97c798a375 Merge pull request #2913 from Nicofuma/ticket/13024
[ticket/13024] Add template event viewtopic_body_postrow_post_content_footer
2014-08-31 19:30:01 +02:00
Tristan Darricau
76053b3cd4 [ticket/13024] Add template event viewtopic_body_postrow_post_content_footer
PHPBB3-13024
2014-08-30 23:52:14 +02:00
Marc Alexander
01f821bbc3 Merge pull request #2826 from brunoais/ticket/12928
[ticket/12928] core.mcp_reports_gather_query_before
2014-08-30 22:55:56 +02:00
Pico
7fc550aedc [ticket/12991] Correct language mistakes
PHPBB3-12991
2014-08-30 06:31:55 +02:00
Dhruv Goel
6d9c0a76df Merge pull request #2865 from marc1706/ticket/12966
[ticket/12966] Sort posts by post_id in addition to sorting by post_time
2014-08-29 20:44:01 +05:30
Marc Alexander
cbbef46c6c Merge pull request #2909 from n-aleha/ticket/11909
[ticket/11909] Remove unused function load_migrations
2014-08-28 21:18:17 +02:00
PayBas
ab9cdcadfb [ticket/12961] Shorten ext-db link text
PHPBB3-12961
2014-08-26 12:45:54 +02:00
n-aleha
bcc1b7aec9 [ticket/11909] Remove unused function load_migrations
Remove unused function load_migrations from \phpbb\db\migrator

PHPBB3-11909
2014-08-26 02:56:47 +03:00
Pico
9d44c5d940 [ticket/12661] Add new line at the end of files
PHPBB3-12661
2014-08-25 22:35:55 +02:00
Cesar G
7cd6dbe898 Merge remote-tracking branch 'PayBas/ticket/12506' into develop-ascraeus
* PayBas/ticket/12506:
  [ticket/12506] Fix search result h3 margin
  [ticket/12506] Fix responsive profile min-height (no avatar)
  [ticket/12506] Reposition buttons to make room for "online" banner
  [ticket/12506] Reposition post-buttons for compact layout
2014-08-25 13:13:25 -07:00
Andreas Fischer
9fc5073540 Merge pull request #2905 from Nicofuma/ticket/13008
[ticket/13008] Use an absolute path with the FileLocator for the routing files

* Nicofuma/ticket/13008:
  [ticket/13008] Add functionnal test
  [ticket/13008] Use an absolute path with the FileLocator for the routing files
2014-08-24 22:32:54 +02:00
Tristan Darricau
0386b1788a [ticket/13008] Add functionnal test
PHPBB3-13008
2014-08-24 15:17:50 +02:00
Pico88
273fc5b5b6 [ticket/12661] Add template test
PHPBB3-12661
2014-08-24 10:16:39 +02:00
Pico88
ae3b015f65 [ticket/12661] Load extensions templates from "all" folder by render()
PHPBB3-12661
2014-08-24 08:10:37 +02:00
Tristan Darricau
154710aa50 Merge pull request #2907 from marc1706/ticket/13010
[ticket/13010] Specifiy correct clean_row() call in phpbb_get_avatar docblock

* marc1706/ticket/13010:
  [ticket/13010] Specifiy correct clean_row() call in phpbb_get_avatar docblock
2014-08-24 00:26:27 +02:00
Marc Alexander
e2c56609ab Merge pull request #2904 from Nicofuma/ticket/12990
[ticket/12990] Disable all the notifications types which are not in the core
2014-08-24 00:20:24 +02:00
Marc Alexander
6e274740df [ticket/13010] Specifiy correct clean_row() call in phpbb_get_avatar docblock
PHPBB3-13010
2014-08-24 00:11:43 +02:00
Tristan Darricau
1a41632af8 [ticket/12990] Disable all the notifications types which are not in the core
PHPBB3-12990
2014-08-23 23:39:46 +02:00
Marc Alexander
e5e45f860b [ticket/12966] Sort by post_time and post_id where applicable
This change was not applied to the search as this would require a larger
rewrite of the search methods.

PHPBB3-12966
2014-08-23 16:36:39 +02:00
Andreas Fischer
1e09fd0cee Merge pull request #2551 from ptitlazy/ticket/12658
[ticket/12658] Add test for base case of commands config:

* ptitlazy/ticket/12658:
  [ticket/12658] Rebased and fixed unit tests
  [ticket/12658] Fix wrong eol character
  [ticket/12658] Refactoring code
  [ticket/12658] Fix typo and coding style mistakes
  [ticket/12658] Add test for command config:delete
  [ticket/12658] Add test for command config:increment
  [ticket/12658] Add test for command config:get
  [ticket/12658] Add test for command config:set-atomic
  [ticket/12658] Add test for base case of command config:set
2014-08-23 13:21:50 +02:00
Tristan Darricau
91804b53fb [ticket/12658] Rebased and fixed unit tests
PHPBB3-12658
2014-08-23 12:45:25 +02:00
LEZY Thomas
5a4de4aa1f [ticket/12658] Fix wrong eol character
PHPBB3-12658
2014-08-23 12:41:44 +02:00
LEZY Thomas
059f21a3ac [ticket/12658] Refactoring code
PHPBB3-12658
2014-08-23 12:41:42 +02:00
LEZY Thomas
ab6c9775d3 [ticket/12658] Fix typo and coding style mistakes
PHPBB3-12658
2014-08-23 12:41:41 +02:00
LEZY Thomas
f9803b7360 [ticket/12658] Add test for command config:delete
PHPBB3-12658
2014-08-23 12:41:39 +02:00
LEZY Thomas
3fbab9504b [ticket/12658] Add test for command config:increment
PHPBB3-12658
2014-08-23 12:41:37 +02:00
LEZY Thomas
9affb8c171 [ticket/12658] Add test for command config:get
PHPBB3-12658
2014-08-23 12:41:36 +02:00
LEZY Thomas
ede73b207b [ticket/12658] Add test for command config:set-atomic
PHPBB3-12658
2014-08-23 12:41:35 +02:00
LEZY Thomas
1662ee64e0 [ticket/12658] Add test for base case of command config:set
PHPBB3-12658
2014-08-23 12:41:32 +02:00
Tristan Darricau
03b9eb5dcb [ticket/13008] Use an absolute path with the FileLocator for the routing files
PHPBB3-13008
2014-08-23 12:34:23 +02:00
PayBas
5eea1ca44e [ticket/12961] Fix missing phpBB.com
Don't know how that happened. Weird

PHPBB3-12961
2014-08-23 12:32:43 +02:00
Andreas Fischer
a79da361ee Merge pull request #2783 from hanakin/ticket/12862
[ticket/12862] Fix pop-up box wraps

* hanakin/ticket/12862:
  [ticket/12862] Remove remaining simple-wrap id
  [ticket/12862] Resize popups consistently
  [ticket/12862] Add Border
2014-08-23 11:40:37 +02:00
rxu
30b6080529 [ticket/13006] Add variables to the 'core.modify_quickmod_actions' event
Add $quickmod and $action variables
for the 'core.modify_quickmod_actions' event trigerring
to avoid of using global operator in corresponding extensions.

PHPBB3-13006
2014-08-22 21:55:26 +08:00
PayBas
f22ee4f73a [ticket/12961] Remove target="_blank" and switch to <strong>
PHPBB3-12961
2014-08-22 15:23:35 +02:00
rxu
0aa7d3ef75 [ticket/13005] Add event to display_forums() to modify category template data
While there're events to modify/add FORUM_POST/FORUM_LINK template data,
such an event is missing for FORUM_CAT forum type.

PHPBB3-13005
2014-08-22 18:53:20 +08:00
Andreas Fischer
d2ed2c4e1e Merge pull request #2899 from Skouat/ticket/13003
[ticket/13003] Add missing language keys

* Skouat/ticket/13003:
  [ticket/13003] Add missing language keys
2014-08-22 11:59:26 +02:00
Andreas Fischer
39bfbc3a26 Merge pull request #2900 from prototech/ticket/13004
[ticket/13004] Remove obsolete S_HAS_ATTACHMENTS check from topic tools.

* prototech/ticket/13004:
  [ticket/13004] Remove obsolete S_HAS_ATTACHMENTS check from topic tools.
2014-08-21 22:48:15 +02:00
Marc Alexander
7483d01942 Merge pull request #2898 from Nicofuma/ticket/12990
[ticket/12990] Use {$var} instead of ${var}
2014-08-21 20:49:41 +02:00
PayBas
ca55f22c73 [ticket/12961] Add additional link to the KB
PHPBB3-12961
2014-08-21 20:05:55 +02:00
Cesar G
be0ebbe644 [ticket/13004] Remove obsolete S_HAS_ATTACHMENTS check from topic tools.
PHPBB3-13004
2014-08-21 10:47:40 -07:00
Mario Skouat
923a818e37 [ticket/13003] Add missing language keys
PHPBB3-13003
2014-08-21 19:37:03 +02:00
Tristan Darricau
afb9d0a3d7 [ticket/12990] Use {$var} instead of ${var}
PHPBB3-12990
2014-08-21 16:04:46 +02:00
Andreas Fischer
a7a05ca75c Merge pull request #2894 from Nicofuma/ticket/12999
[ticket/12999] Remove @author tags

* Nicofuma/ticket/12999:
  [ticket/12999] Remove @author tags
2014-08-21 13:44:10 +02:00
Marc Alexander
31aac66f5a Merge pull request #2885 from Nicofuma/ticket/12990
[ticket/12990] Use the full services name for the notification's types
2014-08-21 00:44:05 +02:00
Marc Alexander
421005b282 Merge pull request #2889 from rxu/ticket/12994
[ticket/12994] Add core event to viewtopic.php before sending vars to template
2014-08-21 00:22:18 +02:00
rxu
60b38847d2 [ticket/12994] Add core event to viewtopic.php before sending vars to template
Add core event to viewtopic.php before sending vars to template
to allow extensions performing additional actions/modifying data first.

PHPBB3-12994
2014-08-21 04:54:26 +08:00
Marc Alexander
43d7d47e9b Merge pull request #2895 from Nicofuma/ticket/12998
[ticket/12998] Fix use of $lang in mcp_warn.php
2014-08-20 22:03:50 +02:00
Tristan Darricau
9486c693b6 [ticket/12998] Fix use of $lang in mcp_warn.php
PHPBB3-12998
2014-08-19 23:02:54 +02:00
Tristan Darricau
c013e727d4 [ticket/12999] Remove @author tags
PHPBB3-12999
2014-08-19 22:54:45 +02:00
Tristan Darricau
fe1ab6d2ef [ticket/12993] Return an array instead of reference passing
PHPBB3-12993
2014-08-19 22:25:01 +02:00
Andreas Fischer
0f3defbb26 Merge pull request #2893 from bantu/ticket/12989
[ticket/12989] Remove unused "created_by.jpg"

* bantu/ticket/12989:
  [ticket/12989] Remove unused "created_by.jpg"
2014-08-19 21:29:17 +02:00
Louis7777
8a5dd101a3 [ticket/12989] Remove unused "created_by.jpg"
This image is not used anywhere in prosilver.

PHPBB3-12989
2014-08-19 20:58:47 +02:00
Tristan Darricau
5e7d9d2fcf [ticket/12993] Fix includes of functions_display
PHPBB3-12993
2014-08-19 13:51:21 +02:00
Andreas Fischer
da3ddaf676 Merge pull request #2892 from bantu/ticket/12996
[ticket/12996] Fix reliability issue in flock test.

* bantu/ticket/12996:
  [ticket/12996] Fix reliability issue in flock test.
2014-08-19 12:20:06 +02:00
Fred Emmott
0ef7a9d455 [ticket/12996] Fix reliability issue in flock test.
$delta was always an int - so, this test would sometimes fail if you
happened to call time() /very/ close to a 1s boundary.

Found by HHVM's continuous testing.

PHPBB3-12996
2014-08-19 11:53:34 +02:00
Tristan Darricau
496cc64bc6 [ticket/12993] Rename to phpbb_get_user_rank
PHPBB3-12993
2014-08-18 16:32:05 +02:00
Tristan Darricau
685bdc87e6 [ticket/12993] Fix user_loader and memberlist
PHPBB3-12993
2014-08-18 14:07:47 +02:00
Forumhulp.com
8671e40217 [ticket/12993] Improve get_user_ranks
Explanation in http://area51.phpbb.com/phpBB/viewtopic.php?f=108&t=46051

PHPBB3-12993
2014-08-18 13:59:33 +02:00
Tristan Darricau
71f78fb8c6 [ticket/12990] Use protected instead of private
PHPBB3-12990
2014-08-17 23:03:44 +02:00
Andreas Fischer
a82a88b555 Merge pull request #2886 from Oyabun1/ticket/12984
[ticket/12984] Remove blank line when no forum description shown

* Oyabun1/ticket/12984:
  [ticket/12984] Remove blank line when no forum description shown
2014-08-17 22:31:46 +02:00
Pico88
9d7deba67a [ticket/12991] Have events after/before "add warning" field - user and post
PHPBB3-12991
2014-08-17 19:04:35 +02:00
Tristan Darricau
b18fe1203a [ticket/12990] Fix unit tests
PHPBB3-12990
2014-08-17 16:19:23 +02:00
Oyabun1
621f8c922f [ticket/12984] Remove blank line when no forum description shown
Add a conditional for forum description and move the <br /> within it.
Currently if there is no forum description but there is
1. a displayed forum moderator and/or
2. a displayed sub-forum
a blank line is added in place of the description

PHPBB3-12984
2014-08-17 20:39:22 +10:00
Andreas Fischer
4ff5aa18ae Merge pull request #2881 from rxu/ticket/12986
[ticket/12986] Fix detection of common words in search

* rxu/ticket/12986:
  [ticket/12986] Fix detection of common words in search
2014-08-17 01:14:46 +02:00
Tristan Darricau
fe80967535 [ticket/12990] Use the full services name for the notification's types
PHPBB3-12990
2014-08-16 21:46:03 +02:00
rxu
354d08dfff [ticket/12986] Fix detection of common words in search
$search->get_common_words() call goes before the split_keywords() call,
but $search->common_words array is being generated
within the function $search->split_keywords(). Thus, get_common_words()
returned an empty array instead of common words array.

PHPBB3-12986
2014-08-17 00:35:12 +08:00
Andreas Fischer
e9f5b9d657 Merge pull request #2872 from Nicofuma/ticket/12975
[ticket/12975] Fix the construction of phpbb\auth\provider\db for Oauth

* Nicofuma/ticket/12975:
  [ticket/12975] Fix the construction of phpbb\auth\provider\db for Oauth
2014-08-16 09:50:51 +02:00
PayBas
45405a48a8 [ticket/12961] Move link to language file
PHPBB3-12961
2014-08-15 22:53:05 +02:00
PayBas
73426d2d30 [ticket/12961] Refactor lang entry
PHPBB3-12961
2014-08-14 22:22:20 +02:00
Marc Alexander
ad625c1e6d Merge pull request #2876 from PayBas/ticket/12900
[ticket/12900] Fix potential avatar size box overflow
2014-08-14 14:47:20 +02:00
PayBas
27bb2b7289 [ticket/12961] Change url to anti-spam-ext
As per IRC suggestion

PHPBB3-12961
2014-08-14 10:03:41 +02:00
PayBas
d08a7f70e6 [ticket/12961] Change url to https://www.phpbb.com/go/anti-spam/
PHPBB3-12961
2014-08-14 10:03:35 +02:00
Callum Macrae
9c87972385 [ticket/12982] Refactoring: Cleaned up crazy insert users stuff
PHPBB3-12982
2014-08-14 00:19:34 +01:00
Callum Macrae
9e3db526d5 [ticket/12982] Refactoring: Cleaned up forum_fn.js
PHPBB3-12982
2014-08-14 00:04:16 +01:00
Callum Macrae
9578fdf7d7 [ticket/12982] Refactoring: Cleaned up phpbb.search
PHPBB3-12982
2014-08-13 23:18:50 +01:00
Cesar G
26b8c6cc13 Merge remote-tracking branch 'PayBas/ticket/12856' into develop-ascraeus
* PayBas/ticket/12856:
  [ticket/12856] Remove images from assets/plupload/img/
  [ticket/12856] Copy plupload images to prosilver dir
2014-08-13 15:00:48 -07:00
Callum Macrae
d79fec1c3f [ticket/12982] Refactoring: made JS in adm nice
PHPBB3-12982
2014-08-13 22:53:28 +01:00
Callum Macrae
340f48fdeb [ticket/12982] Refactoring: made most JS nice.
PHPBB3-12982
2014-08-13 22:44:21 +01:00
PayBas
5cf9ab8a97 [ticket/12856] Remove images from assets/plupload/img/
PHPBB3-12856
2014-08-13 23:20:43 +02:00
PayBas
9db2ff7186 [ticket/12856] Copy plupload images to prosilver dir
PHPBB3-12856
2014-08-13 16:37:44 +02:00
PayBas
030d1a683b [ticket/12900] Fix potential avatar size box overflow
PHPBB3-12900
2014-08-13 16:23:20 +02:00
PayBas
55260127bd [ticket/12961] Add link in anti-spam ACP page to titania
PHPBB3-12961
2014-08-13 15:39:03 +02:00
Tristan Darricau
e31aafb393 [ticket/12975] Fix the construction of phpbb\auth\provider\db for Oauth
PHPBB3-12975
2014-08-12 23:12:57 +02:00
Dhruv Goel
1dc2d0e759 Merge pull request #2853 from callumacrae/ticket/12951
[ticket/12951] Added editorconfig
2014-08-12 16:15:47 +02:00
Joas Schilling
e47b7540c3 Merge branch 'prep-release-3.1.0-RC3' into develop-ascraeus
* prep-release-3.1.0-RC3:
  [prep-release-3.1.0-RC3] Update phpBB Version for RC4 development
  [prep-release-3.1.0-RC3] Add changelog for 3.1.0-RC3
  [prep-release-3.1.0-RC3] Prepare Changelog
  [prep-release-3.1.0-RC3] Add migration for 3.1.0-RC3
  [prep-release-3.1.0-RC3] Update version to 3.1.0-RC3
2014-08-12 10:16:38 +02:00
Joas Schilling
3be239b864 [prep-release-3.1.0-RC3] Update phpBB Version for RC4 development 2014-08-12 10:15:42 +02:00
Joas Schilling
de819bea74 [prep-release-3.1.0-RC3] Add changelog for 3.1.0-RC3 2014-08-11 19:34:31 +02:00
Joas Schilling
29886e703a [prep-release-3.1.0-RC3] Prepare Changelog 2014-08-11 19:33:18 +02:00
Joas Schilling
7367ab6e15 [prep-release-3.1.0-RC3] Add migration for 3.1.0-RC3 2014-08-11 19:32:54 +02:00
Joas Schilling
b40225c142 [prep-release-3.1.0-RC3] Update version to 3.1.0-RC3 2014-08-11 19:30:55 +02:00
Tristan Darricau
f76d671dc7 Merge pull request #2870 from nickvergessen/ticket/12970
[ticket/12970] Regenerate schema.json with new dependencies

* nickvergessen/ticket/12970:
  [ticket/12970] Regenerate schema.json with new dependencies
2014-08-11 19:24:56 +02:00
Joas Schilling
edbae9ceaa [ticket/12970] Regenerate schema.json with new dependencies
PHPBB3-12970
2014-08-11 19:09:59 +02:00
Nils Adermann
96005ceb9e Merge remote-tracking branch 'github-marc1706/ticket/12822' into develop-ascraeus
* github-marc1706/ticket/12822:
  [ticket/12822] Correctly call \phpbb\user in avatar manager test
2014-08-11 18:13:51 +02:00
Marc Alexander
07576dc169 [ticket/12822] Correctly call \phpbb\user in avatar manager test
PHPBB3-12822
2014-08-11 18:04:20 +02:00
Nils Adermann
bad90dafbf Merge remote-tracking branch 'github-marc1706/ticket/12822' into develop-ascraeus
* github-marc1706/ticket/12822:
  [ticket/12822] Fix test runs of avatar manager_test
  [ticket/12822] Add method for deleting avatars and use confirm_box
  [ticket/12822] Remove "None" option from avatar select boxes
2014-08-11 17:37:56 +02:00
Marc Alexander
91df95a90d Merge pull request #2842 from Nicofuma/ticket/11854
[ticket/11854] Move captchas to phpbb/ and use DI for plugins
2014-08-11 12:20:35 +02:00
Tristan Darricau
756aa68b34 [ticket/11854] Don't override get service name in nogd
PHPBB3-11854
2014-08-11 08:04:14 +02:00
Marc Alexander
c10c6bd342 Merge pull request #2845 from rxu/ticket/12942
[ticket/12942] Add core.add_form_key core event
2014-08-11 07:37:57 +02:00
Marc Alexander
48ce9f5e9d Merge pull request #2867 from prototech/ticket/12967
[ticket/12967] Fix undefined variable phpbb_dispatcher error.
2014-08-11 07:31:59 +02:00
Marc Alexander
71c9e6c67c Merge pull request #2863 from rxu/ticket/12944
[ticket/12944] Add core.login_forum_box core event
2014-08-11 07:27:42 +02:00
Tristan Darricau
4683864b4b [ticket/11854] Update tests
PHPBB3-11854
2014-08-11 01:17:01 +02:00
Tristan Darricau
fa2ac1f271 [ticket/11854] Use a set_name method instead of overriding get_service_name
PHPBB3-11854
2014-08-11 01:16:58 +02:00
Tristan Darricau
76633544ee [ticket/11854] Change the error message in reCaptcha
PHPBB3-11854
2014-08-11 01:16:55 +02:00
Tristan Darricau
fc4b1090cc [ticket/11854] Fix comments
PHPBB3-11854
2014-08-11 01:16:50 +02:00
Tristan Darricau
351a6dcad2 [ticket/11854] Base the migration on rc2
PHPBB3-11854
2014-08-11 01:16:46 +02:00
Tristan Darricau
2cbcf4bcbf [ticket/11854] Fix the factory in \phpbb\auth\provider\db
PHPBB3-11854
2014-08-11 01:16:42 +02:00
Tristan Darricau
036a61a904 [ticket/11854] Remove unused globals
PHPBB3-11854
2014-08-11 01:16:38 +02:00
Tristan Darricau
e889b8f931 [ticket/11854] Remove constants and use DI for QA tables
PHPBB3-11854
2014-08-11 01:16:35 +02:00
Tristan Darricau
02f3b74e8a [ticket/11854] Fix coding style
PHPBB3-11854
2014-08-11 01:16:30 +02:00
Tristan Darricau
850b7dbf07 [ticket/11854] Update the default captcha choosen during the installation
PHPBB3-11854
2014-08-11 01:16:28 +02:00
Tristan Darricau
bd09356c30 [ticket/11854] Rename captchas.plugins.service_collection service
PHPBB3-11854
2014-08-11 01:16:25 +02:00
Tristan Darricau
b91abf1a0b [ticket/11854] Rename captchas.factory service to captcha.factory
PHPBB3-11854
2014-08-11 01:16:22 +02:00
Tristan Darricau
d73d606f11 [ticket/11854] Fix various comments
PHPBB3-11854
2014-08-11 01:16:18 +02:00
Tristan Darricau
577f9ac7e4 [ticket/11854] Split phpbb\captcha\gd.php
PHPBB3-11854
2014-08-11 01:16:15 +02:00
Tristan Darricau
99b7d18ab2 [ticket/11854] Migrate all old php4 constructor
PHPBB3-11854
2014-08-11 01:16:10 +02:00
Tristan Darricau
28cf0ef832 [ticket/11854] Update unit tests
PHPBB3-11854
2014-08-11 01:16:07 +02:00
Tristan Darricau
6e4991093a [ticket/11854] Fix migration
PHPBB3-11854
2014-08-11 01:16:02 +02:00
Tristan Darricau
a1d5ad8a37 [ticket/11854] Add missing dot in the migration file
PHPBB3-11854
2014-08-11 01:15:58 +02:00
Tristan Darricau
dd88022a70 [ticket/11854] Add a migration to update the captcha_plugin setting
PHPBB3-11854
2014-08-11 01:15:54 +02:00
Tristan Darricau
160ff7b912 [ticket/11854] Move captcha stuff to phpbb/ and use DI for plugins
PHPBB3-11854
2014-08-11 01:15:49 +02:00
Michael Miday
ada35dca00 [ticket/12862] Remove remaining simple-wrap id
PHPBB3-12862
2014-08-11 00:55:26 +02:00
rxu
96e8b67a4e [ticket/12944] Add core.login_forum_box core event
Add core.login_forum_box core event to allow extensions
performing additional actions on forum login.

PHPBB3-12944
2014-08-11 06:35:36 +08:00
Cesar G
43a309ce2b [ticket/12967] Fix undefined variable phpbb_dispatcher error.
PHPBB3-12967
2014-08-11 00:34:12 +02:00
rxu
b20af9a6d2 [ticket/12942] Add core.add_form_key core event
Add core.add_form_key core event to allow extensions modifying
form key.

PHPBB3-12942
2014-08-11 02:15:05 +08:00
brunoais
67de119566 [ticket/12930] Adding more variables to the event
More variables, according to comments, were added to the event.

PHPBB3-12930
2014-08-10 18:59:57 +01:00
brunoais
1e1efa294e [ticket/12929] Adding more variables to event.
More variables added that may be useful to events at this stage.

PHPBB3-12929
2014-08-10 18:51:35 +01:00
Dhruv Goel
e0d377bca7 Merge pull request #2866 from bantu/ticket/12964
[ticket/12964] Correct use of undefined $row variable.
2014-08-10 18:36:25 +02:00
Marc Alexander
bc9b813ce7 Merge pull request #2864 from rxu/ticket/12931
[ticket/12931] Fix general error on user registration
2014-08-10 18:06:55 +02:00
Marc Alexander
2a5eca0391 Merge pull request #2714 from prototech/ticket/12809
[ticket/12809] Fix select button and dropdown list items in RTL.
2014-08-10 17:00:19 +02:00
Marc Alexander
752c73193e [ticket/12966] Sort posts by post_id in addition to sorting by post_time
This should make sure that posts with the same post time are properly sorted
on database backends like postgres.

PHPBB3-12966
2014-08-10 16:49:01 +02:00
Callum Macrae
7df97601a3 [ticket/12951] Made editorconfig file comments better
PHPBB3-12951
2014-08-10 15:55:02 +02:00
Andreas Fischer
f471eeda33 [ticket/12964] Correct use of undefined $row variable.
PHPBB3-12964
2014-08-10 15:54:56 +02:00
rxu
838d4dc2c6 [ticket/12931] Fix general error on user registration
Fix "Illegal use of $_SERVER" general error on user registration
when $config['server_name'] is not set.

PHPBB3-12931
2014-08-10 21:31:08 +08:00
Joas Schilling
54b0ebc410 Merge pull request #2862 from marc1706/ticket/12932
[ticket/12932] Add method for allowing override of \phpbb\datetime class

* marc1706/ticket/12932:
  [ticket/12932] Remove set_datetime_class method from user class
  [ticket/12932] Fix tests and calls to create_datetime
  [ticket/12932] Add method for getting the datetime class and allow overriding
2014-08-10 15:23:15 +02:00
Dhruv Goel
472fe9fe60 Merge pull request #2730 from omniError/ticket/12831
[ticket/12831] Allow events in page_header functions to prevent the setting of HTTP headers
2014-08-10 15:05:28 +02:00
Carlo
51f534c82e [ticket/12765] Execute query directly from db tools
PHPBB3-12765
2014-08-10 14:26:12 +02:00
Carlo
03040de75a [ticket/12765] Use db_tools instead of generating queries at moment
PHPBB3-12765
2014-08-10 14:26:10 +02:00
Andreas Fischer
547c8a6d8b Merge pull request #2858 from nickvergessen/ticket/12956
[ticket/12956] Ensure the contact columns have been added before using t...

* nickvergessen/ticket/12956:
  [ticket/12956] Ensure the contact columns have been added before using them
2014-08-10 14:16:01 +02:00
Marc Alexander
f0852dcf1a [ticket/12932] Remove set_datetime_class method from user class
PHPBB3-12932
2014-08-10 14:06:19 +02:00
Nils Adermann
252ddd71d0 Merge remote-tracking branch 'github-dhruvgoel92/ticket/12950' into develop-ascraeus
* github-dhruvgoel92/ticket/12950:
  [ticket/12950] Force the installer to use language=en
2014-08-10 13:59:59 +02:00
Dhruv
0244a9b6a4 [ticket/12950] Force the installer to use language=en
PHPBB3-12950
2014-08-10 13:49:42 +02:00
Marc Alexander
8d99b4afe1 [ticket/12932] Fix tests and calls to create_datetime
PHPBB3-12932
2014-08-10 13:43:04 +02:00
Marc Alexander
a57a96cbdd [ticket/12932] Add method for getting the datetime class and allow overriding
An extension can now override the datetime class by overwriting the
datetime.class parameter in their own yml file.

PHPBB3-12932
2014-08-10 13:41:08 +02:00
Joas Schilling
7cc9f216e7 Merge pull request #2836 from marc1706/ticket/12794
[ticket/12794] Properly validate google+ field against valid character set

* marc1706/ticket/12794:
  [ticket/12794] Properly validate google+ field against valid character set
2014-08-10 13:38:48 +02:00
Joas Schilling
b3ca955fb5 Merge pull request #2837 from Geolim4/ticket/12671
Ticket/12671 Possibility to use NOT LIKE expression

* Geolim4/ticket/12671:
  [ticket/12671] Possibility to use NOT LIKE expression
  [ticket/12671] Possibility to use NOT LIKE expression
  [ticket/12671] Possibility to use NOT LIKE expression
  [ticket/12671] Possibility to use NOT LIKE expression
  [ticket/12671] Possibility to use NOT LIKE expression
2014-08-10 13:35:27 +02:00
Joas Schilling
707568c496 Merge pull request #2846 from rxu/ticket/12943
[ticket/12943] Add core.phpbb_generate_debug_output core event

* rxu/ticket/12943:
  [ticket/12943] Add core.phpbb_generate_debug_output core event
2014-08-10 13:19:56 +02:00
Joas Schilling
7ae2ceb5cf Merge pull request #2855 from Geolim4/ticket/12953
[ticket/12953] Page title not updated when notifications are marked as read

* Geolim4/ticket/12953:
  [ticket/12953] Page title not updated when notifications are marked as read
2014-08-10 13:13:55 +02:00
Joas Schilling
1f6b9628e7 Merge pull request #2852 from bantu/ticket/12938
[ticket/12938] Remove the 'Download all attachments' feature.

* bantu/ticket/12938:
  [ticket/12938] Remove functional tests for 'Download all attachments'.
  [ticket/12938] Remove the 'Download all attachments' feature.
2014-08-10 12:22:22 +02:00
Nils Adermann
df9f35cce6 Merge remote-tracking branch 'github-nicofuma/ticket/8064' into develop-ascraeus
* github-nicofuma/ticket/8064:
  [ticket/8064] Change the collation of topic_first_poster_name
2014-08-10 11:54:52 +02:00
omniError
71d39ab7d5 [ticket/12831] fix CS
https://tracker.phpbb.com/browse/PHPBB3-12831

PHPBB3-12831
2014-08-09 20:24:03 -05:00
Joas Schilling
2c7e81bd33 [ticket/12956] Ensure the contact columns have been added before using them
PHPBB3-12956
2014-08-10 02:23:28 +02:00
omniError
7e4c3fde01 [ticket/12831] simplified code, upd event block
https://tracker.phpbb.com/browse/PHPBB3-12831

PHPBB3-12831
2014-08-09 18:48:26 -05:00
Dhruv Goel
5c93735557 Merge pull request #2851 from marc1706/ticket/12949
[ticket/12949] Check if mime_content_type is actually callable
2014-08-10 01:29:59 +02:00
Andreas Fischer
74c3579693 [ticket/12938] Remove functional tests for 'Download all attachments'.
PHPBB3-12938
2014-08-10 01:27:28 +02:00
Tristan Darricau
b000d10ef8 Merge pull request #2849 from bantu/ticket/12941
[ticket/12941] Check for Sami parse errors on Travis CI.

* bantu/ticket/12941:
  [ticket/12941] Fix remaining Sami complaints.
  [ticket/12941] Check for Sami parse errors on Travis CI.
  [ticket/12941] Add sami.conf.php for Travis CI.
2014-08-10 01:02:27 +02:00
Tristan Darricau
990e64105f [ticket/8064] Change the collation of topic_first_poster_name
PHPBB3-8064
2014-08-10 00:58:22 +02:00
Tristan Darricau
6a8413f064 Merge pull request #2691 from dhruvgoel92/ticket/11528
[ticket/11528] Revert all mink changes in functional tests

* dhruvgoel92/ticket/11528:
  [ticket/11528] Revert Mink changes
2014-08-10 00:28:01 +02:00
Tristan Darricau
469790146c Merge pull request #2854 from bantu/ticket/12954
[ticket/12954] Correctly setup PATH_INFO on Travis CI.

* bantu/ticket/12954:
  [ticket/12954] Correctly setup PATH_INFO on Travis CI.
2014-08-10 00:12:58 +02:00
omniError
8989f6f878 [ticket/12831] reimplemented headers as array
https://tracker.phpbb.com/browse/PHPBB3-12831

PHPBB3-12831
2014-08-09 14:40:18 -05:00
Dhruv Goel
d066240e27 Merge pull request #2840 from marc1706/ticket/12742
[ticket/12742] Put duplicated code into one method in notifications base
2014-08-09 20:01:59 +02:00
brunoais
602b932a23 [ticket/12928] Update to RC4
PHPBB3-12928
2014-08-09 18:18:19 +01:00
brunoais
9f5d383d50 [ticket/12930] Update to RC4
PHPBB3-12930
2014-08-09 18:14:11 +01:00
brunoais
8880871951 [ticket/12929] Update to RC4
PHPBB3-12929
2014-08-09 18:13:10 +01:00
Geolim4
db0815f680 [ticket/12671] Possibility to use NOT LIKE expression
PHPBB3-12671
2014-08-09 19:11:21 +02:00
Geolim4
39defd0b6b [ticket/12953] Page title not updated when notifications are marked as read
PHPBB3-12953
2014-08-09 18:56:36 +02:00
Marc Alexander
59398020b6 Merge pull request #2848 from bantu/ticket/12948
[ticket/12948] Remove no longer needed opcache workaround. Travis has 5.5.15
2014-08-09 18:47:41 +02:00
Andreas Fischer
23ca9cd81d [ticket/12954] Correctly setup PATH_INFO on Travis CI.
PHPBB3-12954
2014-08-09 18:33:48 +02:00
Andreas Fischer
076d4ddd7f [ticket/12941] Fix remaining Sami complaints.
PHPBB3-12941
2014-08-09 18:08:49 +02:00
Marc Alexander
496b804a0f [ticket/12742] Add sorting back to bookmark notification list of users
PHPBB3-12742
2014-08-09 17:48:59 +02:00
Marc Alexander
57d94b7bb4 [ticket/12742] Add sort options for notification types requiring sorting
PHPBB3-12742
2014-08-09 17:43:28 +02:00
Tristan Darricau
86f94f922c Merge pull request #2624 from dhruvgoel92/ticket/12718
[ticket/12718] Use remove_topic_from_statistic() for delete_topic

* dhruvgoel92/ticket/12718:
  [ticket/12718] Use a separate variable for sql query
  [ticket/12718] Fix spacing and type casting
  [ticket/12718] Fix docblocks
  [ticket/12718] Add tests to check user_posts on post deletion
  [ticket/12718] Update docblock
  [ticket/12718] Use remove_topic_from_statistic() for delete_topic
2014-08-09 17:33:44 +02:00
Callum Macrae
07f8edcc26 [ticket/12951] Added editorconfig
PHPBB3-12951
2014-08-09 17:33:23 +02:00
Marc Alexander
9f87341046 [ticket/12949] Check if mime_content_type is actually callable
PHPBB3-12949
2014-08-09 17:21:19 +02:00
Dhruv
dd8adb5d6e [ticket/11528] Revert Mink changes
PHPBB3-11528
2014-08-09 17:18:33 +02:00
rxu
917cd4dec7 [ticket/12943] Add core.phpbb_generate_debug_output core event
Add core.phpbb_generate_debug_output core event to allow extensions
outputting additional debug info.

PHPBB3-12943
2014-08-09 23:02:36 +08:00
Andreas Fischer
12caf2f03d [ticket/12938] Remove the 'Download all attachments' feature.
PHPBB3-12938
2014-08-09 16:33:59 +02:00
Nils Adermann
02801dee7c Merge remote-tracking branch 'github-nicofuma/ticket/12693' into develop-ascraeus
* github-nicofuma/ticket/12693:
  [ticket/12693] Don't try to check the composer.phar file
2014-08-09 16:11:34 +02:00
Tristan Darricau
3f73d32c30 [ticket/12693] Don't try to check the composer.phar file
PHPBB3-12693
2014-08-09 16:08:04 +02:00
Andreas Fischer
873d1c6d57 [ticket/12941] Check for Sami parse errors on Travis CI.
PHPBB3-12941
2014-08-09 15:58:04 +02:00
Andreas Fischer
4f131c2248 [ticket/12941] Add sami.conf.php for Travis CI.
PHPBB3-12941
2014-08-09 15:58:04 +02:00
Nils Adermann
56ca276dcf Merge remote-tracking branch 'github-nickvergessen/ticket/12710' into develop-ascraeus
* github-nickvergessen/ticket/12710:
  [ticket/12710] Fix missing closing bracket
  [ticket/12710] Prefix column so it does not start with a number
  [ticket/12710] Pass the original column data to the create function
  [ticket/12710] Fix foreach generation
  [ticket/12710] Compare to uppercase version
  [ticket/12710] Do not try to match the uniqueness in the query
  [ticket/12710] Remove table_name from index_name before deleting and recreating them
  [ticket/12710] Can not use upper in oracles where claus
  [ticket/12710] Correctly select index name and compare to column name
  [ticket/12710] Fix "ORA-00972: identifier is too long [972]" on oracle
  [ticket/12710] Fix problems with creating unique indexes on oracle
  [ticket/12710] Correctly fetch unique and normal indexes only in MSSQL
  [ticket/12710] Fix changing the column type on oracle
  [ticket/12710] Prepare get_existing_indexes() for other DBMS
2014-08-09 15:40:46 +02:00
Andreas Fischer
0a6fdbe636 [ticket/12948] Remove no longer needed opcache workaround. Travis has 5.5.15.
PHPBB3-12948
2014-08-09 15:24:21 +02:00
Nils Adermann
051466106a Merge remote-tracking branch 'github-nicofuma/ticket/12693' into develop-ascraeus
* github-nicofuma/ticket/12693:
  [ticket/12693] Fix composer.phar path
  [ticket/12693] The files skipped list can not be empty
  [ticket/12693] Force the composer.phar to be executable
  [ticket/12693] All the files in bin/ must be executable
  [ticket/12693] Expand manually the wildcard
  [ticket/12693] Fix the query for bin/*
  [ticket/12693] Extract exceptions, bin/* must be executable
  [ticket/12693] Remove the executable bit on icon_print.gif
  [ticket/12693] Check the persmissions of the owner
  [ticket/12693] Check if the are executable and not if they are 644
  [ticket/12693] Fix the permissions
  [ticket/12693] Check if the files have the right 644
  [ticket/12693] Fix indentation
  [ticket/12693] Add a travis test that checks file permissions
2014-08-09 15:19:27 +02:00
Joas Schilling
f87831aee5 [ticket/12710] Fix missing closing bracket
PHPBB3-12710
2014-08-09 15:04:49 +02:00
Geolim4
635cde218c [ticket/12671] Possibility to use NOT LIKE expression
PHPBB3-12671
2014-08-09 15:04:39 +02:00
Joas Schilling
0806c74084 [ticket/12710] Prefix column so it does not start with a number
PHPBB3-12710
2014-08-09 14:42:31 +02:00
Joas Schilling
ef9360d285 [ticket/12710] Pass the original column data to the create function
PHPBB3-12710
2014-08-09 14:42:28 +02:00
Joas Schilling
37a1874782 [ticket/12710] Fix foreach generation
PHPBB3-12710
2014-08-09 14:41:25 +02:00
Joas Schilling
c8e7db60ba [ticket/12710] Compare to uppercase version
PHPBB3-12710
2014-08-09 13:34:22 +02:00
Geolim4
4c06467777 [ticket/12671] Possibility to use NOT LIKE expression
PHPBB3-12671
2014-08-09 13:19:03 +02:00
Joas Schilling
f03a003bea [ticket/12710] Do not try to match the uniqueness in the query
PHPBB3-12710
2014-08-09 13:14:08 +02:00
Marc Alexander
20b8ea947c Merge pull request #2833 from Geolim4/ticket/11520
[ticket/11520] Re-adjust userpost count on topic fork
2014-08-09 13:00:34 +02:00
Joas Schilling
7d44995f16 [ticket/12710] Remove table_name from index_name before deleting and recreating them
PHPBB3-12710
2014-08-09 12:53:15 +02:00
Marc Alexander
0de1d65804 [ticket/12742] Remove unneeded sort of users
It doesn't matter which user will get the notification first so we shouldn't
sort the users array.

PHPBB3-12742
2014-08-09 12:49:32 +02:00
Joas Schilling
078c68da63 [ticket/12710] Can not use upper in oracles where claus
PHPBB3-12710
2014-08-09 12:46:59 +02:00
Marc Alexander
6a13f983a4 [ticket/12742] Replace authenticated with authorised
PHPBB3-12742
2014-08-09 12:42:14 +02:00
brunoais
468f92261a [ticket/12929] core.ucp_pm_compose_compose_pm_basic_info_query_before
Adding the core.ucp_pm_compose_compose_pm_basic_info_query_before
event to mcp backend.

PHPBB3-12929
2014-08-09 11:18:45 +01:00
Dhruv Goel
1351a1fe80 Merge pull request #2843 from bantu/ticket/12940
[ticket/12940] Remove unused use statements.
2014-08-09 12:14:57 +02:00
Andreas Fischer
336d7cd41a [ticket/12940] Remove unused use statements.
PHPBB3-12940
2014-08-09 12:04:30 +02:00
Joas Schilling
7a016572bd Merge pull request #2724 from VSEphpbb/ticket/12841
[ticket/12841] Allow extensions to position new config vars

* VSEphpbb/ticket/12841:
  [ticket/12841] Make config position default to after
  [ticket/12841] Update comments in tests making after default
  [ticket/12841] prefix function name with phpbb_
  [ticket/12841] Add a tests for the new function
  [ticket/12841] Fix white space issues reported by sniffer
  [ticket/12841] Allow extensions to position new config vars
2014-08-09 11:43:56 +02:00
Joas Schilling
12eb993d23 [ticket/12710] Correctly select index name and compare to column name
PHPBB3-12710
2014-08-09 08:54:40 +02:00
Joas Schilling
4e4ea681be [ticket/12710] Fix "ORA-00972: identifier is too long [972]" on oracle
PHPBB3-12710
2014-08-09 08:33:15 +02:00
Joas Schilling
cdcfd1fe1e [ticket/12710] Fix problems with creating unique indexes on oracle
PHPBB3-12710
2014-08-09 08:28:44 +02:00
Joas Schilling
96fc29eecc [ticket/12710] Correctly fetch unique and normal indexes only in MSSQL
PHPBB3-12710
2014-08-09 08:27:10 +02:00
Marc Alexander
deaa0a8c75 Merge pull request #2841 from nickvergessen/ticket/security-155
[ticket/security-155] Cast the types of string values in the controller routes
2014-08-09 01:46:39 +02:00
Joas Schilling
e6f43f5974 [ticket/security-155] Fix spelling error in comment
SECURITY-155
2014-08-09 01:45:26 +02:00
Geolim4
01943adbf7 [ticket/12671] Possibility to use NOT LIKE expression
PHPBB3-12671
2014-08-08 18:32:17 +02:00
Nils Adermann
13ccb352ce Merge remote-tracking branch 'github-bantu/ticket/12937' into develop-ascraeus
* github-bantu/ticket/12937:
  [ticket/12937] Do not return false. Return null for get and array() for all.
2014-08-08 17:23:07 +02:00
brunoais
6fafa40d93 [ticket/12930] core.ucp_pm_compose_compose_pm_quotepost_query_after
Adding the core.ucp_pm_compose_compose_pm_quotepost_query_after
event to ucp backend.

PHPBB3-12930
2014-08-08 16:20:51 +01:00
Joas Schilling
558aff46cd [ticket/security-155] Cast the types of string values in the controller routes
SECURITY-155
2014-08-08 17:15:01 +02:00
Geolim4
3825aee130 [ticket/11520] Re-adjust userpost count on topic fork
PHPBB3-11520
2014-08-08 17:07:29 +02:00
Geolim4
af67bd3ea5 [ticket/11520] Coding guideline compliance
PHPBB3-11520
2014-08-08 17:07:16 +02:00
Marc Alexander
a6b275de5c [ticket/12794] Properly validate google+ field against valid character set
PHPBB3-12794
2014-08-08 17:06:01 +02:00
Geolim4
fc1e420a7c [ticket/11520] Re-adjust userpost count on topic fork
PHPBB3-11520
2014-08-08 17:05:40 +02:00
Marc Alexander
cccd54dde8 [ticket/12742] Add check for empty $users and add method to fitting methods
The method might now return an empty array in case of an empty users array,
too. The notification types then check if the returned array is empty and
return this if it is empty and if the notification types would otherwise
carry out other operations afterwards.

PHPBB3-12742
2014-08-08 16:54:23 +02:00
Marc Alexander
80788980aa [ticket/12742] Add method for getting authenticated recipients
PHPBB3-12742
2014-08-08 16:43:31 +02:00
Geolim4
6b60153ab4 [ticket/12671] Possibility to use NOT LIKE expression
PHPBB3-12671
2014-08-08 16:40:33 +02:00
Andreas Fischer
f6da266109 Merge pull request #2822 from marc1706/ticket/12886
[ticket/12886] Remove obsolete check for f_user_lock

* marc1706/ticket/12886:
  [ticket/12886] Remove obsolete check for f_user_lock
2014-08-08 16:11:47 +02:00
Joas Schilling
0465e9d1b9 Merge pull request #2838 from dhruvgoel92/ticket/12738
[ticket/12738] Pass $this->config in content_visibility constructor

* dhruvgoel92/ticket/12738:
  [ticket/12738] Pass $this->config in content_visibility constructor
2014-08-08 16:05:55 +02:00
Andreas Fischer
42c26cd781 Merge pull request #2832 from marc1706/ticket/10404
[ticket/10404] Use anonymous function instead of create_function in acp/auth

* marc1706/ticket/10404:
  [ticket/10404] Fix codesniffer complaint about anonymous function
  [ticket/10404] Use anonymous function instead of create_function in acp/auth
2014-08-08 16:03:24 +02:00
Andreas Fischer
50fcd70428 Merge pull request #2815 from dhruvgoel92/ticket/12778
[ticket/12778] Automatically delete files on update

* dhruvgoel92/ticket/12778:
  [ticket/12778] Rename the file to *.bak instead of deleting
  [ticket/12778] Automatically delete files on update
2014-08-08 16:01:42 +02:00
Dhruv
fcb57edd06 [ticket/12738] Pass $this->config in content_visibility constructor
PHPBB3-12738
2014-08-08 15:54:42 +02:00
Andreas Fischer
c5f0c1aa8e [ticket/12937] Do not return false. Return null for get and array() for all.
PHPBB3-12937
2014-08-08 15:29:34 +02:00
Nils Adermann
44a0f43062 Merge remote-tracking branch 'github-nicofuma/ticket/12789' into develop-ascraeus
* github-nicofuma/ticket/12789:
  [ticket/12789] Move duplicated functions to the base class
  [ticket/12789] Remove the directories in \phpbb\cache\driver\memory::purge()
2014-08-08 15:04:01 +02:00
Joas Schilling
96e9d728b9 Merge pull request #2824 from brunoais/ticket/12927
[ticket/12927] core.mcp_queue_get_posts2_query_before

* brunoais/ticket/12927:
  [ticket/12927] core.mcp_queue_get_posts2_query_before
2014-08-08 14:52:35 +02:00
Tristan Darricau
e07e9f6cee [ticket/12789] Move duplicated functions to the base class
PHPBB3-12789
2014-08-08 14:49:12 +02:00
Tristan Darricau
e7251252ce [ticket/12789] Remove the directories in \phpbb\cache\driver\memory::purge()
PHPBB3-12789
2014-08-08 14:37:18 +02:00
Joas Schilling
53247573c2 Merge pull request #2764 from brunoais/ticket/12880
[ticket/12880] core.mcp_queue_!is_topics_query_before

* brunoais/ticket/12880:
  [ticket/12880] core.mcp_queue_!is_topics_query_before
2014-08-08 14:35:53 +02:00
Joas Schilling
bef9d64179 Merge pull request #2762 from brunoais/ticket/12876
[ticket/12876] core.mcp_mcp_front.mcp_front_view_queue_postid_list_after

* brunoais/ticket/12876:
  [ticket/12876] core.mcp_mcp_front.mcp_front_view_queue_postid_list_after
2014-08-08 14:32:55 +02:00
brunoais
621f940805 [ticket/12928] core.mcp_reports_gather_query_before
Adding the core.mcp_reports_gather_query_before
event to mcp backend.

PHPBB3-12928
2014-08-08 13:10:59 +01:00
Marc Alexander
27f769e461 [ticket/10404] Fix codesniffer complaint about anonymous function
PHPBB3-10404
2014-08-08 14:01:04 +02:00
Cesar G
ad97ad07f8 Merge remote-tracking branch 'PayBas/ticket/12535' into develop-ascraeus
* PayBas/ticket/12535:
  [ticket/12535] Combine inner clearing CSS rules
  [ticket/12535] Update events.md to RC3
  [ticket/12535] Add events to subsilver2
  [ticket/12535] Make <a> adjust to the image width
2014-08-08 13:46:58 +02:00
Cesar G
f1b1bd0de9 Merge remote-tracking branch 'marc1706/ticket/12744' into develop-ascraeus
* marc1706/ticket/12744:
  [ticket/12744] Fix additional height of one line in header in rtl languages
2014-08-08 13:41:37 +02:00
Marc Alexander
20f8fd4af2 [ticket/12744] Fix additional height of one line in header in rtl languages
PHPBB3-12744
2014-08-08 13:26:11 +02:00
Marc Alexander
c5d72c94f1 [ticket/10404] Use anonymous function instead of create_function in acp/auth
PHPBB3-10404
2014-08-08 12:19:36 +02:00
Marc Alexander
70978e96d3 [ticket/12822] Fix test runs of avatar manager_test
PHPBB3-12822
2014-08-08 12:01:29 +02:00
brunoais
0679f76287 [ticket/12927] core.mcp_queue_get_posts2_query_before
Adding the core.mcp_queue_get_posts2_query_before
event to mcp backend.

PHPBB3-12927
2014-08-08 10:52:08 +01:00
Dhruv
15afaafcb6 [ticket/12718] Use a separate variable for sql query
PHPBB3-12718
2014-08-08 00:18:50 +02:00
Dhruv
6d399c7d6a [ticket/12718] Fix spacing and type casting
PHPBB3-12718
2014-08-07 23:47:32 +02:00
Dhruv
833ba11113 [ticket/12718] Fix docblocks
PHPBB3-12718
2014-08-07 23:46:12 +02:00
Marc Alexander
e4e7a8f849 Merge pull request #2829 from nickvergessen/ticket/12853
[ticket/12853] Hide moderator link if it is really necessary
2014-08-07 23:37:35 +02:00
Joas Schilling
9ed71d523a [ticket/12853] Hide moderator link if it is really necessary
PHPBB3-12853
2014-08-07 23:27:56 +02:00
Marc Alexander
98c98e52eb [ticket/12886] Remove obsolete check for f_user_lock
The user shouldn't be able to unlock his own topic if he doesn't have m_lock
permissions. Also, the check for f_user_lock was never going to evaluate to
true due to the topic not being unlocked making it obsolete anyway.

PHPBB3-12886
2014-08-07 23:10:14 +02:00
Joas Schilling
b39305b9f6 [ticket/12710] Fix changing the column type on oracle
PHPBB3-12710
2014-08-07 19:45:34 +02:00
brunoais
1f5f2327e8 [ticket/12876] core.mcp_mcp_front.mcp_front_view_queue_postid_list_after
Adding the core.mcp_mcp_front.mcp_front_view_queue_topicid_list_after
event to mcp backend.

PHPBB3-12876
2014-08-07 18:37:07 +01:00
brunoais
50cc81afa3 [ticket/12880] core.mcp_queue_!is_topics_query_before
Adding core.mcp_queue_is_topics_query_before

PHPBB3-12880
2014-08-07 18:33:37 +01:00
Joas Schilling
339bf90ec2 [ticket/12710] Prepare get_existing_indexes() for other DBMS
PHPBB3-12710
2014-08-07 18:43:48 +02:00
Dhruv
4c2b4b4145 [ticket/12718] Add tests to check user_posts on post deletion
PHPBB3-12718
2014-08-07 18:36:50 +02:00
Andreas Fischer
8d8d54aac7 Merge pull request #2816 from n-aleha/ticket/12922
[ticket/12922] Posts per page in MCP should have a min value of zero

* n-aleha/ticket/12922:
  [ticket/12922] Subsilver2 fix
  [ticket/12922] Posts per page in MCP should have a min value of zero
2014-08-07 18:23:46 +02:00
PayBas
e6dec0348a [ticket/12535] Combine inner clearing CSS rules
PHPBB3-12535
2014-08-07 18:23:01 +02:00
PayBas
dda853b896 [ticket/12535] Update events.md to RC3
PHPBB3-12535
2014-08-07 18:08:50 +02:00
PayBas
e28abe0db2 [ticket/12535] Add events to subsilver2
Forgot subsilver... yet again

PHPBB3-12535
2014-08-07 18:08:48 +02:00
PayBas
5fedcf0fa8 [ticket/12535] Make <a> adjust to the image width
PHPBB3-12535
2014-08-07 18:08:46 +02:00
Dhruv Goel
ba2c40cde9 Merge pull request #2821 from bantu/ticket/12903
[ticket/12903] Remove dead phpbb\extension\metadata_manager::_validate_version
2014-08-07 18:01:11 +02:00
jeroendedauw
f6f6657842 [ticket/12903] Remove dead phpbb\extension\metadata_manager::_validate_version
PHPBB3-12903
2014-08-07 17:52:59 +02:00
Marc Alexander
a8dee3fb65 Merge pull request #2810 from nickvergessen/ticket/12919
[ticket/12919] Use the modules basename as identifier for extension modules
2014-08-07 17:36:19 +02:00
Marc Alexander
e0c2013bb9 [ticket/12822] Add method for deleting avatars and use confirm_box
The method will take care of the actual deletion process in the avatar manager.
Additionally, we'll be using a confirm box while deleting the avatar to prevent
users from accidentally deleting their avatars.

PHPBB3-12822
2014-08-07 17:29:33 +02:00
Marc Alexander
4f23bb711c [ticket/12822] Remove "None" option from avatar select boxes
This option is just used for deleting avatars for which we already have
a checkbox.

PHPBB3-12822
2014-08-07 17:28:21 +02:00
Dhruv
340bea63b6 [ticket/12718] Update docblock
PHPBB3-12718
2014-08-07 17:19:28 +02:00
Dhruv
17e360225d [ticket/12718] Use remove_topic_from_statistic() for delete_topic
PHPBB3-12718
2014-08-07 17:19:14 +02:00
PayBas
802232c907 [ticket/12506] Fix search result h3 margin
There are no buttons present, so don't need to do all this stuff.

PHPBB3-12506
2014-08-07 17:13:22 +02:00
PayBas
3522808528 [ticket/12506] Fix responsive profile min-height (no avatar)
PHPBB3-12506
2014-08-07 17:13:20 +02:00
PayBas
09e45fee89 [ticket/12506] Reposition buttons to make room for "online" banner
PHPBB3-12506
2014-08-07 17:13:18 +02:00
PayBas
64dfb3fba9 [ticket/12506] Reposition post-buttons for compact layout
PHPBB3-12506
2014-08-07 17:13:17 +02:00
Dhruv
5488541640 [ticket/12778] Rename the file to *.bak instead of deleting
PHPBB3-12778
2014-08-07 16:52:49 +02:00
Joas Schilling
9b36b5283c Merge pull request #2761 from Nicofuma/ticket/12873
[ticket/12873] Test the correct identifier in \phpbb\db\tools

* Nicofuma/ticket/12873:
  [ticket/12873] Add migration to rename the index
  [ticket/12873] Don not touch the existing migrations
  [ticket/12873] Test the good identifier in \phpbb\db\tools
2014-08-07 16:49:37 +02:00
Tristan Darricau
ab8a197e92 Merge pull request #2623 from dhruvgoel92/ticket/12738
[ticket/12738] Move related code from functions_posting to function

* dhruvgoel92/ticket/12738:
  [ticket/12738] Update constructor docblock
  [ticket/12738] Add $config to constructor in notification test
  [ticket/12738] Fix tests with new config object injection
  [ticket/12738] Inject config object into content_visibility class
  [ticket/11528] Move related code from functions_posting to function
2014-08-07 16:44:49 +02:00
Cesar G
742133f6dc [ticket/12809] Restore text-align for the pagination.
PHPBB3-12809
2014-08-07 16:40:09 +02:00
Cesar G
cf4fb73440 [ticket/12809] Remove obsolete rules and selector.
PHPBB3-12809
2014-08-07 16:40:09 +02:00
Cesar G
42afa369a0 [ticket/12809] Fix select button and dropdown list items in RTL.
PHPBB3-12809
2014-08-07 16:40:09 +02:00
Nils Adermann
778483d070 Merge remote-tracking branch 'github-nickvergessen/ticket/12776' into develop-ascraeus
* github-nickvergessen/ticket/12776:
  [ticket/12776] Add section about 3.0.x to 3.1.x update to INSTALL.html
2014-08-07 16:25:53 +02:00
Joas Schilling
a2b6f4e166 Merge pull request #2812 from bantu/ticket/12826
[ticket/12826] Add root namespace indicator to exception catching.

* bantu/ticket/12826:
  [ticket/12826] Add optional root namespace indicator for consistency.
  [ticket/12826] Add mandatory root namespace indicator to exception catching.
2014-08-07 16:24:41 +02:00
Cesar G
3b7ab23e29 Merge remote-tracking branch 'PayBas/ticket/12832' into develop-ascraeus
* PayBas/ticket/12832:
  [ticket/12832] Remove old .quick-links icon reference
  [ticket/12832] Remove unnecessary attr and classes
  [ticket/12832] Add footer links to quick-links
  [ticket/12832] Make .small-icon styling uniform
2014-08-07 16:20:37 +02:00
Joas Schilling
0194c261c3 Merge pull request #2720 from PayBas/ticket/12838
[ticket/12838] Add ACP events to acp_ranks

* PayBas/ticket/12838:
  [ticket/12838] Simplify normal special rank array creation
  [ticket/12838] Update RC2 to RC3
  [ticket/12838] Update events.md to RC3
  [ticket/12838] Allow for extra columns in cache obtain_ranks()
  [ticket/12838] Add raw row-data to acp_ranks core event
  [ticket/12838] Simplify special rank template conditional
  [ticket/12838] Add core events to acp_ranks.php
  [ticket/12838] Update events.md
  [ticket/12838] Add _before versions
  [ticket/12838] Add template events to acp_ranks.html
2014-08-07 16:13:35 +02:00
n-aleha
035f84d2da [ticket/12922] Subsilver2 fix
PHPBB3-12922
2014-08-07 17:10:32 +03:00
Joas Schilling
6bb71e2ca9 Merge pull request #2813 from naderman/ticket/12920
[ticket/12920] Add composer.json to phpBB/phpbb and fix the one in phpBB/

* naderman/ticket/12920:
  [ticket/12920] Add missing comma
  [ticket/12920] Update composer.lock file after update nothing
  [ticket/12920] Fix sh syntax error in post-update-cmd script
  [ticket/12920] Remove incorrect @ from self.version reference in composer.json
  [ticket/12920] Output warning message about vendor cleaning target
  [ticket/12920] Turn phpBB composer.json into publishable full version
  [ticket/12920] Add require for minimum php version
  [ticket/12920] Add composer.json for phpbb/phpbb-core library
2014-08-07 16:09:51 +02:00
n-aleha
98155a945f [ticket/12922] Posts per page in MCP should have a min value of zero
In order to allow displaying the whole topic in MCP=>Main=>View topic,
the min value in the html input field must be 0.

PHPBB3-12922
2014-08-07 17:08:33 +03:00
Joas Schilling
f1d3d87d47 [ticket/12776] Add section about 3.0.x to 3.1.x update to INSTALL.html
PHPBB3-12776
2014-08-07 16:06:44 +02:00
Dhruv
07a92d29df [ticket/12778] Automatically delete files on update
PHPBB3-12778
2014-08-07 15:49:41 +02:00
Nils Adermann
be04b6c136 [ticket/12920] Add missing comma
PHPBB3-12920
2014-08-07 15:44:36 +02:00
Nils Adermann
b9fb4e3050 [ticket/12920] Update composer.lock file after update nothing
PHPBB3-12920
2014-08-07 15:43:44 +02:00
Nils Adermann
9f3e678117 [ticket/12920] Fix sh syntax error in post-update-cmd script
PHPBB3-12920
2014-08-07 15:40:57 +02:00
Nils Adermann
9e282b8d4d [ticket/12920] Remove incorrect @ from self.version reference in composer.json
PHPBB3-12920
2014-08-07 15:38:04 +02:00
Nils Adermann
e0b7a3e9ff [ticket/12920] Output warning message about vendor cleaning target
PHPBB3-12920
2014-08-07 15:37:13 +02:00
Joas Schilling
ef26a6fd64 Merge pull request #2811 from bantu/ticket/12918
[ticket/12918] Load class fileupload in fileupload_remote_test.php.

* bantu/ticket/12918:
  [ticket/12918] Load class fileupload in fileupload_remote_test.php.
2014-08-07 15:29:40 +02:00
Nils Adermann
c863136a69 [ticket/12920] Turn phpBB composer.json into publishable full version
PHPBB3-12920
2014-08-07 15:26:02 +02:00
Nils Adermann
200c6f2d32 [ticket/12920] Add require for minimum php version
PHPBB3-12920
2014-08-07 15:25:47 +02:00
Nils Adermann
3b3da3938d [ticket/12920] Add composer.json for phpbb/phpbb-core library
PHPBB3-12920
2014-08-07 15:16:58 +02:00
Marc Alexander
1304ccc02b Merge pull request #2763 from brunoais/ticket/12877
[ticket/12877] core.mcp_mcp_front_reports_listing_query_before
2014-08-07 15:09:18 +02:00
Andreas Fischer
aa88d48b37 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
2014-08-07 14:30:53 +02:00
Andreas Fischer
f8d2dd720f Merge pull request #2809 from nickvergessen/ticket/12917-asc
Ticket/12917 asc

* nickvergessen/ticket/12917-asc:
  [ticket/12917] Check commit message and image ICC profile on 5.3.3
2014-08-07 14:30:48 +02:00
Andreas Fischer
f01b602e9f Merge pull request #2808 from nickvergessen/ticket/12917
[ticket/12917] Check commit message and image ICC profile on 5.3.3

* nickvergessen/ticket/12917:
  [ticket/12917] Check commit message and image ICC profile on 5.3.3
2014-08-07 14:30:41 +02:00
Tristan Darricau
2b3e15cf64 [ticket/12873] Add migration to rename the index
PHPBB3-12873
2014-08-07 14:27:12 +02:00
Andreas Fischer
e523711ec2 [ticket/12826] Add optional root namespace indicator for consistency.
PHPBB3-12826
2014-08-07 14:25:53 +02:00
Andreas Fischer
cc1a713fd8 [ticket/12826] Add mandatory root namespace indicator to exception catching.
PHPBB3-12826
2014-08-07 14:24:38 +02:00
PayBas
d8d09e0df2 [ticket/12838] Simplify normal special rank array creation
PHPBB3-12838
2014-08-07 14:24:21 +02:00
Tristan Darricau
27b4ab9241 [ticket/12873] Don not touch the existing migrations
PHPBB3-12873
2014-08-07 14:16:57 +02:00
Andreas Fischer
714ac0b039 [ticket/12918] Load class fileupload in fileupload_remote_test.php.
PHPBB3-12918
2014-08-07 14:11:22 +02:00
Joas Schilling
f1419ab27e [ticket/12919] Use the modules basename as identifier for extension modules
PHPBB3-12919
2014-08-07 14:06:45 +02:00
Tristan Darricau
079f1e2f41 [ticket/12693] Fix composer.phar path
PHPBB3-12693
2014-08-07 14:00:43 +02:00
Joas Schilling
7cde9a8ec0 Merge branch 'ticket/12917' into ticket/12917-asc
* ticket/12917:
  [ticket/12917] Check commit message and image ICC profile on 5.3.3

Conflicts:
	.travis.yml
2014-08-07 13:43:13 +02:00
Joas Schilling
b700e871cf [ticket/12917] Check commit message and image ICC profile on 5.3.3
PHPBB3-12917
2014-08-07 13:40:31 +02:00
Joas Schilling
f474e33a43 Merge pull request #2729 from Nicofuma/ticket/12847
[ticket/12847] Allow the extensions to say if they can be enabled

* Nicofuma/ticket/12847:
  [ticket/12847] Allow the extensions to say if they can be enabled
2014-08-07 13:00:08 +02:00
Joas Schilling
2f44a865a0 Merge pull request #2477 from n-aleha/ticket/12557ascraeus
[ticket/12557] Fix doc block errors found by Sami for ascraeus

* n-aleha/ticket/12557ascraeus:
  [ticket/12557] Fix load active module description
  [ticket/12557] Fix php file description
  [ticket/12557] Fix post data description for notifications
  [ticket/12557] Fix pass by reference doc blocks
  [ticket/12557] Fix doc block in extension base class
  [ticket/12557] Fix doc block in mimetype guesser
  [ticket/12557] Fix var $preserve_cr description
  [ticket/12557] Fix doc block errors found by Sami
  [ticket/12557] Fix doc block errors found by Sami
  [ticket/12557] Fix doc block errors found by Sami
  [ticket/12557] Template fixes
  [ticket/12557] Search, cron and profilefields fixes
  [ticket/12557] Notification fixes
  [ticket/12557] Fix doc block errors found by Sami pt1
  [ticket/12557] Fix doc block errors found by Sami
  [ticket/12557] Fix doc block errors found by Sami
2014-08-07 12:43:45 +02:00
Joas Schilling
83544992ec Merge pull request #2644 from Nicofuma/ticket/12051
[ticket/12051] Optimise Composer Autoloader on Build

* Nicofuma/ticket/12051:
  [ticket/12051] Optimise Composer Autoloader on Build
2014-08-07 12:30:46 +02:00
n-aleha
cea0cfa6f8 [ticket/12557] Fix load active module description
PHPBB3-12557
2014-08-07 13:22:07 +03:00
n-aleha
8006746780 [ticket/12557] Fix php file description
PHPBB3-12557
2014-08-07 13:19:49 +03:00
Nils Adermann
b203b4afa1 Merge remote-tracking branch 'github-marc1706/ticket/11148' into develop-ascraeus
* github-marc1706/ticket/11148:
  [ticket/11148] Remove unneeded variable mimetype and use type octet-stream
  [ticket/11148] Change expected output with disallowed content in test
  [ticket/11148] Always use the output of the mimetype guesser in get_mimetype
  [ticket/11148] Get rid of extra line in mimetype guesser setter doc block
  [ticket/11148] Add missing parts to docblock of get_mimetype() method
  [ticket/11148] Default to application/octet-stream if no mimetype given
  [ticket/11148] Use mimetype guesser for uploaded avatars
  [ticket/11148] Pass mimetype guesser to upload_attachment() function
  [ticket/11148] Add mimetype guesser to filespec and fileupload class
2014-08-07 12:06:33 +02:00
n-aleha
9133b913ec [ticket/12557] Fix post data description for notifications
PHPBB3-12557
2014-08-07 13:03:11 +03:00
Joas Schilling
a8cb525f77 Merge pull request #2717 from Nicofuma/ticket/12836
[ticket/12836] Add event core.functions.redirect

* Nicofuma/ticket/12836:
  [ticket/12836] Add event core.functions.redirect
2014-08-07 11:47:37 +02:00
n-aleha
9d285bdcf5 [ticket/12557] Fix pass by reference doc blocks
PHPBB3-12557
2014-08-07 11:39:04 +03:00
Marc Alexander
decc896bf5 Merge pull request #2799 from nickvergessen/ticket/12901
Ticket/12901 Wrong type hint in show_available_child_styles() doc block
2014-08-06 23:42:04 +02:00
Marc Alexander
964bf0b9f5 Merge pull request #2807 from nickvergessen/ticket/12875
[ticket/12875] Find language files in the default and english language
2014-08-06 23:37:55 +02:00
Joas Schilling
ca11018760 Merge pull request #2798 from tmbackoff/ticket/12912
[ticket/12912] Undefined index when adding logs from extensions

* tmbackoff/ticket/12912:
  [ticket/12912] Undefined index when adding logs from extensions
2014-08-06 23:35:59 +02:00
Joas Schilling
0328bc38a4 Merge pull request #2795 from Dragooon/ticket/12910
[ticket/12910] Set get_name for Google+ fields

* Dragooon/ticket/12910:
  [ticket/12910] Set get_name for Google+ fields
2014-08-06 23:27:44 +02:00
Joas Schilling
243ca3ae82 Merge pull request #2806 from rxu/ticket/12913
[ticket/12913] Add more parameters to core.submit_post_end event

* rxu/ticket/12913:
  [ticket/12913] Add more parameters to core.submit_post_end event
2014-08-06 23:14:06 +02:00
Joas Schilling
591d04157e [ticket/12875] Find language files in the default and english language ...
... when looking for info_xcp_ files.

PHPBB3-12875
2014-08-06 23:04:33 +02:00
n-aleha
e6d6977750 [ticket/12557] Fix doc block in extension base class
PHPBB3-12557
2014-08-06 15:34:42 +03:00
rxu
a9c3c4056c [ticket/12913] Add more parameters to core.submit_post_end event
As @event core.modify_submit_post_data can modify any of the
function submit_post parameters, they may be needed to perform
actions directly after a post or topic has been submitted in
@event core.submit_post_end (includes/functions_posting.php).

PHPBB3-12913
2014-08-06 15:48:26 +08:00
Tristan Darricau
f3f54922be [ticket/12836] Add event core.functions.redirect
PHPBB3-12836
2014-08-04 10:19:32 +02:00
Joas Schilling
7755f5354f [ticket/12901] Fix another wrong type hint for $level
PHPBB3-12901
2014-08-03 22:42:17 +02:00
jeroendedauw
1d923260a6 [ticket/12901] Fix type hinting of style $level
PHPBB3-12901
2014-08-03 22:42:16 +02:00
Andreas Fischer
eb872c36d8 Merge pull request #2796 from bantu/ticket/12906
[ticket/12906] Add rel="help" to FAQ link

* bantu/ticket/12906:
  [ticket/12906] Add rel="help" to FAQ link
2014-08-03 19:51:23 +02:00
Shitiz Garg
79cccebc6e [ticket/12910] Set get_name for Google+ fields
PHPBB3-12910
2014-08-03 23:20:53 +05:30
Tabitha Backoff
d5db09e888 [ticket/12912] Undefined index when adding logs from extensions
Add isset() to forum_id and topic_id.

PHPBB3-12912
2014-08-03 13:28:14 -04:00
Louis7777
89fc664227 [ticket/12906] Add rel="help" to FAQ link
PHPBB3-12906
2014-08-03 18:00:25 +02:00
Andreas Fischer
7beef6e142 Merge pull request #2793 from n-aleha/ticket/12909
[ticket/12909] Use correct lang vars in cli extension enable

* n-aleha/ticket/12909:
  [ticket/12909] Use correct lang vars in cli extension enable
2014-08-03 17:52:24 +02:00
Andreas Fischer
b20c6936bc Merge pull request #2792 from n-aleha/ticket/12908
[ticket/12908] Fix operator typo in increment.php

* n-aleha/ticket/12908:
  [ticket/12908] Fix operator typo in increment.php
2014-08-03 17:52:00 +02:00
n-aleha
752363b435 [ticket/12909] Use correct lang vars in cli extension enable
PHPBB3-12909
2014-08-03 09:53:18 +03:00
n-aleha
cf93b7e367 [ticket/12908] Fix operator typo in increment.php
PHPBB3-12908
2014-08-03 08:34:25 +03:00
n-aleha
2cc20fb977 [ticket/12557] Fix doc block in mimetype guesser
PHPBB3-12557
2014-08-03 07:13:21 +03:00
n-aleha
6d7689f581 [ticket/12557] Fix var $preserve_cr description
PHPBB3-12557
2014-08-03 07:13:21 +03:00
n-aleha
95ec9590df [ticket/12557] Fix doc block errors found by Sami
PHPBB3-12557
2014-08-03 07:13:20 +03:00
n-aleha
6ac8d17af6 [ticket/12557] Fix doc block errors found by Sami
More corrections.

PHPBB3-12557
2014-08-03 07:13:20 +03:00
n-aleha
c355b60c62 [ticket/12557] Fix doc block errors found by Sami
More corrections.

PHPBB3-12557
2014-08-03 07:13:20 +03:00
n-aleha
dfcbace621 [ticket/12557] Template fixes
PHPBB3-12557
2014-08-03 07:12:34 +03:00
n-aleha
8f2395857e [ticket/12557] Search, cron and profilefields fixes
PHPBB3-12557
2014-08-03 07:06:29 +03:00
n-aleha
f34bc924a6 [ticket/12557] Notification fixes
PHPBB3-12557
2014-08-03 07:03:08 +03:00
n-aleha
ffcf45abf3 [ticket/12557] Fix doc block errors found by Sami pt1
PHPBB3-12557
2014-08-03 07:03:08 +03:00
n-aleha
8ac8c9ec61 [ticket/12557] Fix doc block errors found by Sami
More corrections.

PHPBB3-12557
2014-08-03 06:57:05 +03:00
n-aleha
19b9df7e63 [ticket/12557] Fix doc block errors found by Sami
PHPBB3-12557
2014-08-03 06:57:05 +03:00
Joas Schilling
c991b1d587 Merge pull request #2782 from marc1706/ticket/12895
[ticket/12895] Rename user style setting to resolve conflict with style param

* marc1706/ticket/12895:
  [ticket/12895] Rename user style setting to resolve conflict with style param
2014-08-02 13:56:16 +02:00
Joas Schilling
66f859d109 Merge branch 'ticket/JeroenDeDauw/12902' into develop-ascraeus
* ticket/JeroenDeDauw/12902:
  [ticket/12902] Remove duplicate entry in switch statement
2014-08-02 13:46:13 +02:00
jeroendedauw
626234aece [ticket/12902] Remove duplicate entry in switch statement
PHPBB3-12902
2014-08-02 13:44:51 +02:00
Marc Alexander
ce2c31d18a Merge remote-tracking branch 'brunoais/ticket/12801' into develop-ascraeus 2014-08-01 23:31:31 +02:00
Marc Alexander
5b2e962934 Merge remote-tracking branch 'brunoais/ticket/12800' into develop-ascraeus 2014-08-01 23:27:55 +02:00
omniError
a7794b765c [ticket/12831] Optn to prevent setting HTTP headers
https://tracker.phpbb.com/browse/PHPBB3-12831

PHPBB3-12831
2014-08-01 15:27:17 -05:00
Joas Schilling
50d10c4efd Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
2014-08-01 22:23:53 +02:00
Joas Schilling
6ced579ab3 Merge pull request #2784 from Nicofuma/ticket/11480-ascraeus
[ticket/11480-ascraeus] PM : "Unknown folder" returned when inbox folder is full

* Nicofuma/ticket/11480-ascraeus:
  [ticket/11480] Header file
  [ticket/11480] Fix unit tests
  [ticket/11480] Move the test into get_folder()
  [ticket/11480] Fix the double spaces in phpbb_functional_test_case
  [ticket/11480] Fix typos
  [ticket/11480] Add functionnal test
  [ticket/11480] PM : "Unknown folder" returned when inbox folder is full
2014-08-01 22:23:36 +02:00
Joas Schilling
122898d221 Merge pull request #2350 from Nicofuma/ticket/11480
[ticket/11480] PM : "Unknown folder" returned when inbox folder is full

* Nicofuma/ticket/11480:
  [ticket/11480] Move the test into get_folder()
  [ticket/11480] Fix the double spaces in phpbb_functional_test_case
  [ticket/11480] Fix typos
  [ticket/11480] Add functionnal test
  [ticket/11480] PM : "Unknown folder" returned when inbox folder is full
2014-08-01 22:17:17 +02:00
brunoais
47bfe2999d [ticket/12801] Changed name change @since as requested
Changed name to core.load_drafts_draft_list_result as requested

Changed @since to 3.1.0-RC3 because RC2 is already out.

PHPBB3-12801
2014-08-01 11:12:29 +01:00
brunoais
25826fa587 [ticket/12880] Changed name change @since as requested
Changed name to core.display_user_activity_modify_actives as requested

Changed @since to 3.1.0-RC3 because RC2 is already out.

PHPBB3-12880
2014-08-01 11:09:26 +01:00
Marc Alexander
89557f5cac Merge remote-tracking branch 'VSE/ticket/12864' into develop-ascraeus 2014-07-31 21:39:48 +02:00
Tristan Darricau
cd0dad8951 [ticket/11480] Header file
PHPBB3-11480
2014-07-31 15:36:58 +02:00
Tristan Darricau
67d19920c4 [ticket/11480] Fix unit tests
PHPBB3-11480
2014-07-31 15:36:42 +02:00
Tristan Darricau
4328141fd2 [ticket/12693] The files skipped list can not be empty
PHPBB3-12693
2014-07-31 14:20:48 +02:00
Tristan Darricau
92106d52d0 [ticket/12693] Force the composer.phar to be executable
PHPBB3-12693
2014-07-31 14:20:46 +02:00
Tristan Darricau
5739a3da8f [ticket/12693] All the files in bin/ must be executable
PHPBB3-12693
2014-07-31 14:20:45 +02:00
Tristan Darricau
d284675241 [ticket/12693] Expand manually the wildcard
PHPBB3-12693
2014-07-31 14:20:44 +02:00
Tristan Darricau
6081175857 [ticket/12693] Fix the query for bin/*
PHPBB3-12693
2014-07-31 14:20:42 +02:00
Tristan Darricau
ffcc1e9d94 [ticket/12693] Extract exceptions, bin/* must be executable
PHPBB3-12693
2014-07-31 14:20:41 +02:00
Tristan Darricau
ae9c1cddc8 [ticket/12693] Remove the executable bit on icon_print.gif
PHPBB3-12693
2014-07-31 14:20:40 +02:00
Tristan Darricau
949264507d [ticket/12693] Check the persmissions of the owner
PHPBB3-12693
2014-07-31 14:20:38 +02:00
Tristan Darricau
30e13a429c [ticket/12693] Check if the are executable and not if they are 644
PHPBB3-12693
2014-07-31 14:20:37 +02:00
Tristan Darricau
f394f55fe2 [ticket/12693] Fix the permissions
PHPBB3-12693
2014-07-31 14:20:36 +02:00
Tristan Darricau
636eac2cd2 [ticket/12693] Check if the files have the right 644
And not only if they are executable.

PHPBB3-12693
2014-07-31 14:20:34 +02:00
Tristan Darricau
18207ae1ec [ticket/12693] Fix indentation
PHPBB3-12693
2014-07-31 14:20:33 +02:00
Tristan Darricau
a6f43d09d7 [ticket/12693] Add a travis test that checks file permissions
PHPBB3-12693
2014-07-31 14:20:32 +02:00
Joas Schilling
f4fc1bde03 Merge pull request #2767 from Nicofuma/ticket/12882
[ticket/12882] Update search_type when it's not prefixed by phpbb_search

* Nicofuma/ticket/12882:
  [ticket/12882] Use a new migration
  [ticket/12882] Update search_type when it's not prefixed by phpbb_search
2014-07-31 14:03:23 +02:00
Tristan Darricau
702d567c69 Merge branch 'ticket/11480' into ticket/11480-ascraeus
* ticket/11480:
  [ticket/11480] Move the test into get_folder()
  [ticket/11480] Fix the double spaces in phpbb_functional_test_case
  [ticket/11480] Fix typos
  [ticket/11480] Add functionnal test
  [ticket/11480] PM : "Unknown folder" returned when inbox folder is full

Conflicts:
	tests/test_framework/phpbb_functional_test_case.php
2014-07-30 21:01:05 +02:00
hanakin
913b363126 [ticket/12862] Resize popups consistently
PHPBB3-12862
2014-07-30 17:48:23 +02:00
Tristan Darricau
8bdfda723c [ticket/11480] Move the test into get_folder()
PHPBB3-11480
2014-07-30 15:28:02 +02:00
Joas Schilling
6d39a5b015 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12492] Add support of special chars
2014-07-30 15:01:16 +02:00
Joas Schilling
9a3af2a052 Merge pull request #2425 from Zoddo/ticket/12492
[ticket/12492] Add support of special chars

* Zoddo/ticket/12492:
  [ticket/12492] Add support of special chars
2014-07-30 15:00:32 +02:00
hanakin
d6c772f15c [ticket/12862] Add Border
PHPBB3-12862
2014-07-29 18:40:30 +02:00
Marc Alexander
98eeaacc36 [ticket/12895] Rename user style setting to resolve conflict with style param
The style URL parameter, i.e. style=1, will conflict with the user's style
setting due to it also being named style. This patch with solve this conflict.

PHPBB3-12895
2014-07-29 13:24:44 +02:00
Matt Friedman
ced76b5f4d [ticket/12841] Make config position default to after
PHPBB3-12841
2014-07-28 22:27:01 -05:00
Andreas Fischer
e992eab4c3 Merge pull request #2780 from Nicofuma/ticket/12870
[ticket/12870] phpbbcli.php db:migrate can not update from 3.0.12 to 3.1

* Nicofuma/ticket/12870:
  [ticket/12870] Add doc block
  [ticket/12870] Create the migrations table with a method in the migrator
  [ticket/12870] Add $config['version'] in phpbb_extension_manager_test
  [ticket/12870] Create the migrations table in db:migrate
2014-07-28 18:13:44 +02:00
Marc Alexander
d8867bb40d Merge remote-tracking branch 'nickvergessen/ticket/12891' into develop-ascraeus 2014-07-28 16:44:37 +02:00
Marc Alexander
63c938c703 Merge remote-tracking branch 'Nicofuma/ticket/12898' into develop-ascraeus 2014-07-28 16:32:27 +02:00
Tristan Darricau
ae350bda42 [ticket/12870] Add doc block
PHPBB3-12870
2014-07-28 15:17:19 +02:00
Tristan Darricau
f86bfeb3a1 [ticket/12898] Call garbage_collection() at the end of cron.php
PHPBB3-12898
2014-07-28 14:45:39 +02:00
Andreas Fischer
52e8a7231e Merge pull request #2772 from dhruvgoel92/ticket/12656
[ticket/12656] Translate existing CLI commands

* dhruvgoel92/ticket/12656:
  [ticket/12656] Fix typo for "purged extension"
  [ticket/12656] Fix syntax in language file
  [ticket/12656] Fix typo
  [ticket/12656] Use utf8 ’ instead of escaping '
  [ticket/12656] Use lang keys for all CLI strings
  [ticket/12656] Use lang keys for CLI command descriptions
2014-07-28 14:45:33 +02:00
Matt Friedman
6576e0eb88 [ticket/12841] Update comments in tests making after default
PHPBB3-12841
2014-07-27 23:03:43 -05:00
Matt Friedman
4ce6811d2b [ticket/12864] Update event docs
PHPBB3-12864
2014-07-27 22:55:36 -05:00
Joas Schilling
3df41920f7 Merge pull request #2718 from lucifer4o/ticket/12793
[ticket/12793] String '0' does not display for string profile fields

* lucifer4o/ticket/12793:
  [ticket/12793] Tests (added and changed)
  [ticket/12793] Changing get_profile_contact_value to get_profile_value_raw
  [ticket/12793] String '0' does not display for string profile fields
2014-07-27 20:11:44 +02:00
Joas Schilling
8a6d3f2b1d Merge pull request #2719 from lucifer4o/ticket/12791
[ticket/12791] String profile fields do not use links ...

* lucifer4o/ticket/12791:
  [ticket/12791] Changed the if check
  [ticket/12791] String profile fields do not use links ...
2014-07-27 20:06:53 +02:00
Joas Schilling
e94f24c821 Merge branch 'ticket/sumanai/12843' into develop-ascraeus
* ticket/sumanai/12843:
  [ticket/12843] Fix Mark forums read browser console error
2014-07-27 19:51:38 +02:00
Sumanai
ab8400a616 [ticket/12843] Fix Mark forums read browser console error
When you click on "Mark forums read" in the browser console error occurs
ReferenceError: assignment to undeclared variable phpbbAlertTimer
ajax.js (line13)

PHPBB3-12843
2014-07-27 19:50:48 +02:00
Joas Schilling
e226c99474 Merge pull request #2769 from rxu/ticket/12884
[ticket/12884] Add core event to the function upload_attachment()

* rxu/ticket/12884:
  [ticket/12884] Add core event to the function upload_attachment()
2014-07-27 19:45:07 +02:00
Joas Schilling
64f2d778cd Merge branch 'ticket/forumhulp/12896' into develop-ascraeus
* ticket/forumhulp/12896:
  [ticket/12896] Add php event for admin notices
2014-07-27 19:41:56 +02:00
Forumhulp.com
5dcf56c98d [ticket/12896] Add php event for admin notices
PHPBB3-12896
2014-07-27 19:35:07 +02:00
Dhruv
8a046743bc [ticket/12656] Fix typo for "purged extension"
PHPBB3-12656
2014-07-27 14:56:12 +05:30
Tristan Darricau
a8e81b6e9f [ticket/12870] Create the migrations table with a method in the migrator
PHPBB3-12870
2014-07-27 11:08:13 +02:00
Andreas Fischer
a775bb082c Merge pull request #2768 from Nicofuma/ticket/12883
[ticket/12883] Do not use basename() to get the search class in tidy_search

* Nicofuma/ticket/12883:
  [ticket/12883] Remove pointless comments
  [ticket/12883] Do not use basename() to get the search class in tidy_search
2014-07-26 22:52:08 +02:00
Andreas Fischer
155f709e36 Merge pull request #2777 from Nicofuma/ticket/12881
[ticket/12881] Debug error - Undefined index: mark_time

* Nicofuma/ticket/12881:
  [ticket/12881] Checks earlier if server-side topic marking is enabled
2014-07-26 22:50:06 +02:00
Tristan Darricau
e4a829071e [ticket/12870] Add $config['version'] in phpbb_extension_manager_test
PHPBB3-12870
2014-07-26 12:08:35 +02:00
Tristan Darricau
8b8e09f4d5 [ticket/12870] Create the migrations table in db:migrate
PHPBB3-12870
2014-07-26 11:50:28 +02:00
Tristan Darricau
9d6ff36c6c Merge pull request #2779 from nickvergessen/ticket/12892
[ticket/12892] Do not set S_NUM_ROWS when adding a row to a template loop

* nickvergessen/ticket/12892:
  [ticket/12892] Do not set S_NUM_ROWS when adding a row to a template loop
2014-07-25 18:34:21 +02:00
Joas Schilling
831e9116ab [ticket/12892] Do not set S_NUM_ROWS when adding a row to a template loop
We do not set S_NUM_ROWS while adding a row, to reduce the complexity
If we would set it on adding, each subsequent adding would cause
n modifications, resulting in a O(n!) complexity, rather then O(n)

PHPBB3-12892
2014-07-25 17:48:53 +02:00
Joas Schilling
75aef80104 [ticket/12891] Replace template loops with 1 loop to reduce generation time
PHPBB3-12891
2014-07-25 13:27:49 +02:00
Tristan Darricau
d9a62a7333 [ticket/12881] Checks earlier if server-side topic marking is enabled
PHPBB3-12881
2014-07-25 00:22:46 +02:00
Matt Friedman
056584680b [ticket/12841] prefix function name with phpbb_
PHPBB3-12841
2014-07-24 07:44:35 -07:00
Dhruv Goel
8064d2931f Merge pull request #2773 from bantu/ticket/12887
[ticket/12887] Fix Typo: offest -> offset
2014-07-24 19:02:07 +05:30
Dhruv
ed9fb450de [ticket/12656] Fix syntax in language file
PHPBB3-12656
2014-07-24 18:56:52 +05:30
Marc Alexander
3cd7078900 Merge remote-tracking branch 'paybas/ticket/12857' into develop-ascraeus 2014-07-24 11:00:43 +02:00
Dhruv
6531856108 [ticket/12656] Fix typo
PHPBB3-12656
2014-07-24 01:12:40 +05:30
Dhruv
91b0e75cc7 [ticket/12656] Use utf8 ’ instead of escaping '
PHPBB3-12656
2014-07-24 01:08:31 +05:30
PayBas
1bd5edacb6 [ticket/12857] Add header/footer distinction for subsilver2 events
PHPBB3-12857
2014-07-23 16:09:12 +02:00
PayBas
5507c503b4 [ticket/12857] Clarify events.md on difference between PS and SS2 breadcrumbs
PHPBB3-12857
2014-07-23 10:37:44 +02:00
brunoais
a0feced63e [ticket/12877] core.mcp_mcp_front_reports_listing_query_before
Adding core.mcp_mcp_front_reports_listing_query_before

PHPBB3-12877
2014-07-23 07:20:20 +01:00
Andreas Fischer
b5c847c2ef [ticket/12887] Fix Typo: offest -> offset
PHPBB3-12887
2014-07-23 01:27:42 +02:00
Andreas Fischer
9e1802396f Merge pull request #2733 from n-aleha/ticket/12851
[ticket/12851] Fix the Font colour button title

* n-aleha/ticket/12851:
  [ticket/12851] Fix the Font colour button title
2014-07-23 01:12:18 +02:00
Tristan Darricau
3bf04d7152 [ticket/12883] Remove pointless comments
PHPBB3-12883
2014-07-23 00:30:55 +02:00
Dhruv
c81438e1f8 [ticket/12656] Use lang keys for all CLI strings
PHPBB3-12656
2014-07-23 01:23:44 +05:30
Dhruv
4092b63be3 [ticket/12656] Use lang keys for CLI command descriptions
PHPBB3-12656
2014-07-23 00:35:09 +05:30
Dhruv Goel
4a6a54472c Merge pull request #2766 from marc1706/ticket/12560
[ticket/12560] Add methods to set upload and temp paths in plupload
2014-07-22 22:42:05 +05:30
rxu
9485f59c61 [ticket/12884] Add core event to the function upload_attachment()
Add core event to the function upload_attachment()
in functions_posting.php to provide ability for extensions
to perform additional actions on uploaded files, like resizing etc.

PHPBB3-12884
2014-07-23 00:31:15 +08:00
Joas Schilling
58d91d1d54 Merge pull request #2757 from rxu/ticket/12871
[ticket/12871] Add PHPBB_DISPLAY_LOAD_TIME const to config.php on installation

* rxu/ticket/12871:
  [ticket/12871] Add PHPBB_DISPLAY_LOAD_TIME const to config.php on installation
2014-07-21 22:40:02 +02:00
n-aleha
d16ce21926 [ticket/12851] Fix the Font colour button title
PHPBB3-12851
2014-07-21 23:36:58 +03:00
Tristan Darricau
38100cc7c0 Merge pull request #2745 from nickvergessen/ticket/12861
[ticket/12861] Add event to modify the post, poster and attachment data

* nickvergessen/ticket/12861:
  [ticket/12861] Add event to modify the post, poster and attachment data
2014-07-21 20:48:30 +02:00
Dhruv Goel
e11875527d Merge pull request #2752 from bantu/ticket/12656
[ticket/12656] Pass user object into all console commands for translation
2014-07-22 00:14:01 +05:30
Dhruv Goel
1c8357a1cb Merge pull request #2651 from nickvergessen/ticket/12448
[ticket/12448] Allow null as default value for columns
2014-07-22 00:08:07 +05:30
Dhruv
83e5a25c0a [ticket/12738] Update constructor docblock
PHPBB3-12738
2014-07-21 22:08:05 +05:30
Tristan Darricau
2fbf12456d [ticket/12882] Use a new migration
PHPBB3-12882
2014-07-21 17:53:01 +02:00
Tristan Darricau
7d7bf86728 [ticket/12883] Do not use basename() to get the search class in tidy_search
PHPBB3-12883
2014-07-21 17:42:37 +02:00
Tristan Darricau
db3bddf15c [ticket/12882] Update search_type when it's not prefixed by phpbb_search
PHPBB3-12882
2014-07-21 11:29:37 +02:00
Tristan Darricau
919aeb3879 [ticket/12873] Test the good identifier in \phpbb\db\tools
We need to rename the index key because with the default prefix (phpbb_)
this key has a length of 31. And because we don't accept the keys longer
than 30 characters we should ensure that by default no key is longer than
30 characters.

PHPBB3-12873
2014-07-20 23:15:34 +02:00
Marc Alexander
b94ce7b932 [ticket/12560] Add methods to set upload and temp paths in plupload
The paths will be reset to the default paths after an upload is complete.

PHPBB3-12560
2014-07-20 21:37:34 +02:00
Marc Alexander
449ffbe799 Merge remote-tracking branch 'tmbackoff/ticket/12872' into develop-ascraeus 2014-07-20 18:44:38 +02:00
brunoais
51feab9ed6 [ticket/12800] removed superfulous tab character
PHPBB3-12800
2014-07-20 10:05:50 +01:00
brunoais
49a1d845fe [ticket/12800] Missing $phpbb_dispatcher as a global
PHPBB3-12800
2014-07-20 09:24:26 +01:00
brunoais
acaa1fe59c [ticket/12801] missing $phpbb_dispatcher as a global
PHPBB3-12801
2014-07-20 09:19:23 +01:00
Tabitha Backoff
247c5a1808 [ticket/12872] Add poster_id to viewtopic_modify_post_row
Change "rc3" to "RC3".

PHPBB3-12872
2014-07-19 05:33:42 -04:00
Tabitha Backoff
f6ad9d5fd2 [ticket/12872] Add poster_id to viewtopic_modify_post_row
To allow extension authors to use the poster_id var.

PHPBB3-12872
2014-07-19 03:26:33 -04:00
rxu
7b91b66b87 [ticket/12871] Add PHPBB_DISPLAY_LOAD_TIME const to config.php on installation
To make it consistent with another config.php constants,
PHPBB_DISPLAY_LOAD_TIME is to be put in config.php during installation as well.

PHPBB3-12871
2014-07-19 14:09:22 +08:00
Andreas Fischer
d5f87e6053 Merge pull request #2755 from Elsensee/ticket/12748
[ticket/12748] Fix typo in terms of use

* Elsensee/ticket/12748:
  [ticket/12748] Fix typo in terms of use
2014-07-18 22:58:01 +02:00
Matt Friedman
20c50e55b1 [ticket/12864] Add template event to header after stylesheets
https://tracker.phpbb.com/browse/PHPBB3-12864

PHPBB3-12864
2014-07-18 10:13:19 -07:00
Andreas Fischer
65544066c2 Merge pull request #2751 from bantu/ticket/12663
[ticket/12663] Extract CLI language string into their own file

* bantu/ticket/12663:
  [ticket/12663] Have cli.php language file at top level; unrelated to ACP.
  [ticket/12663] Extract CLI language string into their own file
2014-07-18 00:57:53 +02:00
Andreas Fischer
1a66ad8483 Merge pull request #2735 from carlo94it/ticket/12814
[ticket/12814] Fix field type for LDAP email attribute

* carlo94it/ticket/12814:
  [ticket/12814] Replace email type with text type
2014-07-18 00:54:21 +02:00
Oliver Schramm
8a5ec8d9d1 [ticket/12748] Fix typo in terms of use
PHPBB3-12748
2014-07-18 00:28:24 +02:00
Oliver Schramm
bef207e9b7 [ticket/10729] Update *_delete_user when user being deleted
PHPBB3-10729
2014-07-18 00:19:21 +02:00
Oliver Schramm
1e0775a3da Merge branch 'ticket/10729' into ticket/10729-2
Conflicts:
	phpBB/includes/functions_user.php
2014-07-18 00:17:20 +02:00
Oliver Schramm
da6b378e64 [ticket/10729] Update message_edit_user when user being deleted
PHPBB3-10729
2014-07-18 00:11:51 +02:00
Andreas Fischer
07ce29c081 [ticket/12656] Pass user object into all console commands.
PHPBB3-12656
2014-07-17 20:37:24 +02:00
Andreas Fischer
e78a6046ca [ticket/12663] Have cli.php language file at top level; unrelated to ACP.
PHPBB3-12663
2014-07-17 16:54:42 +02:00
Carlo
f784510494 [ticket/12663] Extract CLI language string into their own file
PHPBB3-12663
2014-07-17 16:53:33 +02:00
Oliver Schramm
53f597b6d0 [ticket/10729] Update post_edit_user when user being deleted
PHPBB3-10729
2014-07-17 16:28:32 +02:00
Tristan Darricau
42477861a4 Merge pull request #2576 from carlo94it/ticket/12685
[ticket/12685] New CLI container for load extensions

* carlo94it/ticket/12685:
  [ticket/12685] Setup class loader for extensions only if not in safe mode
  [ticket/12685] Replace getParameterOption with hasParameterOption
  [ticket/12685] Do not dump container
  [ticket/12685] Override getDefaultInputDefinition()
  [ticket/12685] Removed unused USE statement
  [ticket/12685] Inject console.command_collection instead of the container
  [ticket/12685] Add a new line
  [ticket/12685] Container is dumped by default
  [ticket/12685] Removed spaces
  [ticket/12685] Add --safe-mode
  [ticket/12685] We need extensions enabled
  [ticket/12685] Add space after foreach
  [ticket/12685] Add console collection and fixing CLI
2014-07-17 16:03:55 +02:00
Joas Schilling
0d2a478076 Merge pull request #2747 from Elsensee/ticket/12860
[ticket/12860] Add template events to mcp_ban.html

* Elsensee/ticket/12860:
  [ticket/12860] Fix typo
  [ticket/12860] Add template events mcp_ban_unban
  [ticket/12860] Add template events mcp_ban_fields
2014-07-17 15:31:20 +02:00
Carlo
7f4d425006 [ticket/12685] Setup class loader for extensions only if not in safe mode
PHPBB3-12685
2014-07-17 00:05:33 +02:00
Oliver Schramm
b1df0cffb1 [ticket/12860] Fix typo
PHPBB3-12860
2014-07-17 00:00:02 +02:00
PayBas
2913b44080 [ticket/12857] Add missing template events breadcrumb_prepend
To insert links after site-home

PHPBB3-12857
2014-07-16 22:15:31 +02:00
PayBas
c7be452861 [ticket/12857] Add template events breadcrumbs_before/after
PHPBB3-12857
2014-07-16 22:15:30 +02:00
Joas Schilling
0332b68dbb Merge pull request #2739 from PayBas/ticket/12853
[WIP][ticket/12853] Change navbar ACP from skip- to last-responsive

* PayBas/ticket/12853:
  [ticket/12853] Change navbar ACP from skip- to last-responsive
2014-07-16 22:08:00 +02:00
PayBas
8d8e0aae68 [ticket/12838] Update RC2 to RC3
PHPBB3-12838
2014-07-16 22:05:28 +02:00
Joas Schilling
9fede3baf4 Merge pull request #2740 from PayBas/ticket/12845
[ticket/12845] Fix invalid ARIA role for breadcrumbs

* PayBas/ticket/12845:
  [ticket/12845] Remove invalid ARIA role for breadcrumbs
2014-07-16 21:57:15 +02:00
Joas Schilling
99b60a2f5e Merge pull request #2741 from PayBas/ticket/12837
[ticket/12837] Detect "viewing contact admin page" on viewonline

* PayBas/ticket/12837:
  [ticket/12837] Use else if instead of elseif
  [ticket/12837] Detect "viewing contact admin page" on viewonline
2014-07-16 21:54:14 +02:00
Joas Schilling
9a369a9e14 Merge pull request #2743 from PayBas/ticket/12859
[ticket/12859] Add template events ucp_pm_viewmessage_post_buttons

* PayBas/ticket/12859:
  [ticket/12859] Add template events ucp_pm_viewmessage_post_buttons
2014-07-16 21:51:28 +02:00
Oliver Schramm
42308091ef [ticket/12860] Add template events mcp_ban_unban
PHPBB3-12860
2014-07-16 20:00:05 +02:00
Oliver Schramm
876c1f4f00 [ticket/12860] Add template events mcp_ban_fields
PHPBB3-12860
2014-07-16 19:59:06 +02:00
Joas Schilling
ab4a77aa0f [ticket/12861] Add event to modify the post, poster and attachment data
PHPBB3-12861
2014-07-16 19:26:05 +02:00
PayBas
0ed971d129 [ticket/12859] Add template events ucp_pm_viewmessage_post_buttons
PHPBB3-12859
2014-07-16 18:04:54 +02:00
Joas Schilling
cd5fbd52c2 Merge pull request #2709 from rxu/ticket/12828
[ticket/12828] Add ucp_prefs.php common core event

* rxu/ticket/12828:
  [ticket/12828] Add ucp_prefs.php common core event
2014-07-16 16:15:30 +02:00
PayBas
a22549f247 [ticket/12837] Use else if instead of elseif
PHPBB3-12837
2014-07-16 11:19:28 +02:00
PayBas
09e5896cae [ticket/12837] Detect "viewing contact admin page" on viewonline
PHPBB3-12837
2014-07-16 10:39:40 +02:00
PayBas
1548b81cac [ticket/12845] Remove invalid ARIA role for breadcrumbs
PHPBB3-12845
2014-07-16 10:16:16 +02:00
PayBas
78315d824a [ticket/12853] Change navbar ACP from skip- to last-responsive
PHPBB3-12853
2014-07-16 09:49:06 +02:00
Andreas Fischer
496b34cd96 Merge pull request #2736 from Elsensee/ticket/12854
[ticket/12854] Don't show contact page link if board emails are disabled

* Elsensee/ticket/12854:
  [ticket/12854] Don't show contact page link if board emails are disabled
2014-07-15 23:19:52 +02:00
Andreas Fischer
389d8e844e Merge pull request #2737 from Elsensee/ticket/12855
[ticket/12855] Dump the container based on DEBUG_CONTAINER instead of DEBUG

* Elsensee/ticket/12855:
  [ticket/12855] Dump the container based on DEBUG_CONTAINER instead of DEBUG
2014-07-15 23:10:53 +02:00
Oliver Schramm
1ee7df57ae [ticket/12855] Dump the container based on DEBUG_CONTAINER instead of DEBUG
PHPBB3-12855
2014-07-15 22:58:28 +02:00
Oliver Schramm
021adcc14f [ticket/12854] Don't show contact page link if board emails are disabled
PHPBB3-12854
2014-07-15 22:19:56 +02:00
Carlo
81905158a1 [ticket/12814] Replace email type with text type
PHPBB3-12814
2014-07-15 19:36:35 +02:00
Carlo
a4972bb338 [ticket/12685] Replace getParameterOption with hasParameterOption
PHPBB3-12685
2014-07-15 19:21:41 +02:00
Carlo
d95d6720bc [ticket/12685] Do not dump container
PHPBB3-12685
2014-07-15 17:51:23 +02:00
Carlo
7cffedf5e3 [ticket/12685] Override getDefaultInputDefinition()
PHPBB3-12685
2014-07-15 16:07:52 +02:00
Carlo
3eafeeb88d [ticket/12685] Removed unused USE statement
PHPBB3-12685
2014-07-15 13:31:34 +02:00
Carlo
15136e4f8e [ticket/12685] Inject console.command_collection instead of the container
PHPBB3-12685
2014-07-15 11:36:51 +02:00
Carlo
a54f1275d0 [ticket/12685] Add a new line
PHPBB3-12685
2014-07-15 11:27:58 +02:00
Carlo
7e6215fb7f [ticket/12685] Container is dumped by default
PHPBB3-12685
2014-07-15 10:22:39 +02:00
Carlo
0f41a8fc31 [ticket/12685] Removed spaces
PHPBB3-12685
2014-07-15 10:21:23 +02:00
Carlo
2ec50c0ff1 [ticket/12685] Add --safe-mode
PHPBB3-12685
2014-07-15 00:38:07 +02:00
Andreas Fischer
fcf426ad5c Merge pull request #2728 from lucifer4o/ticket/12846
[ticket/12846] SQLite3 bug in profilefield_base_migration.php

* lucifer4o/ticket/12846:
  [ticket/12846] SQLite3 bug in profilefield_base_migration.php
2014-07-14 19:45:43 +02:00
Andreas Fischer
f6039562ea Merge pull request #2731 from callumacrae/ticket/12849-2
[ticket/12849] Fixed possible ReferenceError in core.js.

* callumacrae/ticket/12849-2:
  [ticket/12849] Fixed possible ReferenceError in core.js.
2014-07-14 19:27:27 +02:00
Callum Macrae
581391c21e [ticket/12849] Fixed possible ReferenceError in core.js.
PHPBB3-12849
2014-07-13 23:18:21 +01:00
Tristan Darricau
519e64205a [ticket/12847] Allow the extensions to say if they can be enabled
PHPBB3-12847
2014-07-13 18:09:34 +02:00
rxu
fe02caa8e0 [ticket/12828] Add ucp_prefs.php common core event
Add common core event at the bottom of the includes/ucp/ucp_prefs.php
to allow additional actions (like template variable assignments etc.)
before the page load.

PHPBB3-12828
2014-07-13 21:34:24 +08:00
Andreas Fischer
aadcbb765a Merge pull request #2727 from Nicofuma/ticket/12844
[ticket/12844] Don't clear $dbpasswd early in connection manager

* Nicofuma/ticket/12844:
  [ticket/12844] Don't clear $dbpasswd early in connection manager
2014-07-13 01:17:55 +02:00
Stanislav Atanasov
1043d1a27c [ticket/12846] SQLite3 bug in profilefield_base_migration.php
Using profilefield_base_migration.php to create a custom profile
field with SQlite3 DBMS returns warning:

[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/sqlite3.php
on line 218: SQLite3Result::fetchArray(): Unable to execute statement:
constraint failed

This is due passing filed_id and lang_id to the DB driver in
unspecified format. As they are always int we should cast them
in int to prevent the error message appearance.

PHPBB3-12846
2014-07-13 01:45:20 +03:00
Tristan Darricau
c4cd1c58c1 [ticket/12844] Don't clear $dbpasswd early in connection manager
PHPBB3-12844
2014-07-13 00:25:25 +02:00
Carlo
6082b5e3d3 [ticket/12685] We need extensions enabled
PHPBB3-12685
2014-07-12 17:48:53 +02:00
Joas Schilling
3e004d22cb Merge pull request #2725 from Nicofuma/ticket/12842
[ticket/12842] Out of memory issue in code sniffer call for extensions

* Nicofuma/ticket/12842:
  [ticket/12842] Skip parameters without exlicit type
2014-07-12 17:30:25 +02:00
Carlo
1125fb3cab [ticket/12685] Add space after foreach
PHPBB3-12685
2014-07-12 17:20:33 +02:00
Carlo
b95ab44028 [ticket/12685] Add console collection and fixing CLI
Added a commands service collection and removed CLI container

PHPBB3-12685
2014-07-12 17:19:43 +02:00
Tristan Darricau
57f7fdf989 [ticket/12842] Skip parameters without exlicit type
PHPBB3-12842
2014-07-12 16:55:14 +02:00
Matt Friedman
0d320186cf [ticket/12841] Add a tests for the new function
PHPBB3-12841
2014-07-11 14:33:45 -07:00
Matt Friedman
14979e6399 [ticket/12841] Fix white space issues reported by sniffer
PHPBB3-12841
2014-07-11 13:40:45 -07:00
PayBas
20a55bc8dd [ticket/12838] Update events.md to RC3
PHPBB3-12838
2014-07-11 20:07:32 +02:00
Matt Friedman
95032c31af [ticket/12841] Allow extensions to position new config vars
PHPBB3-12841
2014-07-11 10:18:46 -07:00
Joas Schilling
0d6fe20372 Merge branch 'prep-release-3.1.0-RC2' into develop-ascraeus
* prep-release-3.1.0-RC2:
  [prep-release-3.1.0-RC2] Update phpBB Version for RC3 development
  [prep-release-3.1.0-RC2] Add changelog for 3.1.0-RC2
  [prep-release-3.1.0-RC2] Prepare Changelog
  [prep-release-3.1.0-RC2] Add migration for 3.1.0-RC2
  [prep-release-3.1.0-RC2] Update version to 3.1.0-RC2
2014-07-11 17:23:53 +02:00
Joas Schilling
b5492a07da [prep-release-3.1.0-RC2] Update phpBB Version for RC3 development 2014-07-11 17:22:16 +02:00
PayBas
08264ec3af [ticket/12838] Allow for extra columns in cache obtain_ranks()
PHPBB3-12838
2014-07-10 17:54:08 +02:00
PayBas
c9803b7ba3 [ticket/12838] Add raw row-data to acp_ranks core event
PHPBB3-12838
2014-07-10 16:24:49 +02:00
PayBas
0bece6dada [ticket/12838] Simplify special rank template conditional
PHPBB3-12838
2014-07-10 16:24:17 +02:00
PayBas
9468d173bc [ticket/12838] Add core events to acp_ranks.php
PHPBB3-12838
2014-07-10 13:29:07 +02:00
PayBas
bfdaefa7f6 [ticket/12838] Update events.md
PHPBB3-12838
2014-07-10 12:16:50 +02:00
PayBas
1f61f3a416 [ticket/12838] Add _before versions
PHPBB3-12838
2014-07-10 12:10:06 +02:00
PayBas
dbb331284e [ticket/12838] Add template events to acp_ranks.html
PHPBB3-12838
2014-07-10 12:07:51 +02:00
Stanislav Atanasov
902937ce70 [ticket/12793] Tests (added and changed)
changed behavieur of 0 as in and added 0 as string test

PHPBB3-12793
2014-07-10 11:53:10 +03:00
Stanislav Atanasov
223c634bee [ticket/12793] Changing get_profile_contact_value to get_profile_value_raw
Changing the return to get_profile_value_raw

PHPBB3-12793
2014-07-10 11:46:11 +03:00
Stanislav Atanasov
57bbb4548b [ticket/12793] String '0' does not display for string profile fields
See https://github.com/phpbb/phpbb/pull/2647#discussion_r14503051

PHPBB3-12793
2014-07-10 11:46:00 +03:00
Stanislav Atanasov
27f15c0d5b [ticket/12791] Changed the if check
Removed unneeded variable

PHPBB3-12791
2014-07-10 11:43:52 +03:00
Stanislav Atanasov
690de21134 [ticket/12791] String profile fields do not use links ...
smilies and line breaks in memberlist

The value is overwritten with the contact value
Added aditional check if the field is a contact so we don't overwrite it.

PHPBB3-12791
2014-07-10 11:42:31 +03:00
PayBas
16a13fed1a [ticket/12832] Remove old .quick-links icon reference
PHPBB3-12832
2014-07-08 19:05:06 +02:00
PayBas
44e76495a9 [ticket/12832] Remove unnecessary attr and classes
PHPBB3-12832
2014-07-08 15:53:03 +02:00
PayBas
3f290bad82 [ticket/12832] Add footer links to quick-links
PHPBB3-12832
2014-07-07 23:27:58 +02:00
PayBas
e4941ee875 [ticket/12832] Make .small-icon styling uniform
PHPBB3-12832
2014-07-07 23:23:15 +02:00
brunoais
4629ebfc4f [ticket/12801] Add core.functions_posting.load_drafts_draft_list_results
Adding event core.functions_posting.load_drafts_draft_list_results

PHPBB3-12801
2014-07-06 20:10:44 +01:00
brunoais
4127acb19b [ticket/12800] core.functions_display.display_user_activity.actives_after
Adding core.functions_display.display_user_activity.actives_after

PHPBB3-12800
2014-07-03 15:35:52 +01:00
brunoais
e7f124b8ce [ticket/12801] Add topic_poster to load_drafts' topics query
PHPBB3-12801
2014-07-03 15:11:19 +01:00
Tristan Darricau
0ce27eacb1 [ticket/11480] Fix the double spaces in phpbb_functional_test_case
PHPBB3-11480
2014-06-30 00:33:33 +02:00
Joas Schilling
4917ebe93a [ticket/12448] Fix null columns for MS SQL
PHPBB3-12448
2014-06-25 18:39:10 +02:00
Joas Schilling
b2044884ff [ticket/12448] Fix null columns for postgres
PHPBB3-12448
2014-06-25 18:37:46 +02:00
Joas Schilling
95ab4b3e93 [ticket/12448] Allow null as default value for columns
PHPBB3-12448
2014-06-25 13:40:32 +02:00
Tristan Darricau
ffb992f9a9 [ticket/12051] Optimise Composer Autoloader on Build
PHPBB3-12051
2014-06-23 22:26:25 +02:00
Marc Alexander
ff56f0dcfe [ticket/11148] Remove unneeded variable mimetype and use type octet-stream
The variable $mimetype is not used in the method local_upload() afterwards
so it shouldn't be assigned. The correct default mimetype should be
application/octet-stream and not application/octetstream according to RFC 2046.

PHPBB3-11148
2014-06-23 21:39:24 +02:00
Marc Alexander
3823fe355f [ticket/11148] Change expected output with disallowed content in test
PHPBB3-11148
2014-06-23 21:39:24 +02:00
Marc Alexander
4eb7485b39 [ticket/11148] Always use the output of the mimetype guesser in get_mimetype
PHPBB3-11148
2014-06-23 21:39:24 +02:00
Marc Alexander
a402d619b4 [ticket/11148] Get rid of extra line in mimetype guesser setter doc block
PHPBB3-11148
2014-06-23 21:39:24 +02:00
Marc Alexander
ea5bc9c833 [ticket/11148] Add missing parts to docblock of get_mimetype() method
PHPBB3-11148
2014-06-23 21:39:24 +02:00
Marc Alexander
de404002c7 [ticket/11148] Default to application/octet-stream if no mimetype given
This should prevent us from having an empty mimetype while uploading a file
using local_upload().

PHPBB3-11148
2014-06-23 21:39:24 +02:00
Marc Alexander
c22983cbdb [ticket/11148] Use mimetype guesser for uploaded avatars
PHPBB3-11148
2014-06-23 21:39:24 +02:00
Marc Alexander
94a81fa01d [ticket/11148] Pass mimetype guesser to upload_attachment() function
PHPBB3-11148
2014-06-23 21:37:47 +02:00
Marc Alexander
9bc6e641bf [ticket/11148] Add mimetype guesser to filespec and fileupload class
The mimetype guesser will be used to get the mimetype of uploaded files.
Until now, this was only used for files uploaded with plupload. If a file
doesn't have a mimetype supplied, we will now try to get the correct mimetype.

PHPBB3-11148
2014-06-23 21:37:47 +02:00
Dhruv
37fd00b298 [ticket/12738] Add $config to constructor in notification test
PHPBB3-12738
2014-06-20 16:01:11 +05:30
Dhruv
eeb2c128f5 [ticket/12738] Fix tests with new config object injection
PHPBB3-12738
2014-06-20 15:40:23 +05:30
Dhruv
1a79de4214 [ticket/12738] Inject config object into content_visibility class
PHPBB3-12738
2014-06-20 13:25:45 +05:30
Dhruv
517273fa0b [ticket/11528] Move related code from functions_posting to function
Move related code from functions_posting to
remove_post_from_statistic() in content_visibility.php

PHPBB3-11528
2014-06-19 23:04:03 +05:30
Tristan Darricau
5762af6180 [ticket/11480] Fix typos
PHPBB3-11480
2014-05-29 22:45:34 +02:00
Tristan Darricau
9c8e843def [ticket/11480] Add functionnal test
PHPBB3-11480
2014-05-29 14:56:45 +02:00
Skouat
a0a5c852d5 [ticket/12492] Add support of special chars
Add support of special chars during db test in the installation

PHPBB3-12492
2014-05-24 14:33:02 +02:00
Tristan Darricau
d53336af06 [ticket/11224] Remove new line in acm_memory.php
PHPBB3-11224
2014-05-15 12:36:22 +02:00
Tristan Darricau
292908ca4a [ticket/11224] Use assertNotEquals(false) instead of assertNotFalse()
assertNotFalse() is unavailable with the version of phpunit used with php
5.2

PHPBB3-11224
2014-05-15 01:50:44 +02:00
Tristan Darricau
7c99e30920 [ticket/11224] Fix coding style
PHPBB3-11224
2014-05-15 01:17:02 +02:00
Tristan Darricau
b7f54e42b2 [ticket/11224] Add unit test
PHPBB3-11224
2014-05-15 00:22:27 +02:00
Tristan Darricau
9dd71fa32e [ticket/11224] Fix the blank line after ?>
PHPBB3-11224
2014-05-14 20:23:27 +02:00
Tristan Darricau
0c4b53e2f1 [ticket/11224] Fix returned data
PHPBB3-11224
2014-05-14 20:22:36 +02:00
Tristan Darricau
0c109c9d37 [ticket/11224] SQL cache destroy does not destroy queries to tables joined
https://tracker.phpbb.com/browse/PHPBB3-11224

PHPBB3-11224
2014-05-14 20:00:04 +02:00
Nicofuma
4f6441b411 [ticket/11480] PM : "Unknown folder" returned when inbox folder is full
https://tracker.phpbb.com/browse/PHPBB3-11480

PHPBB3-11480
2014-04-25 01:04:00 +02:00
532 changed files with 13105 additions and 9935 deletions

18
.editorconfig Normal file
View File

@@ -0,0 +1,18 @@
# This file is for standardising the coding style between different editors
# http://editorconfig.org/
root = true
[*]
end_of_line = lf
indent_size = 4
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.yml]
indent_size = 4
indent_style = space

1
.gitignore vendored
View File

@@ -11,6 +11,7 @@
/phpBB/images/avatars/gallery/*
/phpBB/images/avatars/upload/*
/phpBB/images/ranks/*
/phpBB/install/schemas/schema.json
/phpBB/language/*
!/phpBB/language/en
/phpBB/store/*

View File

@@ -37,7 +37,9 @@ before_script:
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 [ '$TRAVIS_PHP_VERSION' = '5.5' -a '$DB' = 'mysqli' -a '$TRAVIS_PULL_REQUEST' != 'false' ]; then git-tools/commit-msg-hook-range.sh origin/$TRAVIS_BRANCH..FETCH_HEAD; 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-RC2" />
<property name="prevversion" value="3.1.0-RC1" />
<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" />
<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" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />
@@ -259,7 +259,7 @@
command="git archive ${revision} composer.phar | tar -xf - -C ${dir}"
checkreturn="true" />
<exec dir="${dir}"
command="php composer.phar install --no-dev"
command="php composer.phar install --no-dev --optimize-autoloader"
checkreturn="true"
passthru="true" />
<delete file="${dir}/composer.phar" />
@@ -273,6 +273,9 @@
</else>
</if>
<!-- Create schema.json -->
<exec dir="${dir}" command="php develop/create_schema_files.php" />
<delete file="${dir}/config.php" />
<delete dir="${dir}/develop" />
<delete dir="${dir}/install/data" />

View File

@@ -20,7 +20,7 @@ if ($_SERVER['argc'] != 2)
$fixVersion = $_SERVER['argv'][1];
$query = 'project = PHPBB3
$query = 'project IN (PHPBB3, SECURITY)
AND resolution = Fixed
AND fixVersion = "' . $fixVersion . '"
AND status IN ("Unverified Fix", Closed)';

View File

@@ -153,19 +153,24 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
$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);
$argument_class_name_end = $phpcsFile->findNext($find, ($argument_class_name_start + 1), null, true);
$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)
// Skip the parameter if no type is defined.
if ($argument_class_name_start !== false)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $function_declaration, 'FullName');
}
$argument_class_name_end = $phpcsFile->findNext($find, ($argument_class_name_start + 1), null, true);
if ($argument_class_name === $class_name_short)
{
$ok = true;
$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)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $function_declaration, 'FullName');
}
if ($argument_class_name === $class_name_short)
{
$ok = true;
}
}
}
}

View File

@@ -45,7 +45,7 @@ $versions = Sami\Version\GitVersionCollection::create(__DIR__ . '/../')
->add('develop-ascraeus')
;
return new Sami\Sami($iterator, array(
$config = array(
'theme' => 'enhanced',
'versions' => $versions,
'title' => 'phpBB API Documentation',
@@ -54,4 +54,6 @@ return new Sami\Sami($iterator, array(
'default_opened_level' => 2,
// Do not use JsonStore. See https://github.com/fabpot/Sami/issues/79
'store' => new PhpbbArrayStore,
));
);
return new Sami\Sami($iterator, $config);

View File

@@ -284,8 +284,6 @@
</fieldset>
</form>
<br />
<form id="change_ext" method="post" action="{U_ACTION}">
<fieldset class="tabulated">

View File

@@ -13,27 +13,34 @@
var ban_length = new Array();
ban_length[-1] = '';
<!-- BEGIN ban_length -->
ban_length['{ban_length.BAN_ID}'] = '{ban_length.A_LENGTH}';
<!-- END ban_length -->
var ban_reason = new Array();
ban_reason[-1] = '';
<!-- BEGIN ban_reason -->
ban_reason['{ban_reason.BAN_ID}'] = '{ban_reason.A_REASON}';
<!-- END ban_reason -->
var ban_give_reason = new Array();
ban_give_reason[-1] = '';
<!-- BEGIN ban_give_reason -->
ban_give_reason['{ban_give_reason.BAN_ID}'] = '{ban_give_reason.A_REASON}';
<!-- END ban_give_reason -->
<!-- BEGIN bans -->
ban_length['{bans.BAN_ID}'] = '{bans.A_LENGTH}';
<!-- IF bans.A_REASON -->
ban_reason['{bans.BAN_ID}'] = '{bans.A_REASON}';
<!-- ENDIF -->
<!-- IF bans.A_GIVE_REASON -->
ban_give_reason['{bans.BAN_ID}'] = '{bans.A_GIVE_REASON}';
<!-- ENDIF -->
<!-- END bans -->
function display_details(option)
{
document.getElementById('acp_unban').unbangivereason.innerHTML = ban_give_reason[option];
document.getElementById('acp_unban').unbanreason.innerHTML = ban_reason[option];
document.getElementById('acp_unban').unbanlength.value = ban_length[option];
document.getElementById('unbanlength').value = ban_length[option];
if (option in ban_reason) {
document.getElementById('unbanreason').innerHTML = ban_reason[option];
} else {
document.getElementById('unbanreason').innerHTML = '';
}
if (option in ban_give_reason) {
document.getElementById('unbangivereason').innerHTML = ban_give_reason[option];
} else {
document.getElementById('unbangivereason').innerHTML = '';
}
}
// ]]>

View File

@@ -6,6 +6,7 @@
<p>{L_ACP_VC_SETTINGS_EXPLAIN}</p>
<p>{L_ACP_VC_EXT_GET_MORE}</p>
<form id="acp_captcha" method="post" action="{U_ACTION}">

View File

@@ -117,7 +117,6 @@
<dl>
<dt><label>{L_AVATAR_TYPE}{L_COLON}</label></dt>
<dd><select name="avatar_driver" id="avatar_driver" data-togglable-settings="true">
<option value="">{L_NO_AVATAR}</option>
<!-- BEGIN avatar_drivers -->
<option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF --> data-toggle-setting="#avatar_option_{avatar_drivers.DRIVER}">{avatar_drivers.L_TITLE}</option>
<!-- END avatar_drivers -->

View File

@@ -2,14 +2,12 @@
<a id="maincontent"></a>
<h2>{L_INACTIVE_USERS}</h2>
<h1>{L_INACTIVE_USERS}</h1>
<p>{L_INACTIVE_USERS_EXPLAIN}</p>
<form id="inactive" method="post" action="{U_ACTION}">
<div class="clearfix"></div>
<!-- IF .pagination -->
<div class="pagination">
<!-- INCLUDE pagination.html -->

View File

@@ -8,7 +8,7 @@
<form id="list" method="post" action="{U_ACTION}">
<fieldset class="display-options" style="float: left">
<fieldset class="display-options search-box">
{L_SEARCH_KEYWORDS}{L_COLON} <input type="text" name="keywords" value="{S_KEYWORDS}" />&nbsp;<input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
</fieldset>
@@ -18,9 +18,6 @@
</div>
<!-- ENDIF -->
<div class="clearfix">&nbsp;</div>
<div><br style="clear: both;" /></div>
<!-- IF .log -->
<table class="table1 zebra-table fixed-width-table">
<thead>

View File

@@ -243,9 +243,6 @@
<!-- END log -->
</tbody>
</table>
<br />
<!-- ENDIF -->
<!-- IF S_INACTIVE_USERS -->
@@ -287,7 +284,6 @@
<!-- END inactive -->
</tbody>
</table>
<!-- ENDIF -->
<!-- ENDIF -->

View File

@@ -24,6 +24,9 @@
<fieldset>
<legend>{L_ACP_RANKS}</legend>
<!-- EVENT acp_ranks_edit_before -->
<dl>
<dt><label for="title">{L_RANK_TITLE}{L_COLON}</label></dt>
<dd><input name="title" type="text" id="title" value="{RANK_TITLE}" maxlength="255" /></dd>
@@ -38,13 +41,15 @@
<dd><label><input onclick="phpbb.toggleDisplay('posts', -1)" type="radio" class="radio" name="special_rank" value="1" id="special_rank"<!-- IF S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input onclick="phpbb.toggleDisplay('posts', 1)" type="radio" class="radio" name="special_rank" value="0"<!-- IF not S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<!-- IF S_SPECIAL_RANK --><div id="posts" style="display: none;"><!-- ELSE --><div id="posts"><!-- ENDIF -->
<div id="posts"<!-- IF S_SPECIAL_RANK --> style="display: none;"<!-- ENDIF -->>
<dl>
<dt><label for="min_posts">{L_RANK_MINIMUM}{L_COLON}</label></dt>
<dd><input name="min_posts" type="number" id="min_posts" maxlength="10" value="{MIN_POSTS}" /></dd>
</dl>
</div>
<!-- EVENT acp_ranks_edit_after -->
<p class="submit-buttons">
<input type="hidden" name="action" value="save" />
@@ -68,18 +73,22 @@
<table class="table1 zebra-table">
<thead>
<tr>
<!-- EVENT acp_ranks_list_header_before -->
<th>{L_RANK_IMAGE}</th>
<th>{L_RANK_TITLE}</th>
<th>{L_RANK_MINIMUM}</th>
<!-- EVENT acp_ranks_list_header_after -->
<th>{L_ACTION}</th>
</tr>
</thead>
<tbody>
<!-- BEGIN ranks -->
<tr>
<!-- EVENT acp_ranks_list_column_before -->
<td style="text-align: center;"><!-- IF ranks.S_RANK_IMAGE --><img src="{ranks.RANK_IMAGE}" alt="{ranks.RANK_TITLE}" title="{ranks.RANK_TITLE}" /><!-- ELSE -->&nbsp; - &nbsp;<!-- ENDIF --></td>
<td style="text-align: center;">{ranks.RANK_TITLE}</td>
<td style="text-align: center;"><!-- IF ranks.S_SPECIAL_RANK -->&nbsp; - &nbsp;<!-- ELSE -->{ranks.MIN_POSTS}<!-- ENDIF --></td>
<!-- EVENT acp_ranks_list_column_after -->
<td style="text-align: center;"><a href="{ranks.U_EDIT}">{ICON_EDIT}</a> <a href="{ranks.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a></td>
</tr>
<!-- END ranks -->

View File

@@ -14,7 +14,6 @@
<dl>
<dt><label>{L_AVATAR_TYPE}</label></dt>
<dd><select name="avatar_driver" id="avatar_driver" data-togglable-settings="true">
<option value="">{L_NO_AVATAR}</option>
<!-- BEGIN avatar_drivers -->
<option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF --> data-toggle-setting="#avatar_option_{avatar_drivers.DRIVER}">{avatar_drivers.L_TITLE}</option>
<!-- END avatar_drivers -->

View File

@@ -109,6 +109,14 @@ hr {
text-align: center;
}
.search-box {
float: left;
}
.rtl .search-box {
float: right;
}
.small {
font-size: 0.85em;
}
@@ -154,6 +162,10 @@ a:active {
font-weight: bold;
}
a#maincontent, a#acl, a#assigned_to {
display: block;
}
/* List items */
ul, ol {
list-style-position: inside;
@@ -174,7 +186,6 @@ li {
}
#page-header {
clear: both;
text-align: right;
background: url("../images/phpbb_logo.png") top left no-repeat;
height: 54px;
@@ -203,14 +214,9 @@ li {
}
#page-body {
clear: both;
min-width: 650px;
}
#page-footer {
clear: both;
}
.copyright {
font-size: 0.75em;
text-align: center;
@@ -335,12 +341,6 @@ li {
padding: 0;
}
#tabs > ul:after {
content: '';
display: block;
clear: both;
}
#tabs .tab {
display: inline-block;
float: left;
@@ -475,7 +475,6 @@ li {
/* Main Panel
---------------------------------------- */
#acp {
clear: both;
position: relative;
top: -2px;
margin: 0 0 2px;
@@ -723,6 +722,7 @@ td {
.table1 {
border-collapse: separate;
border-spacing: 1px;
clear: both;
}
dt#color_palette_placeholder table {
@@ -862,10 +862,10 @@ table.zebra-table tbody tr:nth-child(even) {
}
/* Deactivated row */
.row-inactive {
color: #999;
.row-inactive {
color: #999;
}
.row-inactive a, .row-inactive strong {
.row-inactive a, .row-inactive strong {
color: #888;
}
.row-inactive a:hover {
@@ -1132,6 +1132,11 @@ input.langvalue, textarea.langvalue {
width: 90%;
}
input[type="number"] {
width: 60px;
-moz-padding-end: 0;
}
optgroup, select {
background-color: #FAFAFA;
border: 1px solid #666666;
@@ -1226,8 +1231,8 @@ fieldset.quick legend {
fieldset.tabulated {
background: none;
margin: 0;
margin-top: 5px;
padding: 0;
padding-top: 5px;
border: 0;
}
@@ -1464,7 +1469,7 @@ input:focus, textarea:focus {
{
select, dd select, dd input {
max-width: 240px;
}
}
}
/* Submit button fieldset or paragraph
@@ -1676,12 +1681,12 @@ input.button1:focus, input.button2:focus {
height: 1%; /* IE tweak (holly hack) */
width: auto;
text-align: right;
margin-top: 5px;
margin: 5px 0;
}
.top-pagination {
float: right;
margin: 15px 0 2px 0;
margin: 15px 0 5px 0;
}
.rtl .pagination {
@@ -1776,6 +1781,7 @@ li.pagination ul {
margin: 10px 0;
color: #FFFFFF;
text-align: center;
clear: both;
}
.success {
@@ -1877,17 +1883,7 @@ li.pagination ul {
vertical-align: middle;
}
/* Nice method for clearing floated blocks without having to insert any extra markup
From http://www.positioniseverything.net/easyclearing.html
.clearfix:after, #tabs:after, .row:after, #content:after, fieldset dl:after, #page-body:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}*/
.clearfix, .row, #content, fieldset dl, #page-body {
.row, fieldset dl {
overflow: hidden;
}
@@ -2470,3 +2466,20 @@ fieldset.permissions .padding {
.responsive-show-inline { display: inline !important; }
.responsive-show-inline-block { display: inline-block !important; }
}
.clearfix {
overflow: hidden;
}
.pagination:after,
#page-header:after,
#page-body:after,
#tabs:after,
#tabs > ul:after,
#tabs li:after,
#acp:after,
#content:after {
content: '';
clear: both;
display: block;
}

View File

@@ -1,6 +1,8 @@
/* global phpbb */
(function($) { // Avoid conflicts with other libraries
"use strict";
'use strict';
/**
* The following callbacks are for reording items. row_down
@@ -13,11 +15,10 @@ phpbb.addAjaxCallback('row_down', function(res) {
return;
}
var el = $(this),
tr = el.parents('tr'),
trSwap = tr.next();
var $firstTr = $(this).parents('tr'),
$secondTr = $firstTr.next();
tr.insertAfter(trSwap);
$firstTr.insertAfter($secondTr);
});
phpbb.addAjaxCallback('row_up', function(res) {
@@ -25,11 +26,10 @@ phpbb.addAjaxCallback('row_up', function(res) {
return;
}
var el = $(this),
tr = el.parents('tr'),
trSwap = tr.prev();
var $secondTr = $(this).parents('tr'),
$firstTr = $secondTr.prev();
tr.insertBefore(trSwap);
$secondTr.insertBefore($firstTr);
});
/**
@@ -38,10 +38,10 @@ phpbb.addAjaxCallback('row_up', function(res) {
* in the href with "deactivate", and vice versa.
*/
phpbb.addAjaxCallback('activate_deactivate', function(res) {
var el = $(this),
newHref = el.attr('href');
var $this = $(this),
newHref = $this.attr('href');
el.text(res.text);
$this.text(res.text);
if (newHref.indexOf('deactivate') !== -1) {
newHref = newHref.replace('deactivate', 'activate');
@@ -49,7 +49,7 @@ phpbb.addAjaxCallback('activate_deactivate', function(res) {
newHref = newHref.replace('activate', 'deactivate');
}
el.attr('href', newHref);
$this.attr('href', newHref);
});
/**
@@ -66,11 +66,10 @@ phpbb.addAjaxCallback('row_delete', function(res) {
$('[data-ajax]').each(function() {
var $this = $(this),
ajax = $this.attr('data-ajax'),
fn;
ajax = $this.attr('data-ajax');
if (ajax !== 'false') {
fn = (ajax !== 'true') ? ajax : null;
var fn = (ajax !== 'true') ? ajax : null;
phpbb.ajaxify({
selector: this,
refresh: $this.attr('data-refresh') !== undefined,
@@ -82,7 +81,7 @@ $('[data-ajax]').each(function() {
/**
* Automatically resize textarea
*/
$(document).ready(function() {
$(function() {
phpbb.resizeTextArea($('textarea:not(.no-auto-resize)'), {minHeight: 75});
});

View File

@@ -22,7 +22,7 @@
</dl>
<dl>
<dt><label for="ldap_email">{L_LDAP_EMAIL}{L_COLON}</label><br /><span>{L_LDAP_EMAIL_EXPLAIN}</span></dt>
<dd><input type="email" id="ldap_email" size="40" name="config[ldap_email]" value="{AUTH_LDAP_EMAIL}" /></dd>
<dd><input type="text" id="ldap_email" size="40" name="config[ldap_email]" value="{AUTH_LDAP_EMAIL}" /></dd>
</dl>
<dl>
<dt><label for="ldap_user">{L_LDAP_USER}{L_COLON}</label><br /><span>{L_LDAP_USER_EXPLAIN}</span></dt>

View File

@@ -89,6 +89,8 @@ function popup(url, width, height, name)
{$STYLESHEETS}
<!-- EVENT acp_overall_header_stylesheets_after -->
</head>
<body class="{S_CONTENT_DIRECTION} {BODY_CLASS} nojs">

View File

@@ -84,6 +84,7 @@ function find_username(url)
</script>
<!-- EVENT acp_simple_header_head_append -->
{$STYLESHEETS}
<!-- EVENT acp_simple_header_stylesheets_after -->
</head>
<body class="{S_CONTENT_DIRECTION} {BODY_CLASS}">

View File

@@ -1,17 +1,25 @@
<dl>
<dt><label for="timezone">{L_BOARD_TIMEZONE}{L_COLON}</label></dt>
<!-- IF S_TZ_DATE_OPTIONS -->
<!-- IF .timezone_date -->
<dd id="tz_select_date" style="display: none;">
<select name="tz_date" id="tz_date" class="autowidth tz_select">
<option value="">{L_SELECT_CURRENT_TIME}</option>
{S_TZ_DATE_OPTIONS}
<!-- BEGIN timezone_date -->
<option value="{timezone_date.VALUE}"<!-- IF timezone_date.SELECTED --> selected="selected"<!-- ENDIF -->>{timezone_date.TITLE}</option>
<!-- END timezone_date -->
</select>
</dd>
<!-- ENDIF -->
<dd>
<select name="tz" id="timezone" class="autowidth tz_select">
<option value="">{L_SELECT_TIMEZONE}</option>
{S_TZ_OPTIONS}
<!-- BEGIN timezone_select -->
<optgroup label="{timezone_select.LABEL}" data-tz-value="{timezone_select.VALUE}">
<!-- BEGIN timezone_options -->
<option title="{timezone_select.timezone_options.TITLE}" value="{timezone_select.timezone_options.VALUE}"<!-- IF timezone_select.timezone_options.SELECTED --> selected="selected"<!-- ENDIF -->>{timezone_select.timezone_options.LABEL}</option>
<!-- END timezone_options -->
</optgroup>
<!-- END timezone_select -->
</select>
<!-- INCLUDEJS timezone.js -->

File diff suppressed because it is too large Load Diff

View File

@@ -266,10 +266,6 @@ function mozWrap(txtarea, open, close) {
var selEnd = txtarea.selectionEnd;
var scrollTop = txtarea.scrollTop;
if (selEnd === 1 || selEnd === 2) {
selEnd = selLength;
}
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd);
var s3 = (txtarea.value).substring(selEnd, selLength);

View File

@@ -12,6 +12,8 @@
*
*/
use Symfony\Component\Console\Input\ArgvInput;
if (php_sapi_name() != 'cli')
{
echo 'This program must be run from the command line.' . PHP_EOL;
@@ -35,20 +37,31 @@ require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
$phpbb_container_builder->set_use_extensions(false);
$phpbb_container_builder->set_dump_container(false);
$input = new ArgvInput();
if ($input->hasParameterOption(array('--safe-mode')))
{
$phpbb_container_builder->set_use_extensions(false);
$phpbb_container_builder->set_dump_container(false);
}
else
{
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
phpbb_load_extensions_autoloaders($phpbb_root_path);
}
$phpbb_container = $phpbb_container_builder->get_container();
$phpbb_container->get('request')->enable_super_globals();
require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
$user = $phpbb_container->get('user');
$user->add_lang('acp/common');
$user->add_lang('cli');
$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION, $user);
$application->register_container_commands($phpbb_container);
$application->run();
$application->register_container_commands($phpbb_container->get('console.command_collection'));
$application->run($input);

View File

@@ -104,7 +104,7 @@ require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
// Add own hook handler
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('\phpbb\template\template', 'display')));
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
$phpbb_hook_finder = $phpbb_container->get('hook_finder');
foreach ($phpbb_hook_finder->find() as $hook)

View File

@@ -1,9 +1,31 @@
{
"_readme": [
"You MUST update the clean-vendor-dir target in build/build.xml",
"accordingly when adding or upgrading dependencies."
"name": "phpbb/phpbb",
"description": "phpBB Forum Software application",
"type": "project",
"keywords": ["phpbb", "forum"],
"homepage": "https://www.phpbb.com",
"license": "GPL-2.0",
"authors": [
{
"name": "phpBB Limited",
"email": "operations@phpbb.com",
"homepage": "https://www.phpbb.com/go/authors"
}
],
"support": {
"issues": "https://tracker.phpbb.com",
"forum": "https://www.phpbb.com/community/",
"wiki": "https://wiki.phpbb.com",
"irc": "irc://irc.freenode.org/phpbb"
},
"scripts": {
"post-update-cmd": "echo 'You MUST manually modify the clean-vendor-dir target in build/build.xml when adding or upgrading dependencies.'"
},
"replace": {
"phpbb/phpbb-core": "self.version"
},
"require": {
"php": ">=5.3.3",
"lusitanian/oauth": "0.2.*",
"symfony/config": "2.3.*",
"symfony/console": "2.3.*",
@@ -15,8 +37,6 @@
"twig/twig": "1.13.*"
},
"require-dev": {
"behat/mink": "1.4.*",
"behat/mink-goutte-driver": "1.0.*",
"fabpot/goutte": "1.0.*",
"phpunit/dbunit": "1.3.*",
"phpunit/phpunit": "4.1.*",
@@ -24,6 +44,7 @@
"sami/sami": "1.*",
"squizlabs/php_codesniffer": "1.*",
"symfony/browser-kit": "2.3.*",
"symfony/css-selector": "2.3.*",
"symfony/debug": "2.3.*",
"symfony/dom-crawler": "2.3.*",
"symfony/filesystem": "2.3.*",

470
phpBB/composer.lock generated
View File

@@ -3,7 +3,7 @@
"This file locks the dependencies of your project to a known state",
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file"
],
"hash": "dcd46c1373cfc4dacd2e1f8a79da0b91",
"hash": "d93446768ea0665b7c55c01890153a67",
"packages": [
{
"name": "lusitanian/oauth",
@@ -108,17 +108,17 @@
},
{
"name": "symfony/config",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/Config",
"source": {
"type": "git",
"url": "https://github.com/symfony/Config.git",
"reference": "259722b5f2e87d3f487630abfd40f922cf2f6900"
"reference": "f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Config/zipball/259722b5f2e87d3f487630abfd40f922cf2f6900",
"reference": "259722b5f2e87d3f487630abfd40f922cf2f6900",
"url": "https://api.github.com/repos/symfony/Config/zipball/f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d",
"reference": "f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d",
"shasum": ""
},
"require": {
@@ -141,34 +141,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Config Component",
"homepage": "http://symfony.com",
"time": "2014-04-22 08:09:28"
"time": "2014-09-23 05:15:05"
},
{
"name": "symfony/console",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/Console",
"source": {
"type": "git",
"url": "https://github.com/symfony/Console.git",
"reference": "c6c5a354a9945a5e9a9a6a495ca19558eb8639e9"
"reference": "aa12ac573c583a74c2cb26ad9be478e119f04ad1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Console/zipball/c6c5a354a9945a5e9a9a6a495ca19558eb8639e9",
"reference": "c6c5a354a9945a5e9a9a6a495ca19558eb8639e9",
"url": "https://api.github.com/repos/symfony/Console/zipball/aa12ac573c583a74c2cb26ad9be478e119f04ad1",
"reference": "aa12ac573c583a74c2cb26ad9be478e119f04ad1",
"shasum": ""
},
"require": {
@@ -196,34 +194,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Console Component",
"homepage": "http://symfony.com",
"time": "2014-05-14 13:35:53"
"time": "2014-10-05 13:45:10"
},
{
"name": "symfony/debug",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/Debug",
"source": {
"type": "git",
"url": "https://github.com/symfony/Debug.git",
"reference": "ca764f8af9cc4ba5d81b598c1b18b30db5508e18"
"reference": "883f847ad179e92549a8cea372b08e5ef47ffe40"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Debug/zipball/ca764f8af9cc4ba5d81b598c1b18b30db5508e18",
"reference": "ca764f8af9cc4ba5d81b598c1b18b30db5508e18",
"url": "https://api.github.com/repos/symfony/Debug/zipball/883f847ad179e92549a8cea372b08e5ef47ffe40",
"reference": "883f847ad179e92549a8cea372b08e5ef47ffe40",
"shasum": ""
},
"require": {
@@ -254,34 +250,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Debug Component",
"homepage": "http://symfony.com",
"time": "2014-04-29 19:42:43"
"time": "2014-10-09 16:42:17"
},
{
"name": "symfony/dependency-injection",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/DependencyInjection",
"source": {
"type": "git",
"url": "https://github.com/symfony/DependencyInjection.git",
"reference": "5ebd813eac59b4051705a2e29e32f211a966b6ca"
"reference": "e2324e1c8c39faa5f27e6170b278d7f631574141"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/5ebd813eac59b4051705a2e29e32f211a966b6ca",
"reference": "5ebd813eac59b4051705a2e29e32f211a966b6ca",
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/e2324e1c8c39faa5f27e6170b278d7f631574141",
"reference": "e2324e1c8c39faa5f27e6170b278d7f631574141",
"shasum": ""
},
"require": {
@@ -312,34 +306,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony DependencyInjection Component",
"homepage": "http://symfony.com",
"time": "2014-05-02 22:42:57"
"time": "2014-10-01 05:38:33"
},
{
"name": "symfony/event-dispatcher",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/EventDispatcher",
"source": {
"type": "git",
"url": "https://github.com/symfony/EventDispatcher.git",
"reference": "cb7cd38c081507d10997553c4c522956a4d2afab"
"reference": "3e0b837811fadd73c833c7c06a92201d953df59d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/cb7cd38c081507d10997553c4c522956a4d2afab",
"reference": "cb7cd38c081507d10997553c4c522956a4d2afab",
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/3e0b837811fadd73c833c7c06a92201d953df59d",
"reference": "3e0b837811fadd73c833c7c06a92201d953df59d",
"shasum": ""
},
"require": {
@@ -368,34 +360,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony EventDispatcher Component",
"homepage": "http://symfony.com",
"time": "2014-04-16 10:30:19"
"time": "2014-10-01 05:39:06"
},
{
"name": "symfony/filesystem",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/Filesystem",
"source": {
"type": "git",
"url": "https://github.com/symfony/Filesystem.git",
"reference": "69e476c4db31c43ab7ab797adc5fc73d20aa5571"
"reference": "1c3a5fab445d1d4a5d57f8fbf1379696c9785942"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/69e476c4db31c43ab7ab797adc5fc73d20aa5571",
"reference": "69e476c4db31c43ab7ab797adc5fc73d20aa5571",
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/1c3a5fab445d1d4a5d57f8fbf1379696c9785942",
"reference": "1c3a5fab445d1d4a5d57f8fbf1379696c9785942",
"shasum": ""
},
"require": {
@@ -417,34 +407,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Filesystem Component",
"homepage": "http://symfony.com",
"time": "2014-04-16 10:30:19"
"time": "2014-09-22 08:32:35"
},
{
"name": "symfony/http-foundation",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/HttpFoundation",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpFoundation.git",
"reference": "ad7891d4dfe221c5a9edca64b71bdb500f5b026a"
"reference": "30c90f08f948dd43e7310beae7a85c02ad2b655d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/ad7891d4dfe221c5a9edca64b71bdb500f5b026a",
"reference": "ad7891d4dfe221c5a9edca64b71bdb500f5b026a",
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/30c90f08f948dd43e7310beae7a85c02ad2b655d",
"reference": "30c90f08f948dd43e7310beae7a85c02ad2b655d",
"shasum": ""
},
"require": {
@@ -469,34 +457,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony HttpFoundation Component",
"homepage": "http://symfony.com",
"time": "2014-05-22 16:20:26"
"time": "2014-10-23 13:11:04"
},
{
"name": "symfony/http-kernel",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/HttpKernel",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpKernel.git",
"reference": "d8c00747f592183692afaacf622c444c36092613"
"reference": "0154ff659004d4148e8da0f2bdb672efe55e6ee5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/d8c00747f592183692afaacf622c444c36092613",
"reference": "d8c00747f592183692afaacf622c444c36092613",
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/0154ff659004d4148e8da0f2bdb672efe55e6ee5",
"reference": "0154ff659004d4148e8da0f2bdb672efe55e6ee5",
"shasum": ""
},
"require": {
@@ -542,34 +528,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony HttpKernel Component",
"homepage": "http://symfony.com",
"time": "2014-05-31 02:04:21"
"time": "2014-10-24 05:54:08"
},
{
"name": "symfony/routing",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/Routing",
"source": {
"type": "git",
"url": "https://github.com/symfony/Routing.git",
"reference": "6e4c9024a04340b83e456a1a24597dba066dcdc9"
"reference": "f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Routing/zipball/6e4c9024a04340b83e456a1a24597dba066dcdc9",
"reference": "6e4c9024a04340b83e456a1a24597dba066dcdc9",
"url": "https://api.github.com/repos/symfony/Routing/zipball/f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f",
"reference": "f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f",
"shasum": ""
},
"require": {
@@ -579,6 +563,7 @@
"doctrine/common": "~2.2",
"psr/log": "~1.0",
"symfony/config": "~2.2",
"symfony/http-foundation": "~2.3",
"symfony/yaml": "~2.0"
},
"suggest": {
@@ -602,34 +587,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Routing Component",
"homepage": "http://symfony.com",
"time": "2014-04-23 13:35:47"
"time": "2014-10-13 12:38:27"
},
{
"name": "symfony/yaml",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/Yaml",
"source": {
"type": "git",
"url": "https://github.com/symfony/Yaml.git",
"reference": "2e257c292cfce88bf6c894a03d0fe8d782055aee"
"reference": "34687c6236f1dfcebc874fbebd8da74d90f9f64f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/2e257c292cfce88bf6c894a03d0fe8d782055aee",
"reference": "2e257c292cfce88bf6c894a03d0fe8d782055aee",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/34687c6236f1dfcebc874fbebd8da74d90f9f64f",
"reference": "34687c6236f1dfcebc874fbebd8da74d90f9f64f",
"shasum": ""
},
"require": {
@@ -651,20 +634,18 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Yaml Component",
"homepage": "http://symfony.com",
"time": "2014-05-12 09:13:35"
"time": "2014-10-01 05:38:33"
},
{
"name": "twig/twig",
@@ -720,167 +701,6 @@
}
],
"packages-dev": [
{
"name": "behat/mink",
"version": "v1.4.3",
"source": {
"type": "git",
"url": "https://github.com/Behat/Mink.git",
"reference": "0817070a6e2ec9f475fad9bfb81a962c462eb934"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/Mink/zipball/0817070a6e2ec9f475fad9bfb81a962c462eb934",
"reference": "0817070a6e2ec9f475fad9bfb81a962c462eb934",
"shasum": ""
},
"require": {
"php": ">=5.3.1",
"symfony/css-selector": ">=2.0,<2.4-dev"
},
"suggest": {
"behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
"behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
"behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
"behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-develop": "1.4.x-dev"
}
},
"autoload": {
"psr-0": {
"Behat\\Mink": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
}
],
"description": "Web acceptance testing framework for PHP 5.3",
"homepage": "http://mink.behat.org/",
"keywords": [
"browser",
"testing",
"web"
],
"time": "2013-03-02 15:53:18"
},
{
"name": "behat/mink-browserkit-driver",
"version": "v1.0.5",
"source": {
"type": "git",
"url": "https://github.com/Behat/MinkBrowserKitDriver.git",
"reference": "f2771b5fc4dbc233859addf37a7d150852f78418"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/MinkBrowserKitDriver/zipball/f2771b5fc4dbc233859addf37a7d150852f78418",
"reference": "f2771b5fc4dbc233859addf37a7d150852f78418",
"shasum": ""
},
"require": {
"behat/mink": "~1.4.3",
"php": ">=5.3.1",
"symfony/browser-kit": "~2.0",
"symfony/dom-crawler": "~2.0"
},
"require-dev": {
"silex/silex": "@dev"
},
"type": "mink-driver",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Behat\\Mink\\Driver": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
}
],
"description": "Symfony2 BrowserKit driver for Mink framework",
"homepage": "http://mink.behat.org/",
"keywords": [
"Mink",
"Symfony2",
"browser",
"testing"
],
"time": "2013-04-13 12:17:15"
},
{
"name": "behat/mink-goutte-driver",
"version": "v1.0.9",
"source": {
"type": "git",
"url": "https://github.com/Behat/MinkGoutteDriver.git",
"reference": "fa1b073b48761464feb0b05e6825da44b20118d8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/MinkGoutteDriver/zipball/fa1b073b48761464feb0b05e6825da44b20118d8",
"reference": "fa1b073b48761464feb0b05e6825da44b20118d8",
"shasum": ""
},
"require": {
"behat/mink-browserkit-driver": ">=1.0.5,<1.2.0",
"fabpot/goutte": "~1.0.1",
"php": ">=5.3.1"
},
"type": "mink-driver",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Behat\\Mink\\Driver": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
}
],
"description": "Goutte driver for Mink framework",
"homepage": "http://mink.behat.org/",
"keywords": [
"browser",
"goutte",
"headless",
"testing"
],
"time": "2013-07-03 18:43:54"
},
{
"name": "fabpot/goutte",
"version": "v1.0.3",
@@ -2168,17 +1988,17 @@
},
{
"name": "symfony/browser-kit",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/BrowserKit",
"source": {
"type": "git",
"url": "https://github.com/symfony/BrowserKit.git",
"reference": "bc6cb0fe5196ecfe183483791928ed525ac41728"
"reference": "6a403eedacb56d32dc2cc657cfeac09d640ae6bc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/bc6cb0fe5196ecfe183483791928ed525ac41728",
"reference": "bc6cb0fe5196ecfe183483791928ed525ac41728",
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/6a403eedacb56d32dc2cc657cfeac09d640ae6bc",
"reference": "6a403eedacb56d32dc2cc657cfeac09d640ae6bc",
"shasum": ""
},
"require": {
@@ -2208,34 +2028,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony BrowserKit Component",
"homepage": "http://symfony.com",
"time": "2014-04-22 14:58:51"
"time": "2014-09-22 08:32:35"
},
{
"name": "symfony/css-selector",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/CssSelector",
"source": {
"type": "git",
"url": "https://github.com/symfony/CssSelector.git",
"reference": "2ff53e8a7870b453836e879b083b971d455e174d"
"reference": "d9943386b648d21746bed25cc24f61fab1387943"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/2ff53e8a7870b453836e879b083b971d455e174d",
"reference": "2ff53e8a7870b453836e879b083b971d455e174d",
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/d9943386b648d21746bed25cc24f61fab1387943",
"reference": "d9943386b648d21746bed25cc24f61fab1387943",
"shasum": ""
},
"require": {
@@ -2257,12 +2075,6 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
@@ -2270,25 +2082,29 @@
{
"name": "Jean-François Simon",
"email": "jeanfrancois.simon@sensiolabs.com"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony CssSelector Component",
"homepage": "http://symfony.com",
"time": "2014-05-12 09:13:35"
"time": "2014-10-09 12:30:02"
},
{
"name": "symfony/dom-crawler",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/DomCrawler",
"source": {
"type": "git",
"url": "https://github.com/symfony/DomCrawler.git",
"reference": "5dd259d7842480fa7c5d4a45c4f911bd6fb60bc8"
"reference": "64b90870ee3a4e88c9a7a12861683864de029d31"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/5dd259d7842480fa7c5d4a45c4f911bd6fb60bc8",
"reference": "5dd259d7842480fa7c5d4a45c4f911bd6fb60bc8",
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/64b90870ee3a4e88c9a7a12861683864de029d31",
"reference": "64b90870ee3a4e88c9a7a12861683864de029d31",
"shasum": ""
},
"require": {
@@ -2316,34 +2132,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony DomCrawler Component",
"homepage": "http://symfony.com",
"time": "2014-05-26 22:15:18"
"time": "2014-10-01 05:38:33"
},
{
"name": "symfony/finder",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/Finder",
"source": {
"type": "git",
"url": "https://github.com/symfony/Finder.git",
"reference": "32949721cc76afd75e4ac60d14ac3cf55b10a768"
"reference": "fc25dab213d14468c39f12d47e5b79a72b898d4d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Finder/zipball/32949721cc76afd75e4ac60d14ac3cf55b10a768",
"reference": "32949721cc76afd75e4ac60d14ac3cf55b10a768",
"url": "https://api.github.com/repos/symfony/Finder/zipball/fc25dab213d14468c39f12d47e5b79a72b898d4d",
"reference": "fc25dab213d14468c39f12d47e5b79a72b898d4d",
"shasum": ""
},
"require": {
@@ -2365,34 +2179,32 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Finder Component",
"homepage": "http://symfony.com",
"time": "2014-05-22 13:42:36"
"time": "2014-10-01 05:39:06"
},
{
"name": "symfony/process",
"version": "v2.3.16",
"version": "v2.3.21",
"target-dir": "Symfony/Component/Process",
"source": {
"type": "git",
"url": "https://github.com/symfony/Process.git",
"reference": "2cd7d075df6cb0d564c069a66408b3877c07d4e3"
"reference": "0434822691030547f2439d30ff68758c5576a0ce"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Process/zipball/2cd7d075df6cb0d564c069a66408b3877c07d4e3",
"reference": "2cd7d075df6cb0d564c069a66408b3877c07d4e3",
"url": "https://api.github.com/repos/symfony/Process/zipball/0434822691030547f2439d30ff68758c5576a0ce",
"reference": "0434822691030547f2439d30ff68758c5576a0ce",
"shasum": ""
},
"require": {
@@ -2414,20 +2226,18 @@
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Process Component",
"homepage": "http://symfony.com",
"time": "2014-05-17 21:49:26"
"time": "2014-10-01 05:38:33"
}
],
"aliases": [
@@ -2437,9 +2247,9 @@
"stability-flags": [
],
"platform": [
],
"platform": {
"php": ">=5.3.3"
},
"platform-dev": [
]

View File

@@ -1,4 +1,9 @@
services:
# ----- Auth management -----
auth:
class: phpbb\auth\auth
# ----- Auth providers -----
auth.provider_collection:
class: phpbb\auth\provider_collection
arguments:
@@ -6,6 +11,7 @@ services:
- @config
tags:
- { name: service_collection, tag: auth.provider }
auth.provider.db:
class: phpbb\auth\provider\db
arguments:
@@ -14,10 +20,12 @@ services:
- @passwords.manager
- @request
- @user
- @service_container
- %core.root_path%
- %core.php_ext%
tags:
- { name: auth.provider }
auth.provider.apache:
class: phpbb\auth\provider\apache
arguments:
@@ -30,6 +38,7 @@ services:
- %core.php_ext%
tags:
- { name: auth.provider }
auth.provider.ldap:
class: phpbb\auth\provider\ldap
arguments:
@@ -39,6 +48,7 @@ services:
- @user
tags:
- { name: auth.provider }
auth.provider.oauth:
class: phpbb\auth\provider\oauth\oauth
arguments:
@@ -51,16 +61,20 @@ services:
- %tables.auth_provider_oauth_account_assoc%
- @auth.provider.oauth.service_collection
- %tables.users%
- @service_container
- %core.root_path%
- %core.php_ext%
tags:
- { name: auth.provider }
# ----- OAuth services providers -----
auth.provider.oauth.service_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: auth.provider.oauth.service }
auth.provider.oauth.service.bitly:
class: phpbb\auth\provider\oauth\service\bitly
arguments:
@@ -68,6 +82,7 @@ services:
- @request
tags:
- { name: auth.provider.oauth.service }
auth.provider.oauth.service.facebook:
class: phpbb\auth\provider\oauth\service\facebook
arguments:
@@ -75,6 +90,7 @@ services:
- @request
tags:
- { name: auth.provider.oauth.service }
auth.provider.oauth.service.google:
class: phpbb\auth\provider\oauth\service\google
arguments:

View File

@@ -1,4 +1,18 @@
services:
avatar.manager:
class: phpbb\avatar\manager
arguments:
- @config
- @avatar.driver_collection
# ----- Avatar drivers -----
avatar.driver_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: avatar.driver }
avatar.driver.gravatar:
class: phpbb\avatar\driver\gravatar
arguments:
@@ -45,15 +59,9 @@ services:
- %core.root_path%
- %core.php_ext%
- @path_helper
- @mimetype.guesser
- @cache.driver
calls:
- [set_name, [avatar.driver.upload]]
tags:
- { name: avatar.driver }
avatar.driver_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: avatar.driver }

59
phpBB/config/captcha.yml Normal file
View File

@@ -0,0 +1,59 @@
services:
captcha.factory:
class: phpbb\captcha\factory
arguments:
- @service_container
- @captcha.plugins.service_collection
# ----- Captcha plugins -----
# Scope MUST be prototype for all the plugins to work.
captcha.plugins.service_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: captcha.plugins }
core.captcha.plugins.gd:
class: phpbb\captcha\plugins\gd
scope: prototype
calls:
- [set_name, [core.captcha.plugins.gd]]
tags:
- { name: captcha.plugins }
core.captcha.plugins.gd_wave:
class: phpbb\captcha\plugins\gd_wave
scope: prototype
calls:
- [set_name, [core.captcha.plugins.gd_wave]]
tags:
- { name: captcha.plugins }
core.captcha.plugins.nogd:
class: phpbb\captcha\plugins\nogd
scope: prototype
calls:
- [set_name, [core.captcha.plugins.nogd]]
tags:
- { name: captcha.plugins }
core.captcha.plugins.qa:
class: phpbb\captcha\plugins\qa
scope: prototype
arguments:
- %tables.captcha_qa_questions%
- %tables.captcha_qa_answers%
- %tables.captcha_qa_confirm%
calls:
- [set_name, [core.captcha.plugins.qa]]
tags:
- { name: captcha.plugins }
core.captcha.plugins.recaptcha:
class: phpbb\captcha\plugins\recaptcha
scope: prototype
calls:
- [set_name, [core.captcha.plugins.recaptcha]]
tags:
- { name: captcha.plugins }

View File

@@ -1,12 +1,19 @@
services:
console.command_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: console.command }
console.command.cache.purge:
class: phpbb\console\command\cache\purge
arguments:
- @user
- @cache.driver
- @dbal.conn
- @auth
- @log
- @user
- @config
tags:
- { name: console.command }
@@ -14,6 +21,7 @@ services:
console.command.config.delete:
class: phpbb\console\command\config\delete
arguments:
- @user
- @config
tags:
- { name: console.command }
@@ -21,6 +29,7 @@ services:
console.command.config.increment:
class: phpbb\console\command\config\increment
arguments:
- @user
- @config
tags:
- { name: console.command }
@@ -28,6 +37,7 @@ services:
console.command.config.get:
class: phpbb\console\command\config\get
arguments:
- @user
- @config
tags:
- { name: console.command }
@@ -35,6 +45,7 @@ services:
console.command.config.set:
class: phpbb\console\command\config\set
arguments:
- @user
- @config
tags:
- { name: console.command }
@@ -42,6 +53,7 @@ services:
console.command.config.set_atomic:
class: phpbb\console\command\config\set_atomic
arguments:
- @user
- @config
tags:
- { name: console.command }
@@ -49,35 +61,37 @@ services:
console.command.cron.list:
class: phpbb\console\command\cron\cron_list
arguments:
- @cron.manager
- @user
- @cron.manager
tags:
- { name: console.command }
console.command.cron.run:
class: phpbb\console\command\cron\run
arguments:
- @user
- @cron.manager
- @cron.lock_db
- @user
tags:
- { name: console.command }
console.command.db.migrate:
class: phpbb\console\command\db\migrate
arguments:
- @user
- @migrator
- @ext.manager
- @config
- @cache
- @log
- @user
- %core.root_path%
tags:
- { name: console.command }
console.command.dev.migration_tips:
class: phpbb\console\command\dev\migration_tips
arguments:
- @user
- @ext.manager
tags:
- { name: console.command }
@@ -85,6 +99,7 @@ services:
console.command.extension.disable:
class: phpbb\console\command\extension\disable
arguments:
- @user
- @ext.manager
- @log
tags:
@@ -93,6 +108,7 @@ services:
console.command.extension.enable:
class: phpbb\console\command\extension\enable
arguments:
- @user
- @ext.manager
- @log
tags:
@@ -101,6 +117,7 @@ services:
console.command.extension.purge:
class: phpbb\console\command\extension\purge
arguments:
- @user
- @ext.manager
- @log
tags:
@@ -109,6 +126,7 @@ services:
console.command.extension.show:
class: phpbb\console\command\extension\show
arguments:
- @user
- @ext.manager
- @log
tags:
@@ -117,6 +135,7 @@ services:
console.command.fixup.recalculate_email_hash:
class: phpbb\console\command\fixup\recalculate_email_hash
arguments:
- @user
- @dbal.conn
tags:
- { name: console.command }

71
phpBB/config/content.yml Normal file
View File

@@ -0,0 +1,71 @@
services:
content.visibility:
class: phpbb\content_visibility
arguments:
- @auth
- @config
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
- %tables.forums%
- %tables.posts%
- %tables.topics%
- %tables.users%
groupposition.legend:
class: phpbb\groupposition\legend
arguments:
- @dbal.conn
- @user
groupposition.teampage:
class: phpbb\groupposition\teampage
arguments:
- @dbal.conn
- @user
- @cache.driver
message.form.admin:
class: phpbb\message\admin_form
arguments:
- @auth
- @config
- @config_text
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
message.form.topic:
class: phpbb\message\topic_form
arguments:
- @auth
- @config
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
message.form.user:
class: phpbb\message\user_form
arguments:
- @auth
- @config
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
pagination:
class: phpbb\pagination
arguments:
- @template
- @user
- @controller.helper
- @dispatcher
viewonline_helper:
class: phpbb\viewonline_helper
arguments:
- @filesystem

View File

@@ -1,4 +1,26 @@
services:
cron.manager:
class: phpbb\cron\manager
arguments:
- @cron.task_collection
- %core.root_path%
- %core.php_ext%
cron.lock_db:
class: phpbb\lock\db
arguments:
- cron_lock
- @config
- @dbal.conn
# ----- Cron tasks -----
cron.task_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: cron.task }
cron.task.core.prune_all_forums:
class: phpbb\cron\task\core\prune_all_forums
arguments:

View File

@@ -1,4 +1,20 @@
services:
dbal.conn:
class: phpbb\db\driver\factory
arguments:
- @service_container
dbal.conn.driver:
class: %dbal.driver.class%
calls:
- [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]
dbal.tools:
class: phpbb\db\tools
arguments:
- @dbal.conn
# ----- Migrator -----
migrator:
class: phpbb\db\migrator
arguments:
@@ -15,6 +31,7 @@ services:
migrator.helper:
class: phpbb\db\migration\helper
# ----- Migrator's tools -----
migrator.tool_collection:
class: phpbb\di\service_collection
arguments:

34
phpBB/config/event.yml Normal file
View File

@@ -0,0 +1,34 @@
services:
dispatcher:
class: phpbb\event\dispatcher
arguments:
- @service_container
hook_finder:
class: phpbb\hook\finder
arguments:
- %core.root_path%
- %core.php_ext%
- @cache.driver
kernel_request_subscriber:
class: phpbb\event\kernel_request_subscriber
arguments:
- @ext.manager
- %core.root_path%
- %core.php_ext%
tags:
- { name: kernel.event_subscriber }
kernel_exception_subscriber:
class: phpbb\event\kernel_exception_subscriber
arguments:
- @template
- @user
tags:
- { name: kernel.event_subscriber }
kernel_terminate_subscriber:
class: phpbb\event\kernel_terminate_subscriber
tags:
- { name: kernel.event_subscriber }

View File

@@ -1,11 +1,11 @@
parameters:
mimetype.guesser.priority.lowest: -2
mimetype.guesser.priority.low: -1
mimetype.guesser.priority.default: 0
mimetype.guesser.priority.high: 1
mimetype.guesser.priority.highest: 2
services:
mimetype.guesser_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: mimetype.guessers }
mimetype.fileinfo_mimetype_guesser:
class: Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser
tags:
@@ -30,13 +30,6 @@ services:
tags:
- { name: mimetype.guessers }
mimetype.guesser_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: mimetype.guessers }
mimetype.guesser:
class: phpbb\mimetype\guesser
arguments:

View File

@@ -1,4 +1,23 @@
services:
notification_manager:
class: phpbb\notification\manager
arguments:
- @notification.type_collection
- @notification.method_collection
- @service_container
- @user_loader
- @config
- @dbal.conn
- @cache
- @user
- %core.root_path%
- %core.php_ext%
- %tables.notification_types%
- %tables.notifications%
- %tables.user_notifications%
# ----- Notification's types -----
# Scope MUST be prototype for all the plugins to work.
notification.type_collection:
class: phpbb\di\service_collection
arguments:
@@ -6,16 +25,9 @@ services:
tags:
- { name: service_collection, tag: notification.type }
notification.method_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: notification.method }
notification.type.approve_post:
class: phpbb\notification\type\approve_post
scope: prototype # scope MUST be prototype for this to work! # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -33,7 +45,7 @@ services:
notification.type.approve_topic:
class: phpbb\notification\type\approve_topic
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -51,7 +63,7 @@ services:
notification.type.bookmark:
class: phpbb\notification\type\bookmark
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -69,7 +81,7 @@ services:
notification.type.disapprove_post:
class: phpbb\notification\type\disapprove_post
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -87,7 +99,7 @@ services:
notification.type.disapprove_topic:
class: phpbb\notification\type\disapprove_topic
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -105,7 +117,7 @@ services:
notification.type.group_request:
class: phpbb\notification\type\group_request
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -123,7 +135,7 @@ services:
notification.type.group_request_approved:
class: phpbb\notification\type\group_request_approved
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -141,7 +153,7 @@ services:
notification.type.pm:
class: phpbb\notification\type\pm
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -159,7 +171,7 @@ services:
notification.type.post:
class: phpbb\notification\type\post
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -177,7 +189,7 @@ services:
notification.type.post_in_queue:
class: phpbb\notification\type\post_in_queue
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -195,7 +207,7 @@ services:
notification.type.quote:
class: phpbb\notification\type\quote
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -213,7 +225,7 @@ services:
notification.type.report_pm:
class: phpbb\notification\type\report_pm
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -231,7 +243,7 @@ services:
notification.type.report_pm_closed:
class: phpbb\notification\type\report_pm_closed
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -249,7 +261,7 @@ services:
notification.type.report_post:
class: phpbb\notification\type\report_post
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -267,7 +279,7 @@ services:
notification.type.report_post_closed:
class: phpbb\notification\type\report_post_closed
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -285,7 +297,7 @@ services:
notification.type.topic:
class: phpbb\notification\type\topic
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -303,7 +315,7 @@ services:
notification.type.topic_in_queue:
class: phpbb\notification\type\topic_in_queue
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -321,7 +333,7 @@ services:
notification.type.admin_activate_user:
class: phpbb\notification\type\admin_activate_user
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -336,10 +348,19 @@ services:
- %tables.user_notifications%
tags:
- { name: notification.type }
# ----- Notification's methods -----
# Scope MUST be prototype for all the plugins to work.
notification.method_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: notification.method }
notification.method.email:
class: phpbb\notification\method\email
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn
@@ -354,7 +375,7 @@ services:
notification.method.jabber:
class: phpbb\notification\method\jabber
scope: prototype # scope MUST be prototype for this to work!
scope: prototype
arguments:
- @user_loader
- @dbal.conn

View File

@@ -0,0 +1,20 @@
parameters:
# Disable the usage of the super globals (_GET, _POST, _SERVER...)
core.disable_super_globals: true
# Datetime class to use
datetime.class: \phpbb\datetime
# Mimetype guesser priorities
mimetype.guesser.priority.lowest: -2
mimetype.guesser.priority.low: -1
mimetype.guesser.priority.default: 0
mimetype.guesser.priority.high: 1
mimetype.guesser.priority.highest: 2
# List of default password driver types
passwords.algorithms:
- passwords.driver.bcrypt_2y
- passwords.driver.bcrypt
- passwords.driver.salted_md5
- passwords.driver.phpass

View File

@@ -1,11 +1,29 @@
parameters:
passwords.algorithms:
- passwords.driver.bcrypt_2y
- passwords.driver.bcrypt
- passwords.driver.salted_md5
- passwords.driver.phpass
services:
# ----- Password management -----
passwords.manager:
class: phpbb\passwords\manager
arguments:
- @config
- @passwords.driver_collection
- @passwords.helper
- %passwords.algorithms%
passwords.helper:
class: phpbb\passwords\helper
passwords.driver_helper:
class: phpbb\passwords\driver\helper
arguments:
- @config
# ----- Password's drivers -----
passwords.driver_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: passwords.driver }
passwords.driver.bcrypt:
class: phpbb\passwords\driver\bcrypt
arguments:
@@ -83,6 +101,7 @@ services:
arguments:
- @request
- @passwords.driver.salted_md5
- @passwords.driver_helper
- %core.root_path%
- %core.php_ext%
tags:
@@ -103,26 +122,3 @@ services:
- @passwords.driver_helper
tags:
- { name: passwords.driver }
passwords.driver_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: passwords.driver }
passwords.driver_helper:
class: phpbb\passwords\driver\helper
arguments:
- @config
passwords.manager:
class: phpbb\passwords\manager
arguments:
- @config
- @passwords.driver_collection
- @passwords.helper
- %passwords.algorithms%
passwords.helper:
class: phpbb\passwords\helper

View File

@@ -19,6 +19,7 @@ services:
- @dbal.conn
- %tables.profile_fields_options_language%
# ----- Profile fields types -----
profilefields.type_collection:
class: phpbb\di\service_collection
arguments:

View File

@@ -1,32 +1,23 @@
imports:
- { resource: tables.yml }
- { resource: cron_tasks.yml }
- { resource: notifications.yml }
- { resource: migrator.yml }
- { resource: avatars.yml }
- { resource: feed.yml }
- { resource: auth_providers.yml }
- { resource: auth.yml }
- { resource: avatar.yml }
- { resource: captcha.yml }
- { resource: console.yml }
- { resource: mimetype_guessers.yml }
- { resource: passwords.yml }
- { resource: profilefields.yml }
- { resource: content.yml }
- { resource: cron.yml }
- { resource: db.yml }
- { resource: event.yml }
- { resource: feed.yml }
- { resource: mimetype_guesser.yml }
- { resource: notification.yml }
- { resource: password.yml }
- { resource: profilefield.yml }
- { resource: user.yml }
- { resource: tables.yml }
- { resource: parameters.yml }
services:
acl.permissions:
class: phpbb\permissions
arguments:
- @dispatcher
- @user
auth:
class: phpbb\auth\auth
avatar.manager:
class: phpbb\avatar\manager
arguments:
- @config
- @avatar.driver_collection
cache:
class: phpbb\cache\service
arguments:
@@ -75,19 +66,6 @@ services:
- @dbal.conn
- %tables.config_text%
content.visibility:
class: phpbb\content_visibility
arguments:
- @auth
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
- %tables.forums%
- %tables.posts%
- %tables.topics%
- %tables.users%
controller.helper:
class: phpbb\controller\helper
arguments:
@@ -97,6 +75,7 @@ services:
- @controller.provider
- @ext.manager
- @symfony_request
- @filesystem
- %core.root_path%
- %core.php_ext%
@@ -113,62 +92,6 @@ services:
calls:
- [find, [%core.root_path%]]
cron.task_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: cron.task }
cron.manager:
class: phpbb\cron\manager
arguments:
- @cron.task_collection
- %core.root_path%
- %core.php_ext%
cron.lock_db:
class: phpbb\lock\db
arguments:
- cron_lock
- @config
- @dbal.conn
dispatcher:
class: phpbb\event\dispatcher
arguments:
- @service_container
dbal.conn:
class: phpbb\db\driver\factory
arguments:
- @service_container
dbal.conn.driver:
class: %dbal.driver.class%
calls:
- [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]
dbal.tools:
class: phpbb\db\tools
arguments:
- @dbal.conn
event.subscriber_loader:
class: phpbb\event\extension_subscriber_loader
arguments:
- @dispatcher
- @event.listener_collection
calls:
- [load, []]
event.listener_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: event.listener }
ext.manager:
class: phpbb\extension\manager
arguments:
@@ -185,54 +108,12 @@ services:
filesystem:
class: phpbb\filesystem
groupposition.legend:
class: phpbb\groupposition\legend
arguments:
- @dbal.conn
- @user
groupposition.teampage:
class: phpbb\groupposition\teampage
arguments:
- @dbal.conn
- @user
- @cache.driver
http_kernel:
class: Symfony\Component\HttpKernel\HttpKernel
arguments:
- @dispatcher
- @controller.resolver
hook_finder:
class: phpbb\hook\finder
arguments:
- %core.root_path%
- %core.php_ext%
- @cache.driver
kernel_request_subscriber:
class: phpbb\event\kernel_request_subscriber
arguments:
- @ext.manager
- %core.root_path%
- %core.php_ext%
tags:
- { name: kernel.event_subscriber }
kernel_exception_subscriber:
class: phpbb\event\kernel_exception_subscriber
arguments:
- @template
- @user
tags:
- { name: kernel.event_subscriber }
kernel_terminate_subscriber:
class: phpbb\event\kernel_terminate_subscriber
tags:
- { name: kernel.event_subscriber }
log:
class: phpbb\log\log
arguments:
@@ -245,61 +126,6 @@ services:
- %core.php_ext%
- %tables.log%
message.form.admin:
class: phpbb\message\admin_form
arguments:
- @auth
- @config
- @config_text
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
message.form.topic:
class: phpbb\message\topic_form
arguments:
- @auth
- @config
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
message.form.user:
class: phpbb\message\user_form
arguments:
- @auth
- @config
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
notification_manager:
class: phpbb\notification\manager
arguments:
- @notification.type_collection
- @notification.method_collection
- @service_container
- @user_loader
- @config
- @dbal.conn
- @cache
- @user
- %core.root_path%
- %core.php_ext%
- %tables.notification_types%
- %tables.notifications%
- %tables.user_notifications%
pagination:
class: phpbb\pagination
arguments:
- @template
- @user
- @controller.helper
path_helper:
class: phpbb\path_helper
arguments:
@@ -325,6 +151,9 @@ services:
request:
class: phpbb\request\request
arguments:
- null
- %core.disable_super_globals%
symfony_request:
class: phpbb\symfony_request
@@ -343,17 +172,6 @@ services:
template_context:
class: phpbb\template\context
user:
class: phpbb\user
user_loader:
class: phpbb\user_loader
arguments:
- @dbal.conn
- %core.root_path%
- %core.php_ext%
- %tables.users%
version_helper:
class: phpbb\version_helper
scope: prototype
@@ -361,8 +179,3 @@ services:
- @cache
- @config
- @user
viewonline_helper:
class: phpbb\viewonline_helper
arguments:
- @filesystem

View File

@@ -1,6 +1,9 @@
parameters:
tables.auth_provider_oauth_token_storage: %core.table_prefix%oauth_tokens
tables.auth_provider_oauth_account_assoc: %core.table_prefix%oauth_accounts
tables.captcha_qa_questions: %core.table_prefix%captcha_questions
tables.captcha_qa_answers: %core.table_prefix%captcha_answers
tables.captcha_qa_confirm: %core.table_prefix%qa_confirm
tables.config: %core.table_prefix%config
tables.config_text: %core.table_prefix%config_text
tables.ext: %core.table_prefix%ext

19
phpBB/config/user.yml Normal file
View File

@@ -0,0 +1,19 @@
services:
acl.permissions:
class: phpbb\permissions
arguments:
- @dispatcher
- @user
user:
class: phpbb\user
arguments:
- %datetime.class%
user_loader:
class: phpbb\user_loader
arguments:
- @dbal.conn
- %core.root_path%
- %core.php_ext%
- %tables.users%

View File

@@ -62,8 +62,9 @@ if ($cron_lock->acquire())
if ($task->is_ready())
{
$task->run();
garbage_collection();
}
}
$cron_lock->release();
}
garbage_collection();

View File

@@ -57,4 +57,4 @@ $fp = fopen($schema_path . 'schema.json', 'wb');
fwrite($fp, json_encode($schema_data, JSON_PRETTY_PRINT));
fclose($fp);
echo 'done';
echo 'Successfully created schema file';

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.1.x Changelog" />
<title>phpBB3 &bull; Changelog</title>
<title>phpBB &bull; Changelog</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
@@ -46,8 +46,13 @@
<ol>
<li><a href="#changelog">Changelog</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#v310b3">Changes since 3.1.0-RC1</a></li>
<li><a href="#v310b3">Changes since 3.1.0-b4</a></li>
<li><a href="#v310RC6">Changes since 3.1.0-RC6</a></li>
<li><a href="#v310RC5">Changes since 3.1.0-RC5</a></li>
<li><a href="#v310RC4">Changes since 3.1.0-RC4</a></li>
<li><a href="#v310RC3">Changes since 3.1.0-RC3</a></li>
<li><a href="#v310RC2">Changes since 3.1.0-RC2</a></li>
<li><a href="#v310RC1">Changes since 3.1.0-RC1</a></li>
<li><a href="#v310b4">Changes since 3.1.0-b4</a></li>
<li><a href="#v310b3">Changes since 3.1.0-b3</a></li>
<li><a href="#v310b2">Changes since 3.1.0-b2</a></li>
<li><a href="#v310b1">Changes since 3.1.0-b1</a></li>
@@ -95,7 +100,357 @@
<div class="content">
<a name="v310RC1"></a><h3>1.i. Changes since 3.1.0-RC1</h3>
<a name="v310RC6"></a><h3>1.i. Changes since 3.1.0-RC6</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13126">PHPBB3-13126</a>] - More detailed output for migrations needed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13208">PHPBB3-13208</a>] - Security issues are not pulled into the changelog</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13210">PHPBB3-13210</a>] - Queue Cron Job checks for wrong config variable queue_interval_config</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13211">PHPBB3-13211</a>] - Add possibility to save migrations output to log</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13221">PHPBB3-13221</a>] - Can't upgrade to 3.1 from 3.0.11 and older</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13223">PHPBB3-13223</a>] - Using get_username_string() for email template variables causes HTML markup in emails</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13225">PHPBB3-13225</a>] - phpbb_hash() undefined in phpbb\db\migration\data\v30x\release_3_0_5_rc1.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13226">PHPBB3-13226</a>] - Stray $rank_img in memberlist.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13227">PHPBB3-13227</a>] - Remote avatars do not work with cURL wrapper</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13229">PHPBB3-13229</a>] - Memberlist is getting overloaded with redundant SQL queries</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13230">PHPBB3-13230</a>] - Deprecated phpbb_clean_path() does not work anymore</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13231">PHPBB3-13231</a>] - The migration contact_admin_form must depends on config_db_text</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13232">PHPBB3-13232</a>] - Email queue does not get run</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13234">PHPBB3-13234</a>] - Remember me cookie gets unset by admin reauthentication</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13207">PHPBB3-13207</a>] - Default subscription notification setting for new users does not include email</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13215">PHPBB3-13215</a>] - Update Symfony Components to 2.3.21</li>
</ul>
<a name="v310RC5"></a><h3>1.ii. Changes since 3.1.0-RC5</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12530">PHPBB3-12530</a>] - Visual confirmation is breaking layout in prosilver's mobile mode</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12568">PHPBB3-12568</a>] - docs/README.html references MODs instead of extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13124">PHPBB3-13124</a>] - PHP event extractor too strict on doc blocks</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13138">PHPBB3-13138</a>] - Banned users cause infinite recursion</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13140">PHPBB3-13140</a>] - Header links don't re-appear on window size increase</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13161">PHPBB3-13161</a>] - PHP Warnings issued from phpbb database test case</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13163">PHPBB3-13163</a>] - Header Navbar Responsiveness Broken</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13164">PHPBB3-13164</a>] - Data sent to core.submit_post_end event does not include fresh post_visibility</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13168">PHPBB3-13168</a>] - Warning displayed in PHP 5.6 for mbstring.http_input</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13169">PHPBB3-13169</a>] - Responsive forms not displaying correctly in RTL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13171">PHPBB3-13171</a>] - Can not delete posts and soft delete topics in MCP topic view</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13174">PHPBB3-13174</a>] - Minor HTML error in ucp_pm_viewmessage.html (needs closing &lt;/div&gt;)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13177">PHPBB3-13177</a>] - Post count-based ranks do not display in viewtopic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13181">PHPBB3-13181</a>] - Sphinx config template should use place holders for database credentials</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13186">PHPBB3-13186</a>] - Do not link post count to author search if search disabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13187">PHPBB3-13187</a>] - INSTALL.html is not valid HTML</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13188">PHPBB3-13188</a>] - Sphinx index() function triggers slow queries that time out replies</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13190">PHPBB3-13190</a>] - phpbb_session_login_keys_test::test_reset_keys fails on develop-ascraeus</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13194">PHPBB3-13194</a>] - BBCode isn't parsed when issuing a warning for a post</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13203">PHPBB3-13203</a>] - Use constant time comparison method for comparing password hashes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13217">PHPBB3-13217</a>] - Remember me cookie leak</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13218">PHPBB3-13218</a>] - Missing token check in acp_styles</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13221">PHPBB3-13221</a>] - Can't upgrade to 3.1 from 3.0.11 and older</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13223">PHPBB3-13223</a>] - Using get_username_string() for email template variables causes HTML markup in emails</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12796">PHPBB3-12796</a>] - View own Profile should have an edit button</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12799">PHPBB3-12799</a>] - Place the events for f_brunoais_read_other</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13041">PHPBB3-13041</a>] - help_faq.php language file needs to be revised</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13205">PHPBB3-13205</a>] - Add mark all PMs read button</li>
</ul>
<a name="v310RC4"></a><h3>1.iii. Changes since 3.1.0-RC4</h3>
<h4>Bug</h4>
<ul>
<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-11224">PHPBB3-11224</a>] - SQL cache destroy does not destroy queries to tables joined</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12368">PHPBB3-12368</a>] - Updating database fails in upgrade from 3.0 when trying twice without purging the cache</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12489">PHPBB3-12489</a>] - Description for Contact link in custom profile fields</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12657">PHPBB3-12657</a>] - Add a test file for cli command cache:purge</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12858">PHPBB3-12858</a>] - 'GMT' is hard coded and not pulled from language files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12889">PHPBB3-12889</a>] - multi-select element in unban email-adresses not limited in width</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13011">PHPBB3-13011</a>] - Javascript bug when selecting first one or two characters of a post</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13027">PHPBB3-13027</a>] - PM folder full percentage could be a bit more accurate</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13033">PHPBB3-13033</a>] - Duplicate entry SQL error thrown when running notifications_use_full_name migration</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13045">PHPBB3-13045</a>] - Pragma header not specified as response header by RFC2616</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13048">PHPBB3-13048</a>] - AJAX requests are being stored to session_page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13055">PHPBB3-13055</a>] - String profile fields validation limits content to latin chars only</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13070">PHPBB3-13070</a>] - Wrong hook name is registered for array(template, display)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13071">PHPBB3-13071</a>] - total_match_count is used before core.search_get_posts_data event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13080">PHPBB3-13080</a>] - Responsive design - language variable to long</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13082">PHPBB3-13082</a>] - Search box does not displayed proper in admin cp when no logs listed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13085">PHPBB3-13085</a>] - Fix typo in oauth.php</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-13087">PHPBB3-13087</a>] - WLM link is empty in viewtopic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13097">PHPBB3-13097</a>] - Fix missing unit type in forms.css</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13104">PHPBB3-13104</a>] - Responsive tabs display bug in IE11</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13105">PHPBB3-13105</a>] - Future dates are displayed as &quot;Tomorrow&quot; with relative date format</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13111">PHPBB3-13111</a>] - Debug output when editing DropDown Custom Fields with multiple languages</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13113">PHPBB3-13113</a>] - The routes are not always generated for the good app.php file</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13116">PHPBB3-13116</a>] - Topic and post approval notifications got interchanged</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13117">PHPBB3-13117</a>] - Installation fails on MySQL 5.7 because auto_increment columns can be NULL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13118">PHPBB3-13118</a>] - datetime.class parameter not used in user class</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13120">PHPBB3-13120</a>] - phpbb_load_extensions_autoloaders() doesn't work very well with the extensions behind a symlink</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13121">PHPBB3-13121</a>] - Customise Purge Cache always returns user to Styles page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13125">PHPBB3-13125</a>] - Uploaded avatars are not displayed in IE &lt;= 7</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12408">PHPBB3-12408</a>] - Add quick setting for &quot;default guest style&quot; to ACP board settings</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12985">PHPBB3-12985</a>] - Add event to modify the redirect after a successful login</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12993">PHPBB3-12993</a>] - Add event to get_user_rank() function</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13025">PHPBB3-13025</a>] - Add template events for buttons on viewforum and viewtopic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13059">PHPBB3-13059</a>] - Add core event to generate_page_link() to allow modifying pagination URLs</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13072">PHPBB3-13072</a>] - Add total_match_count to core.search_get_topic_data event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13077">PHPBB3-13077</a>] - Change module order in Customise tab for better usability</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13094">PHPBB3-13094</a>] - Remove the search box if there are no new posts to search for</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13107">PHPBB3-13107</a>] - Add template events to forum row in forumlist_body.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13108">PHPBB3-13108</a>] - Add core event to the parse_attachments() function to allow modifying files info</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13110">PHPBB3-13110</a>] - Add core event to the page_footer() function to allow handling overall output</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13122">PHPBB3-13122</a>] - phpbb_wrapper_gmgetdate_test intermittently fails</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13134">PHPBB3-13134</a>] - Add core event to the root of the function display_forums()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13137">PHPBB3-13137</a>] - Remove schema.json from repository</li>
</ul>
<h4>Sub-task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12929">PHPBB3-12929</a>] - Add an event when getting the information for PM composal</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12930">PHPBB3-12930</a>] - Add an event to the query getting the post for quoting in a PM</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10794">PHPBB3-10794</a>] - Make schema available at runtime</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12987">PHPBB3-12987</a>] - Cleanup the services.yml file</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13106">PHPBB3-13106</a>] - Remove the \phpbb\di\pass\kernel_pass class</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13119">PHPBB3-13119</a>] - Add events to mcp and acp ban modules</li>
<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>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10472">PHPBB3-10472</a>] - ACP &quot;add multiple smilies&quot; page is unusable on 1024x768 resolution</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11909">PHPBB3-11909</a>] - phpbb/db/migrator::load_migrations is never called</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12258">PHPBB3-12258</a>] - Add attachment: error alert popup on &quot;empty.png&quot; does not show up</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12506">PHPBB3-12506</a>] - Long post titles bump the username down an extra row beneath the edit/quote/delete buttons</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12658">PHPBB3-12658</a>] - Add tests for config:* cli commands</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12661">PHPBB3-12661</a>] - Extensions templates not loaded from &quot;all&quot; by helper/render()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12734">PHPBB3-12734</a>] - Custom profile manager should not suppress errors when inserting user rows</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12765">PHPBB3-12765</a>] - acp_profile.php should use db/tools</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12852">PHPBB3-12852</a>] - \phpbb\path_helper get_url_parts does not handle get variable with no value</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12856">PHPBB3-12856</a>] - plupload images are not integrated into style-path</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12862">PHPBB3-12862</a>] - Smiley and Whos Onlike pop-up boxes are making styling difficult</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12949">PHPBB3-12949</a>] - Undefined function mime_content_type()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12966">PHPBB3-12966</a>] - Undefined sorting of posts with same post_time on postgres</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12975">PHPBB3-12975</a>] - Catchable fatal error after update to RC3</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12976">PHPBB3-12976</a>] - Pagination of UCP manage attachments page in prosilver does not support plural forms</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12983">PHPBB3-12983</a>] - UCP preferences, Display posts ordering by: input is not properly validated</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12984">PHPBB3-12984</a>] - Index page: blank line when no forum description shown</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12986">PHPBB3-12986</a>] - Wrong functions call order breaks detection of common words in search</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12990">PHPBB3-12990</a>] - The prefix for the notification's services is harcoded</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12996">PHPBB3-12996</a>] - tests/lock/flock_test.php should use microtime() instead of time()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12998">PHPBB3-12998</a>] - Undefined $lang in mcp_warn.php::add_warning()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13004">PHPBB3-13004</a>] - Topic tools button is displayed even if dropdown is empty</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13008">PHPBB3-13008</a>] - Importing a resource in routing.yml breaks download/file.php and ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13009">PHPBB3-13009</a>] - Cleanup Tweaks CSS, Remove outdated browser support</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13018">PHPBB3-13018</a>] - Key binding on AJAX popups are not unbound upon close/cancel</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13019">PHPBB3-13019</a>] - Don't display &quot;Soft delete reason&quot; dialog when moderator cannot soft-delete</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13022">PHPBB3-13022</a>] - &quot;Return to advanced search&quot; wrong assumption </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13031">PHPBB3-13031</a>] - Impossible to properly upload image if no proper mimetype guessers enabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13035">PHPBB3-13035</a>] - Empty meta tags in header</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13040">PHPBB3-13040</a>] - W3C validator warning in overral_footer.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13042">PHPBB3-13042</a>] - Unused var in login_box()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13044">PHPBB3-13044</a>] - Expires header violates RFC 2616</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13046">PHPBB3-13046</a>] - In download/avatar we don't load the vendors added by the extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13050">PHPBB3-13050</a>] - Allow topic/forum subscription when email and jabber are off</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13051">PHPBB3-13051</a>] - Fix broken viewonline core event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13052">PHPBB3-13052</a>] - Remove additional parameters from check_form_key()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13057">PHPBB3-13057</a>] - Fatal error on previous page link after closing a report</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13065">PHPBB3-13065</a>] - Unknown column 'user_pass_convert' in 'field list' [code] - =&gt; 1054 </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13068">PHPBB3-13068</a>] - Language correction in FIELD_IS_CONTACT_EXPLAIN</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13069">PHPBB3-13069</a>] - Timezone selector does not filter locations on change</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12416">PHPBB3-12416</a>] - WhoIs Pop Up Page Details</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12598">PHPBB3-12598</a>] - Improve action-bar search box styling</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12653">PHPBB3-12653</a>] - Caches the informations about the listeners to be able to not load them everytime</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12900">PHPBB3-12900</a>] - 3.1.0 avatar scaling</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12943">PHPBB3-12943</a>] - Add core.phpbb_generate_debug_output core event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12961">PHPBB3-12961</a>] - Add link in anti-spam ACP page which links directly to captchas in titania</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12969">PHPBB3-12969</a>] - Add template event around the find username link on composing pm</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12982">PHPBB3-12982</a>] - JS in 3.1 is nasty</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12989">PHPBB3-12989</a>] - Remove unused &quot;created_by.jpg&quot; from prosilver</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12991">PHPBB3-12991</a>] - Have events after/before &quot;add warning&quot; field - user and post</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12994">PHPBB3-12994</a>] - Add core event to viewtopic.php before sending vars to template</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13003">PHPBB3-13003</a>] - Missing language keys in command &quot;extension:show&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13005">PHPBB3-13005</a>] - Add core event to display_forums() to modify category template data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13006">PHPBB3-13006</a>] - Add variables to the 'core.modify_quickmod_actions' event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13010">PHPBB3-13010</a>] - phpbb_get_avatar() incorrectly refers to \phpbb\avatar\driver\driver::clean_row()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13020">PHPBB3-13020</a>] - Add var to core.viewforum_get_topic_data event to allow modifying forum template data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13024">PHPBB3-13024</a>] - Template event viewtopic_body_postrow_post_content_footer</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13026">PHPBB3-13026</a>] - Add template vars array to core.viewonline_overwrite_location to allow modifying/adding template vars</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13034">PHPBB3-13034</a>] - Add ability to access extensions outside the phpBB root</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13036">PHPBB3-13036</a>] - Controller helper route method should be able to generate absolute URL's</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13038">PHPBB3-13038</a>] - Link user post tally to their posts</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13047">PHPBB3-13047</a>] - Add $post_list array to core.viewtopic_modify_page_title core event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13056">PHPBB3-13056</a>] - Move the arguments of the request class to the DI</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13058">PHPBB3-13058</a>] - The &quot;jump to page&quot; input does not have a min attribute.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13061">PHPBB3-13061</a>] - Use a compiler pass to replace the service event.subscriber_loader</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13062">PHPBB3-13062</a>] - Add viewforum.php core event to allow modifying sql query to select topic ids</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13066">PHPBB3-13066</a>] - Add common search results core event to modify search title</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12951">PHPBB3-12951</a>] - Add .editorconfig</li>
</ul>
<h4>Sub-task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12928">PHPBB3-12928</a>] - [Event] - core.mcp_reports_gather_query_before</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12999">PHPBB3-12999</a>] - Remove @author tag from the doc block</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13032">PHPBB3-13032</a>] - Update Symfony Components to 2.3.19</li>
</ul>
<a name="v310RC2"></a><h3>1.v. Changes since 3.1.0-RC2</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11148">PHPBB3-11148</a>] - Fix uploading attachments from Android 4 powered devices</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-11520">PHPBB3-11520</a>] - Post count not incremented when you fork a topic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11854">PHPBB3-11854</a>] - Captcha code is still in includes/</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12232">PHPBB3-12232</a>] - MCP Banning: Max execution time exceeded</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12448">PHPBB3-12448</a>] - Migration tools don't allow adding columns with default == NULL</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-12535">PHPBB3-12535</a>] - The profile link should be better adjusted to the avatar image it surrounds in viewtopic.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12685">PHPBB3-12685</a>] - CLI doesn't load extension commands</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12710">PHPBB3-12710</a>] - phpBB 3.0.12 on Oracle fails to upgrade to 3.1.0</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12718">PHPBB3-12718</a>] - Hard Deleting Post does not Decrease Post Count</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12742">PHPBB3-12742</a>] - Notifications duplicate code that requires an event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12744">PHPBB3-12744</a>] - RTL board header is one line higher than LTR</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12748">PHPBB3-12748</a>] - UCP Terms of Use Typo</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12770">PHPBB3-12770</a>] - search_wordmatch unique key name is too long</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12776">PHPBB3-12776</a>] - docs/INSTALL.html is missing 3.0 to 3.1 update instructions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12789">PHPBB3-12789</a>] - Cached directories are not deleted when the cache is purged (with ACM memory enabled).</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12791">PHPBB3-12791</a>] - String profile fields do not use links, smilies and line breaks in memberlist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12792">PHPBB3-12792</a>] - Profile field type strings function get_profile_contact_value duplicates raw()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12793">PHPBB3-12793</a>] - String '0' does not display for string profile fields</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12794">PHPBB3-12794</a>] - Google+ profile field validation is too strict</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12809">PHPBB3-12809</a>] - RTL styling issues with new jump-box dropdown</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12814">PHPBB3-12814</a>] - Error while trying to setup LDAP Authentication in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12822">PHPBB3-12822</a>] - Preselect avatar type if only 1 type is enabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12837">PHPBB3-12837</a>] - Viewing contact form displays &quot;VIEWING_MEMBERS&quot; on viewonline</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12842">PHPBB3-12842</a>] - Out of memory issue in code sniffer call for extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12843">PHPBB3-12843</a>] - When you click on &quot;Mark forums read&quot; in the browser, a console error occurs</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12844">PHPBB3-12844</a>] - $dbpasswd is cleared too early in connection manager</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12845">PHPBB3-12845</a>] - HTML5 Invalid using role=&quot;navigation&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12846">PHPBB3-12846</a>] - SQLite3 bug in profilefield_base_migration.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12849">PHPBB3-12849</a>] - ReferenceError in core.js</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12851">PHPBB3-12851</a>] - Font colour button title is not consistent with other buttons</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12853">PHPBB3-12853</a>] - Problems with ACP/MCP links in mobile design with other translations</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12854">PHPBB3-12854</a>] - Admin contact page should not be used when board emails are disabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12855">PHPBB3-12855</a>] - Container is being recompiled on every page request although DEBUG_CONTAINER is not set</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12859">PHPBB3-12859</a>] - Missing post button events from view pm template</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12870">PHPBB3-12870</a>] - Console database migrate function can not update from 3.0.12 to 3.1</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12873">PHPBB3-12873</a>] - Wrong identifier tested in \db\tools\sql_create_(unique_)index()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12875">PHPBB3-12875</a>] - Extension's info_acp_lang files don't fallback correctly when the user's language is not included in the extension</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12881">PHPBB3-12881</a>] - Debug error - Undefined index: mark_time</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12882">PHPBB3-12882</a>] - $config['search_type'] - is not correctly updated when updating from 3.0 to 3.1</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12883">PHPBB3-12883</a>] - Do not use basename() to get the search class in phpbb\cron\task\core\tidy_search</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12886">PHPBB3-12886</a>] - Redundant lock and unlock expressions for QuickMod in viewtopic.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12887">PHPBB3-12887</a>] - Typo in timezone handling code: 'offest' should be 'offset'</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12891">PHPBB3-12891</a>] - Long page generation time when banlist is long</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12895">PHPBB3-12895</a>] - ?style=1 appended to url after using the UCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12898">PHPBB3-12898</a>] - In cron.php we try to release the lock after the call to garbage_collection()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12901">PHPBB3-12901</a>] - Wrong type hint in show_available_child_styles() doc block</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12902">PHPBB3-12902</a>] - Remove duplicate entry in build_cfg_template() switch statement</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12903">PHPBB3-12903</a>] - Remove unused method in phpBB/phpbb/extension/metadata_manager.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12908">PHPBB3-12908</a>] - Fix broken operator assignment in increment.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12909">PHPBB3-12909</a>] - Use correct lang vars in cli extension enable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12910">PHPBB3-12910</a>] - Profile fields: Two &quot;simple text field&quot; in dropdown menu</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12912">PHPBB3-12912</a>] - Undefined index when adding logs from extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12918">PHPBB3-12918</a>] - Functional Tests Suite does not run on its own</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12919">PHPBB3-12919</a>] - Allow using class names as module identifier for extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12922">PHPBB3-12922</a>] - Posts per page in MCP should have a minimum value of zero</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12931">PHPBB3-12931</a>] - General error on user registration when domain name is not set</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12932">PHPBB3-12932</a>] - Easy support of non-gregorian calendars</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12937">PHPBB3-12937</a>] - Without config file, extract($phpbb_config_php_file-&gt;get_all()); breaks</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12938">PHPBB3-12938</a>] - Board floods &quot;store&quot;-directory with packed attachments</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12940">PHPBB3-12940</a>] - Unused 'use' statements in download/file.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12950">PHPBB3-12950</a>] - Functional tests can not be run anymore if another language is present</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12954">PHPBB3-12954</a>] - Nginx setup on travis returns wrong SCRIPT_NAME info</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12956">PHPBB3-12956</a>] - Unknown column 'field_is_contact' in 'field list'</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12964">PHPBB3-12964</a>] - Undefined $row in download/file.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12967">PHPBB3-12967</a>] - Undefined variable: phpbb_dispatcher in mcp_queue.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12970">PHPBB3-12970</a>] - chema.json is not up to date with migration files</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9165">PHPBB3-9165</a>] - Extend template loop to allow iteration step modification</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10073">PHPBB3-10073</a>] - Contact page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12051">PHPBB3-12051</a>] - Optimise Composer Autoloader on Build</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12560">PHPBB3-12560</a>] - Add methods to set upload and temp paths in Plupload class</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12656">PHPBB3-12656</a>] - Translate existing CLI commands</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12663">PHPBB3-12663</a>] - Extract Command Line Interface language strings into their own file.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12671">PHPBB3-12671</a>] - Possibility to use NOT LIKE expression</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12693">PHPBB3-12693</a>] - Add a travis test that checks file permissions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12738">PHPBB3-12738</a>] - Move related code from functions_posting into remove_post_from_statistic()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12778">PHPBB3-12778</a>] - The automatic updater should have an option to automatically delete removed files during update</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12828">PHPBB3-12828</a>] - Add includes/ucp/ucp_prefs.php common core event to allow additional actions before the page load</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12832">PHPBB3-12832</a>] - Add footer links to the Quick Links menu</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12836">PHPBB3-12836</a>] - [Event] - core.functions.redirect</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12841">PHPBB3-12841</a>] - Allow extensions to position new config vars in an array</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12847">PHPBB3-12847</a>] - Allow extensions to define if they can be enabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12857">PHPBB3-12857</a>] - Add template events overall_header_breadcrumbs_before/after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12864">PHPBB3-12864</a>] - Have an EVENT tag after STYLESHEETS in overall_header</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12871">PHPBB3-12871</a>] - Add PHPBB_DISPLAY_LOAD_TIME constant to config.php on installation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12872">PHPBB3-12872</a>] - Add poster_id to viewtopic_modify_post_row</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12884">PHPBB3-12884</a>] - Add core event to the function upload_attachment()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12892">PHPBB3-12892</a>] - S_NUM_ROWS does not scale</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12896">PHPBB3-12896</a>] - Add event in acp_main to allow php checks for admin notices</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12906">PHPBB3-12906</a>] - Add rel=&quot;help&quot; to FAQ link</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12913">PHPBB3-12913</a>] - Add more parameters to core.submit_post_end event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12942">PHPBB3-12942</a>] - Add core.add_form_key core event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12944">PHPBB3-12944</a>] - Add core.login_forum_box core event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12953">PHPBB3-12953</a>] - Page title not updated when notifications are marked as read</li>
</ul>
<h4>Sub-task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12800">PHPBB3-12800</a>] - [Event] - Create core.functions_display.display_user_activity.actives_after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12801">PHPBB3-12801</a>] - [Event] - core.functions_posting.load_drafts_draft_list_results</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12876">PHPBB3-12876</a>] - [Event] - core.mcp_mcp_front.mcp_front_view_queue_postid_list_after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12880">PHPBB3-12880</a>] - [Event] - core.mcp_queue_!is_topics_query_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12927">PHPBB3-12927</a>] - [Event] - core.mcp_queue_get_posts2_query_before</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10404">PHPBB3-10404</a>] - Remove create_function from includes/acp/auth.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12557">PHPBB3-12557</a>] - Fix doc block errors found by Sami</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12826">PHPBB3-12826</a>] - Investigate &quot;catch (Exception&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12860">PHPBB3-12860</a>] - Add template events to mcp_ban.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12861">PHPBB3-12861</a>] - Add event before assigning the posts to the template</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-12920">PHPBB3-12920</a>] - Create composer installable app and core packages with subtree split</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12941">PHPBB3-12941</a>] - Check for Sami documentation errors on Travis CI</li>
<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>
<h4>Bug</h4>
<ul>
@@ -166,7 +521,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.ii. Changes since 3.1.0-b4</h3>
<a name="v310b4"></a><h3>1.vii. Changes since 3.1.0-b4</h3>
<h4>Bug</h4>
<ul>
@@ -286,7 +641,7 @@
</ul>
<a name="v310b3"></a><h3>1.iii. Changes since 3.1.0-b3</h3>
<a name="v310b3"></a><h3>1.viii. Changes since 3.1.0-b3</h3>
<h4>Bug</h4>
<ul>
@@ -393,7 +748,7 @@
</ul>
<a name="v310b2"></a><h3>1.iv. Changes since 3.1.0-b2</h3>
<a name="v310b2"></a><h3>1.ix. Changes since 3.1.0-b2</h3>
<h4>Bug</h4>
<ul>
@@ -558,7 +913,7 @@
</ul>
<a name="v310b1"></a><h3>1.v. Changes since 3.1.0-b1</h3>
<a name="v310b1"></a><h3>1.x. Changes since 3.1.0-b1</h3>
<h4>Bug</h4>
<ul>
@@ -626,7 +981,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.vi. Changes since 3.1.0-a3</h3>
<a name="v310a3"></a><h3>1.xi. Changes since 3.1.0-a3</h3>
<h4>Bug</h4>
<ul>
@@ -773,7 +1128,7 @@
</ul>
<a name="v310a2"></a><h3>1.vii. Changes since 3.1.0-a2</h3>
<a name="v310a2"></a><h3>1.xii. Changes since 3.1.0-a2</h3>
<h4>Bug</h4>
<ul>
@@ -881,7 +1236,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.viii. Changes since 3.1.0-a1</h3>
<a name="v310a1"></a><h3>1.xiii. Changes since 3.1.0-a1</h3>
<h4>Bug</h4>
<ul>
@@ -957,7 +1312,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.ix. Changes since 3.0.x</h3>
<a name="v30x"></a><h3>1.xiv. Changes since 3.0.x</h3>
<h4>Bug</h4>
<ul>
@@ -1638,7 +1993,7 @@
<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.x. Changes since 3.0.11</h3>
<a name="v3011"></a><h3>1.xv. Changes since 3.0.11</h3>
<h4>Bug</h4>
<ul>
@@ -1793,7 +2148,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.xi. Changes since 3.0.10</h3>
<a name="v3010"></a><h3>1.xvi. Changes since 3.0.10</h3>
<h4>Bug</h4>
<ul>
@@ -1918,7 +2273,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.xii. Changes since 3.0.9</h3>
<a name="v309"></a><h3>1.xvii. Changes since 3.0.9</h3>
<h4>Bug</h4>
<ul>
@@ -2054,7 +2409,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.xiii. Changes since 3.0.8</h3>
<a name="v308"></a><h3>1.xviii. Changes since 3.0.8</h3>
<h4> Bug
</h4>
@@ -2422,7 +2777,7 @@
</ul>
<a name="v307-PL1"></a><h3>1.xiv. 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>
@@ -2880,13 +3235,13 @@
</ul>
<a name="v307"></a><h3>1.xv. Changes since 3.0.7</h3>
<a name="v307"></a><h3>1.xx. 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.xvi. Changes since 3.0.6</h3>
<a name="v306"></a><h3>1.xxi. 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>
@@ -2990,7 +3345,7 @@
</ul>
<a name="v305"></a><h3>1.xvii. Changes since 3.0.5</h3>
<a name="v305"></a><h3>1.xxii. Changes since 3.0.5</h3>
<ul>
<li>[Fix] Allow whitespaces in avatar gallery names. (Bug #44955)</li>
@@ -3212,7 +3567,7 @@
<li>[Feature] Send anonymous statistical information to phpBB on installation and update (optional).</li>
</ul>
<a name="v304"></a><h3>1.xviii. Changes since 3.0.4</h3>
<a name="v304"></a><h3>1.xxiii. 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>
@@ -3301,7 +3656,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.xix. Changes since 3.0.3</h3>
<a name="v303"></a><h3>1.xxiv. Changes since 3.0.3</h3>
<ul>
<li>[Fix] Allow mixed-case template directories to be inherited (Bug #36725)</li>
@@ -3333,7 +3688,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.xx. Changes since 3.0.2</h3>
<a name="v302"></a><h3>1.xxv. 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>
@@ -3432,7 +3787,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.xxi. Changes since 3.0.1</h3>
<a name="v301"></a><h3>1.xxvi. Changes since 3.0.1</h3>
<ul>
<li>[Fix] Ability to set permissions on non-mysql dbms (Bug #24955)</li>
@@ -3480,7 +3835,7 @@
<li>[Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)</li>
</ul>
<a name="v300"></a><h3>1.xxii. Changes since 3.0.0</h3>
<a name="v300"></a><h3>1.xxvii. Changes since 3.0.0</h3>
<ul>
<li>[Change] Validate birthdays (Bug #15004)</li>
@@ -3551,7 +3906,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.xxiii. Changes since 3.0.RC8</h3>
<a name="v30rc8"></a><h3>1.xxviii. 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>
@@ -3560,7 +3915,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.xxiv. Changes since 3.0.RC7</h3>
<a name="v30rc7"></a><h3>1.xxix. Changes since 3.0.RC7</h3>
<ul>
<li>[Fix] Fixed MSSQL related bug in the update system</li>
@@ -3595,7 +3950,7 @@
<li>[Fix] No duplication of active topics (Bug #15474)</li>
</ul>
<a name="v30rc6"></a><h3>1.xxv. Changes since 3.0.RC6</h3>
<a name="v30rc6"></a><h3>1.xxx. Changes since 3.0.RC6</h3>
<ul>
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
@@ -3605,7 +3960,7 @@
<li>[Fix] Able to request new password (Bug #14743)</li>
</ul>
<a name="v30rc5"></a><h3>1.xxvi. Changes since 3.0.RC5</h3>
<a name="v30rc5"></a><h3>1.xxxi. 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>
@@ -3668,7 +4023,7 @@
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
</ul>
<a name="v30rc4"></a><h3>1.xxvii. Changes since 3.0.RC4</h3>
<a name="v30rc4"></a><h3>1.xxxii. Changes since 3.0.RC4</h3>
<ul>
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
@@ -3719,7 +4074,7 @@
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
</ul>
<a name="v30rc3"></a><h3>1.xxviii. Changes since 3.0.RC3</h3>
<a name="v30rc3"></a><h3>1.xxxiii. Changes since 3.0.RC3</h3>
<ul>
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
@@ -3828,7 +4183,7 @@
</ul>
<a name="v30rc2"></a><h3>1.xxix. Changes since 3.0.RC2</h3>
<a name="v30rc2"></a><h3>1.xxxiv. Changes since 3.0.RC2</h3>
<ul>
<li>[Fix] Re-allow searching within the memberlist</li>
@@ -3874,7 +4229,7 @@
</ul>
<a name="v30rc1"></a><h3>1.xxx. Changes since 3.0.RC1</h3>
<a name="v30rc1"></a><h3>1.xxxv. Changes since 3.0.RC1</h3>
<ul>
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>

View File

@@ -24,7 +24,6 @@ phpBB Lead Developer: naderman (Nils Adermann)
phpBB Developers: bantu (Andreas Fischer)
dhruv.goel92 (Dhruv Goel)
EXreaction (Nathan Guse)
marc1706 (Marc Alexander)
nickvergessen (Joas Schilling)
nicofuma (Tristan Darricau)
@@ -53,6 +52,7 @@ phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
ckwalsh (Cullen Walsh) [01/2010 - 07/2011]
DavidMJ (David M.) [12/2005 - 08/2009]
dhn (Dominik Dröscher) [05/2007 - 01/2011]
EXreaction (Nathan Guse) [07/2012 - 05/2014]
GrahamJE (Graham Eames) [09/2005 - 11/2006]
igorw (Igor Wiedler) [08/2010 - 02/2013]
imkingdavid (David King) [11/2012 - 06/2014]

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.1.x frequently asked questions" />
<title>phpBB3 &bull; FAQ</title>
<title>phpBB &bull; FAQ</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
@@ -35,7 +35,7 @@
<!-- BEGIN DOCUMENT -->
<p>This is a very basic Frequently Asked Questions (FAQ) page which attempts to answer some of the more commonly asked questions. It is by no means exhaustive and should be used in combination with the 'built-in' User FAQ within phpBB3, the community forums and our IRC channel (see <a href="README.html">README</a> for details).</p>
<p>This is a very basic Frequently Asked Questions (FAQ) page which attempts to answer some of the more commonly asked questions. It is by no means exhaustive and should be used in combination with the 'built-in' User FAQ within phpBB, the community forums and our IRC channel (see <a href="README.html">README</a> for details).</p>
<h1>FAQ</h1>
@@ -78,7 +78,7 @@
<div class="content">
<p>Simple answer, no we will not. We are not being difficult when we say this we are actually trying to help you. phpBB has a reputation for being easy to install, that reputation is we believe well deserved. It is a simple process of unarchiving a single file, uploading the resulting directory/files to their intended location and entering some data in a web based form. The sequence of events, what to type where, etc. is covered in detail in the accompanying <a href="INSTALL.html">INSTALL.html</a> documentation. If you cannot install phpBB3 the chances are you will be unable to administer or update it.</p>
<p>Simple answer, no we will not. We are not being difficult when we say this we are actually trying to help you. phpBB has a reputation for being easy to install, that reputation is we believe well deserved. It is a simple process of unarchiving a single file, uploading the resulting directory/files to their intended location and entering some data in a web based form. The sequence of events, what to type where, etc. is covered in detail in the accompanying <a href="INSTALL.html">INSTALL.html</a> documentation. If you cannot install phpBB the chances are you will be unable to administer or update it.</p>
<p>There are people, companies (unrelated to your hosting provider), etc. that will install your forum, either for free or for a payment. We do not recommend you make use of these offers. Unless the service is provided by your hosting company you will have to divulge passwords and other sensitive details. If you did not know how to use an ATM would you give a passer-by your bank card and PIN and ask them to show you what to do? No, probably not! The same applies to your hosting account details!</p>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.1.x Installation, updating and conversion informations" />
<title>phpBB3 &bull; Install</title>
<title>phpBB &bull; Install</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
@@ -39,7 +39,7 @@
<p>This document will walk you through the basics on installing, updating and converting the forum software.</p>
<p>A basic overview of running phpBB3 can be found in the accompanying <a href="README.html">README</a> file. Please ensure you read that document in addition to this! For more detailed information on using, installing, updating and converting phpBB3 you should read <a href="https://www.phpbb.com/support/documentation/3.0/">the documentation</a> available online.</p>
<p>A basic overview of running phpBB can be found in the accompanying <a href="README.html">README</a> file. Please ensure you read that document in addition to this! For more detailed information on using, installing, updating and converting phpBB you should read <a href="https://www.phpbb.com/support/documentation/3.0/">the documentation</a> available online.</p>
<h1>Install</h1>
@@ -61,6 +61,7 @@
<li><a href="#update_all">All package types</a></li>
</ol>
</li>
<li><a href="#update30">Updating from phpBB 3.0.x to phpBB 3.1.x</a></li>
<li><a href="#convert">Conversion from phpBB 2.0.x to phpBB 3.1.x</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#prereq">Requirements before converting</a></li>
@@ -141,10 +142,11 @@
</ul>
</li>
<li><strong>PHP 5.3.3+</strong> with support for the database you intend to use.</li>
<li>The following PHP modules are required:</li>
<li>The following PHP modules are required:
<ul>
<li>json</li>
</ul>
</li>
<li>getimagesize() function must be enabled.</li>
<li>Presence of the following modules within PHP will provide access to additional features, but they are not required:
<ul>
@@ -175,23 +177,23 @@
<div class="content">
<p>Installation of phpBB3 will vary according to your server and database. If you have <em>shell access</em> to your account (via telnet or ssh for example) you may want to upload the entire phpBB3 archive (in binary mode!) to a directory on your host and unarchive it there.</p>
<p>Installation of phpBB will vary according to your server and database. If you have <em>shell access</em> to your account (via telnet or ssh for example) you may want to upload the entire phpBB archive (in binary mode!) to a directory on your host and unarchive it there.</p>
<p>If you do not have shell access or do not wish to use it, you will need to decompress the phpBB3 archive to a local directory on your system using your favourite compression program, e.g. winzip, rar, zip, etc. From there you must FTP <strong>ALL</strong> the files it contains (being sure to retain the directory structure and filenames) to your host. Please ensure that the cases of filenames are retained, do <strong>NOT</strong> force filenames to all lower or upper case as doing so will cause errors later.</p>
<p>If you do not have shell access or do not wish to use it, you will need to decompress the phpBB archive to a local directory on your system using your favourite compression program, e.g. winzip, rar, zip, etc. From there you must FTP <strong>ALL</strong> the files it contains (being sure to retain the directory structure and filenames) to your host. Please ensure that the cases of filenames are retained, do <strong>NOT</strong> force filenames to all lower or upper case as doing so will cause errors later.</p>
<p>All .php, .sql, .cfg, .css, .js, .html, .htaccess and .txt files should be uploaded in <strong>ASCII</strong> mode, while all graphics should be uploaded in <strong>BINARY</strong> mode. If you are unfamiliar with what this means please refer to your FTP client documentation. In most cases this is all handled transparantly by your ftp client, but if you encounter problems later you should be sure the files were uploaded correctly as described here.</p>
<p>phpBB3 comes supplied with British English as its standard language. However, a number of separate packs for different languages are available. If you are not a native English speaker you may wish to install one or more of these packages before continuing. The installation process below will allow you to select a default language from those available (you can, of course, change this default at a later stage). For more details on language packs, where to obtain them and how to install them please see the <a href="README.html#i18n">README</a>.</p>
<p>phpBB comes supplied with British English as its standard language. However, a number of separate packs for different languages are available. If you are not a native English speaker you may wish to install one or more of these packages before continuing. The installation process below will allow you to select a default language from those available (you can, of course, change this default at a later stage). For more details on language packs, where to obtain them and how to install them please see the <a href="README.html#i18n">README</a>.</p>
<p>Once all the files have been uploaded to your site, you should point your browser at this location with the addition of <code>/install/</code>. For example, if your domain name is <code>www.example.com</code> and you placed the phpBB3 files in the directory <code>/phpBB3</code> off your web root you would enter <code>http://www.example.com/phpBB3/install/</code> or (alternatively) <code>http://www.example.com/phpBB3/install/index.php</code> into your browser. When you have done this, you should see the <strong><em>phpBB3 Introduction</em></strong> screen appear.</p>
<p>Once all the files have been uploaded to your site, you should point your browser at this location with the addition of <code>/install/</code>. For example, if your domain name is <code>www.example.com</code> and you placed the phpBB files in the directory <code>/phpBB3</code> off your web root you would enter <code>http://www.example.com/phpBB3/install/</code> or (alternatively) <code>http://www.example.com/phpBB3/install/index.php</code> into your browser. When you have done this, you should see the <strong><em>phpBB Introduction</em></strong> screen appear.</p>
<h4>Introduction:</h4>
<p>The initial screen gives you a short introduction into phpBB. It allows you to read the license phpBB3 is released under (General Public License v2) and provides information about how you can receive support. To start the installation, use the <strong><em>INSTALL</em></strong> tab.</p>
<p>The initial screen gives you a short introduction into phpBB. It allows you to read the license phpBB is released under (General Public License v2) and provides information about how you can receive support. To start the installation, use the <strong><em>INSTALL</em></strong> tab.</p>
<h4>Requirements</h4>
<p>The first page you will see after starting the installation is the Requirements list. phpBB3 automatically checks whether everything that it needs to run properly is installed on your server. You need to have at least the minimum PHP version installed, and at least one database available to continue the installation. Also important, is that all shown folders are available and have the correct permissions. Please see the description of each section to find out whether they are optional or required for phpBB3 to run. If everything is in order, you can continue the installation with <em>Start Install</em>.</p>
<p>The first page you will see after starting the installation is the Requirements list. phpBB automatically checks whether everything that it needs to run properly is installed on your server. You need to have at least the minimum PHP version installed, and at least one database available to continue the installation. Also important, is that all shown folders are available and have the correct permissions. Please see the description of each section to find out whether they are optional or required for phpBB to run. If everything is in order, you can continue the installation with <em>Start Install</em>.</p>
<h4>Database settings</h4>
@@ -211,7 +213,7 @@
<p>You don't need to change the Prefix for tables in database setting, unless you plan on using multipe phpBB installations on one database. In this case, you can use a different prefix for each installation to make it work.</p>
<p>After you entered your details, you can continue with the <em>Proceed to next step</em> button. Now phpBB3 will check whether the data you entered will lead to a successful database connection and whether tables with the same prefix already exist.</p>
<p>After you entered your details, you can continue with the <em>Proceed to next step</em> button. Now phpBB will check whether the data you entered will lead to a successful database connection and whether tables with the same prefix already exist.</p>
<p>A <em>Could not connect to the database</em> error means that you didn't enter the database data correctly and it is not possible for phpBB to connect. Make sure that everything you entered is in order and try again. Again, if you are unsure about your database settings, please contact your host.</p>
@@ -221,7 +223,7 @@
<h4>Administrator details</h4>
<p>Now you have to create your administration user. This user will have full administration access and he/she will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla phpBB3 installation, we only include British English. You can download further languages from <a href="https://www.phpbb.com/">www.phpbb.com</a>, and add them before installing or later.</p>
<p>Now you have to create your administration user. This user will have full administration access and he/she will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla phpBB installation, we only include British English. You can download further languages from <a href="https://www.phpbb.com/">www.phpbb.com</a>, and add them before installing or later.</p>
<h4>Configuration file</h4>
@@ -235,7 +237,7 @@
<p>If the installation was successful, you can now use the <em>Login</em> button to visit the Administration Control Panel. Congratulations, you have installed phpBB successfully. But there is still work ahead!</p>
<p>If you are unable to get phpBB3 installed even after reading this guide, please look at the support section of the installer's introduction page to find out where you can ask for further assistance.</p>
<p>If you are unable to get phpBB installed even after reading this guide, please look at the support section of the installer's introduction page to find out where you can ask for further assistance.</p>
<p>At this point if you are converting from phpBB 2.0.x, you should refer to the <a href="#convert">conversion steps</a> for further information. If not, you should remove the install directory from your server as you will only be able to access the Administration Control Panel whilst it is present.</p>
@@ -255,15 +257,15 @@
<div class="content">
<p>If you are currently using a stable release of phpBB3, updating to this version is straightforward. You would have downloaded one of four packages and your choice determines what you need to do. <strong>Note</strong>: Before updating, we heavily recommend you do a <em>full backup of your database and existing phpBB3 files</em>! If you are unsure how to achieve this please ask your hosting provider for advice.</p>
<p>If you are currently using a stable release of phpBB, updating to this version is straightforward. You would have downloaded one of four packages and your choice determines what you need to do. <strong>Note</strong>: Before updating, we heavily recommend you do a <em>full backup of your database and existing phpBB files</em>! If you are unsure how to achieve this please ask your hosting provider for advice.</p>
<p><strong>Please make sure you update your phpBB3 source files too, even if you run the <code>database_update.php</code> file.</strong></p>
<p><strong>Please make sure you update your phpBB source files too, even if you run the <code>database_update.php</code> file.</strong></p>
<a name="update_full"></a><h3>4.i. Full package</h3>
<p>The full package is normally meant for new installations only, but if you want to replace all source files, this package comes in handy.</p>
<p>First, you should make a copy of your existing <code>config.php</code> file; keep it in a safe place! Next, delete all the existing phpBB3 files, you may want to leave your <code>files/</code> and <code>images/</code> directorie in place. You can leave alternative styles in place too. With this complete, you can upload the new phpBB files (see <a href="#install">New installation</a> for details if necessary). Once complete, copy back your saved <code>config.php</code>, replacing the new one. Another method is to just <strong>replace</strong> the existing files with the files from the full package - though make sure you do <strong>not</strong> overwrite your config.php file.</p>
<p>First, you should make a copy of your existing <code>config.php</code> file; keep it in a safe place! Next, delete all the existing phpBB files, you may want to leave your <code>files/</code> and <code>images/</code> directories in place. You can leave alternative styles in place too. With this complete, you can upload the new phpBB files (see <a href="#install">New installation</a> for details if necessary). Once complete, copy back your saved <code>config.php</code>, replacing the new one. Another method is to just <strong>replace</strong> the existing files with the files from the full package - though make sure you do <strong>not</strong> overwrite your config.php file.</p>
<p>You should now run <code>install/database_update.php</code> which, depending on your previous version, will make a number of database changes. You may receive <em>FAILURES</em> during this procedure. They should not be a cause for concern unless you see an actual <em>ERROR</em>, in which case the script will stop (in this case you should seek help via our forums or bug tracker).</p>
@@ -302,7 +304,7 @@
<ul>
<li>Go to the <a href="https://www.phpbb.com/downloads/">downloads page</a> and download the latest update package listed there, matching your current version.</li>
<li>Upload the uncompressed archive contents to your phpBB installation - only the install folder is required. Upload the whole install folder, retaining the file structure.</li>
<li>After the install folder is present, phpBB3 will go offline automatically.</li>
<li>After the install folder is present, phpBB will go offline automatically.</li>
<li>Point your browser to the install directory, for example <code>http://www.example.com/phpBB3/install/</code></li>
<li>Choose the "Update" Tab and follow the instructions</li>
</ul>
@@ -324,7 +326,41 @@
<hr />
<a name="convert"></a><h2>5. Conversion from phpBB 2.0.x to phpBB 3.1.x</h2>
<a name="update30"></a><h2>5. Updating from phpBB 3.0.x to phpBB 3.1.x</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<p>Updating from phpBB 3.0.x to 3.1.x is just the same as <a href="#update">updating from stable releases of phpBB 3.1.x</a></p>
<p>However you can also start with a new set of phpBB 3.1.x files.</p>
<ol>
<li>Delete all files <strong>EXCEPT</strong> for the following:
<ul>
<li>The <code>config.php</code> file</li>
<li>The <code>images/</code> directory</li>
<li>The <code>files/</code> directory</li>
<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>Browse to install/database_update.php</li>
<li>Delete the <code>install/</code> directory</li>
</ol>
</div>
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
<span class="corners-bottom"><span></span></span></div>
</div>
<hr />
<a name="convert"></a><h2>6. Conversion from phpBB 2.0.x to phpBB 3.1.x</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
@@ -387,20 +423,20 @@
<hr />
<a name="postinstall"></a><h2>6. Important (security related) post-Install tasks for all installation methods</h2>
<a name="postinstall"></a><h2>7. Important (security related) post-Install tasks for all installation methods</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<p>Once you have successfully installed phpBB3 you <strong>MUST</strong> ensure you remove the entire <code>install/</code> directory. Leaving the install directory in place is a <em>very serious potential security issue</em> which may lead to deletion or alteration of files, etc. Please note that until this directory is removed, phpBB will not operate and a warning message will be displayed. Beyond this <strong>essential</strong> deletion, you may also wish to delete the docs/ directory if you wish.</p>
<p>Once you have successfully installed phpBB you <strong>MUST</strong> ensure you remove the entire <code>install/</code> directory. Leaving the install directory in place is a <em>very serious potential security issue</em> which may lead to deletion or alteration of files, etc. Please note that until this directory is removed, phpBB will not operate and a warning message will be displayed. Beyond this <strong>essential</strong> deletion, you may also wish to delete the docs/ directory if you wish.</p>
<p>With these directories deleted, you should proceed to the administration panel. Depending on how the installation completed, you may have been directed there automatically. If not, login as the administrator you specified during install/conversion and click the <strong>Administration Control Panel</strong> link at the bottom of any page. Ensure that details specified on the <strong>General</strong> tab are correct!</p>
<a name="avatars"></a><h3>6.i. Uploadable avatars</h3>
<p>phpBB3 supports several methods for allowing users to select their own <em>avatar</em> (an avatar is a small image generally unique to a user and displayed just below their username in posts).</p>
<p>phpBB supports several methods for allowing users to select their own <em>avatar</em> (an avatar is a small image generally unique to a user and displayed just below their username in posts).</p>
<p>Two of these options allow users to upload an avatar from their machine or a remote location (via a URL). If you wish to enable this function you should first ensure the correct path for uploadable avatars is set in <strong>Administration Control Panel -&gt; General -&gt; Board Configuration -&gt; Avatar settings</strong>. By default this is <code>images/avatars/uploads</code>, but you can set it to whatever you like, just ensure the configuration setting is updated. You must also ensure this directory can be written to by the webserver. Usually this means you have to alter its permissions to allow anyone to read and write to it. Exactly how you should do this depends on your FTP client or server operating system.</p>
@@ -425,7 +461,7 @@
<hr />
<a name="anti_spam"></a><h2>7. Anti-Spam Measures</h2>
<a name="anti_spam"></a><h2>8. Anti-Spam Measures</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
@@ -441,7 +477,7 @@
<hr />
<a name="disclaimer"></a><h2>8. Copyright and disclaimer</h2>
<a name="disclaimer"></a><h2>9. Copyright and disclaimer</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.1.x Readme" />
<title>phpBB3 &bull; Readme</title>
<title>phpBB &bull; Readme</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
@@ -34,7 +34,7 @@
<!-- BEGIN DOCUMENT -->
<p>Thank you for downloading phpBB3. This README will guide you through the basics of installation and operation of phpBB3. Please ensure you read this and the accompanying documentation fully <strong>before</strong> proceeding with the installation.</p>
<p>Thank you for downloading phpBB. This README will guide you through the basics of installation and operation of phpBB. Please ensure you read this and the accompanying documentation fully <strong>before</strong> proceeding with the installation.</p>
<h1>Readme</h1>
@@ -44,15 +44,15 @@
<div class="content">
<ol>
<li><a href="#install">Installing phpBB3</a></li>
<li><a href="#run">Running phpBB3</a>
<li><a href="#install">Installing phpBB</a></li>
<li><a href="#run">Running phpBB</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#i18n">Languages (Internationalisation - i18n)</a></li>
<li><a href="#styles">Styles</a></li>
<li><a href="#mods">Modifications</a></li>
<li><a href="#extensions">Extensions</a></li>
</ol>
</li>
<li><a href="#help">Getting help with phpBB3</a>
<li><a href="#help">Getting help with phpBB</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#docs">Documentation</a></li>
<li><a href="#kb">Knowledge Base</a></li>
@@ -78,7 +78,7 @@
<hr />
<a name="install"></a><h2>1. Installing phpBB3</h2>
<a name="install"></a><h2>1. Installing phpBB</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
@@ -115,7 +115,7 @@
<hr />
<a name="run"></a><h2>2. Running phpBB3</h2>
<a name="run"></a><h2>2. Running phpBB</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
@@ -132,31 +132,31 @@
<p>This is the <em>official</em> location for all supported language sets. If you download a package from a 3rd party site you do so with the understanding that we cannot offer support. Please do not ask for support if you download a language pack from a 3rd party site.</p>
<p>Installation of these packages is straightforward: simply download the required language pack, uncompress (unzip) it and via FTP transfer the included <code>language</code> and <code>styles</code> folders to the root of your board installation. The language can then be installed via the Administration Control Panel of your board: <code>System tab -&gt; General Tasks -&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>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>
<a name="styles"></a><h3>2.ii. Styles</h3>
<p>Although we are rather proud of the included styles, we realise that they may not be to everyone's taste. Therefore, phpBB3 allows styles to be switched with relative ease. First, you need to locate and download a style you like. You can find them listed in the <a href="https://www.phpbb.com/customise/db/styles-2/">Styles</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p>Although we are rather proud of the included styles, we realise that they may not be to everyone's taste. Therefore, phpBB allows styles to be switched with relative ease. First, you need to locate and download a style you like. You can find them listed in the <a href="https://www.phpbb.com/customise/db/styles-2/">Styles</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p>For more information about styles, please see: <a href="https://www.phpbb.com/styles/">https://www.phpbb.com/styles/</a></p>
<p><strong>Please note</strong> that 3rd party styles downloaded for versions of phpBB2 will <strong>not</strong> work in phpBB3. It is also important to ensure that the style is updated to match the current version of the phpBB software you are using.</p>
<p>Once you have downloaded a style, the usual next step is to unarchive (or upload the unarchived contents of) the package into your <code>styles/</code> directory. You then need to visit <code>Administration Control Panel -&gt; Styles tab</code> where you should see the new style available. Click &quot;Install&quot; to install the style.</p>
<p>Once you have downloaded a style, the usual next step is to unarchive (or upload the unarchived contents of) the package into your <code>styles/</code> directory. You then need to visit <code>Administration Control Panel -&gt; Customise tab -&gt; Style management -&gt; Install Styles</code> where you should see the new style available. Click &quot;Install style&quot; to install the style.</p>
<p><strong>Please note</strong> that to improve efficiency, the software caches certain data. For this reason, if you create your own style or modify existing ones, please remember to &quot;Refresh&quot; the appropriate style components <code>Administration Control Panel -&gt; Styles tab -&gt; Style Components</code> screen. You may also need to reload the page you have changed in your web browser to overcome browser caching. If the changed components are not refreshed you will not see your changes taking effect.</p>
<p><strong>Please note</strong> that to improve efficiency, the software caches certain data. For this reason, if you create your own style or modify existing ones, please remember to purge the board cache by clicking the <code>Run now</code> button next to the <code>Purge the cache</code> option in the index page of the Administration Control Panel. You may also need to reload the page you have changed in your web browser to overcome browser caching. If the cache is not purged, you will not see your changes taking effect.</p>
<a name="mods"></a><h3>2.iii. Modifications</h3>
<a name="extensions"></a><h3>2.iii. Extensions</h3>
<p>We are proud to have a thriving modifications community. These third party modifications to the standard phpBB software, known as <strong>MODs</strong>, extend its capabilities still further. You can browse through many of the MODs in the <a href="https://www.phpbb.com/customise/db/modifications-1/">Modifications</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p>We are proud to have a thriving extensions community. These third party extensions to the standard phpBB software, extend its capabilities still further. You can browse through many of the extensions in the <a href="https://www.phpbb.com/customise/db/extensions-27/">Extensions</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p>For more information about MODs, please see: <a href="https://www.phpbb.com/mods/">https://www.phpbb.com/mods/</a></p>
<p>For more information about extensions, please see: <a href="https://www.phpbb.com/extensions">https://www.phpbb.com/extensions</a></p>
<p><strong>Please remember</strong> that any bugs or other issues that occur after you have added any modification should <strong>NOT</strong> be reported to the bug tracker (see below). First remove the MOD and see if the problem is resolved. Any support for a MOD should only be sought in the &quot;Discussion/Support&quot; forum for that MOD.</p>
<p><strong>Please remember</strong> that any bugs or other issues that occur after you have added any extension should <strong>NOT</strong> be reported to the bug tracker (see below). First disable the extension and see if the problem is resolved. Any support for an extension should only be sought in the &quot;Discussion/Support&quot; forum for that extension.</p>
<p>Also remember that any modifications, particularly those which modify the database in any way, may render upgrading your forum to future versions more difficult. With all this said, many users have and continue to utilise many of the MODs already available with great success.</p>
<p>Also remember that any extensions which modify the database in any way, may render upgrading your forum to future versions more difficult.</p>
</div>
@@ -167,16 +167,16 @@
<hr />
<a name="help"></a><h2>3. Getting help with phpBB3</h2>
<a name="help"></a><h2>3. Getting help with phpBB</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<p>phpBB3 can sometimes seem a little daunting to new users, particularly with regards to the permission system. The first thing you should do is check the <a href="FAQ.html">FAQ</a>, which covers a few basic getting started questions. If you need additional help there are several places you can find it.</p>
<p>phpBB can sometimes seem a little daunting to new users, particularly with regards to the permission system. The first thing you should do is check the <a href="FAQ.html">FAQ</a>, which covers a few basic getting started questions. If you need additional help there are several places you can find it.</p>
<a name="docs"></a><h3>3.i. phpBB3 Documentation</h3>
<a name="docs"></a><h3>3.i. phpBB Documentation</h3>
<p>Comprehensive documentation is now available on the phpBB website:</p>
@@ -244,16 +244,16 @@
<div class="content">
<p>The phpBB Limited uses a bug tracking system to store, list and manage all reported bugs, it can be found at the location listed below. Please <strong>DO NOT</strong> post bug reports to our forums. In addition please <strong>DO NOT</strong> use the bug tracker for support requests. Posting such a request will only see you directed to the support forums (while taking time away from working on real bugs).</p>
<p>The phpBB developers use a bug tracking system to store, list and manage all reported bugs, it can be found at the location listed below. Please <strong>DO NOT</strong> post bug reports to our forums. In addition please <strong>DO NOT</strong> use the bug tracker for support requests. Posting such a request will only see you directed to the support forums (while taking time away from working on real bugs).</p>
<p><a href="http://tracker.phpbb.com/browse/PHPBB3">http://tracker.phpbb.com/browse/PHPBB3</a></p>
<p>While we very much appreciate receiving bug reports (the more reports the more stable phpBB will be) we ask you carry out a few steps before adding new entries:</p>
<ul>
<li>First, determine if your bug is reproduceable; how to determine this depends on the bug in question. Only if the bug is reproduceable is it likely to be a problem with phpBB3 (or in some way connected). If something cannot be reproduced it may turn out to have been your hosting provider working on something, a user doing something silly, etc. Bug reports for non-reproduceable events can slow down our attempts to fix real, reproduceable issues<br /><br /></li>
<li>First, determine if your bug is reproduceable; how to determine this depends on the bug in question. Only if the bug is reproduceable is it likely to be a problem with phpBB (or in some way connected). If something cannot be reproduced it may turn out to have been your hosting provider working on something, a user doing something silly, etc. Bug reports for non-reproduceable events can slow down our attempts to fix real, reproduceable issues<br /><br /></li>
<li>Next, please read or search through the existing bug reports to see if <em>your</em> bug (or one very similar to it) is already listed. If it is please add to that existing bug rather than creating a new duplicate entry (all this does is slow us down).<br /><br /></li>
<li>Check the forums (use search!) to see if people have discussed anything that sounds similar to what you are seeing. However, as noted above please <strong>DO NOT</strong> post your particular bug to the forum unless it's non-reproduceable or you are sure it&rsquo;s related to something you have done rather than phpBB3<br /><br /></li>
<li>Check the forums (use search!) to see if people have discussed anything that sounds similar to what you are seeing. However, as noted above please <strong>DO NOT</strong> post your particular bug to the forum unless it's non-reproduceable or you are sure it&rsquo;s related to something you have done rather than phpBB<br /><br /></li>
<li>If no existing bug exists then please feel free to add it</li>
</ul>
@@ -267,7 +267,7 @@
<p>The relevant database type/version is listed within the administration control panel.</p>
<p>Please be as detailed as you can in your report, and if possible, list the steps required to duplicate the problem. If you have a patch that fixes the issue, please attach it to the ticket or submit a pull request to our repository <a href="https://github.com/phpbb/phpbb3">on GitHub</a>.</p>
<p>Please be as detailed as you can in your report, and if possible, list the steps required to duplicate the problem. If you have a patch that fixes the issue, please attach it to the ticket or submit a pull request to our repository <a href="https://github.com/phpbb/phpbb">on GitHub</a>.</p>
<p>If you create a patch, it is very much appreciated (but not required) if you follow the phpBB coding guidelines. Please note that the coding guidelines are somewhat different between different versions of phpBB. For phpBB 3.1.x the coding guidelines may be found here: <a href="http://area51.phpbb.com/docs/31x/coding-guidelines.html">http://area51.phpbb.com/docs/31x/coding-guidelines.html</a></p>
@@ -321,7 +321,7 @@
<p>phpBB 3.1.x takes advantage of new features added in PHP 5.3. We recommend that you upgrade to the latest stable release of PHP5 to run phpBB. The minimum version required is PHP 5.3.3.</p>
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB3. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
<p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, MSSQL Server 2000, PostgreSQL 8.x, Oracle 8, SQLite 2 and SQLite 3. Versions of PHP used range from 5.3.x to 5.4.x without problem.</p>

View File

@@ -64,6 +64,13 @@ acp_overall_header_head_append
* Since: 3.1.0-a1
* Purpose: Add assets within the `<head>` tags in the ACP
acp_overall_header_stylesheets_after
===
* Location: adm/style/overall_header.html
* Since: 3.1.0-RC3
* Purpose: Add assets after stylesheets within the `<head>` tags in the ACP.
Note that INCLUDECSS will not work with this event.
acp_posting_buttons_after
===
* Locations:
@@ -78,6 +85,50 @@ acp_posting_buttons_before
* Since: 3.1.0-b4
* Purpose: Add content before BBCode posting buttons in the ACP
acp_ranks_edit_after
===
* Locations:
+ adm/style/acp_ranks.html
* Since: 3.1.0-RC3
* Purpose: Add content after the rank details when editing a rank in the ACP
acp_ranks_edit_before
===
* Locations:
+ adm/style/acp_ranks.html
* Since: 3.1.0-RC3
* Purpose: Add content before the rank details when editing a rank in the ACP
acp_ranks_list_column_after
===
* Locations:
+ adm/style/acp_ranks.html
* Since: 3.1.0-RC3
* Purpose: Add content before the first column in the ranks list in the ACP
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)
in the ranks list in the ACP
acp_ranks_list_header_after
===
* Locations:
+ adm/style/acp_ranks.html
* Since: 3.1.0-RC3
* Purpose: Add content before the first header-column in the ranks list in the ACP
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)
in the ranks list in the ACP
acp_simple_footer_after
===
* Location: adm/style/simple_footer.html
@@ -96,6 +147,13 @@ acp_simple_header_head_append
* Since: 3.1.0-a1
* Purpose: Add assets within the `<head>` tags in the simple header of the ACP
acp_simple_header_stylesheets_after
===
* Location: adm/style/simple_header.html
* Since: 3.1.0-RC3
* Purpose: Add assets after stylesheets within the `<head>` tags in the simple header
of the ACP. Note that INCLUDECSS will not work with this event.
acp_users_overview_options_append
===
* Location: adm/style/acp_users_overview.html
@@ -166,6 +224,38 @@ forumlist_body_category_header_before
* Since: 3.1.0-a4
* Purpose: Add content before the header of the category on the forum list.
forumlist_body_forum_row_after
===
* Locations:
+ styles/prosilver/template/forumlist_body.html
+ styles/subsilver2/template/forumlist_body.html
* Since: 3.1.0-RC5
* Purpose: Add content after the forum list item.
forumlist_body_forum_row_append
===
* Locations:
+ styles/prosilver/template/forumlist_body.html
+ styles/subsilver2/template/forumlist_body.html
* Since: 3.1.0-RC5
* Purpose: Add content at the start of the forum list item.
forumlist_body_forum_row_before
===
* Locations:
+ styles/prosilver/template/forumlist_body.html
+ styles/subsilver2/template/forumlist_body.html
* Since: 3.1.0-RC5
* Purpose: Add content before the forum list item.
forumlist_body_forum_row_prepend
===
* Locations:
+ styles/prosilver/template/forumlist_body.html
+ styles/subsilver2/template/forumlist_body.html
* Since: 3.1.0-RC5
* Purpose: Add content at the end of the forum list item.
forumlist_body_last_post_title_prepend
===
* Locations:
@@ -278,6 +368,38 @@ index_body_stat_blocks_before
* Since: 3.1.0-a1
* Purpose: Add new statistic blocks above the Who Is Online and Board Statistics blocks
mcp_ban_fields_after
===
* Locations:
+ styles/prosilver/template/mcp_ban.html
+ styles/subsilver2/template/mcp_ban.html
* Since: 3.1.0-RC3
* Purpose: Add additional fields to the ban form in MCP
mcp_ban_fields_before
===
* Locations:
+ styles/prosilver/template/mcp_ban.html
+ styles/subsilver2/template/mcp_ban.html
* Since: 3.1.0-RC3
* Purpose: Add additional fields to the ban form in MCP
mcp_ban_unban_after
===
* Locations:
+ styles/prosilver/template/mcp_ban.html
+ styles/subsilver2/template/mcp_ban.html
* Since: 3.1.0-RC3
* Purpose: Add additional fields to the unban form in MCP
mcp_ban_unban_before
===
* Locations:
+ styles/prosilver/template/mcp_ban.html
+ styles/subsilver2/template/mcp_ban.html
* Since: 3.1.0-RC3
* Purpose: Add additional fields to the unban form in MCP
memberlist_body_username_append
===
* Locations:
@@ -344,6 +466,38 @@ memberlist_view_user_statistics_before
* Since: 3.1.0-a1
* Purpose: Add entries before the user statistics part of any user profile
mcp_warn_post_add_warning_field_after
===
* Locations:
+ styles/prosilver/template/mcp_warn_post.html
+ styles/subsilver2/template/mcp_warn_post.html
* Since: 3.1.0-RC4
* Purpose: Add content during warning for a post - after add warning field.
mcp_warn_post_add_warning_field_before
===
* Locations:
+ styles/prosilver/template/mcp_warn_post.html
+ styles/subsilver2/template/mcp_warn_post.html
* Since: 3.1.0-RC4
* Purpose: Add content during warning for a post - before add warning field.
mcp_warn_user_add_warning_field_after
===
* Locations:
+ styles/prosilver/template/mcp_warn_user.html
+ styles/subsilver2/template/mcp_warn_user.html
* Since: 3.1.0-RC4
* Purpose: Add content during warning a user - after add warning field.
mcp_warn_user_add_warning_field_before
===
* Locations:
+ styles/prosilver/template/mcp_warn_user.html
+ styles/subsilver2/template/mcp_warn_user.html
* Since: 3.1.0-RC4
* Purpose: Add content during warning a user - before add warning field.
navbar_header_logged_out_content
===
* Locations:
@@ -405,9 +559,18 @@ overall_footer_breadcrumb_append
===
* Locations:
+ styles/prosilver/template/navbar_footer.html
+ styles/subsilver2/template/breadcrumbs.html
* Since: 3.1.0-a1
* Purpose: Add links to the list of breadcrumbs in the footer
overall_footer_breadcrumb_prepend
===
* Locations:
+ styles/prosilver/template/navbar_footer.html
+ styles/subsilver2/template/breadcrumbs.html
* Since: 3.1.0-RC3
* Purpose: Add links to the list of breadcrumbs in the footer (after site-home, but before board-index)
overall_footer_content_after
===
* Locations:
@@ -488,6 +651,30 @@ overall_header_breadcrumb_append
* Since: 3.1.0-a1
* Purpose: Add links to the list of breadcrumbs in the header
overall_header_breadcrumb_prepend
===
* Locations:
+ styles/prosilver/template/navbar_header.html
+ styles/subsilver2/template/breadcrumbs.html
* Since: 3.1.0-RC3
* Purpose: Add links to the list of breadcrumbs in the header (after site-home, but before board-index)
overall_header_breadcrumbs_after
===
* Locations:
+ styles/prosilver/template/navbar_header.html
+ styles/subsilver2/template/breadcrumbs.html
* Since: 3.1.0-RC3
* Purpose: Add content after the breadcrumbs (outside of the breadcrumbs container)
overall_header_breadcrumbs_before
===
* Locations:
+ styles/prosilver/template/navbar_header.html
+ styles/subsilver2/template/breadcrumbs.html
* Since: 3.1.0-RC3
* Purpose: Add content before the breadcrumbs (outside of the breadcrumbs container)
overall_header_content_before
===
* Locations:
@@ -544,6 +731,15 @@ overall_header_page_body_before
* Since: 3.1.0-b3
* Purpose: Add content after the page-header, but before the page-body
overall_header_stylesheets_after
===
* Locations:
+ styles/prosilver/template/overall_header.html
+ styles/subsilver2/template/overall_header.html
* Since: 3.1.0-RC3
* Purpose: Add asset calls after stylesheets within the `</head>` tag.
Note that INCLUDECSS will not work with this event.
posting_editor_buttons_after
===
* Locations:
@@ -600,6 +796,22 @@ posting_editor_subject_before
* Since: 3.1.0-a2
* Purpose: Add field (e.g. textbox) to the posting screen before the subject
posting_pm_header_find_username_after
===
* Locations:
+ styles/prosilver/template/posting_pm_header.html
+ styles/subsilver2/template/ucp_header.html
* Since: 3.1.0-RC4
* Purpose: Add content after the find username link on composing pm
posting_pm_header_find_username_before
===
* Locations:
+ styles/prosilver/template/posting_pm_header.html
+ styles/subsilver2/template/ucp_header.html
* Since: 3.1.0-RC4
* Purpose: Add content before the find username link on composing pm
quickreply_editor_panel_after
===
* Locations:
@@ -702,6 +914,15 @@ simple_header_head_append
* Since: 3.1.0-b4
* Purpose: Add asset calls directly before the `</head>` tag
simple_header_stylesheets_after
===
* Locations:
+ styles/prosilver/template/simple_header.html
+ styles/subsilver2/template/simple_header.html
* Since: 3.1.0-RC3
* Purpose: Add asset calls after stylesheets within the `</head>` tag.
Note that INCLUDECSS will not work with this event.
topiclist_row_prepend
===
* Locations:
@@ -738,6 +959,20 @@ ucp_agreement_terms_before
* Since: 3.1.0-b3
* Purpose: Add content before the terms of agreement text at user registration
ucp_pm_viewmessage_avatar_after
===
* Locations:
+ styles/prosilver/template/ucp_pm_viewmessage.html
* Since: 3.1.0-RC3
* Purpose: Add content right after the avatar when viewing a private message
ucp_pm_viewmessage_avatar_before
===
* Locations:
+ styles/prosilver/template/ucp_pm_viewmessage.html
* Since: 3.1.0-RC3
* Purpose: Add content right before the avatar when viewing a private message
ucp_pm_viewmessage_contact_fields_after
===
* Locations:
@@ -770,6 +1005,24 @@ ucp_pm_viewmessage_custom_fields_before
* Purpose: Add data before the custom fields on the user profile when viewing
a private message
ucp_pm_viewmessage_post_buttons_after
===
* Locations:
+ 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
the end of the list.
ucp_pm_viewmessage_post_buttons_before
===
* Locations:
+ 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
the start of the list.
ucp_pm_viewmessage_print_head_append
===
* Locations:
@@ -902,6 +1155,70 @@ ucp_friend_list_after
* Since: 3.1.0-a4
* Purpose: Add optional elements after list of friends in UCP
viewforum_buttons_bottom_before
===
* Locations:
+ styles/prosilver/template/viewforum_body.html
+ styles/subsilver2/template/viewforum_body.html
* Since: 3.1.0-RC5
* Purpose: Add buttons before New Topic button on the bottom of the topic's list
viewforum_buttons_bottom_after
===
* Locations:
+ styles/prosilver/template/viewforum_body.html
+ styles/subsilver2/template/viewforum_body.html
* Since: 3.1.0-RC5
* Purpose: Add buttons after New Topic button on the bottom of the topic's list
viewforum_buttons_top_before
===
* Locations:
+ styles/prosilver/template/viewforum_body.html
+ styles/subsilver2/template/viewforum_body.html
* Since: 3.1.0-RC5
* Purpose: Add buttons before New Topic button on the top of the topic's list
viewforum_buttons_top_after
===
* Locations:
+ styles/prosilver/template/viewforum_body.html
+ styles/subsilver2/template/viewforum_body.html
* Since: 3.1.0-RC5
* Purpose: Add buttons after New Topic button on the top of the topic's list
viewtopic_buttons_bottom_before
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.0-RC5
* Purpose: Add buttons before Post Reply button on the bottom of the posts's list
viewtopic_buttons_bottom_after
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.0-RC5
* Purpose: Add buttons after Post Reply button on the bottom of the posts's list
viewtopic_buttons_top_before
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.0-RC5
* Purpose: Add buttons before Post Reply button on the top of the posts's list
viewtopic_buttons_top_after
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.0-RC5
* Purpose: Add buttons after Post Reply button on the top of the posts's list
viewforum_forum_name_append
===
* Locations:
@@ -926,6 +1243,22 @@ viewtopic_print_head_append
* Since: 3.1.0-a1
* Purpose: Add asset calls directly before the `</head>` tag of the Print Topic screen
viewtopic_body_avatar_after
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.0-RC3
* Purpose: Add content right after the avatar when viewing topics
viewtopic_body_avatar_before
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.0-RC3
* Purpose: Add content right before the avatar when viewing topics
viewtopic_body_contact_fields_after
===
* Locations:
@@ -1038,6 +1371,14 @@ viewtopic_body_postrow_post_before
* Since: 3.1.0-a4
* Purpose: Add data before posts
viewtopic_body_postrow_post_content_footer
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
+ styles/subsilver2/template/viewtopic_body.html
* Since: 3.1.0-RC4
* Purpose: Add data at the end of the posts.
viewtopic_body_postrow_post_notices_after
===
* Locations:

View File

@@ -11,10 +11,6 @@
*
*/
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
/**
* @ignore
*/
@@ -60,6 +56,8 @@ if (isset($_GET['avatar']))
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
phpbb_load_extensions_autoloaders($phpbb_root_path);
// Set up container
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
$phpbb_container = $phpbb_container_builder->get_container();
@@ -85,7 +83,6 @@ if (isset($_GET['avatar']))
// load extensions
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
$phpbb_subscriber_loader = $phpbb_container->get('event.subscriber_loader');
// worst-case default
$browser = strtolower($request->header('User-Agent', 'msie 6.0'));
@@ -143,11 +140,7 @@ if (isset($_GET['avatar']))
include($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_download' . '.' . $phpEx);
$download_id = request_var('id', 0);
$topic_id = $request->variable('topic_id', 0);
$post_id = $request->variable('post_id', 0);
$msg_id = $request->variable('msg_id', 0);
$archive = $request->variable('archive', '.tar');
$attach_id = request_var('id', 0);
$mode = request_var('mode', '');
$thumbnail = request_var('t', false);
@@ -162,27 +155,7 @@ if (!$config['allow_attachments'] && !$config['allow_pm_attach'])
trigger_error('ATTACHMENT_FUNCTIONALITY_DISABLED');
}
if ($download_id)
{
// Attachment id (only 1 attachment)
$sql_where = 'attach_id = ' . $download_id;
}
else if ($msg_id)
{
// Private message id (multiple attachments)
$sql_where = 'is_orphan = 0 AND in_message = 1 AND post_msg_id = ' . $msg_id;
}
else if ($post_id)
{
// Post id (multiple attachments)
$sql_where = 'is_orphan = 0 AND in_message = 0 AND post_msg_id = ' . $post_id;
}
else if ($topic_id)
{
// Topic id (multiple attachments)
$sql_where = 'is_orphan = 0 AND topic_id = ' . $topic_id;
}
else
if (!$attach_id)
{
send_status_line(404, 'Not Found');
trigger_error('NO_ATTACHMENT_SELECTED');
@@ -190,25 +163,12 @@ else
$sql = 'SELECT attach_id, post_msg_id, topic_id, in_message, poster_id, is_orphan, physical_filename, real_filename, extension, mimetype, filesize, filetime
FROM ' . ATTACHMENTS_TABLE . "
WHERE $sql_where";
WHERE attach_id = $attach_id";
$result = $db->sql_query($sql);
$attachments = $attachment_ids = array();
while ($row = $db->sql_fetchrow($result))
{
$attachment_id = (int) $row['attach_id'];
$row['physical_filename'] = utf8_basename($row['physical_filename']);
$attachment_ids[$attachment_id] = $attachment_id;
$attachments[$attachment_id] = $row;
}
$attachment = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// Make $attachment the first of the attachments we fetched.
$attachment = current($attachments);
if (empty($attachments))
if (!$attachment)
{
send_status_line(404, 'Not Found');
trigger_error('ERROR_NO_ATTACHMENT');
@@ -218,9 +178,9 @@ else if (!download_allowed())
send_status_line(403, 'Forbidden');
trigger_error($user->lang['LINKAGE_FORBIDDEN']);
}
else if ($download_id)
else
{
// sizeof($attachments) == 1
$attachment['physical_filename'] = utf8_basename($attachment['physical_filename']);
if (!$attachment['in_message'] && !$config['allow_attachments'] || $attachment['in_message'] && !$config['allow_pm_attach'])
{
@@ -265,12 +225,12 @@ else if ($download_id)
else
{
// Attachment is in a private message.
$row['forum_id'] = false;
$post_row = array('forum_id' => false);
phpbb_download_handle_pm_auth($db, $auth, $user->data['user_id'], $attachment['post_msg_id']);
}
$extensions = array();
if (!extension_allowed($row['forum_id'], $attachment['extension'], $extensions))
if (!extension_allowed($post_row['forum_id'], $attachment['extension'], $extensions))
{
send_status_line(403, 'Forbidden');
trigger_error(sprintf($user->lang['EXTENSION_DISABLED_AFTER_POSTING'], $attachment['extension']));
@@ -327,142 +287,3 @@ else if ($download_id)
}
}
}
else
{
// sizeof($attachments) >= 1
if ($attachment['in_message'])
{
phpbb_download_handle_pm_auth($db, $auth, $user->data['user_id'], $attachment['post_msg_id']);
}
else
{
phpbb_download_handle_forum_auth($db, $auth, $attachment['topic_id']);
}
if (!class_exists('compress'))
{
require $phpbb_root_path . 'includes/functions_compress.' . $phpEx;
}
if (!in_array($archive, compress::methods()))
{
$archive = '.tar';
}
$post_visibility = array();
if ($msg_id)
{
$sql = 'SELECT message_subject AS attach_subject
FROM ' . PRIVMSGS_TABLE . "
WHERE msg_id = $msg_id";
}
else if ($post_id)
{
$sql = 'SELECT post_subject AS attach_subject, forum_id, post_visibility
FROM ' . POSTS_TABLE . "
WHERE post_id = $post_id";
}
else
{
$sql = 'SELECT post_id, post_visibility
FROM ' . POSTS_TABLE . "
WHERE topic_id = $topic_id
AND post_attachment = 1";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$post_visibility[(int) $row['post_id']] = (int) $row['post_visibility'];
}
$db->sql_freeresult($result);
$sql = 'SELECT topic_title AS attach_subject, forum_id
FROM ' . TOPICS_TABLE . "
WHERE topic_id = $topic_id";
}
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (empty($row))
{
send_status_line(404, 'Not Found');
trigger_error('ERROR_NO_ATTACHMENT');
}
$clean_name = phpbb_download_clean_filename($row['attach_subject']);
$suffix = '_' . (($msg_id) ? 'm' . $msg_id : (($post_id) ? 'p' . $post_id : 't' . $topic_id)) . '_' . $clean_name;
$archive_name = 'attachments' . $suffix;
$store_name = 'att_' . time() . '_' . unique_id();
$archive_path = "{$phpbb_root_path}store/{$store_name}{$archive}";
if ($archive === '.zip')
{
$compress = new compress_zip('w', $archive_path);
}
else
{
$compress = new compress_tar('w', $archive_path, $archive);
}
$extensions = array();
$files_added = 0;
$forum_id = ($attachment['in_message']) ? false : (int) $row['forum_id'];
$disallowed_extension = array();
foreach ($attachments as $attach)
{
if (!extension_allowed($forum_id, $attach['extension'], $extensions))
{
$disallowed_extension[$attach['extension']] = $attach['extension'];
continue;
}
if ($post_id && $row['post_visibility'] != ITEM_APPROVED && !$auth->acl_get('m_approve', $forum_id))
{
// Attachment of a soft deleted post and the user is not allowed to see the post
continue;
}
if ($topic_id && (!isset($post_visibility[$attach['post_msg_id']]) || $post_visibility[$attach['post_msg_id']] != ITEM_APPROVED) && !$auth->acl_get('m_approve', $forum_id))
{
// Attachment of a soft deleted post and the user is not allowed to see the post
continue;
}
$prefix = '';
if ($topic_id)
{
$prefix = $attach['post_msg_id'] . '_';
}
$compress->add_custom_file("{$phpbb_root_path}files/{$attach['physical_filename']}", "{$prefix}{$attach['real_filename']}");
$files_added++;
}
$compress->close();
if ($files_added)
{
phpbb_increment_downloads($db, $attachment_ids);
$compress->download($store_name, $archive_name);
}
unlink($archive_path);
if (!$files_added && !empty($disallowed_extension))
{
// None of the attachments had a valid extension
$disallowed_extension = implode($user->lang['COMMA_SEPARATOR'], $disallowed_extension);
send_status_line(403, 'Forbidden');
trigger_error($user->lang('EXTENSION_DISABLED_AFTER_POSTING', $disallowed_extension));
}
else if (!$files_added)
{
send_status_line(404, 'Not Found');
trigger_error('ERROR_NO_ATTACHMENT');
}
file_gc();
}

View File

@@ -164,8 +164,7 @@ if (defined('DEBUG') && request_var('explain', 0) && $auth->acl_get('a_'))
{
header('Content-type: text/html; charset=UTF-8');
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');
header('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;

View File

@@ -1301,7 +1301,6 @@ class acp_attachments
/**
* Check accuracy of attachment statistics.
*
* @param $resync bool Resync stats if they're incorrect.
* @return bool|string Returns false if stats are correct or error message
* otherwise.
*/

View File

@@ -25,14 +25,13 @@ class acp_ban
function main($id, $mode)
{
global $config, $db, $user, $auth, $template, $cache;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix;
global $user, $template, $request, $phpbb_dispatcher;
global $phpbb_root_path, $phpEx;
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$bansubmit = (isset($_POST['bansubmit'])) ? true : false;
$unbansubmit = (isset($_POST['unbansubmit'])) ? true : false;
$current_time = time();
$bansubmit = $request->is_set_post('bansubmit');
$unbansubmit = $request->is_set_post('unbansubmit');
$user->add_lang(array('acp/ban', 'acp/users'));
$this->tpl_name = 'acp_ban';
@@ -48,23 +47,79 @@ class acp_ban
if ($bansubmit)
{
// Grab the list of entries
$ban = utf8_normalize_nfc(request_var('ban', '', true));
$ban_len = request_var('banlength', 0);
$ban_len_other = request_var('banlengthother', '');
$ban_exclude = request_var('banexclude', 0);
$ban_reason = utf8_normalize_nfc(request_var('banreason', '', true));
$ban_give_reason = utf8_normalize_nfc(request_var('bangivereason', '', true));
$ban = $request->variable('ban', '', true);
$ban_length = $request->variable('banlength', 0);
$ban_length_other = $request->variable('banlengthother', '');
$ban_exclude = $request->variable('banexclude', 0);
$ban_reason = $request->variable('banreason', '', true);
$ban_give_reason = $request->variable('bangivereason', '', true);
if ($ban)
{
user_ban($mode, $ban, $ban_len, $ban_len_other, $ban_exclude, $ban_reason, $ban_give_reason);
$abort_ban = false;
/**
* Use this event to modify the ban details before the ban is performed
*
* @event core.acp_ban_before
* @var string mode One of the following: user, ip, email
* @var string ban Either string or array with usernames, ips or email addresses
* @var int ban_length Ban length in minutes
* @var string ban_length_other Ban length as a date (YYYY-MM-DD)
* @var bool ban_exclude Are we banning or excluding from another ban
* @var string ban_reason Ban reason displayed to moderators
* @var string ban_give_reason Ban reason displayed to the banned user
* @var mixed abort_ban Either false, or an error message that is displayed to the user.
* If a string is given the bans are not issued.
* @since 3.1.0-RC5
*/
$vars = array(
'mode',
'ban',
'ban_length',
'ban_length_other',
'ban_exclude',
'ban_reason',
'ban_give_reason',
'abort_ban',
);
extract($phpbb_dispatcher->trigger_event('core.acp_ban_before', compact($vars)));
if ($abort_ban)
{
trigger_error($abort_ban . adm_back_link($this->u_action));
}
user_ban($mode, $ban, $ban_length, $ban_length_other, $ban_exclude, $ban_reason, $ban_give_reason);
/**
* Use this event to perform actions after the ban has been performed
*
* @event core.acp_ban_after
* @var string mode One of the following: user, ip, email
* @var string ban Either string or array with usernames, ips or email addresses
* @var int ban_length Ban length in minutes
* @var string ban_length_other Ban length as a date (YYYY-MM-DD)
* @var bool ban_exclude Are we banning or excluding from another ban
* @var string ban_reason Ban reason displayed to moderators
* @var string ban_give_reason Ban reason displayed to the banned user
* @since 3.1.0-RC5
*/
$vars = array(
'mode',
'ban',
'ban_length',
'ban_length_other',
'ban_exclude',
'ban_reason',
'ban_give_reason',
);
extract($phpbb_dispatcher->trigger_event('core.acp_ban_after', compact($vars)));
trigger_error($user->lang['BAN_UPDATE_SUCCESSFUL'] . adm_back_link($this->u_action));
}
}
else if ($unbansubmit)
{
$ban = request_var('unban', array(''));
$ban = $request->variable('unban', array(''));
if ($ban)
{
@@ -176,8 +231,6 @@ class acp_ban
$result = $db->sql_query($sql);
$banned_options = $excluded_options = array();
$ban_length = $ban_reasons = $ban_give_reasons = array();
while ($row = $db->sql_fetchrow($result))
{
$option = '<option value="' . $row['ban_id'] . '">' . $row[$field] . '</option>';
@@ -196,60 +249,31 @@ class acp_ban
if ($time_length == 0)
{
// Banned permanently
$ban_length[$row['ban_id']] = $user->lang['PERMANENT'];
$ban_length = $user->lang['PERMANENT'];
}
else if (isset($ban_end_text[$time_length]))
{
// Banned for a given duration
$ban_length[$row['ban_id']] = sprintf($user->lang['BANNED_UNTIL_DURATION'], $ban_end_text[$time_length], $user->format_date($row['ban_end'], false, true));
$ban_length = $user->lang('BANNED_UNTIL_DURATION', $ban_end_text[$time_length], $user->format_date($row['ban_end'], false, true));
}
else
{
// Banned until given date
$ban_length[$row['ban_id']] = sprintf($user->lang['BANNED_UNTIL_DATE'], $user->format_date($row['ban_end'], false, true));
$ban_length = $user->lang('BANNED_UNTIL_DATE', $user->format_date($row['ban_end'], false, true));
}
$ban_reasons[$row['ban_id']] = $row['ban_reason'];
$ban_give_reasons[$row['ban_id']] = $row['ban_give_reason'];
$template->assign_block_vars('bans', array(
'BAN_ID' => (int) $row['ban_id'],
'LENGTH' => $ban_length,
'A_LENGTH' => addslashes($ban_length),
'REASON' => $row['ban_reason'],
'A_REASON' => addslashes($row['ban_reason']),
'GIVE_REASON' => $row['ban_give_reason'],
'A_GIVE_REASON' => addslashes($row['ban_give_reason']),
));
}
$db->sql_freeresult($result);
if (sizeof($ban_length))
{
foreach ($ban_length as $ban_id => $length)
{
$template->assign_block_vars('ban_length', array(
'BAN_ID' => (int) $ban_id,
'LENGTH' => $length,
'A_LENGTH' => addslashes($length),
));
}
}
if (sizeof($ban_reasons))
{
foreach ($ban_reasons as $ban_id => $reason)
{
$template->assign_block_vars('ban_reason', array(
'BAN_ID' => $ban_id,
'REASON' => $reason,
'A_REASON' => addslashes($reason),
));
}
}
if (sizeof($ban_give_reasons))
{
foreach ($ban_give_reasons as $ban_id => $reason)
{
$template->assign_block_vars('ban_give_reason', array(
'BAN_ID' => $ban_id,
'REASON' => $reason,
'A_REASON' => addslashes($reason),
));
}
}
$options = '';
if ($excluded_options)
{

View File

@@ -65,13 +65,16 @@ class acp_board
'default_lang' => array('lang' => 'DEFAULT_LANGUAGE', 'validate' => 'lang', 'type' => 'select', 'function' => 'language_select', 'params' => array('{CONFIG_VALUE}'), 'explain' => false),
'default_dateformat' => array('lang' => 'DEFAULT_DATE_FORMAT', 'validate' => 'string', 'type' => 'custom', 'method' => 'dateformat_select', 'explain' => true),
'board_timezone' => array('lang' => 'SYSTEM_TIMEZONE', 'validate' => 'timezone', 'type' => 'custom', 'method' => 'timezone_select', 'explain' => true),
'default_style' => array('lang' => 'DEFAULT_STYLE', 'validate' => 'int', 'type' => 'select', 'function' => 'style_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => false),
'legend2' => 'BOARD_STYLE',
'default_style' => array('lang' => 'DEFAULT_STYLE', 'validate' => 'int', 'type' => 'select', 'function' => 'style_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => true),
'guest_style' => array('lang' => 'GUEST_STYLE', 'validate' => 'int', 'type' => 'select', 'function' => 'style_select', 'params' => array($this->guest_style_get(), false), 'explain' => true),
'override_user_style' => array('lang' => 'OVERRIDE_STYLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'legend2' => 'WARNINGS',
'legend3' => 'WARNINGS',
'warnings_expire_days' => array('lang' => 'WARNINGS_EXPIRE', 'validate' => 'int:0:9999', 'type' => 'number:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
'legend3' => 'ACP_SUBMIT_CHANGES',
'legend4' => 'ACP_SUBMIT_CHANGES',
)
);
break;
@@ -509,6 +512,14 @@ class acp_board
continue;
}
if ($config_name == 'guest_style')
{
if (isset($cfg_array[$config_name])) {
$this->guest_style_set($cfg_array[$config_name]);
}
continue;
}
$this->new_config[$config_name] = $config_value = $cfg_array[$config_name];
if ($config_name == 'email_function_name')
@@ -904,12 +915,44 @@ class acp_board
*/
function timezone_select($value, $key)
{
global $user;
global $template, $user;
$timezone_select = phpbb_timezone_select($user, $value, true);
$timezone_select['tz_select'];
$timezone_select = phpbb_timezone_select($template, $user, $value, true);
return '<select name="config[' . $key . ']" id="' . $key . '">' . $timezone_select['tz_select'] . '</select>';
return '<select name="config[' . $key . ']" id="' . $key . '">' . $timezone_select . '</select>';
}
/**
* Get guest style
*/
public function guest_style_get()
{
global $db;
$sql = 'SELECT user_style
FROM ' . USERS_TABLE . '
WHERE user_id = ' . ANONYMOUS;
$result = $db->sql_query($sql);
$style = (int) $db->sql_fetchfield('user_style');
$db->sql_freeresult($result);
return $style;
}
/**
* Set guest style
*
* @param int $style_id The style ID
*/
public function guest_style_set($style_id)
{
global $db;
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_style = ' . (int) $style_id . '
WHERE user_id = ' . ANONYMOUS;
$db->sql_query($sql);
}
/**
@@ -925,7 +968,7 @@ class acp_board
{
$user->timezone = new DateTimeZone($config['board_timezone']);
}
catch (Exception $e)
catch (\Exception $e)
{
// If the board timezone is invalid, we just use the users timezone.
}

View File

@@ -26,12 +26,11 @@ class acp_captcha
function main($id, $mode)
{
global $db, $user, $auth, $template;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container;
$user->add_lang('acp/board');
include($phpbb_root_path . 'includes/captcha/captcha_factory.' . $phpEx);
$factory = new phpbb_captcha_factory();
$factory = $phpbb_container->get('captcha.factory');
$captchas = $factory->get_captcha_types();
$selected = request_var('select_captcha', $config['captcha_plugin']);
@@ -47,7 +46,7 @@ class acp_captcha
// Delegate
if ($configure)
{
$config_captcha = phpbb_captcha_factory::get_instance($selected);
$config_captcha = $factory->get_instance($selected);
$config_captcha->acp_page($id, $this);
}
else
@@ -79,11 +78,11 @@ class acp_captcha
// sanity check
if (isset($captchas['available'][$selected]))
{
$old_captcha = phpbb_captcha_factory::get_instance($config['captcha_plugin']);
$old_captcha = $factory->get_instance($config['captcha_plugin']);
$old_captcha->uninstall();
set_config('captcha_plugin', $selected);
$new_captcha = phpbb_captcha_factory::get_instance($config['captcha_plugin']);
$new_captcha = $factory->get_instance($config['captcha_plugin']);
$new_captcha->install();
add_log('admin', 'LOG_CONFIG_VISUAL');
@@ -114,7 +113,7 @@ class acp_captcha
$captcha_select .= '<option value="' . $value . '"' . $current . ' class="disabled-option">' . $user->lang($title) . '</option>';
}
$demo_captcha = phpbb_captcha_factory::get_instance($selected);
$demo_captcha = $factory->get_instance($selected);
foreach ($config_vars as $config_var => $options)
{
@@ -137,9 +136,9 @@ class acp_captcha
*/
function deliver_demo($selected)
{
global $db, $user, $config;
global $db, $user, $config, $phpbb_container;
$captcha = phpbb_captcha_factory::get_instance($selected);
$captcha = $phpbb_container->get('captcha.factory')->get_instance($selected);
$captcha->init(CONFIRM_REG);
$captcha->execute_demo();

View File

@@ -269,7 +269,7 @@ class acp_database
break;
}
header('Pragma: no-cache');
header('Cache-Control: private, no-cache');
header("Content-Type: $mimetype; name=\"$name\"");
header("Content-disposition: attachment; filename=$name");
@@ -510,7 +510,7 @@ class base_extractor
if ($download == true)
{
$name = $filename . $ext;
header('Pragma: no-cache');
header('Cache-Control: private, no-cache');
header("Content-Type: $mimetype; name=\"$name\"");
header("Content-disposition: attachment; filename=$name");

View File

@@ -137,6 +137,12 @@ class acp_extensions
trigger_error($user->lang['EXTENSION_NOT_AVAILABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$extension = $phpbb_extension_manager->get_extension($ext_name);
if (!$extension->is_enableable())
{
trigger_error($user->lang['EXTENSION_NOT_ENABLEABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if ($phpbb_extension_manager->is_enabled($ext_name))
{
redirect($this->u_action);
@@ -162,6 +168,12 @@ class acp_extensions
trigger_error($user->lang['EXTENSION_NOT_AVAILABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$extension = $phpbb_extension_manager->get_extension($ext_name);
if (!$extension->is_enableable())
{
trigger_error($user->lang['EXTENSION_NOT_ENABLEABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if ($phpbb_extension_manager->is_enabled($ext_name))
{
redirect($this->u_action);

View File

@@ -331,6 +331,28 @@ class acp_groups
}
}
if ($request->is_set_post('avatar_delete'))
{
if (confirm_box(true))
{
$avatar_data['id'] = substr($avatar_data['id'], 1);
$phpbb_avatar_manager->handle_avatar_delete($db, $user, $avatar_data, GROUPS_TABLE, 'group_');
$message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED';
trigger_error($user->lang[$message] . adm_back_link($this->u_action));
}
else
{
confirm_box(false, $user->lang('CONFIRM_AVATAR_DELETE'), build_hidden_fields(array(
'avatar_delete' => true,
'i' => $id,
'mode' => $mode,
'g' => $group_id,
'action' => $action))
);
}
}
// Did we submit?
if ($update)
{

View File

@@ -737,7 +737,7 @@ class acp_icons
{
garbage_collection();
header('Pragma: public');
header('Cache-Control: public');
// Send out the Headers
header('Content-Type: text/x-delimtext; name="' . $mode . '.pak"');

View File

@@ -26,7 +26,7 @@ class acp_main
function main($id, $mode)
{
global $config, $db, $cache, $user, $auth, $template, $request;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container, $phpbb_dispatcher;
// Show restore permissions notice
if ($user->data['user_perm_from'] && $auth->acl_get('a_switchperm'))
@@ -445,6 +445,14 @@ class acp_main
));
}
/**
* Notice admin
*
* @event core.acp_main_notice
* @since 3.1.0-RC3
*/
$phpbb_dispatcher->dispatch('core.acp_main_notice');
// Get forum statistics
$total_posts = $config['num_posts'];
$total_topics = $config['num_topics'];
@@ -647,8 +655,8 @@ class acp_main
'S_MBSTRING_LOADED' => true,
'S_MBSTRING_FUNC_OVERLOAD_FAIL' => (intval(@ini_get('mbstring.func_overload')) & (MB_OVERLOAD_MAIL | MB_OVERLOAD_STRING)),
'S_MBSTRING_ENCODING_TRANSLATION_FAIL' => (@ini_get('mbstring.encoding_translation') != 0),
'S_MBSTRING_HTTP_INPUT_FAIL' => (@ini_get('mbstring.http_input') != 'pass'),
'S_MBSTRING_HTTP_OUTPUT_FAIL' => (@ini_get('mbstring.http_output') != 'pass'),
'S_MBSTRING_HTTP_INPUT_FAIL' => !in_array(@ini_get('mbstring.http_input'), array('pass', '')),
'S_MBSTRING_HTTP_OUTPUT_FAIL' => !in_array(@ini_get('mbstring.http_output'), array('pass', '')),
));
}

View File

@@ -766,7 +766,8 @@ class acp_modules
/**
* Update/Add module
*
* @param bool $run_inline if set to true errors will be returned and no logs being written
* @param array &$module_data The module data
* @param bool $run_inline if set to true errors will be returned and no logs being written
*/
function update_module_data(&$module_data, $run_inline = false)
{

View File

@@ -112,58 +112,8 @@ class acp_profile
$db->sql_query('DELETE FROM ' . PROFILE_FIELDS_LANG_TABLE . " WHERE field_id = $field_id");
$db->sql_query('DELETE FROM ' . PROFILE_LANG_TABLE . " WHERE field_id = $field_id");
switch ($db->get_sql_layer())
{
case 'sqlite':
case 'sqlite3':
$sql = "SELECT sql
FROM sqlite_master
WHERE type = 'table'
AND name = '" . PROFILE_FIELDS_DATA_TABLE . "'
ORDER BY type DESC, name;";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// Create a temp table and populate it, destroy the existing one
$db->sql_query(preg_replace('#CREATE\s+TABLE\s+"?' . PROFILE_FIELDS_DATA_TABLE . '"?#i', 'CREATE TEMPORARY TABLE ' . PROFILE_FIELDS_DATA_TABLE . '_temp', $row['sql']));
$db->sql_query('INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . '_temp SELECT * FROM ' . PROFILE_FIELDS_DATA_TABLE);
$db->sql_query('DROP TABLE ' . PROFILE_FIELDS_DATA_TABLE);
preg_match('#\((.*)\)#s', $row['sql'], $matches);
$new_table_cols = trim($matches[1]);
$old_table_cols = preg_split('/,(?=[\\sa-z])/im', $new_table_cols);
$column_list = array();
foreach ($old_table_cols as $declaration)
{
$entities = preg_split('#\s+#', trim($declaration));
if ($entities[0] == 'PRIMARY')
{
continue;
}
if ($entities[0] !== 'pf_' . $field_ident)
{
$column_list[] = $entities[0];
}
}
$columns = implode(',', $column_list);
$new_table_cols = preg_replace('/' . 'pf_' . $field_ident . '[^,]+,/', '', $new_table_cols);
// create a new table and fill it up. destroy the temp one
$db->sql_query('CREATE TABLE ' . PROFILE_FIELDS_DATA_TABLE . ' (' . $new_table_cols . ');');
$db->sql_query('INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . ' (' . $columns . ') SELECT ' . $columns . ' FROM ' . PROFILE_FIELDS_DATA_TABLE . '_temp;');
$db->sql_query('DROP TABLE ' . PROFILE_FIELDS_DATA_TABLE . '_temp');
break;
default:
$db->sql_query('ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . " DROP COLUMN pf_$field_ident");
}
$db_tools = $phpbb_container->get('dbal.tools');
$db_tools->sql_column_remove(PROFILE_FIELDS_DATA_TABLE, 'pf_' . $field_ident);
$order = 0;
@@ -932,9 +882,7 @@ class acp_profile
$field_ident = 'pf_' . $field_ident;
$db_tools = $phpbb_container->get('dbal.tools');
list($sql_type, $null) = $db_tools->get_column_type($profile_field->get_database_column_type());
$profile_sql[] = $this->add_field_ident($field_ident, $sql_type);
$db_tools->sql_column_add(PROFILE_FIELDS_DATA_TABLE, $field_ident, array($profile_field->get_database_column_type(), null));
}
$sql_ary = array(
@@ -1188,91 +1136,4 @@ class acp_profile
}
}
}
/**
* Return sql statement for adding a new field ident (profile field) to the profile fields data table
*/
function add_field_ident($field_ident, $sql_type)
{
global $db;
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
case 'mysqli':
$sql = 'ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . " ADD `$field_ident` " . $sql_type;
break;
case 'sqlite':
case 'sqlite3':
if (version_compare($db->sql_server_info(true), '3.0') == -1)
{
$sql = "SELECT sql
FROM sqlite_master
WHERE type = 'table'
AND name = '" . PROFILE_FIELDS_DATA_TABLE . "'
ORDER BY type DESC, name;";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// Create a temp table and populate it, destroy the existing one
$db->sql_query(preg_replace('#CREATE\s+TABLE\s+"?' . PROFILE_FIELDS_DATA_TABLE . '"?#i', 'CREATE TEMPORARY TABLE ' . PROFILE_FIELDS_DATA_TABLE . '_temp', $row['sql']));
$db->sql_query('INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . '_temp SELECT * FROM ' . PROFILE_FIELDS_DATA_TABLE);
$db->sql_query('DROP TABLE ' . PROFILE_FIELDS_DATA_TABLE);
preg_match('#\((.*)\)#s', $row['sql'], $matches);
$new_table_cols = trim($matches[1]);
$old_table_cols = explode(',', $new_table_cols);
$column_list = array();
foreach ($old_table_cols as $declaration)
{
$entities = preg_split('#\s+#', trim($declaration));
if ($entities[0] == 'PRIMARY')
{
continue;
}
$column_list[] = $entities[0];
}
$columns = implode(',', $column_list);
$new_table_cols = $field_ident . ' ' . $sql_type . ',' . $new_table_cols;
// create a new table and fill it up. destroy the temp one
$db->sql_query('CREATE TABLE ' . PROFILE_FIELDS_DATA_TABLE . ' (' . $new_table_cols . ');');
$db->sql_query('INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . ' (' . $columns . ') SELECT ' . $columns . ' FROM ' . PROFILE_FIELDS_DATA_TABLE . '_temp;');
$db->sql_query('DROP TABLE ' . PROFILE_FIELDS_DATA_TABLE . '_temp');
}
else
{
$sql = 'ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . " ADD $field_ident [$sql_type]";
}
break;
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
$sql = 'ALTER TABLE [' . PROFILE_FIELDS_DATA_TABLE . "] ADD [$field_ident] " . $sql_type;
break;
case 'postgres':
$sql = 'ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . " ADD COLUMN \"$field_ident\" " . $sql_type;
break;
case 'oracle':
$sql = 'ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . " ADD $field_ident " . $sql_type;
break;
}
return $sql;
}
}

View File

@@ -25,7 +25,7 @@ class acp_ranks
function main($id, $mode)
{
global $db, $user, $auth, $template, $cache, $request;
global $db, $user, $auth, $template, $cache, $request, $phpbb_dispatcher;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$user->add_lang('acp/posting');
@@ -73,6 +73,17 @@ class acp_ranks
'rank_image' => htmlspecialchars_decode($rank_image)
);
/**
* Modify the SQL array when saving a rank
*
* @event core.acp_ranks_save_modify_sql_ary
* @var int rank_id The ID of the rank (if available)
* @var array sql_ary Array with the rank's data
* @since 3.1.0-RC3
*/
$vars = array('rank_id', 'sql_ary');
extract($phpbb_dispatcher->trigger_event('core.acp_ranks_save_modify_sql_ary', compact($vars)));
if ($rank_id)
{
$sql = 'UPDATE ' . RANKS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE rank_id = $rank_id";
@@ -202,7 +213,7 @@ class acp_ranks
$filename_list = '<option value=""' . (($edit_img == '') ? ' selected="selected"' : '') . '>----------</option>' . $filename_list;
unset($existing_imgs, $imglist);
$template->assign_vars(array(
$tpl_ary = array(
'S_EDIT' => true,
'U_BACK' => $this->u_action,
'RANKS_PATH' => $phpbb_root_path . $config['ranks_path'],
@@ -212,9 +223,21 @@ class acp_ranks
'S_FILENAME_LIST' => $filename_list,
'RANK_IMAGE' => ($edit_img) ? $phpbb_root_path . $config['ranks_path'] . '/' . $edit_img : htmlspecialchars($phpbb_admin_path) . 'images/spacer.gif',
'S_SPECIAL_RANK' => (isset($ranks['rank_special']) && $ranks['rank_special']) ? true : false,
'MIN_POSTS' => (isset($ranks['rank_min']) && !$ranks['rank_special']) ? $ranks['rank_min'] : 0)
'MIN_POSTS' => (isset($ranks['rank_min']) && !$ranks['rank_special']) ? $ranks['rank_min'] : 0,
);
/**
* Modify the template output array for editing/adding ranks
*
* @event core.acp_ranks_edit_modify_tpl_ary
* @var array ranks Array with the rank's data
* @var array tpl_ary Array with the rank's template data
* @since 3.1.0-RC3
*/
$vars = array('ranks', 'tpl_ary');
extract($phpbb_dispatcher->trigger_event('core.acp_ranks_edit_modify_tpl_ary', compact($vars)));
$template->assign_vars($tpl_ary);
return;
break;
@@ -231,7 +254,7 @@ class acp_ranks
while ($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('ranks', array(
$rank_row = array(
'S_RANK_IMAGE' => ($row['rank_image']) ? true : false,
'S_SPECIAL_RANK' => ($row['rank_special']) ? true : false,
@@ -240,8 +263,21 @@ class acp_ranks
'MIN_POSTS' => $row['rank_min'],
'U_EDIT' => $this->u_action . '&amp;action=edit&amp;id=' . $row['rank_id'],
'U_DELETE' => $this->u_action . '&amp;action=delete&amp;id=' . $row['rank_id'])
'U_DELETE' => $this->u_action . '&amp;action=delete&amp;id=' . $row['rank_id'],
);
/**
* Modify the template output array for each listed rank
*
* @event core.acp_ranks_list_modify_rank_row
* @var array row Array with the rank's data
* @var array rank_row Array with the rank's template data
* @since 3.1.0-RC3
*/
$vars = array('row', 'rank_row');
extract($phpbb_dispatcher->trigger_event('core.acp_ranks_list_modify_rank_row', compact($vars)));
$template->assign_block_vars('ranks', $rank_row);
}
$db->sql_freeresult($result);

View File

@@ -70,11 +70,6 @@ class acp_styles
$action = $this->request->variable('action', '');
$post_actions = array('install', 'activate', 'deactivate', 'uninstall');
if ($action && in_array($action, $post_actions) && !check_link_hash($request->variable('hash', ''), $action))
{
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
foreach ($post_actions as $key)
{
if ($this->request->is_set_post($key))
@@ -83,6 +78,18 @@ class acp_styles
}
}
// The uninstall action uses confirm_box() to verify the validity of the request,
// so there is no need to check for a valid token here.
if (in_array($action, $post_actions) && $action != 'uninstall')
{
$is_valid_request = check_link_hash($request->variable('hash', ''), $action) || check_form_key('styles_management');
if (!$is_valid_request)
{
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
}
if ($action != '')
{
$this->s_hidden_fields['action'] = $action;
@@ -122,6 +129,8 @@ class acp_styles
*/
protected function frontend()
{
add_form_key('styles_management');
// Check mode
switch ($this->mode)
{
@@ -133,32 +142,10 @@ class acp_styles
$this->welcome_message('INSTALL_STYLES', 'INSTALL_STYLES_EXPLAIN');
$this->show_available();
return;
case 'cache':
$this->action_cache();
return;
}
trigger_error($this->user->lang['NO_MODE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
/**
* Purge cache
*/
protected function action_cache()
{
global $db, $cache, $auth;
$this->config->increment('assets_version', 1);
$this->cache->purge();
// Clear permissions
$this->auth->acl_clear_prefetch();
phpbb_cache_moderators($db, $cache, $auth);
add_log('admin', 'LOG_PURGE_CACHE');
trigger_error($this->user->lang['PURGED_CACHE'] . adm_back_link($this->u_base_action), E_USER_NOTICE);
}
/**
* Install style(s)
*/
@@ -804,7 +791,7 @@ class acp_styles
*
* @param array $styles Styles list, passed as reference
* @param string $name Name of parent style
* @param string $level Styles tree level
* @param int $level Styles tree level
*/
protected function show_available_child_styles(&$styles, $name, $level)
{
@@ -888,7 +875,7 @@ class acp_styles
* Show item in styles list
*
* @param array $style style row
* @param array $level style inheritance level
* @param int $level style inheritance level
*/
protected function list_style(&$style, $level)
{

View File

@@ -404,7 +404,7 @@ class acp_users
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
{
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications('admin_activate_user', $user_row['user_id']);
$phpbb_notifications->delete_notifications('notification.type.admin_activate_user', $user_row['user_id']);
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
@@ -465,25 +465,9 @@ class acp_users
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
}
$sql_ary = array(
'user_avatar' => '',
'user_avatar_type' => '',
'user_avatar_width' => 0,
'user_avatar_height' => 0,
);
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
WHERE user_id = $user_id";
$db->sql_query($sql);
// Delete old avatar if present
$phpbb_avatar_manager = $phpbb_container->get('avatar.manager');
$driver = $phpbb_avatar_manager->get_driver($user_row['user_avatar_type']);
if ($driver)
{
$driver->delete($user_row);
}
$phpbb_avatar_manager->handle_avatar_delete($db, $user, $phpbb_avatar_manager->clean_row($user_row, 'user'), USERS_TABLE, 'user_');
add_log('admin', 'LOG_USER_DEL_AVATAR', $user_row['username']);
add_log('user', $user_id, 'LOG_USER_DEL_AVATAR_USER');
@@ -1677,7 +1661,7 @@ class acp_users
${'s_sort_' . $sort_option . '_dir'} .= '</select>';
}
$timezone_selects = phpbb_timezone_select($user, $data['tz'], true);
phpbb_timezone_select($template, $user, $data['tz'], true);
$user_prefs_data = array(
'S_PREFS' => true,
'S_JABBER_DISABLED' => ($config['jab_enable'] && $user_row['user_jabber'] && @extension_loaded('xml')) ? false : true,
@@ -1716,8 +1700,6 @@ class acp_users
'S_LANG_OPTIONS' => language_select($data['lang']),
'S_STYLE_OPTIONS' => style_select($data['style']),
'S_TZ_OPTIONS' => $timezone_selects['tz_select'],
'S_TZ_DATE_OPTIONS' => $timezone_selects['tz_dates'],
);
/**
@@ -1779,29 +1761,6 @@ class acp_users
trigger_error($user->lang['USER_AVATAR_UPDATED'] . adm_back_link($this->u_action . '&amp;u=' . $user_id));
}
}
else
{
$driver = $phpbb_avatar_manager->get_driver($avatar_data['avatar_type']);
if ($driver)
{
$driver->delete($avatar_data);
}
// Removing the avatar
$result = array(
'user_avatar' => '',
'user_avatar_type' => '',
'user_avatar_width' => 0,
'user_avatar_height' => 0,
);
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $result) . '
WHERE user_id = ' . (int) $user_id;
$db->sql_query($sql);
trigger_error($user->lang['USER_AVATAR_UPDATED'] . adm_back_link($this->u_action . '&amp;u=' . $user_id));
}
}
else
{
@@ -1809,6 +1768,23 @@ class acp_users
}
}
// Handle deletion of avatars
if ($request->is_set_post('avatar_delete'))
{
if (!confirm_box(true))
{
confirm_box(false, $user->lang('CONFIRM_AVATAR_DELETE'), build_hidden_fields(array(
'avatar_delete' => true))
);
}
else
{
$phpbb_avatar_manager->handle_avatar_delete($db, $user, $avatar_data, USERS_TABLE, 'user_');
trigger_error($user->lang['USER_AVATAR_UPDATED'] . adm_back_link($this->u_action . '&amp;u=' . $user_id));
}
}
$selected_driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', $user_row['user_avatar_type']));
foreach ($avatar_drivers as $current_driver)

View File

@@ -183,7 +183,10 @@ class auth_admin extends \phpbb\auth\auth
}
// Defining the user-function here to save some memory
$return_acl_fill = create_function('$value', 'return ' . $acl_fill . ';');
$return_acl_fill = function () use ($acl_fill)
{
return $acl_fill;
};
// Actually fill the gaps
if (sizeof($hold_ary))

View File

@@ -22,7 +22,6 @@ class acp_styles_info
'modes' => array(
'style' => array('title' => 'ACP_STYLES', 'auth' => 'acl_a_styles', 'cat' => array('ACP_STYLE_MANAGEMENT')),
'install' => array('title' => 'ACP_STYLES_INSTALL', 'auth' => 'acl_a_styles', 'cat' => array('ACP_STYLE_MANAGEMENT')),
'cache' => array('title' => 'ACP_STYLES_CACHE', 'auth' => 'acl_a_styles', 'cat' => array('ACP_STYLE_MANAGEMENT')),
),
);
}

View File

@@ -1,100 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* A small class for 3.0.x (no autoloader in 3.0.x)
*/
class phpbb_captcha_factory
{
/**
* return an instance of class $name in file $name_plugin.php
*/
static public function get_instance($name)
{
global $phpbb_root_path, $phpEx;
$name = basename($name);
if (!class_exists($name))
{
include($phpbb_root_path . "includes/captcha/plugins/{$name}_plugin." . $phpEx);
}
$instance = call_user_func(array($name, 'get_instance'));
return $instance;
}
/**
* Call the garbage collector
*/
function garbage_collect($name)
{
global $phpbb_root_path, $phpEx;
$name = basename($name);
if (!class_exists($name))
{
include($phpbb_root_path . "includes/captcha/plugins/{$name}_plugin." . $phpEx);
}
$captcha = self::get_instance($name);
$captcha->garbage_collect(0);
}
/**
* return a list of all discovered CAPTCHA plugins
*/
function get_captcha_types()
{
global $phpbb_root_path, $phpEx, $phpbb_extension_manager;
$captchas = array(
'available' => array(),
'unavailable' => array(),
);
$finder = $phpbb_extension_manager->get_finder();
$captcha_plugin_classes = $finder
->extension_directory('/captcha')
->suffix('_plugin')
->core_path('includes/captcha/plugins/')
->get_classes();
foreach ($captcha_plugin_classes as $class)
{
// check if this class needs to be loaded in legacy mode
$old_class = preg_replace('/^phpbb_captcha_plugins_/', '', $class);
if (file_exists($phpbb_root_path . "includes/captcha/plugins/$old_class.$phpEx") && !class_exists($old_class))
{
include($phpbb_root_path . "includes/captcha/plugins/$old_class.$phpEx");
$class = preg_replace('/_plugin$/', '', $old_class);
}
if (call_user_func(array($class, 'is_available')))
{
$captchas['available'][$class] = call_user_func(array($class, 'get_name'));
}
else
{
$captchas['unavailable'][$class] = call_user_func(array($class, 'get_name'));
}
}
return $captchas;
}
}

View File

@@ -1,69 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* Placeholder for autoload
*/
if (!class_exists('phpbb_default_captcha', false))
{
include($phpbb_root_path . 'includes/captcha/plugins/captcha_abstract.' . $phpEx);
}
class phpbb_captcha_gd_wave extends phpbb_default_captcha
{
function phpbb_captcha_gd_wave()
{
global $phpbb_root_path, $phpEx;
if (!class_exists('captcha'))
{
include_once($phpbb_root_path . 'includes/captcha/captcha_gd_wave.' . $phpEx);
}
}
static public function get_instance()
{
return new phpbb_captcha_gd_wave();
}
static public function is_available()
{
return @extension_loaded('gd');
}
static public function get_name()
{
return 'CAPTCHA_GD_3D';
}
function get_class_name()
{
return 'phpbb_captcha_gd_wave';
}
function acp_page($id, &$module)
{
global $config, $db, $template, $user;
trigger_error($user->lang['CAPTCHA_NO_OPTIONS'] . adm_back_link($module->u_action));
}
}

View File

@@ -1,70 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* Placeholder for autoload
*/
if (!class_exists('phpbb_default_captcha', false))
{
include($phpbb_root_path . 'includes/captcha/plugins/captcha_abstract.' . $phpEx);
}
class phpbb_captcha_nogd extends phpbb_default_captcha
{
function phpbb_captcha_nogd()
{
global $phpbb_root_path, $phpEx;
if (!class_exists('captcha'))
{
include_once($phpbb_root_path . 'includes/captcha/captcha_non_gd.' . $phpEx);
}
}
static public function get_instance()
{
$instance = new phpbb_captcha_nogd();
return $instance;
}
static public function is_available()
{
return true;
}
static public function get_name()
{
return 'CAPTCHA_NO_GD';
}
function get_class_name()
{
return 'phpbb_captcha_nogd';
}
function acp_page($id, &$module)
{
global $user;
trigger_error($user->lang['CAPTCHA_NO_OPTIONS'] . adm_back_link($module->u_action));
}
}

View File

@@ -43,6 +43,5 @@ $phpbb_path_helper = $phpbb_container->get('path_helper');
// load extensions
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
$phpbb_subscriber_loader = $phpbb_container->get('event.subscriber_loader');
$template = $phpbb_container->get('template');

View File

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

View File

@@ -46,8 +46,9 @@ class diff
/**
* Computes diffs between sequences of strings.
*
* @param array $from_lines An array of strings. Typically these are lines from a file.
* @param array $to_lines An array of strings.
* @param array &$from_content An array of strings. Typically these are lines from a file.
* @param array &$to_content An array of strings.
* @param bool $preserve_cr If true, \r is replaced by a new line in the diff output
*/
function diff(&$from_content, &$to_content, $preserve_cr = true)
{
@@ -491,9 +492,11 @@ class diff3 extends diff
/**
* Computes diff between 3 sequences of strings.
*
* @param array $orig The original lines to use.
* @param array $final1 The first version to compare to.
* @param array $final2 The second version to compare to.
* @param array &$orig The original lines to use.
* @param array &$final1 The first version to compare to.
* @param array &$final2 The second version to compare to.
* @param bool $preserve_cr If true, \r\n and bare \r are replaced by a new line
* in the diff output
*/
function diff3(&$orig, &$final1, &$final2, $preserve_cr = true)
{

View File

@@ -31,7 +31,7 @@ function phpbb_load_extensions_autoloaders($phpbb_root_path)
new \phpbb\recursive_dot_prefix_filter_iterator(
new \RecursiveDirectoryIterator(
$phpbb_root_path . 'ext/',
\FilesystemIterator::SKIP_DOTS
\FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS
)
),
\RecursiveIteratorIterator::SELF_FIRST
@@ -289,7 +289,6 @@ function phpbb_gmgetdate($time = false)
* @param array $allowed_units only allow these units (data array indexes)
*
* @return mixed data array if $string_only is false
* @author bantu
*/
function get_formatted_filesize($value, $string_only = true, $allowed_units = false)
{
@@ -463,7 +462,6 @@ function phpbb_version_compare($version1, $version2, $operator = null)
* @param int $perms Permissions to set
*
* @return bool true on success, otherwise false
* @author faw, phpBB Limited
*/
function phpbb_chmod($filename, $perms = CHMOD_READ)
{
@@ -939,14 +937,20 @@ function style_select($default = '', $all = false)
* Format the timezone offset with hours and minutes
*
* @param int $tz_offset Timezone offset in seconds
* @param bool $show_null Whether null offsets should be shown
* @return string Normalized offset string: -7200 => -02:00
* 16200 => +04:30
*/
function phpbb_format_timezone_offset($tz_offset)
function phpbb_format_timezone_offset($tz_offset, $show_null = false)
{
$sign = ($tz_offset < 0) ? '-' : '+';
$time_offset = abs($tz_offset);
if ($time_offset == 0 && $show_null == false)
{
return '';
}
$offset_seconds = $time_offset % 3600;
$offset_minutes = $offset_seconds / 60;
$offset_hours = ($time_offset - $offset_seconds) / 3600;
@@ -1031,7 +1035,7 @@ function phpbb_get_timezone_identifiers($selected_timezone)
$validate_timezone = new DateTimeZone($selected_timezone);
$timezones[] = $selected_timezone;
}
catch (Exception $e)
catch (\Exception $e)
{
}
}
@@ -1042,13 +1046,14 @@ function phpbb_get_timezone_identifiers($selected_timezone)
/**
* Options to pick a timezone and date/time
*
* @param \phpbb\template\template $template phpBB template object
* @param \phpbb\user $user Object of the current user
* @param string $default A timezone to select
* @param boolean $truncate Shall we truncate the options text
*
* @return array Returns an array, also containing the options for the time selector.
* @return array Returns an array containing the options for the time selector.
*/
function phpbb_timezone_select($user, $default = '', $truncate = false)
function phpbb_timezone_select($template, $user, $default = '', $truncate = false)
{
static $timezones;
@@ -1061,18 +1066,18 @@ function phpbb_timezone_select($user, $default = '', $truncate = false)
foreach ($unsorted_timezones as $timezone)
{
$tz = new DateTimeZone($timezone);
$dt = new \phpbb\datetime($user, 'now', $tz);
$dt = $user->create_datetime('now', $tz);
$offset = $dt->getOffset();
$current_time = $dt->format($user->lang['DATETIME_FORMAT'], true);
$offset_string = phpbb_format_timezone_offset($offset);
$timezones['GMT' . $offset_string . ' - ' . $timezone] = array(
$offset_string = phpbb_format_timezone_offset($offset, true);
$timezones['UTC' . $offset_string . ' - ' . $timezone] = array(
'tz' => $timezone,
'offest' => 'GMT' . $offset_string,
'offset' => $offset_string,
'current' => $current_time,
);
if ($timezone === $default)
{
$default_offset = 'GMT' . $offset_string;
$default_offset = 'UTC' . $offset_string;
}
}
unset($unsorted_timezones);
@@ -1080,18 +1085,27 @@ function phpbb_timezone_select($user, $default = '', $truncate = false)
uksort($timezones, 'phpbb_tz_select_compare');
}
$tz_select = $tz_dates = $opt_group = '';
$tz_select = $opt_group = '';
foreach ($timezones as $timezone)
foreach ($timezones as $key => $timezone)
{
if ($opt_group != $timezone['offest'])
if ($opt_group != $timezone['offset'])
{
// Generate tz_select for backwards compatibility
$tz_select .= ($opt_group) ? '</optgroup>' : '';
$tz_select .= '<optgroup label="' . $timezone['offest'] . ' - ' . $timezone['current'] . '">';
$opt_group = $timezone['offest'];
$tz_select .= '<optgroup label="' . $user->lang(array('timezones', 'UTC_OFFSET_CURRENT'), $timezone['offset'], $timezone['current']) . '">';
$opt_group = $timezone['offset'];
$template->assign_block_vars('timezone_select', array(
'LABEL' => $user->lang(array('timezones', 'UTC_OFFSET_CURRENT'), $timezone['offset'], $timezone['current']),
'VALUE' => $key . ' - ' . $timezone['current'],
));
$selected = ($default_offset == $timezone['offest']) ? ' selected="selected"' : '';
$tz_dates .= '<option value="' . $timezone['offest'] . ' - ' . $timezone['current'] . '"' . $selected . '>' . $timezone['offest'] . ' - ' . $timezone['current'] . '</option>';
$selected = (!empty($default_offset) && strpos($key, $default_offset) !== false) ? ' selected="selected"' : '';
$template->assign_block_vars('timezone_date', array(
'VALUE' => $key . ' - ' . $timezone['current'],
'SELECTED' => !empty($selected),
'TITLE' => $user->lang(array('timezones', 'UTC_OFFSET_CURRENT'), $timezone['offset'], $timezone['current']),
));
}
$label = $timezone['tz'];
@@ -1099,22 +1113,26 @@ function phpbb_timezone_select($user, $default = '', $truncate = false)
{
$label = $user->lang['timezones'][$label];
}
$title = $timezone['offest'] . ' - ' . $label;
$title = $user->lang(array('timezones', 'UTC_OFFSET_CURRENT'), $timezone['offset'], $label);
if ($truncate)
{
$label = truncate_string($label, 50, 255, false, '...');
}
// Also generate timezone_select for backwards compatibility
$selected = ($timezone['tz'] === $default) ? ' selected="selected"' : '';
$tz_select .= '<option title="' . $title . '" value="' . $timezone['tz'] . '"' . $selected . '>' . $label . '</option>';
$template->assign_block_vars('timezone_select.timezone_options', array(
'TITLE' => $title,
'VALUE' => $timezone['tz'],
'SELECTED' => !empty($selected),
'LABEL' => $label,
));
}
$tz_select .= '</optgroup>';
return array(
'tz_select' => $tz_select,
'tz_dates' => $tz_dates,
);
return $tz_select;
}
// Functions handling topic/post tracking/marking
@@ -1146,12 +1164,12 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
// Mark all topic notifications read for this user
$phpbb_notifications->mark_notifications_read(array(
'topic',
'quote',
'bookmark',
'post',
'approve_topic',
'approve_post',
'notification.type.topic',
'notification.type.quote',
'notification.type.bookmark',
'notification.type.post',
'notification.type.approve_topic',
'notification.type.approve_post',
), false, $user->data['user_id'], $post_time);
if ($config['load_db_lastread'] && $user->data['is_registered'])
@@ -1211,8 +1229,8 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->mark_notifications_read_by_parent(array(
'topic',
'approve_topic',
'notification.type.topic',
'notification.type.approve_topic',
), $forum_id, $user->data['user_id'], $post_time);
// Mark all post/quote notifications read for this user in this forum
@@ -1228,10 +1246,10 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
$db->sql_freeresult($result);
$phpbb_notifications->mark_notifications_read_by_parent(array(
'quote',
'bookmark',
'post',
'approve_post',
'notification.type.quote',
'notification.type.bookmark',
'notification.type.post',
'notification.type.approve_post',
), $topic_ids, $user->data['user_id'], $post_time);
// Add 0 to forums array to mark global announcements correctly
@@ -1334,15 +1352,15 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
// Mark post notifications read for this user in this topic
$phpbb_notifications->mark_notifications_read(array(
'topic',
'approve_topic',
'notification.type.topic',
'notification.type.approve_topic',
), $topic_id, $user->data['user_id'], $post_time);
$phpbb_notifications->mark_notifications_read_by_parent(array(
'quote',
'bookmark',
'post',
'approve_post',
'notification.type.quote',
'notification.type.bookmark',
'notification.type.post',
'notification.type.approve_post',
), $topic_id, $user->data['user_id'], $post_time);
if ($config['load_db_lastread'] && $user->data['is_registered'])
@@ -1638,7 +1656,7 @@ function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $s
if (empty($sql_sort))
{
$sql_sort = 'ORDER BY t.topic_last_post_time DESC';
$sql_sort = 'ORDER BY t.topic_last_post_time DESC, t.topic_last_post_id DESC';
}
if ($config['load_db_lastread'] && $user->data['is_registered'])
@@ -1991,6 +2009,9 @@ function tracking_unserialize($string, $max_depth = 3)
* @param mixed $params String or array of additional url parameters
* @param bool $is_amp Is url using &amp; (true) or & (false)
* @param string $session_id Possibility to use a custom session id instead of the global one
* @param bool $is_route Is url generated by a route.
*
* @return string The corrected url.
*
* Examples:
* <code>
@@ -2001,7 +2022,7 @@ function tracking_unserialize($string, $max_depth = 3)
* </code>
*
*/
function append_sid($url, $params = false, $is_amp = true, $session_id = false)
function append_sid($url, $params = false, $is_amp = true, $session_id = false, $is_route = false)
{
global $_SID, $_EXTRA_URL, $phpbb_hook, $phpbb_path_helper;
global $phpbb_dispatcher;
@@ -2013,7 +2034,7 @@ function append_sid($url, $params = false, $is_amp = true, $session_id = false)
}
// Update the root path with the correct relative web path
if ($phpbb_path_helper instanceof \phpbb\path_helper)
if (!$is_route && $phpbb_path_helper instanceof \phpbb\path_helper)
{
$url = $phpbb_path_helper->update_web_root_path($url);
}
@@ -2039,9 +2060,10 @@ function append_sid($url, $params = false, $is_amp = true, $session_id = false)
* the global one (false)
* @var bool|string append_sid_overwrite Overwrite function (string
* URL) or not (false)
* @var bool is_route Is url generated by a route.
* @since 3.1.0-a1
*/
$vars = array('url', 'params', 'is_amp', 'session_id', 'append_sid_overwrite');
$vars = array('url', 'params', 'is_amp', 'session_id', 'append_sid_overwrite', 'is_route');
extract($phpbb_dispatcher->trigger_event('core.append_sid', compact($vars)));
if ($append_sid_overwrite)
@@ -2210,7 +2232,7 @@ function generate_board_url($without_script_path = false)
*/
function redirect($url, $return = false, $disable_cd_check = false)
{
global $db, $cache, $config, $user, $phpbb_root_path, $phpbb_filesystem, $phpbb_path_helper, $phpEx;
global $db, $cache, $config, $user, $phpbb_root_path, $phpbb_filesystem, $phpbb_path_helper, $phpEx, $phpbb_dispatcher;
$failover_flag = false;
@@ -2219,11 +2241,6 @@ function redirect($url, $return = false, $disable_cd_check = false)
$user->add_lang('common');
}
if (!$return)
{
garbage_collection();
}
// Make sure no &amp;'s are in, this will break the redirect
$url = str_replace('&amp;', '&', $url);
@@ -2298,10 +2315,26 @@ function redirect($url, $return = false, $disable_cd_check = false)
trigger_error('INSECURE_REDIRECT', E_USER_ERROR);
}
/**
* Execute code and/or overwrite redirect()
*
* @event core.functions.redirect
* @var string url The url
* @var bool return If true, do not redirect but return the sanitized URL.
* @var bool disable_cd_check If true, redirect() will redirect to an external domain. If false, the redirect point to the boards url if it does not match the current domain.
* @since 3.1.0-RC3
*/
$vars = array('url', 'return', 'disable_cd_check');
extract($phpbb_dispatcher->trigger_event('core.functions.redirect', compact($vars)));
if ($return)
{
return $url;
}
else
{
garbage_collection();
}
// Redirect via an HTML form for PITA webservers
if (@preg_match('#Microsoft|WebSTAR|Xitami#', getenv('SERVER_SOFTWARE')))
@@ -2529,7 +2562,7 @@ function check_link_hash($token, $link_name)
*/
function add_form_key($form_name)
{
global $config, $template, $user;
global $config, $template, $user, $phpbb_dispatcher;
$now = time();
$token_sid = ($user->data['user_id'] == ANONYMOUS && !empty($config['form_token_sid_guests'])) ? $user->session_id : '';
@@ -2540,21 +2573,44 @@ function add_form_key($form_name)
'form_token' => $token,
));
/**
* Perform additional actions on creation of the form token
*
* @event core.add_form_key
* @var string form_name The form name
* @var int now Current time timestamp
* @var string s_fields Generated hidden fields
* @var string token Form token
* @var string token_sid User session ID
*
* @since 3.1.0-RC3
*/
$vars = array(
'form_name',
'now',
's_fields',
'token',
'token_sid',
);
extract($phpbb_dispatcher->trigger_event('core.add_form_key', compact($vars)));
$template->assign_vars(array(
'S_FORM_TOKEN' => $s_fields,
));
}
/**
* Check the form key. Required for all altering actions not secured by confirm_box
* @param string $form_name The name of the form; has to match the name used in add_form_key, otherwise no restrictions apply
* @param int $timespan The maximum acceptable age for a submitted form in seconds. Defaults to the config setting.
* @param string $return_page The address for the return link
* @param bool $trigger If true, the function will triger an error when encountering an invalid form
*/
function check_form_key($form_name, $timespan = false, $return_page = '', $trigger = false)
* Check the form key. Required for all altering actions not secured by confirm_box
*
* @param string $form_name The name of the form; has to match the name used
* in add_form_key, otherwise no restrictions apply
* @param int $timespan The maximum acceptable age for a submitted form
* in seconds. Defaults to the config setting.
* @return bool True, if the form key was valid, false otherwise
*/
function check_form_key($form_name, $timespan = false)
{
global $config, $user;
global $config, $request, $user;
if ($timespan === false)
{
@@ -2562,10 +2618,10 @@ function check_form_key($form_name, $timespan = false, $return_page = '', $trigg
$timespan = ($config['form_token_lifetime'] == -1) ? -1 : max(30, $config['form_token_lifetime']);
}
if (isset($_POST['creation_time']) && isset($_POST['form_token']))
if ($request->is_set_post('creation_time') && $request->is_set_post('form_token'))
{
$creation_time = abs(request_var('creation_time', 0));
$token = request_var('form_token', '');
$creation_time = abs($request->variable('creation_time', 0));
$token = $request->variable('form_token', '');
$diff = time() - $creation_time;
@@ -2582,11 +2638,6 @@ function check_form_key($form_name, $timespan = false, $return_page = '', $trigg
}
}
if ($trigger)
{
trigger_error($user->lang['FORM_INVALID'] . $return_page);
}
return false;
}
@@ -2717,12 +2768,7 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = false, $s_display = true)
{
global $db, $user, $template, $auth, $phpEx, $phpbb_root_path, $config;
global $request, $phpbb_container;
if (!class_exists('phpbb_captcha_factory', false))
{
include($phpbb_root_path . 'includes/captcha/captcha_factory.' . $phpEx);
}
global $request, $phpbb_container, $phpbb_dispatcher;
$err = '';
@@ -2807,8 +2853,18 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
if ($result['status'] == LOGIN_SUCCESS)
{
$redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx");
$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];
$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
/**
* This event allows an extension to modify the redirection when a user successfully logs in
*
* @event core.login_box_redirect
* @var string redirect Redirect string
* @var boolean admin Is admin?
* @var bool return If true, do not redirect but return the sanitized URL.
* @since 3.1.0-RC5
*/
$vars = array('redirect', 'admin', 'return');
extract($phpbb_dispatcher->trigger_event('core.login_box_redirect', compact($vars)));
// append/replace SID (may change during the session for AOL users)
$redirect = reapply_sid($redirect);
@@ -2833,7 +2889,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
{
case LOGIN_ERROR_ATTEMPTS:
$captcha = phpbb_captcha_factory::get_instance($config['captcha_plugin']);
$captcha = $phpbb_container->get('captcha.factory')->get_instance($config['captcha_plugin']);
$captcha->init(CONFIRM_LOGIN);
// $captcha->reset();
@@ -2945,7 +3001,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
*/
function login_forum_box($forum_data)
{
global $db, $phpbb_container, $request, $template, $user;
global $db, $phpbb_container, $request, $template, $user, $phpbb_dispatcher;
$password = $request->variable('password', '', true);
@@ -3006,6 +3062,17 @@ function login_forum_box($forum_data)
$template->assign_var('LOGIN_ERROR', $user->lang['WRONG_PASSWORD']);
}
/**
* Performing additional actions, load additional data on forum login
*
* @event core.login_forum_box
* @var array forum_data Array with forum data
* @var string password Password entered
* @since 3.1.0-RC3
*/
$vars = array('forum_data', 'password');
extract($phpbb_dispatcher->trigger_event('core.login_forum_box', compact($vars)));
page_header($user->lang['LOGIN']);
$template->assign_vars(array(
@@ -3282,6 +3349,11 @@ function get_preg_expression($mode)
case 'table_prefix':
return '#^[a-zA-Z][a-zA-Z0-9_]*$#';
break;
// Matches the predecing dot
case 'path_remove_dot_trailing_slash':
return '#^(?:(\.)?)+(?:(.+)?)+(?:([\\/\\\])$)#';
break;
}
return '';
@@ -3366,8 +3438,6 @@ function short_ipv6($ip, $length)
*
* @return mixed false if specified address is not valid,
* string otherwise
*
* @author bantu
*/
function phpbb_ip_normalise($address)
{
@@ -3396,8 +3466,6 @@ function phpbb_ip_normalise($address)
*
* @return mixed false on failure,
* string otherwise
*
* @author APTX
*/
function phpbb_inet_ntop($in_addr)
{
@@ -3467,8 +3535,6 @@ function phpbb_inet_ntop($in_addr)
*
* @return mixed false if address is invalid,
* in_addr representation of the given address otherwise (string)
*
* @author APTX
*/
function phpbb_inet_pton($address)
{
@@ -3548,8 +3614,6 @@ function phpbb_inet_pton($address)
*
* Since null can also be returned, you probably want to compare the result
* with === true or === false,
*
* @author bantu
*/
function phpbb_checkdnsrr($host, $type = 'MX')
{
@@ -4636,7 +4700,7 @@ function phpbb_get_group_avatar($user_row, $alt = 'GROUP_AVATAR', $ignore_config
/**
* Get avatar
*
* @param array $row Row cleaned by \phpbb\avatar\driver\driver::clean_row
* @param array $row Row cleaned by \phpbb\avatar\manager::clean_row
* @param string $alt Optional language string for alt tag within image, can be a language key or text
* @param bool $ignore_config Ignores the config-setting, to be still able to view the avatar in the UCP
*
@@ -4870,8 +4934,8 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
}
}
$dt = new \phpbb\datetime($user, 'now', $user->timezone);
$timezone_offset = 'GMT' . phpbb_format_timezone_offset($dt->getOffset());
$dt = $user->create_datetime();
$timezone_offset = $user->lang(array('timezones', 'UTC_OFFSET'), phpbb_format_timezone_offset($dt->getOffset()));
$timezone_name = $user->timezone->getName();
if (isset($user->lang['timezones'][$timezone_name]))
{
@@ -4955,7 +5019,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'U_SEARCH_UNREAD' => append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=unreadposts'),
'U_SEARCH_ACTIVE_TOPICS'=> append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=active_topics'),
'U_DELETE_COOKIES' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=delete_cookies'),
'U_CONTACT_US' => ($config['contact_admin_form_enable']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contactadmin') : '',
'U_CONTACT_US' => ($config['contact_admin_form_enable'] && $config['email_enable']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contactadmin') : '',
'U_TEAM' => ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')) ? '' : append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=team'),
'U_TERMS_USE' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms'),
'U_PRIVACY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy'),
@@ -5030,6 +5094,19 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'SITE_LOGO_IMG' => $user->img('site_logo'),
));
// An array of http headers that phpbb will set. The following event may override these.
$http_headers = array(
// application/xhtml+xml not used because of IE
'Content-type' => 'text/html; charset=UTF-8',
'Cache-Control' => 'private, no-cache="set-cookie"',
'Expires' => gmdate('D, d M Y H:i:s', time()) . ' GMT',
);
if (!empty($user->data['is_bot']))
{
// Let reverse proxies know we detected a bot.
$http_headers['X-PHPBB-IS-BOT'] = 'yes';
}
/**
* Execute code and/or overwrite _common_ template variables after they have been assigned.
*
@@ -5040,23 +5117,16 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
* session item, e.g. forum for
* session_forum_id
* @var int item_id Restrict online users to item id
* @var array http_headers HTTP headers that should be set by phpbb
*
* @since 3.1.0-b3
*/
$vars = array('page_title', 'display_online_list', 'item_id', 'item');
$vars = array('page_title', 'display_online_list', 'item_id', 'item', 'http_headers');
extract($phpbb_dispatcher->trigger_event('core.page_header_after', compact($vars)));
// application/xhtml+xml not used because of IE
header('Content-type: text/html; charset=UTF-8');
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');
if (!empty($user->data['is_bot']))
foreach ($http_headers as $hname => $hval)
{
// Let reverse proxies know we detected a bot.
header('X-PHPBB-IS-BOT: yes');
header((string) $hname . ': ' . (string) $hval);
}
return;
@@ -5084,9 +5154,10 @@ function phpbb_check_and_display_sql_report(\phpbb\request\request_interface $re
* @param \phpbb\config\config $config Config object
* @param \phpbb\auth\auth $auth Auth object
* @param \phpbb\user $user User object
* @param \phpbb\event\dispatcher_interface $phpbb_dispatcher Event dispatcher
* @return string
*/
function phpbb_generate_debug_output(phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\auth\auth $auth, \phpbb\user $user)
function phpbb_generate_debug_output(\phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\auth\auth $auth, \phpbb\user $user, \phpbb\event\dispatcher_interface $phpbb_dispatcher)
{
$debug_info = array();
@@ -5125,6 +5196,17 @@ function phpbb_generate_debug_output(phpbb\db\driver\driver_interface $db, \phpb
}
}
/**
* Modify debug output information
*
* @event core.phpbb_generate_debug_output
* @var array debug_info Array of strings with debug information
*
* @since 3.1.0-RC3
*/
$vars = array('debug_info');
extract($phpbb_dispatcher->trigger_event('core.phpbb_generate_debug_output', compact($vars)));
return implode(' | ', $debug_info);
}
@@ -5163,7 +5245,7 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler =
phpbb_check_and_display_sql_report($request, $auth, $db);
$template->assign_vars(array(
'DEBUG_OUTPUT' => phpbb_generate_debug_output($db, $config, $auth, $user),
'DEBUG_OUTPUT' => phpbb_generate_debug_output($db, $config, $auth, $user, $phpbb_dispatcher),
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="https://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Limited'),
@@ -5172,7 +5254,7 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler =
// Call cron-type script
$call_cron = false;
if (!defined('IN_CRON') && !$config['use_system_cron'] && $run_cron && !$config['board_disable'] && !$user->data['is_bot'] && !$cache->get('cron.lock_check'))
if (!defined('IN_CRON') && !$config['use_system_cron'] && $run_cron && !$config['board_disable'] && !$user->data['is_bot'] && !$cache->get('_cron.lock_check'))
{
$call_cron = true;
$time_now = (!empty($user->time_now) && is_int($user->time_now)) ? $user->time_now : time();
@@ -5204,10 +5286,22 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler =
}
else
{
$cache->put('cron.lock_check', true, 300);
$cache->put('_cron.lock_check', true, 60);
}
}
/**
* Execute code and/or modify output before displaying the template.
*
* @event core.page_footer_after
* @var bool display_template Whether or not to display the template
* @var bool exit_handler Whether or not to run the exit_handler()
*
* @since 3.1.0-RC5
*/
$vars = array('display_template', 'exit_handler');
extract($phpbb_dispatcher->trigger_event('core.page_footer_after', compact($vars)));
if ($display_template)
{
$template->display('body');
@@ -5355,7 +5449,7 @@ function phpbb_get_board_contact(\phpbb\config\config $config, $phpEx)
*/
function phpbb_get_board_contact_link(\phpbb\config\config $config, $phpbb_root_path, $phpEx)
{
if ($config['contact_admin_form_enable'])
if ($config['contact_admin_form_enable'] && $config['email_enable'])
{
return append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contactadmin');
}

View File

@@ -107,12 +107,30 @@ function adm_page_header($page_title)
'S_CONTENT_FLOW_END' => ($user->lang['DIRECTION'] == 'ltr') ? 'right' : 'left',
));
// application/xhtml+xml not used because of IE
header('Content-type: text/html; charset=UTF-8');
// An array of http headers that phpbb will set. The following event may override these.
$http_headers = array(
// application/xhtml+xml not used because of IE
'Content-type' => 'text/html; charset=UTF-8',
'Cache-Control' => 'private, no-cache="set-cookie"',
'Expires' => gmdate('D, d M Y H:i:s', time()) . ' GMT',
);
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');
/**
* Execute code and/or overwrite _common_ template variables after they have been assigned.
*
* @event core.adm_page_header_after
* @var string page_title Page title
* @var array http_headers HTTP headers that should be set by phpbb
*
* @since 3.1.0-RC3
*/
$vars = array('page_title', 'http_headers');
extract($phpbb_dispatcher->trigger_event('core.adm_page_header_after', compact($vars)));
foreach ($http_headers as $hname => $hval)
{
header((string) $hname . ': ' . (string) $hval);
}
return;
}
@@ -149,7 +167,7 @@ function adm_page_footer($copyright_html = true)
phpbb_check_and_display_sql_report($request, $auth, $db);
$template->assign_vars(array(
'DEBUG_OUTPUT' => phpbb_generate_debug_output($db, $config, $auth, $user),
'DEBUG_OUTPUT' => phpbb_generate_debug_output($db, $config, $auth, $user, $phpbb_dispatcher),
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'S_COPYRIGHT_HTML' => $copyright_html,
'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="https://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Limited'),
@@ -240,7 +258,6 @@ function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
case 'range':
case 'search':
case 'tel':
case 'url':
case 'week':
$size = (int) $tpl_type[1];
$maxlength = (int) $tpl_type[2];
@@ -656,3 +673,30 @@ function validate_range($value_ary, &$error)
}
}
}
/**
* Inserts new config display_vars into an exisiting display_vars array
* at the given position.
*
* @param array $display_vars An array of existing config display vars
* @param array $add_config_vars An array of new config display vars
* @param array $where Where to place the new config vars,
* before or after an exisiting config, as an array
* of the form: array('after' => 'config_name') or
* array('before' => 'config_name').
* @return array The array of config display vars
*/
function phpbb_insert_config_array($display_vars, $add_config_vars, $where)
{
if (is_array($where) && array_key_exists(current($where), $display_vars))
{
$position = array_search(current($where), array_keys($display_vars)) + ((key($where) == 'before') ? 0 : 1);
$display_vars = array_merge(
array_slice($display_vars, 0, $position),
$add_config_vars,
array_slice($display_vars, $position)
);
}
return $display_vars;
}

View File

@@ -27,8 +27,6 @@ if (!defined('IN_PHPBB'))
* @param string $table constant or fullname of the table
* @param int $parent_id parent_id of the current set (default = 0)
* @param array $where contains strings to compare closer on the where statement (additional)
*
* @author EXreaction
*/
function recalc_nested_sets(&$new_id, $pkey, $table, $parent_id = 0, $where = array())
{
@@ -315,8 +313,6 @@ function get_forum_branch($forum_id, $type = 'all', $order = 'descending', $incl
* @param bool $add_log True if log entry should be added
*
* @return bool False on error
*
* @author bantu
*/
function copy_forum_permissions($src_forum_id, $dest_forum_ids, $clear_dest_perms = true, $add_log = true)
{
@@ -722,9 +718,9 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications(array(
'topic',
'approve_topic',
'topic_in_queue',
'notification.type.topic',
'notification.type.approve_topic',
'notification.type.topic_in_queue',
), $topic_ids);
return $return;
@@ -739,9 +735,9 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync =
// Notifications types to delete
$delete_notifications_types = array(
'quote',
'approve_post',
'post_in_queue',
'notification.type.quote',
'notification.type.approve_post',
'notification.type.post_in_queue',
);
/**
@@ -1224,8 +1220,6 @@ function delete_attachments($mode, $ids, $resync = true)
* @param bool $auto_sync Will call sync() if this is true
*
* @return array Array with affected forums
*
* @author bantu
*/
function delete_topic_shadows($forum_id, $sql_more = '', $auto_sync = true)
{

View File

@@ -101,18 +101,21 @@ function phpbb_clean_path($path)
}
else if (!$phpbb_path_helper)
{
global $phpbb_root_path, $phpEx;
// The container is not yet loaded, use a new instance
if (!class_exists('\phpbb\path_helper'))
{
global $phpbb_root_path, $phpEx;
require($phpbb_root_path . 'phpbb/path_helper.' . $phpEx);
}
$request = new phpbb\request\request();
$phpbb_path_helper = new phpbb\path_helper(
new phpbb\symfony_request(
new phpbb\request\request()
$request
),
new phpbb\filesystem(),
$request,
$phpbb_root_path,
$phpEx
);
@@ -133,10 +136,9 @@ function phpbb_clean_path($path)
*/
function tz_select($default = '', $truncate = false)
{
global $user;
global $template, $user;
$timezone_select = phpbb_timezone_select($user, $default, $truncate);
return $timezone_select['tz_select'];
return phpbb_timezone_select($template, $user, $default, $truncate);
}
/**
@@ -166,3 +168,30 @@ function update_foes($group_id = false, $user_id = false)
global $db, $auth;
return phpbb_update_foes($db, $auth, $group_id, $user_id);
}
/**
* Get user rank title and image
*
* @param int $user_rank the current stored users rank id
* @param int $user_posts the users number of posts
* @param string &$rank_title the rank title will be stored here after execution
* @param string &$rank_img the rank image as full img tag is stored here after execution
* @param string &$rank_img_src the rank image source is stored here after execution
*
* @deprecated 3.1.0-RC5 (To be removed: 3.3.0)
*
* Note: since we do not want to break backwards-compatibility, this function will only properly assign ranks to guests if you call it for them with user_posts == false
*/
function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
{
global $phpbb_root_path, $phpEx;
if (!function_exists('phpbb_get_user_rank'))
{
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
}
$rank_data = phpbb_get_user_rank(array('user_rank' => $user_rank), $user_posts);
$rank_title = $rank_data['title'];
$rank_img = $rank_data['img'];
$rank_img_src = $rank_data['img_src'];
}

View File

@@ -509,7 +509,7 @@ class compress_zip extends compress
$mimetype = 'application/zip';
header('Pragma: no-cache');
header('Cache-Control: private, no-cache');
header("Content-Type: $mimetype; name=\"$download_name.zip\"");
header("Content-disposition: attachment; filename=$download_name.zip");
@@ -757,7 +757,7 @@ class compress_tar extends compress
break;
}
header('Pragma: no-cache');
header('Cache-Control: private, no-cache');
header("Content-Type: $mimetype; name=\"$download_name$this->type\"");
header("Content-disposition: attachment; filename=$download_name$this->type");

View File

@@ -912,7 +912,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
return;
}
global $template, $cache, $user;
global $template, $cache, $user, $phpbb_dispatcher;
global $extensions, $config, $phpbb_root_path, $phpEx;
//
@@ -1187,6 +1187,34 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
);
}
/**
* Use this event to modify the attachment template data.
*
* This event is triggered once per attachment.
*
* @event core.parse_attachments_modify_template_data
* @var array attachment Array with attachment data
* @var array block_array Template data of the attachment
* @var int display_cat Attachment category data
* @var string download_link Attachment download link
* @var array extensions Array with attachment extensions data
* @var mixed forum_id The forum id the attachments are displayed in (false if in private message)
* @var bool preview Flag indicating if we are in post preview mode
* @var array update_count Array with attachment ids to update download count
* @since 3.1.0-RC5
*/
$vars = array(
'attachment',
'block_array',
'display_cat',
'download_link',
'extensions',
'forum_id',
'preview',
'update_count',
);
extract($phpbb_dispatcher->trigger_event('core.parse_attachments_modify_template_data', compact($vars)));
$template->assign_block_vars('_file', $block_array);
$compiled_attachments[] = $template->assign_display('attachment_tpl');
@@ -1323,7 +1351,6 @@ function truncate_string($string, $max_length = 60, $max_store_length = 255, $al
* @param string $custom_profile_url optional parameter to specify a profile url. The user id get appended to this url as &amp;u={user_id}
*
* @return string A string consisting of what is wanted based on $mode.
* @author BartVB, Acyd Burn
*/
function get_username_string($mode, $user_id, $username, $username_colour = '', $guest_username = false, $custom_profile_url = false)
{

View File

@@ -379,10 +379,10 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
$last_catless = true;
foreach ($forum_rows as $row)
{
// Empty category
// Category
if ($row['parent_id'] == $root_data['forum_id'] && $row['forum_type'] == FORUM_CAT)
{
$template->assign_block_vars('forumrow', array(
$cat_row = array(
'S_IS_CAT' => true,
'FORUM_ID' => $row['forum_id'],
'FORUM_NAME' => $row['forum_name'],
@@ -391,9 +391,33 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
'FORUM_FOLDER_IMG_SRC' => '',
'FORUM_IMAGE' => ($row['forum_image']) ? '<img src="' . $phpbb_root_path . $row['forum_image'] . '" alt="' . $user->lang['FORUM_CAT'] . '" />' : '',
'FORUM_IMAGE_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']))
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']),
);
/**
* Modify the template data block of the 'category'
*
* This event is triggered once per 'category'
*
* @event core.display_forums_modify_category_template_vars
* @var array cat_row Template data of the 'category'
* @var bool catless The flag indicating whether the 'category' has a parent category
* @var bool last_catless The flag indicating whether the last forum had a parent category
* @var array root_data Array with the root forum data
* @var array row The data of the 'category'
* @since 3.1.0-RC4
*/
$vars = array(
'cat_row',
'catless',
'last_catless',
'root_data',
'row',
);
extract($phpbb_dispatcher->trigger_event('core.display_forums_modify_category_template_vars', compact($vars)));
$template->assign_block_vars('forumrow', $cat_row);
continue;
}
@@ -625,6 +649,28 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
'UNAPPROVED_POST_IMG' => $user->img('icon_topic_unapproved', 'POSTS_UNAPPROVED_FORUM'),
));
/**
* Event to perform additional actions after the forum list has been generated
*
* @event core.display_forums_after
* @var array active_forum_ary Array with forum data to display active topics
* @var bool display_moderators Flag indicating if we display forum moderators
* @var array forum_moderators Array with forum moderators list
* @var array forum_rows Data array of all forums we display
* @var bool return_moderators Flag indicating if moderators list should be returned
* @var array root_data Array with the root forum data
* @since 3.1.0-RC5
*/
$vars = array(
'active_forum_ary',
'display_moderators',
'forum_moderators',
'forum_rows',
'return_moderators',
'root_data',
);
extract($phpbb_dispatcher->trigger_event('core.display_forums_after', compact($vars)));
if ($return_moderators)
{
return array($active_forum_ary, $forum_moderators);
@@ -1063,7 +1109,8 @@ function display_reasons($reason_id = 0)
function display_user_activity(&$userdata)
{
global $auth, $template, $db, $user;
global $phpbb_root_path, $phpEx, $phpbb_container;
global $phpbb_root_path, $phpEx;
global $phpbb_container, $phpbb_dispatcher;
// Do not display user activity for users having more than 5000 posts...
if ($userdata['user_posts'] > 5000)
@@ -1134,6 +1181,18 @@ function display_user_activity(&$userdata)
}
}
/**
* Alter list of forums and topics to display as active
*
* @event core.display_user_activity_modify_actives
* @var array userdata User's data
* @var array active_f_row List of active forums
* @var array active_t_row List of active posts
* @since 3.1.0-RC3
*/
$vars = array('userdata', 'active_f_row', 'active_t_row');
extract($phpbb_dispatcher->trigger_event('core.display_user_activity_modify_actives', compact($vars)));
$userdata['active_t_row'] = $active_t_row;
$userdata['active_f_row'] = $active_f_row;
@@ -1365,17 +1424,34 @@ function watch_topic_forum($mode, &$s_watching, $user_id, $forum_id, $topic_id,
/**
* Get user rank title and image
*
* @param int $user_rank the current stored users rank id
* @param array $user_data the current stored users data
* @param int $user_posts the users number of posts
* @param string &$rank_title the rank title will be stored here after execution
* @param string &$rank_img the rank image as full img tag is stored here after execution
* @param string &$rank_img_src the rank image source is stored here after execution
*
* @return array An associative array containing the rank title (title), the rank image source (img) and the rank image as full img tag (img)
*
* Note: since we do not want to break backwards-compatibility, this function will only properly assign ranks to guests if you call it for them with user_posts == false
*/
function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
function phpbb_get_user_rank($user_data, $user_posts)
{
global $ranks, $config, $phpbb_root_path, $phpbb_path_helper;
global $ranks, $config, $phpbb_root_path, $phpbb_path_helper, $phpbb_dispatcher;
$user_rank_data = array(
'title' => null,
'img' => null,
'img_src' => null,
);
/**
* Preparing a user's rank before displaying
*
* @event core.modify_user_rank
* @var array user_data Array with user's data
* @var int user_posts User_posts to change
* @since 3.1.0-RC4
*/
$vars = array('user_data', 'user_posts');
extract($phpbb_dispatcher->trigger_event('core.modify_user_rank', compact($vars)));
if (empty($ranks))
{
@@ -1383,11 +1459,14 @@ function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank
$ranks = $cache->obtain_ranks();
}
if (!empty($user_rank))
if (!empty($user_data['user_rank']))
{
$rank_title = (isset($ranks['special'][$user_rank]['rank_title'])) ? $ranks['special'][$user_rank]['rank_title'] : '';
$rank_img_src = (!empty($ranks['special'][$user_rank]['rank_image'])) ? $phpbb_path_helper->update_web_root_path($phpbb_root_path . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image']) : '';
$rank_img = (!empty($ranks['special'][$user_rank]['rank_image'])) ? '<img src="' . $rank_img_src . '" alt="' . $ranks['special'][$user_rank]['rank_title'] . '" title="' . $ranks['special'][$user_rank]['rank_title'] . '" />' : '';
$user_rank_data['title'] = (isset($ranks['special'][$user_data['user_rank']]['rank_title'])) ? $ranks['special'][$user_data['user_rank']]['rank_title'] : '';
$user_rank_data['img_src'] = (!empty($ranks['special'][$user_data['user_rank']]['rank_image'])) ? $phpbb_path_helper->update_web_root_path($phpbb_root_path . $config['ranks_path'] . '/' . $ranks['special'][$user_data['user_rank']]['rank_image']) : '';
$user_rank_data['img'] = (!empty($ranks['special'][$user_data['user_rank']]['rank_image'])) ? '<img src="' . $user_rank_data['img_src'] . '" alt="' . $ranks['special'][$user_data['user_rank']]['rank_title'] . '" title="' . $ranks['special'][$user_data['user_rank']]['rank_title'] . '" />' : '';
}
else if ($user_posts !== false)
{
@@ -1397,66 +1476,29 @@ function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank
{
if ($user_posts >= $rank['rank_min'])
{
$rank_title = $rank['rank_title'];
$rank_img_src = (!empty($rank['rank_image'])) ? $phpbb_path_helper->update_web_root_path($phpbb_root_path . $config['ranks_path'] . '/' . $rank['rank_image']) : '';
$rank_img = (!empty($rank['rank_image'])) ? '<img src="' . $rank_img_src . '" alt="' . $rank['rank_title'] . '" title="' . $rank['rank_title'] . '" />' : '';
$user_rank_data['title'] = $rank['rank_title'];
$user_rank_data['img_src'] = (!empty($rank['rank_image'])) ? $phpbb_path_helper->update_web_root_path($phpbb_root_path . $config['ranks_path'] . '/' . $rank['rank_image']) : '';
$user_rank_data['img'] = (!empty($rank['rank_image'])) ? '<img src="' . $user_rank_data['img_src'] . '" alt="' . $rank['rank_title'] . '" title="' . $rank['rank_title'] . '" />' : '';
break;
}
}
}
}
}
/**
* Generate a list of archive types available for compressing attachments
*
* @param string $param_key Either topic_id or post_id
* @param string $param_val The value of the topic or post id
* @param string $phpbb_root_path The root path of the phpBB installation
* @param string $phpEx The PHP extension
*
* @return array Array containing the link and the type of compression
*/
function phpbb_gen_download_links($param_key, $param_val, $phpbb_root_path, $phpEx)
{
if (!class_exists('compress'))
{
require $phpbb_root_path . 'includes/functions_compress.' . $phpEx;
}
$methods = compress::methods();
// Sort by preferred type.
$methods = array_intersect(array('.zip', '.tar.bz2', '.tar.gz', '.tar'), $methods);
$links = array();
foreach ($methods as $method)
{
$exploded = explode('.', $method);
$type = array_pop($exploded);
$params = array('archive' => $method);
$params[$param_key] = $param_val;
$links[] = array(
'LINK' => append_sid("{$phpbb_root_path}download/file.$phpEx", $params),
'TYPE' => $type,
);
}
return $links;
return $user_rank_data;
}
/**
* Prepare profile data
*/
function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false)
function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false, $check_can_receive_pm = true)
{
global $config, $auth, $user, $phpEx, $phpbb_root_path, $phpbb_dispatcher;
$username = $data['username'];
$user_id = $data['user_id'];
$rank_title = $rank_img = $rank_img_src = '';
get_user_rank($data['user_rank'], (($user_id == ANONYMOUS) ? false : $data['user_posts']), $rank_title, $rank_img, $rank_img_src);
$user_rank_data = phpbb_get_user_rank($data, (($user_id == ANONYMOUS) ? false : $data['user_posts']));
if ((!empty($data['user_allow_viewemail']) && $auth->acl_get('u_sendemail')) || $auth->acl_get('a_user'))
{
@@ -1517,7 +1559,7 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
}
// Can this user receive a Private Message?
$can_receive_pm = (
$can_receive_pm = $check_can_receive_pm && (
// They must be a "normal" user
$data['user_type'] != USER_IGNORE &&
@@ -1537,7 +1579,7 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
// Dump it out to the template
$template_data = array(
'AGE' => $age,
'RANK_TITLE' => $rank_title,
'RANK_TITLE' => $user_rank_data['title'],
'JOINED' => $user->format_date($data['user_regdate']),
'LAST_ACTIVE' => (empty($last_active)) ? ' - ' : $user->format_date($last_active),
'POSTS' => ($data['user_posts']) ? $data['user_posts'] : 0,
@@ -1553,8 +1595,8 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
'AVATAR_IMG' => phpbb_get_user_avatar($data),
'ONLINE_IMG' => (!$config['load_onlinetrack']) ? '' : (($online) ? $user->img('icon_user_online', 'ONLINE') : $user->img('icon_user_offline', 'OFFLINE')),
'S_ONLINE' => ($config['load_onlinetrack'] && $online) ? true : false,
'RANK_IMG' => $rank_img,
'RANK_IMG_SRC' => $rank_img_src,
'RANK_IMG' => $user_rank_data['img'],
'RANK_IMG_SRC' => $user_rank_data['img_src'],
'S_JABBER_ENABLED' => ($config['jab_enable']) ? true : false,
'S_WARNINGS' => ($auth->acl_getf_global('m_') || $auth->acl_get('m_warn')) ? true : false,

View File

@@ -45,28 +45,28 @@ function send_avatar_to_browser($file, $browser)
if ((@file_exists($file_path) && @is_readable($file_path)) && !headers_sent())
{
header('Pragma: public');
header('Cache-Control: public');
$image_data = @getimagesize($file_path);
header('Content-Type: ' . image_type_to_mime_type($image_data[2]));
if ((strpos(strtolower($user->browser), 'msie') !== false) && !phpbb_is_greater_ie_version($browser, 7))
if ((strpos(strtolower($browser), 'msie') !== false) && !phpbb_is_greater_ie_version($browser, 7))
{
header('Content-Disposition: attachment; ' . header_filename($file));
if (strpos(strtolower($browser), 'msie 6.0') !== false)
{
header('Expires: -1');
header('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
}
else
{
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 31536000) . ' GMT');
}
}
else
{
header('Content-Disposition: inline; ' . header_filename($file));
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 31536000) . ' GMT');
}
$size = @filesize($file_path);
@@ -175,7 +175,7 @@ function send_file_to_browser($attachment, $upload_dir, $category)
}
// Now the tricky part... let's dance
header('Pragma: public');
header('Cache-Control: public');
// Send out the Headers. Do not set Content-Disposition to inline please, it is a security measure for users using the Internet Explorer.
header('Content-Type: ' . $attachment['mimetype']);
@@ -197,7 +197,7 @@ function send_file_to_browser($attachment, $upload_dir, $category)
header('Content-Disposition: attachment; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie 6.0') !== false))
{
header('expires: -1');
header('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
}
}
else
@@ -420,8 +420,8 @@ function set_modified_headers($stamp, $browser)
{
send_status_line(304, 'Not Modified');
// seems that we need those too ... browsers
header('Pragma: public');
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
header('Cache-Control: public');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 31536000) . ' GMT');
return true;
}
else
@@ -717,27 +717,6 @@ function phpbb_download_check_pm_auth($db, $user_id, $msg_id)
return $allowed;
}
/**
* Cleans a filename of any characters that could potentially cause a problem on
* a user's filesystem.
*
* @param string $filename The filename to clean
*
* @return string The cleaned filename
*/
function phpbb_download_clean_filename($filename)
{
$bad_chars = array("'", "\\", ' ', '/', ':', '*', '?', '"', '<', '>', '|');
// rawurlencode to convert any potentially 'bad' characters that we missed
$filename = rawurlencode(str_replace($bad_chars, '_', $filename));
// Turn the %xx entities created by rawurlencode to _
$filename = preg_replace("/%(\w{2})/", '_', $filename);
return $filename;
}
/**
* Check if the browser is internet explorer version 7+
*

View File

@@ -266,7 +266,7 @@ function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix,
if (is_array($db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, true)))
{
$db_error = $db->sql_error();
$error[] = $lang['INST_ERR_DB_CONNECT'] . '<br />' . (($db_error['message']) ? $db_error['message'] : $lang['INST_ERR_DB_NO_ERROR']);
$error[] = $lang['INST_ERR_DB_CONNECT'] . '<br />' . (($db_error['message']) ? utf8_convert_message($db_error['message']) : $lang['INST_ERR_DB_NO_ERROR']);
}
else
{
@@ -449,6 +449,7 @@ function phpbb_create_config_file_data($data, $dbms, $debug = false, $debug_cont
}
$config_data .= "\n@define('PHPBB_INSTALLED', true);\n";
$config_data .= "// @define('PHPBB_DISPLAY_LOAD_TIME', true);\n";
if ($debug)
{

View File

@@ -521,21 +521,21 @@ function phpbb_mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by
$limit_days = array(0 => $user->lang['ALL_TOPICS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
$sort_by_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 'tt' => $user->lang['TOPIC_TIME'], 'r' => $user->lang['REPLIES'], 's' => $user->lang['SUBJECT'], 'v' => $user->lang['VIEWS']);
$sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => 't.topic_last_post_time', 'tt' => 't.topic_time', 'r' => (($auth->acl_get('m_approve', $forum_id)) ? 't.topic_posts_approved + t.topic_posts_unapproved + t.topic_posts_softdeleted' : 't.topic_posts_approved'), 's' => 't.topic_title', 'v' => 't.topic_views');
$sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => array('t.topic_last_post_time', 't.topic_last_post_id'), 'tt' => 't.topic_time', 'r' => (($auth->acl_get('m_approve', $forum_id)) ? 't.topic_posts_approved + t.topic_posts_unapproved + t.topic_posts_softdeleted' : 't.topic_posts_approved'), 's' => 't.topic_title', 'v' => 't.topic_views');
$limit_time_sql = ($min_time) ? "AND t.topic_last_post_time >= $min_time" : '';
break;
case 'posts':
$limit_days = array(0 => $user->lang['ALL_POSTS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
$sort_by_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 's' => $user->lang['SUBJECT']);
$sort_by_sql = array('a' => 'u.username_clean', 't' => 'p.post_time', 's' => 'p.post_subject');
$sort_by_sql = array('a' => 'u.username_clean', 't' => array('p.post_time', 'p.post_id'), 's' => 'p.post_subject');
$limit_time_sql = ($min_time) ? "AND p.post_time >= $min_time" : '';
break;
case 'reports':
$limit_days = array(0 => $user->lang['ALL_REPORTS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
$sort_by_text = array('a' => $user->lang['AUTHOR'], 'r' => $user->lang['REPORTER'], 'p' => $user->lang['POST_TIME'], 't' => $user->lang['REPORT_TIME'], 's' => $user->lang['SUBJECT']);
$sort_by_sql = array('a' => 'u.username_clean', 'r' => 'ru.username', 'p' => 'p.post_time', 't' => 'r.report_time', 's' => 'p.post_subject');
$sort_by_sql = array('a' => 'u.username_clean', 'r' => 'ru.username', 'p' => array('p.post_time', 'p.post_id'), 't' => 'r.report_time', 's' => 'p.post_subject');
break;
case 'pm_reports':
@@ -558,7 +558,16 @@ function phpbb_mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by
$sort_key = $default_key;
}
$sort_order_sql = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
$direction = ($sort_dir == 'd') ? 'DESC' : 'ASC';
if (is_array($sort_by_sql[$sort_key]))
{
$sort_order_sql = implode(' ' . $direction . ', ', $sort_by_sql[$sort_key]) . ' ' . $direction;
}
else
{
$sort_order_sql = $sort_by_sql[$sort_key] . ' ' . $direction;
}
$s_limit_days = $s_sort_key = $s_sort_dir = $sort_url = '';
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir, $sort_url);

View File

@@ -402,17 +402,9 @@ class messenger
*/
function generate_message_id()
{
global $config;
global $config, $request;
$domain = 'phpbb.generated';
if ($config['server_name'])
{
$domain = $config['server_name'];
}
else if (!empty($_SERVER['SERVER_NAME']))
{
$domain = $_SERVER['SERVER_NAME'];
}
$domain = ($config['server_name']) ?: $request->server('SERVER_NAME', 'phpbb.generated');
return md5(unique_id(time())) . '@' . $domain;
}

View File

@@ -489,6 +489,12 @@ class p_master
$id = request_var('icat', '');
}
// Restore the backslashes in class names
if (strpos($id, '-') !== false)
{
$id = str_replace('-', '\\', $id);
}
if ($id && !is_numeric($id) && !$this->is_full_class($id))
{
$id = $this->p_class . '_' . $id;
@@ -541,7 +547,9 @@ class p_master
*
* This method loads a given module, passing it the relevant id and mode.
*
* @param string $mode mode, as passed through to the module
* @param string|false $mode mode, as passed through to the module
* @param string|false $module_url If supplied, we use this module url
* @param bool $execute_module If true, at the end we execute the main method for the new instance
*/
function load_active($mode = false, $module_url = false, $execute_module = true)
{
@@ -614,7 +622,7 @@ class p_master
}
// Not being able to overwrite ;)
$this->module->u_action = append_sid("{$phpbb_admin_path}index.$phpEx", 'i=' . $this->get_module_identifier($this->p_name, $this->p_id)) . (($icat) ? '&amp;icat=' . $icat : '') . "&amp;mode={$this->p_mode}";
$this->module->u_action = append_sid("{$phpbb_admin_path}index.$phpEx", 'i=' . $this->get_module_identifier($this->p_name)) . (($icat) ? '&amp;icat=' . $icat : '') . "&amp;mode={$this->p_mode}";
}
else
{
@@ -646,7 +654,7 @@ class p_master
$this->module->u_action = $phpbb_root_path . (($user->page['page_dir']) ? $user->page['page_dir'] . '/' : '') . $user->page['page_name'];
}
$this->module->u_action = append_sid($this->module->u_action, 'i=' . $this->get_module_identifier($this->p_name, $this->p_id)) . (($icat) ? '&amp;icat=' . $icat : '') . "&amp;mode={$this->p_mode}";
$this->module->u_action = append_sid($this->module->u_action, 'i=' . $this->get_module_identifier($this->p_name)) . (($icat) ? '&amp;icat=' . $icat : '') . "&amp;mode={$this->p_mode}";
}
// Add url_extra parameter to u_action url
@@ -899,7 +907,7 @@ class p_master
else
{
// if the category has a name, then use it.
$u_title .= $this->get_module_identifier($item_ary['name'], $item_ary['id']);
$u_title .= $this->get_module_identifier($item_ary['name']);
}
// If the item is not a category append the mode
if (!$item_ary['cat'])
@@ -1040,19 +1048,45 @@ class p_master
*/
function add_mod_info($module_class)
{
global $user, $phpEx;
global $phpbb_extension_manager;
global $config, $user, $phpEx, $phpbb_extension_manager;
$finder = $phpbb_extension_manager->get_finder();
$lang_files = $finder
// We grab the language files from the default, English and user's language.
// So we can fall back to the other files like we do when using add_lang()
$default_lang_files = $english_lang_files = $user_lang_files = array();
// Search for board default language if it's not the user language
if ($config['default_lang'] != $user->lang_name)
{
$default_lang_files = $finder
->prefix('info_' . strtolower($module_class) . '_')
->suffix(".$phpEx")
->extension_directory('/language/' . basename($config['default_lang']))
->core_path('language/' . basename($config['default_lang']) . '/mods/')
->find();
}
// Search for english, if its not the default or user language
if ($config['default_lang'] != 'en' && $user->lang_name != 'en')
{
$english_lang_files = $finder
->prefix('info_' . strtolower($module_class) . '_')
->suffix(".$phpEx")
->extension_directory('/language/en')
->core_path('language/en/mods/')
->find();
}
// Find files in the user's language
$user_lang_files = $finder
->prefix('info_' . strtolower($module_class) . '_')
->suffix(".$phpEx")
->extension_directory('/language/' . $user->lang_name)
->core_path('language/' . $user->lang_name . '/mods/')
->find();
$lang_files = array_unique(array_merge($user_lang_files, $english_lang_files, $default_lang_files));
foreach ($lang_files as $lang_file => $ext_name)
{
$user->add_lang_ext($ext_name, $lang_file);
@@ -1078,26 +1112,24 @@ class p_master
}
/**
* If the basename contains a \ we dont use that for the URL.
* If the basename contains a \ we don't use that for the URL.
*
* Firefox is currently unable to correctly copy a urlencoded \
* so users will be unable to post links to modules.
* However we can still fallback to the id instead of the name,
* so we do that in this case.
* However we can replace them with dashes and re-replace them later
*
* @param string $basename Basename of the module
* @param int $id Id of the module
* @return mixed Identifier that should be used for
* @return string Identifier that should be used for
* module link creation
*/
protected function get_module_identifier($basename, $id)
protected function get_module_identifier($basename)
{
if (strpos($basename, '\\') === false)
{
return $basename;
}
return $id;
return str_replace('\\', '-', $basename);
}
/**

View File

@@ -398,14 +398,15 @@ function posting_gen_topic_types($forum_id, $cur_topic_type = POST_NORMAL)
* @param string $local_storage The path to the local file
* @param bool $is_message Whether it is a PM or not
* @param \filespec $local_filedata A filespec object created for the local file
* @param \phpbb\mimetype\guesser $mimetype_guesser The mimetype guesser object if used
* @param \phpbb\plupload\plupload $plupload The plupload object if one is being used
*
* @return object filespec
*/
function upload_attachment($form_name, $forum_id, $local = false, $local_storage = '', $is_message = false, $local_filedata = false, \phpbb\plupload\plupload $plupload = null)
function upload_attachment($form_name, $forum_id, $local = false, $local_storage = '', $is_message = false, $local_filedata = false, \phpbb\mimetype\guesser $mimetype_guesser = null, \phpbb\plupload\plupload $plupload = null)
{
global $auth, $user, $config, $db, $cache;
global $phpbb_root_path, $phpEx;
global $phpbb_root_path, $phpEx, $phpbb_dispatcher;
$filedata = array(
'error' => array()
@@ -434,7 +435,7 @@ function upload_attachment($form_name, $forum_id, $local = false, $local_storage
$extensions = $cache->obtain_attach_extensions((($is_message) ? false : (int) $forum_id));
$upload->set_allowed_extensions(array_keys($extensions['_allowed_']));
$file = ($local) ? $upload->local_upload($local_storage, $local_filedata) : $upload->form_upload($form_name, $plupload);
$file = ($local) ? $upload->local_upload($local_storage, $local_filedata, $mimetype_guesser) : $upload->form_upload($form_name, $mimetype_guesser, $plupload);
if ($file->init_error)
{
@@ -506,6 +507,20 @@ function upload_attachment($form_name, $forum_id, $local = false, $local_storage
$filedata['real_filename'] = $file->get('uploadname');
$filedata['filetime'] = time();
/**
* Event to modify uploaded file before submit to the post
*
* @event core.modify_uploaded_file
* @var array filedata Array containing uploaded file data
* @var bool is_image Flag indicating if the file is an image
* @since 3.1.0-RC3
*/
$vars = array(
'filedata',
'is_image',
);
extract($phpbb_dispatcher->trigger_event('core.modify_uploaded_file', compact($vars)));
// Check our complete quota
if ($config['attachment_quota'])
{
@@ -893,7 +908,7 @@ function posting_gen_attachment_entry($attachment_data, &$filename_data, $show_a
function load_drafts($topic_id = 0, $forum_id = 0, $id = 0, $pm_action = '', $msg_id = 0)
{
global $user, $db, $template, $auth;
global $phpbb_root_path, $phpEx;
global $phpbb_root_path, $phpbb_dispatcher, $phpEx;
$topic_ids = $forum_ids = $draft_rows = array();
@@ -936,7 +951,7 @@ function load_drafts($topic_id = 0, $forum_id = 0, $id = 0, $pm_action = '', $ms
$topic_rows = array();
if (sizeof($topic_ids))
{
$sql = 'SELECT topic_id, forum_id, topic_title
$sql = 'SELECT topic_id, forum_id, topic_title, topic_poster
FROM ' . TOPICS_TABLE . '
WHERE ' . $db->sql_in_set('topic_id', array_unique($topic_ids));
$result = $db->sql_query($sql);
@@ -947,6 +962,20 @@ function load_drafts($topic_id = 0, $forum_id = 0, $id = 0, $pm_action = '', $ms
}
$db->sql_freeresult($result);
}
/**
* Drafts found and their topics
* Edit $draft_rows in order to add or remove drafts loaded
*
* @event core.load_drafts_draft_list_result
* @var array draft_rows The drafts query result. Includes its forum id and everything about the draft
* @var array topic_ids The list of topics got from the topics table
* @var array topic_rows The topics that draft_rows references
* @since 3.1.0-RC3
*/
$vars = array('draft_rows', 'topic_ids', 'topic_rows');
extract($phpbb_dispatcher->trigger_event('core.load_drafts_draft_list_result', compact($vars)));
unset($topic_ids);
$template->assign_var('S_SHOW_DRAFTS', true);
@@ -1011,6 +1040,7 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id
global $config, $phpbb_root_path, $phpEx, $phpbb_container;
$phpbb_content_visibility = $phpbb_container->get('content.visibility');
$sql_sort = ($mode == 'post_review') ? 'ASC' : 'DESC';
// Go ahead and pull all data for this topic
$sql = 'SELECT p.post_id
@@ -1019,8 +1049,7 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id
AND " . $phpbb_content_visibility->get_visibility_sql('post', $forum_id, 'p.') . '
' . (($mode == 'post_review') ? " AND p.post_id > $cur_post_id" : '') . '
' . (($mode == 'post_review_edit') ? " AND p.post_id = $cur_post_id" : '') . '
ORDER BY p.post_time ';
$sql .= ($mode == 'post_review') ? 'ASC' : 'DESC';
ORDER BY p.post_time ' . $sql_sort . ', p.post_id ' . $sql_sort;
$result = $db->sql_query_limit($sql, $config['posts_per_page']);
$post_list = array();
@@ -1295,18 +1324,7 @@ function delete_post($forum_id, $topic_id, $post_id, &$data, $is_soft = false, $
{
delete_topics('topic_id', array($topic_id), false);
if ($data['topic_visibility'] == ITEM_APPROVED)
{
$sql_data[FORUMS_TABLE] .= 'forum_posts_approved = forum_posts_approved - 1, forum_topics_approved = forum_topics_approved - 1';
}
else if ($data['topic_visibility'] == ITEM_UNAPPROVED || $data['post_visibility'] == ITEM_REAPPROVE)
{
$sql_data[FORUMS_TABLE] .= 'forum_posts_unapproved = forum_posts_unapproved - 1, forum_topics_unapproved = forum_topics_unapproved - 1';
}
else if ($data['topic_visibility'] == ITEM_DELETED)
{
$sql_data[FORUMS_TABLE] .= 'forum_posts_softdeleted = forum_posts_softdeleted - 1, forum_topics_softdeleted = forum_topics_softdeleted - 1';
}
$phpbb_content_visibility->remove_topic_from_statistic($data, $sql_data);
$update_sql = update_post_information('forum', $forum_id, true);
if (sizeof($update_sql))
@@ -1324,7 +1342,7 @@ function delete_post($forum_id, $topic_id, $post_id, &$data, $is_soft = false, $
WHERE p.topic_id = $topic_id
AND p.poster_id = u.user_id
AND p.post_visibility = " . ITEM_APPROVED . '
ORDER BY p.post_time ASC';
ORDER BY p.post_time ASC, p.post_id ASC';
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
@@ -1336,7 +1354,7 @@ function delete_post($forum_id, $topic_id, $post_id, &$data, $is_soft = false, $
FROM ' . POSTS_TABLE . ' p, ' . USERS_TABLE . " u
WHERE p.topic_id = $topic_id
AND p.poster_id = u.user_id
ORDER BY p.post_time ASC";
ORDER BY p.post_time ASC, p.post_id ASC";
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
@@ -1391,7 +1409,7 @@ function delete_post($forum_id, $topic_id, $post_id, &$data, $is_soft = false, $
WHERE topic_id = $topic_id
AND " . $phpbb_content_visibility->get_visibility_sql('post', $forum_id) . '
AND post_time > ' . $data['post_time'] . '
ORDER BY post_time ASC';
ORDER BY post_time ASC, post_id ASC';
$result = $db->sql_query_limit($sql, 1);
$next_post_id = (int) $db->sql_fetchfield('post_id');
$db->sql_freeresult($result);
@@ -1402,20 +1420,7 @@ function delete_post($forum_id, $topic_id, $post_id, &$data, $is_soft = false, $
{
if (!$is_soft)
{
if ($data['post_visibility'] == ITEM_APPROVED)
{
$phpbb_content_visibility->remove_post_from_statistic($data, $sql_data);
}
else if ($data['post_visibility'] == ITEM_UNAPPROVED || $data['post_visibility'] == ITEM_REAPPROVE)
{
$sql_data[FORUMS_TABLE] = (($sql_data[FORUMS_TABLE]) ? $sql_data[FORUMS_TABLE] . ', ' : '') . 'forum_posts_unapproved = forum_posts_unapproved - 1';
$sql_data[TOPICS_TABLE] = (($sql_data[TOPICS_TABLE]) ? $sql_data[TOPICS_TABLE] . ', ' : '') . 'topic_posts_unapproved = topic_posts_unapproved - 1';
}
else if ($data['post_visibility'] == ITEM_DELETED)
{
$sql_data[FORUMS_TABLE] = (($sql_data[FORUMS_TABLE]) ? $sql_data[FORUMS_TABLE] . ', ' : '') . 'forum_posts_softdeleted = forum_posts_softdeleted - 1';
$sql_data[TOPICS_TABLE] = (($sql_data[TOPICS_TABLE]) ? $sql_data[TOPICS_TABLE] . ', ' : '') . 'topic_posts_softdeleted = topic_posts_softdeleted - 1';
}
$phpbb_content_visibility->remove_post_from_statistic($data, $sql_data);
}
$sql = 'SELECT 1 AS has_attachments
@@ -2251,17 +2256,17 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
{
case 'post':
$phpbb_notifications->add_notifications(array(
'quote',
'topic',
'notification.type.quote',
'notification.type.topic',
), $notification_data);
break;
case 'reply':
case 'quote':
$phpbb_notifications->add_notifications(array(
'quote',
'bookmark',
'post',
'notification.type.quote',
'notification.type.bookmark',
'notification.type.post',
), $notification_data);
break;
@@ -2270,10 +2275,10 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
case 'edit':
case 'edit_last_post':
$phpbb_notifications->update_notifications(array(
'quote',
'bookmark',
'topic',
'post',
'notification.type.quote',
'notification.type.bookmark',
'notification.type.topic',
'notification.type.post',
), $notification_data);
break;
}
@@ -2283,12 +2288,12 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
switch ($mode)
{
case 'post':
$phpbb_notifications->add_notifications('topic_in_queue', $notification_data);
$phpbb_notifications->add_notifications('notification.type.topic_in_queue', $notification_data);
break;
case 'reply':
case 'quote':
$phpbb_notifications->add_notifications('post_in_queue', $notification_data);
$phpbb_notifications->add_notifications('notification.type.post_in_queue', $notification_data);
break;
case 'edit_topic':
@@ -2305,20 +2310,20 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
{
case 'edit_topic':
case 'edit_first_post':
$phpbb_notifications->add_notifications('topic_in_queue', $notification_data);
$phpbb_notifications->add_notifications('notification.type.topic_in_queue', $notification_data);
// Delete the approve_post notification so we can notify the user again,
// when his post got reapproved
$phpbb_notifications->delete_notifications('approve_post', $notification_data['post_id']);
$phpbb_notifications->delete_notifications('notification.type.approve_post', $notification_data['post_id']);
break;
case 'edit':
case 'edit_last_post':
$phpbb_notifications->add_notifications('post_in_queue', $notification_data);
$phpbb_notifications->add_notifications('notification.type.post_in_queue', $notification_data);
// Delete the approve_post notification so we can notify the user again,
// when his post got reapproved
$phpbb_notifications->delete_notifications('approve_post', $notification_data['post_id']);
$phpbb_notifications->delete_notifications('notification.type.approve_post', $notification_data['post_id']);
break;
case 'post':
@@ -2373,12 +2378,33 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
* event is to modify the return URL ($url).
*
* @event core.submit_post_end
* @var string url The "Return to topic" URL
* @var array data Array of post data about the
* submitted post
* @var string mode Variable containing posting mode value
* @var string subject Variable containing post subject value
* @var string username Variable containing post author name
* @var int topic_type Variable containing topic type value
* @var array poll Array with the poll data for the post
* @var array data Array with the data for the post
* @var int post_visibility Variable containing up to date post visibility
* @var bool update_message Flag indicating if the post will be updated
* @var bool update_search_index Flag indicating if the search index will be updated
* @var string url The "Return to topic" URL
*
* @since 3.1.0-a3
* @change 3.1.0-RC3 Added vars mode, subject, username, topic_type,
* poll, update_message, update_search_index
*/
$vars = array('url', 'data');
$vars = array(
'mode',
'subject',
'username',
'topic_type',
'poll',
'data',
'post_visibility',
'update_message',
'update_search_index',
'url',
);
extract($phpbb_dispatcher->trigger_event('core.submit_post_end', compact($vars)));
return $url;
@@ -2514,7 +2540,7 @@ function phpbb_upload_popup($forum_style = 0)
/**
* Do the various checks required for removing posts as well as removing it
*/
function phpbb_handle_post_delete($forum_id, $topic_id, $post_id, &$post_data, $is_soft = false, $soft_delete_reason = '')
function phpbb_handle_post_delete($forum_id, $topic_id, $post_id, &$post_data, $is_soft = false, $delete_reason = '')
{
global $user, $auth, $config, $request;
global $phpbb_root_path, $phpEx;
@@ -2547,19 +2573,19 @@ function phpbb_handle_post_delete($forum_id, $topic_id, $post_id, &$post_data, $
'post_postcount' => $post_data['post_postcount'],
);
$next_post_id = delete_post($forum_id, $topic_id, $post_id, $data, $is_soft, $soft_delete_reason);
$next_post_id = delete_post($forum_id, $topic_id, $post_id, $data, $is_soft, $delete_reason);
$post_username = ($post_data['poster_id'] == ANONYMOUS && !empty($post_data['post_username'])) ? $post_data['post_username'] : $post_data['username'];
if ($next_post_id === false)
{
add_log('mod', $forum_id, $topic_id, (($is_soft) ? 'LOG_SOFTDELETE_TOPIC' : 'LOG_DELETE_TOPIC'), $post_data['topic_title'], $post_username, $soft_delete_reason);
add_log('mod', $forum_id, $topic_id, (($is_soft) ? 'LOG_SOFTDELETE_TOPIC' : 'LOG_DELETE_TOPIC'), $post_data['topic_title'], $post_username, $delete_reason);
$meta_info = append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id");
$message = $user->lang['POST_DELETED'];
}
else
{
add_log('mod', $forum_id, $topic_id, (($is_soft) ? 'LOG_SOFTDELETE_POST' : 'LOG_DELETE_POST'), $post_data['post_subject'], $post_username, $soft_delete_reason);
add_log('mod', $forum_id, $topic_id, (($is_soft) ? 'LOG_SOFTDELETE_POST' : 'LOG_DELETE_POST'), $post_data['post_subject'], $post_username, $delete_reason);
$meta_info = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&amp;t=$topic_id&amp;p=$next_post_id") . "#p$next_post_id";
$message = $user->lang['POST_DELETED'];

View File

@@ -212,7 +212,7 @@ function get_folder($user_id, $folder_id = false)
);
}
if ($folder_id !== false && !isset($folder[$folder_id]))
if ($folder_id !== false && $folder_id !== PRIVMSGS_HOLD_BOX && !isset($folder[$folder_id]))
{
trigger_error('UNKNOWN_FOLDER');
}
@@ -883,7 +883,7 @@ function update_unread_status($unread, $msg_id, $user_id, $folder_id)
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->mark_notifications_read('pm', $msg_id, $user_id);
$phpbb_notifications->mark_notifications_read('notification.type.pm', $msg_id, $user_id);
$sql = 'UPDATE ' . PRIVMSGS_TO_TABLE . "
SET pm_unread = 0
@@ -914,6 +914,24 @@ function update_unread_status($unread, $msg_id, $user_id, $folder_id)
}
}
function mark_folder_read($user_id, $folder_id)
{
global $db;
$sql = 'SELECT msg_id
FROM ' . PRIVMSGS_TO_TABLE . '
WHERE folder_id = ' . ((int) $folder_id) . '
AND user_id = ' . ((int) $user_id) . '
AND pm_unread = 1';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
update_unread_status(true, $row['msg_id'], $user_id, $folder_id);
}
$db->sql_freeresult($result);
}
/**
* Handle all actions possible with marked messages
*/
@@ -1114,7 +1132,7 @@ function delete_pm($user_id, $msg_ids, $folder_id)
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications('pm', array_keys($delete_rows));
$phpbb_notifications->delete_notifications('notification.type.pm', array_keys($delete_rows));
// Now we have to check which messages we can delete completely
$sql = 'SELECT msg_id
@@ -1296,7 +1314,7 @@ function phpbb_delete_users_pms($user_ids)
AND ' . $db->sql_in_set('msg_id', $delivered_msg);
$db->sql_query($sql);
$phpbb_notifications->delete_notifications('pm', $delivered_msg);
$phpbb_notifications->delete_notifications('notification.type.pm', $delivered_msg);
}
if (!empty($undelivered_msg))
@@ -1309,7 +1327,7 @@ function phpbb_delete_users_pms($user_ids)
WHERE ' . $db->sql_in_set('msg_id', $undelivered_msg);
$db->sql_query($sql);
$phpbb_notifications->delete_notifications('pm', $undelivered_msg);
$phpbb_notifications->delete_notifications('notification.type.pm', $undelivered_msg);
}
}
@@ -1353,7 +1371,7 @@ function phpbb_delete_users_pms($user_ids)
WHERE ' . $db->sql_in_set('msg_id', $delete_ids);
$db->sql_query($sql);
$phpbb_notifications->delete_notifications('pm', $delete_ids);
$phpbb_notifications->delete_notifications('notification.type.pm', $delete_ids);
}
}
@@ -1573,7 +1591,7 @@ function get_folder_status($folder_id, $folder)
'cur' => $folder['num_messages'],
'remaining' => ($user->data['message_limit']) ? $user->data['message_limit'] - $folder['num_messages'] : 0,
'max' => $user->data['message_limit'],
'percent' => ($user->data['message_limit']) ? (($user->data['message_limit'] > 0) ? round(($folder['num_messages'] / $user->data['message_limit']) * 100) : 100) : 0,
'percent' => ($user->data['message_limit']) ? (($user->data['message_limit'] > 0) ? floor(($folder['num_messages'] / $user->data['message_limit']) * 100) : 100) : 0,
);
$return['message'] = $user->lang('FOLDER_STATUS_MSG', $user->lang('MESSAGES_COUNT', (int) $return['max']), $return['cur'], $return['percent']);
@@ -1911,11 +1929,11 @@ function submit_pm($mode, $subject, &$data, $put_in_outbox = true)
if ($mode == 'edit')
{
$phpbb_notifications->update_notifications('pm', $pm_data);
$phpbb_notifications->update_notifications('notification.type.pm', $pm_data);
}
else
{
$phpbb_notifications->add_notifications('pm', $pm_data);
$phpbb_notifications->add_notifications('notification.type.pm', $pm_data);
}
/**

View File

@@ -507,8 +507,6 @@ class ftp extends transfer
/**
* FTP fsock transfer class
*
* @author wGEric
*/
class ftp_fsock extends transfer
{

View File

@@ -52,11 +52,17 @@ class filespec
*/
protected $plupload;
/**
* phpBB Mimetype guesser
* @var \phpbb\mimetype\guesser
*/
protected $mimetype_guesser;
/**
* File Class
* @access private
*/
function filespec($upload_ary, $upload_namespace, \phpbb\plupload\plupload $plupload = null)
function filespec($upload_ary, $upload_namespace, \phpbb\mimetype\guesser $mimetype_guesser = null, \phpbb\plupload\plupload $plupload = null)
{
if (!isset($upload_ary))
{
@@ -76,7 +82,7 @@ class filespec
if (!$this->mimetype)
{
$this->mimetype = 'application/octetstream';
$this->mimetype = 'application/octet-stream';
}
$this->extension = strtolower(self::get_extension($this->realname));
@@ -90,6 +96,7 @@ class filespec
$this->local = (isset($upload_ary['local_mode'])) ? true : false;
$this->upload = $upload_namespace;
$this->plupload = $plupload;
$this->mimetype_guesser = $mimetype_guesser;
}
/**
@@ -97,6 +104,7 @@ class filespec
*
* @param real|unique|unique_ext $mode real creates a realname, filtering some characters, lowering every character. Unique creates an unique filename
* @param string $prefix Prefix applied to filename
* @param string $user_id The user_id is only needed for when cleaning a user's avatar
* @access public
*/
function clean_filename($mode = 'unique', $prefix = '', $user_id = '')
@@ -215,25 +223,24 @@ class filespec
}
/**
* Get mimetype. Utilize mime_content_type if the function exist.
* Not used at the moment...
* Get mimetype
*
* @param string $filename Filename that needs to be checked
* @return string Mimetype of supplied filename
*/
function get_mimetype($filename)
{
$mimetype = '';
if (function_exists('mime_content_type'))
if ($this->mimetype_guesser !== null)
{
$mimetype = mime_content_type($filename);
$mimetype = $this->mimetype_guesser->guess($filename, $this->uploadname);
if ($mimetype !== 'application/octet-stream')
{
$this->mimetype = $mimetype;
}
}
// Some browsers choke on a mimetype of application/octet-stream
if (!$mimetype || $mimetype == 'application/octet-stream')
{
$mimetype = 'application/octetstream';
}
return $mimetype;
return $this->mimetype;
}
/**
@@ -276,8 +283,9 @@ class filespec
* Move file to destination folder
* The phpbb_root_path variable will be applied to the destination path
*
* @param string $destination_path Destination path, for example $config['avatar_path']
* @param string $destination Destination path, for example $config['avatar_path']
* @param bool $overwrite If set to true, an already existing file will be overwritten
* @param bool $skip_image_check If set to true, the check for the file to be a valid image is skipped
* @param string $chmod Permission mask for chmodding the file after a successful move. The mode entered here reflects the mode defined by {@link phpbb_chmod()}
*
* @access public
@@ -372,6 +380,9 @@ class filespec
// Try to get real filesize from destination folder
$this->filesize = (@filesize($this->destination_file)) ? @filesize($this->destination_file) : $this->filesize;
// Get mimetype of supplied file
$this->mimetype = $this->get_mimetype($this->destination_file);
if ($this->is_image() && !$skip_image_check)
{
$this->width = $this->height = 0;
@@ -498,6 +509,8 @@ class fileupload
* @param int $min_height Minimum image height (only checked for images)
* @param int $max_width Maximum image width (only checked for images)
* @param int $max_height Maximum image height (only checked for images)
* @param bool|array $disallowed_content If enabled, the first 256 bytes of the file must not
* contain any of its values. Defaults to false.
*
*/
function fileupload($error_prefix = '', $allowed_extensions = false, $max_filesize = false, $min_width = false, $min_height = false, $max_width = false, $max_height = false, $disallowed_content = false)
@@ -578,12 +591,13 @@ class fileupload
* Upload file from users harddisk
*
* @param string $form_name Form name assigned to the file input field (if it is an array, the key has to be specified)
* @param \phpbb\mimetype\guesser $mimetype_guesser Mimetype guesser
* @param \phpbb\plupload\plupload $plupload The plupload object
*
* @return object $file Object "filespec" is returned, all further operations can be done with this object
* @access public
*/
function form_upload($form_name, \phpbb\plupload\plupload $plupload = null)
function form_upload($form_name, \phpbb\mimetype\guesser $mimetype_guesser = null, \phpbb\plupload\plupload $plupload = null)
{
global $user, $request;
@@ -599,7 +613,7 @@ class fileupload
}
}
$file = new filespec($upload, $this, $plupload);
$file = new filespec($upload, $this, $mimetype_guesser, $plupload);
if ($file->init_error)
{
@@ -659,7 +673,7 @@ class fileupload
/**
* Move file from another location to phpBB
*/
function local_upload($source_file, $filedata = false)
function local_upload($source_file, $filedata = false, \phpbb\mimetype\guesser $mimetype_guesser = null)
{
global $user, $request;
@@ -672,20 +686,6 @@ class fileupload
{
$upload['name'] = utf8_basename($source_file);
$upload['size'] = 0;
$mimetype = '';
if (function_exists('mime_content_type'))
{
$mimetype = mime_content_type($source_file);
}
// Some browsers choke on a mimetype of application/octet-stream
if (!$mimetype || $mimetype == 'application/octet-stream')
{
$mimetype = 'application/octetstream';
}
$upload['type'] = $mimetype;
}
else
{
@@ -694,7 +694,7 @@ class fileupload
$upload['type'] = $filedata['type'];
}
$file = new filespec($upload, $this);
$file = new filespec($upload, $this, $mimetype_guesser);
if ($file->init_error)
{
@@ -749,10 +749,11 @@ class fileupload
* Uploads file from given url
*
* @param string $upload_url URL pointing to file to upload, for example http://www.foobar.com/example.gif
* @param \phpbb\mimetype\guesser $mimetype_guesser Mimetype guesser
* @return object $file Object "filespec" is returned, all further operations can be done with this object
* @access public
*/
function remote_upload($upload_url)
function remote_upload($upload_url, \phpbb\mimetype\guesser $mimetype_guesser = null)
{
global $user, $phpbb_root_path;
@@ -931,7 +932,7 @@ class fileupload
$upload_ary['tmp_name'] = $filename;
$file = new filespec($upload_ary, $this);
$file = new filespec($upload_ary, $this, $mimetype_guesser);
$this->common_checks($file);
return $file;

View File

@@ -29,7 +29,7 @@ if (!defined('IN_PHPBB'))
* @param \phpbb\extension\manager $manager Extension manager
* @param RequestContext $context Symfony RequestContext object
* @param string $root_path Root path
* @param string $php_ext PHP extension
* @param string $php_ext PHP file extension
* @return null
*/
function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext $context, $root_path, $php_ext)
@@ -52,7 +52,7 @@ function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext
*
* @param \phpbb\extension\manager $manager Extension manager
* @param string $root_path Root path
* @param string $php_ext PHP extension
* @param string $php_ext PHP file extension
* @return null
*/
function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $root_path, $php_ext)
@@ -88,7 +88,7 @@ function phpbb_create_url_matcher(\phpbb\extension\manager $manager, RequestCont
*
* @param RequestContext $context Symfony RequestContext object
* @param string $root_path Root path
* @param string $php_ext PHP extension
* @param string $php_ext PHP file extension
* @return phpbb_url_matcher
*/
function phpbb_load_url_matcher(RequestContext $context, $root_path, $php_ext)
@@ -103,7 +103,7 @@ function phpbb_load_url_matcher(RequestContext $context, $root_path, $php_ext)
* The class is automatically dumped to the cache directory
*
* @param string $root_path Root path
* @param string $php_ext PHP extension
* @param string $php_ext PHP file extension
* @return bool True if it exists, false if not
*/
function phpbb_url_matcher_dumped($root_path, $php_ext)

View File

@@ -161,9 +161,10 @@ function user_update_name($old_name, $new_name)
*
* @param mixed $user_row An array containing the following keys (and the appropriate values): username, group_id (the group to place the user in), user_email and the user_type(usually 0). Additional entries not overridden by defaults will be forwarded.
* @param string $cp_data custom profile fields, see custom_profile::build_insert_sql_array
* @param array $notifications_data The notifications settings for the new user
* @return the new user's ID.
*/
function user_add($user_row, $cp_data = false)
function user_add($user_row, $cp_data = false, $notifications_data = null)
{
global $db, $user, $auth, $config, $phpbb_root_path, $phpEx;
global $phpbb_dispatcher, $phpbb_container;
@@ -347,6 +348,31 @@ function user_add($user_row, $cp_data = false)
set_config('newest_user_colour', $row['group_colour'], true);
}
// Use default notifications settings if notifications_data is not set
if ($notifications_data === null)
{
$notifications_data = array(
array(
'item_type' => 'notification.type.post',
'method' => 'notification.method.email',
),
array(
'item_type' => 'notification.type.topic',
'method' => 'notification.method.email',
),
);
}
// Subscribe user to notifications if necessary
if (!empty($notifications_data))
{
$phpbb_notifications = $phpbb_container->get('notification_manager');
foreach ($notifications_data as $subscription)
{
$phpbb_notifications->add_subscription($subscription['item_type'], 0, $subscription['method'], $user_id);
}
}
/**
* Event that returns user id, user detals and user CPF of newly registared user
*
@@ -363,12 +389,16 @@ function user_add($user_row, $cp_data = false)
}
/**
* Remove User
* @param $mode Either 'retain' or 'remove'
*/
* Remove User
*
* @param string $mode Either 'retain' or 'remove'
* @param mixed $user_ids Either an array of integers or an integer
* @param bool $retain_username
* @return bool
*/
function user_delete($mode, $user_ids, $retain_username = true)
{
global $cache, $config, $db, $user, $auth, $phpbb_dispatcher;
global $cache, $config, $db, $user, $phpbb_dispatcher;
global $phpbb_root_path, $phpEx;
$db->sql_transaction('begin');
@@ -555,11 +585,6 @@ function user_delete($mode, $user_ids, $retain_username = true)
WHERE ' . $db->sql_in_set('poster_id', $user_ids);
$db->sql_query($sql);
$sql = 'UPDATE ' . POSTS_TABLE . '
SET post_edit_user = ' . ANONYMOUS . '
WHERE ' . $db->sql_in_set('post_edit_user', $user_ids);
$db->sql_query($sql);
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_posts = user_posts + ' . $added_guest_posts . '
WHERE user_id = ' . ANONYMOUS;
@@ -589,6 +614,30 @@ function user_delete($mode, $user_ids, $retain_username = true)
$cache->destroy('sql', MODERATOR_CACHE_TABLE);
// Change user_id to anonymous for posts edited by this user
$sql = 'UPDATE ' . POSTS_TABLE . '
SET post_edit_user = ' . ANONYMOUS . '
WHERE ' . $db->sql_in_set('post_edit_user', $user_ids);
$db->sql_query($sql);
// Change user_id to anonymous for pms edited by this user
$sql = 'UPDATE ' . PRIVMSGS_TABLE . '
SET message_edit_user = ' . ANONYMOUS . '
WHERE ' . $db->sql_in_set('message_edit_user', $user_ids);
$db->sql_query($sql);
// Change user_id to anonymous for posts deleted by this user
$sql = 'UPDATE ' . POSTS_TABLE . '
SET post_delete_user = ' . ANONYMOUS . '
WHERE ' . $db->sql_in_set('post_delete_user', $user_ids);
$db->sql_query($sql);
// Change user_id to anonymous for topics deleted by this user
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_delete_user = ' . ANONYMOUS . '
WHERE ' . $db->sql_in_set('topic_delete_user', $user_ids);
$db->sql_query($sql);
// Delete user log entries about this user
$sql = 'DELETE FROM ' . LOG_TABLE . '
WHERE ' . $db->sql_in_set('reportee_id', $user_ids);
@@ -2675,7 +2724,7 @@ function group_user_add($group_id, $user_id_ary = false, $username_ary = false,
foreach ($add_id_ary as $user_id)
{
$phpbb_notifications->add_notifications('group_request', array(
$phpbb_notifications->add_notifications('notification.type.group_request', array(
'group_id' => $group_id,
'user_id' => $user_id,
'group_name' => $group_name,
@@ -2832,7 +2881,7 @@ function group_user_del($group_id, $user_id_ary = false, $username_ary = false,
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications('group_request', $user_id_ary, $group_id);
$phpbb_notifications->delete_notifications('notification.type.group_request', $user_id_ary, $group_id);
// Return false - no error
return false;
@@ -2996,12 +3045,12 @@ function group_user_attributes($action, $group_id, $user_id_ary = false, $userna
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->add_notifications('group_request_approved', array(
$phpbb_notifications->add_notifications('notification.type.group_request_approved', array(
'user_ids' => $user_id_ary,
'group_id' => $group_id,
'group_name' => $group_name,
));
$phpbb_notifications->delete_notifications('group_request', $user_id_ary, $group_id);
$phpbb_notifications->delete_notifications('notification.type.group_request', $user_id_ary, $group_id);
$log = 'LOG_USERS_APPROVED';
break;

View File

@@ -25,7 +25,7 @@ class mcp_ban
function main($id, $mode)
{
global $config, $db, $user, $auth, $template, $cache;
global $db, $user, $auth, $template, $request, $phpbb_dispatcher;
global $phpbb_root_path, $phpEx;
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
@@ -33,55 +33,133 @@ class mcp_ban
// Include the admin banning interface...
include($phpbb_root_path . 'includes/acp/acp_ban.' . $phpEx);
$bansubmit = (isset($_POST['bansubmit'])) ? true : false;
$unbansubmit = (isset($_POST['unbansubmit'])) ? true : false;
$current_time = time();
$bansubmit = $request->is_set_post('bansubmit');
$unbansubmit = $request->is_set_post('unbansubmit');
$user->add_lang(array('acp/ban', 'acp/users'));
$this->tpl_name = 'mcp_ban';
/**
* Use this event to pass perform actions when a ban is issued or revoked
*
* @event core.mcp_ban_main
* @var bool bansubmit True if a ban is issued
* @var bool unbansubmit True if a ban is removed
* @var string mode Mode of the ban that is being worked on
* @since 3.1.0-RC5
*/
$vars = array(
'bansubmit',
'unbansubmit',
'mode',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_ban_main', compact($vars)));
// Ban submitted?
if ($bansubmit)
{
// Grab the list of entries
$ban = request_var('ban', '', ($mode === 'user') ? true : false);
if ($mode === 'user')
{
$ban = utf8_normalize_nfc($ban);
}
$ban_len = request_var('banlength', 0);
$ban_len_other = request_var('banlengthother', '');
$ban_exclude = request_var('banexclude', 0);
$ban_reason = utf8_normalize_nfc(request_var('banreason', '', true));
$ban_give_reason = utf8_normalize_nfc(request_var('bangivereason', '', true));
$ban = $request->variable('ban', '', $mode === 'user');
$ban_length = $request->variable('banlength', 0);
$ban_length_other = $request->variable('banlengthother', '');
$ban_exclude = $request->variable('banexclude', 0);
$ban_reason = $request->variable('banreason', '', true);
$ban_give_reason = $request->variable('bangivereason', '', true);
if ($ban)
{
if (confirm_box(true))
{
user_ban($mode, $ban, $ban_len, $ban_len_other, $ban_exclude, $ban_reason, $ban_give_reason);
$abort_ban = false;
/**
* Use this event to modify the ban details before the ban is performed
*
* @event core.mcp_ban_before
* @var string mode One of the following: user, ip, email
* @var string ban Either string or array with usernames, ips or email addresses
* @var int ban_length Ban length in minutes
* @var string ban_length_other Ban length as a date (YYYY-MM-DD)
* @var bool ban_exclude Are we banning or excluding from another ban
* @var string ban_reason Ban reason displayed to moderators
* @var string ban_give_reason Ban reason displayed to the banned user
* @var mixed abort_ban Either false, or an error message that is displayed to the user.
* If a string is given the bans are not issued.
* @since 3.1.0-RC5
*/
$vars = array(
'mode',
'ban',
'ban_length',
'ban_length_other',
'ban_exclude',
'ban_reason',
'ban_give_reason',
'abort_ban',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_ban_before', compact($vars)));
if ($abort_ban)
{
trigger_error($abort_ban);
}
user_ban($mode, $ban, $ban_length, $ban_length_other, $ban_exclude, $ban_reason, $ban_give_reason);
/**
* Use this event to perform actions after the ban has been performed
*
* @event core.mcp_ban_after
* @var string mode One of the following: user, ip, email
* @var string ban Either string or array with usernames, ips or email addresses
* @var int ban_length Ban length in minutes
* @var string ban_length_other Ban length as a date (YYYY-MM-DD)
* @var bool ban_exclude Are we banning or excluding from another ban
* @var string ban_reason Ban reason displayed to moderators
* @var string ban_give_reason Ban reason displayed to the banned user
* @since 3.1.0-RC5
*/
$vars = array(
'mode',
'ban',
'ban_length',
'ban_length_other',
'ban_exclude',
'ban_reason',
'ban_give_reason',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_ban_after', compact($vars)));
trigger_error($user->lang['BAN_UPDATE_SUCCESSFUL'] . '<br /><br /><a href="' . $this->u_action . '">&laquo; ' . $user->lang['BACK_TO_PREV'] . '</a>');
}
else
{
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
$hidden_fields = array(
'mode' => $mode,
'ban' => $ban,
'bansubmit' => true,
'banlength' => $ban_len,
'banlengthother' => $ban_len_other,
'banlength' => $ban_length,
'banlengthother' => $ban_length_other,
'banexclude' => $ban_exclude,
'banreason' => $ban_reason,
'bangivereason' => $ban_give_reason)));
'bangivereason' => $ban_give_reason,
);
/**
* Use this event to pass data from the ban form to the confirmation screen
*
* @event core.mcp_ban_confirm
* @var array hidden_fields Hidden fields that are passed through the confirm screen
* @since 3.1.0-RC5
*/
$vars = array('hidden_fields');
extract($phpbb_dispatcher->trigger_event('core.mcp_ban_confirm', compact($vars)));
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields($hidden_fields));
}
}
}
else if ($unbansubmit)
{
$ban = request_var('unban', array(''));
$ban = $request->variable('unban', array(''));
if ($ban)
{
@@ -157,9 +235,9 @@ class mcp_ban
}
// As a "service" we will check if any post id is specified and populate the username of the poster id if given
$post_id = request_var('p', 0);
$user_id = request_var('u', 0);
$username = $pre_fill = false;
$post_id = $request->variable('p', 0);
$user_id = $request->variable('u', 0);
$pre_fill = false;
if ($user_id && $user_id <> ANONYMOUS)
{

View File

@@ -26,6 +26,7 @@ function mcp_front_view($id, $mode, $action)
{
global $phpEx, $phpbb_root_path, $config;
global $template, $db, $user, $auth, $module;
global $phpbb_dispatcher;
// Latest 5 unapproved
if ($module->loaded('queue'))
@@ -65,7 +66,7 @@ function mcp_front_view($id, $mode, $action)
FROM ' . POSTS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $forum_list) . '
AND ' . $db->sql_in_set('post_visibility', array(ITEM_UNAPPROVED, ITEM_REAPPROVE)) . '
ORDER BY post_time DESC';
ORDER BY post_time DESC, post_id DESC';
$result = $db->sql_query_limit($sql, 5);
while ($row = $db->sql_fetchrow($result))
@@ -80,6 +81,19 @@ function mcp_front_view($id, $mode, $action)
}
}
/**
* Alter list of posts and total as required
*
* @event core.mcp_front_view_queue_postid_list_after
* @var int total Number of unapproved posts
* @var array post_list List of unapproved posts
* @var array forum_list List of forums that contain the posts
* @var array forum_names Associative array with forum_id as key and it's corresponding forum_name as value
* @since 3.1.0-RC3
*/
$vars = array('total', 'post_list', 'forum_list', 'forum_names');
extract($phpbb_dispatcher->trigger_event('core.mcp_front_view_queue_postid_list_after', compact($vars)));
if ($total)
{
$sql = 'SELECT p.post_id, p.post_subject, p.post_time, p.post_attachment, p.poster_id, p.post_username, u.username, u.username_clean, u.user_colour, t.topic_id, t.topic_title, t.topic_first_post_id, p.forum_id
@@ -87,7 +101,7 @@ function mcp_front_view($id, $mode, $action)
WHERE ' . $db->sql_in_set('p.post_id', $post_list) . '
AND t.topic_id = p.topic_id
AND p.poster_id = u.user_id
ORDER BY p.post_time DESC';
ORDER BY p.post_time DESC, p.post_id DESC';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
@@ -176,8 +190,20 @@ function mcp_front_view($id, $mode, $action)
AND p.poster_id = u2.user_id
AND ' . $db->sql_in_set('p.forum_id', $forum_list),
'ORDER_BY' => 'p.post_time DESC',
'ORDER_BY' => 'p.post_time DESC, p.post_id DESC',
);
/**
* Alter sql query to get latest reported posts
*
* @event core.mcp_front_reports_listing_query_before
* @var int sql_ary Associative array with the query to be executed
* @var array forum_list List of forums that contain the posts
* @since 3.1.0-RC3
*/
$vars = array('sql_ary', 'forum_list');
extract($phpbb_dispatcher->trigger_event('core.mcp_front_reports_listing_query_before', compact($vars)));
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query_limit($sql, 5);

View File

@@ -161,9 +161,13 @@ class mcp_main
* This event allows you to handle custom quickmod options
*
* @event core.modify_quickmod_actions
* @var string action Topic quick moderation action name
* @var bool quickmod Flag indicating whether MCP is in quick moderation mode
* @since 3.1.0-a4
* @change 3.1.0-RC4 Added variables: action, quickmod
*/
$phpbb_dispatcher->dispatch('core.modify_quickmod_actions');
$vars = array('action', 'quickmod');
extract($phpbb_dispatcher->trigger_event('core.modify_quickmod_actions', compact($vars)));
break;
}
@@ -750,7 +754,8 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
{
global $auth, $user, $db, $phpEx, $phpbb_root_path, $request, $phpbb_container;
if (!phpbb_check_ids($topic_ids, TOPICS_TABLE, 'topic_id', array('m_delete')))
$check_permission = ($is_soft) ? 'm_softdelete' : 'm_delete';
if (!phpbb_check_ids($topic_ids, TOPICS_TABLE, 'topic_id', array($check_permission)))
{
return;
}
@@ -878,7 +883,8 @@ function mcp_delete_post($post_ids, $is_soft = false, $soft_delete_reason = '',
{
global $auth, $user, $db, $phpEx, $phpbb_root_path, $request, $phpbb_container;
if (!phpbb_check_ids($post_ids, POSTS_TABLE, 'post_id', array('m_softdelete')))
$check_permission = ($is_soft) ? 'm_softdelete' : 'm_delete';
if (!phpbb_check_ids($post_ids, POSTS_TABLE, 'post_id', array($check_permission)))
{
return;
}
@@ -1114,6 +1120,7 @@ function mcp_fork_topic($topic_ids)
$forum_id = request_var('f', 0);
$redirect = request_var('redirect', build_url(array('action', 'quickmod')));
$additional_msg = $success_msg = '';
$counter = array();
$s_hidden_fields = build_hidden_fields(array(
'topic_id_list' => $topic_ids,
@@ -1264,7 +1271,7 @@ function mcp_fork_topic($topic_ids)
$sql = 'SELECT *
FROM ' . POSTS_TABLE . "
WHERE topic_id = $topic_id
ORDER BY post_time ASC";
ORDER BY post_time ASC, post_id ASC";
$result = $db->sql_query($sql);
$post_rows = array();
@@ -1306,9 +1313,20 @@ function mcp_fork_topic($topic_ids)
'post_edit_time' => (int) $row['post_edit_time'],
'post_edit_count' => (int) $row['post_edit_count'],
'post_edit_locked' => (int) $row['post_edit_locked'],
'post_postcount' => 0,
'post_postcount' => $row['post_postcount'],
);
// Adjust post count only if the post can be incremented to the user counter
if ($row['post_postcount'])
{
if (isset($counter[$row['poster_id']]))
{
++$counter[$row['poster_id']];
}
else
{
$counter[$row['poster_id']] = 1;
}
}
$db->sql_query('INSERT INTO ' . POSTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
$new_post_id = $db->sql_nextid();
@@ -1428,6 +1446,18 @@ function mcp_fork_topic($topic_ids)
WHERE forum_id = ' . $to_forum_id;
$db->sql_query($sql);
if (!empty($counter))
{
// Do only one query per user and not a query per post.
foreach ($counter as $user_id => $count)
{
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_posts = user_posts + ' . (int) $count . '
WHERE user_id = ' . (int) $user_id;
$db->sql_query($sql);
}
}
sync('topic', 'topic_id', $new_topic_id_list);
sync('forum', 'forum_id', $to_forum_id);

View File

@@ -95,7 +95,7 @@ class mcp_pm_reports
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->mark_notifications_read_by_parent('report_pm', $report_id, $user->data['user_id']);
$phpbb_notifications->mark_notifications_read_by_parent('notification.type.report_pm', $report_id, $user->data['user_id']);
$pm_id = $report['pm_id'];
$report_id = $report['report_id'];

View File

@@ -37,6 +37,7 @@ class mcp_queue
{
global $auth, $db, $user, $template, $cache, $request;
global $config, $phpbb_root_path, $phpEx, $action, $phpbb_container;
global $phpbb_dispatcher;
include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
@@ -164,7 +165,7 @@ class mcp_queue
{
$post_id = (int) $topic_info[$topic_id]['topic_first_post_id'];
$phpbb_notifications->mark_notifications_read('topic_in_queue', $topic_id, $user->data['user_id']);
$phpbb_notifications->mark_notifications_read('notification.type.topic_in_queue', $topic_id, $user->data['user_id']);
}
else
{
@@ -172,7 +173,7 @@ class mcp_queue
}
}
$phpbb_notifications->mark_notifications_read('post_in_queue', $post_id, $user->data['user_id']);
$phpbb_notifications->mark_notifications_read('notification.type.post_in_queue', $post_id, $user->data['user_id']);
$post_info = phpbb_get_post_data(array($post_id), 'm_approve', true);
@@ -429,6 +430,29 @@ class mcp_queue
OR t.topic_delete_user = 0)
$limit_time_sql
ORDER BY $sort_order_sql";
/**
* Alter sql query to get posts in queue to be accepted
*
* @event core.mcp_queue_get_posts_query_before
* @var string sql Associative array with the query to be executed
* @var array forum_list List of forums that contain the posts
* @var int visibility_const Integer with one of the possible ITEM_* constant values
* @var int topic_id If topic_id not equal to 0, the topic id to filter the posts to display
* @var string limit_time_sql String with the SQL code to limit the time interval of the post (Note: May be empty string)
* @var string sort_order_sql String with the ORDER BY SQL code used in this query
* @since 3.1.0-RC3
*/
$vars = array(
'sql',
'forum_list',
'visibility_const',
'topic_id',
'limit_time_sql',
'sort_order_sql',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_queue_get_posts_query_before', compact($vars)));
$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
$i = 0;
@@ -478,6 +502,29 @@ class mcp_queue
AND topic_delete_user <> 0
$limit_time_sql
ORDER BY $sort_order_sql";
/**
* Alter sql query to get information on all topics in the list of forums provided.
*
* @event core.mcp_queue_get_posts_for_topics_query_before
* @var string sql String with the query to be executed
* @var array forum_list List of forums that contain the posts
* @var int visibility_const Integer with one of the possible ITEM_* constant values
* @var int topic_id topic_id in the page request
* @var string limit_time_sql String with the SQL code to limit the time interval of the post (Note: May be empty string)
* @var string sort_order_sql String with the ORDER BY SQL code used in this query
* @since 3.1.0-RC3
*/
$vars = array(
'sql',
'forum_list',
'visibility_const',
'topic_id',
'limit_time_sql',
'sort_order_sql',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_queue_get_posts_for_topics_query_before', compact($vars)));
$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
$rowset = array();
@@ -654,11 +701,11 @@ class mcp_queue
// A single topic approval may also happen here, so handle deleting the respective notification.
if (!$post_data['topic_posts_approved'])
{
$phpbb_notifications->delete_notifications('topic_in_queue', $post_data['topic_id']);
$phpbb_notifications->delete_notifications('notification.type.topic_in_queue', $post_data['topic_id']);
if ($post_data['post_visibility'] == ITEM_UNAPPROVED)
{
$phpbb_notifications->add_notifications(array('topic'), $post_data);
$phpbb_notifications->add_notifications(array('notification.type.topic'), $post_data);
}
if ($post_data['post_visibility'] != ITEM_APPROVED)
{
@@ -674,18 +721,18 @@ class mcp_queue
if ($post_data['post_visibility'] == ITEM_UNAPPROVED)
{
$phpbb_notifications->add_notifications(array(
'bookmark',
'post',
'notification.type.bookmark',
'notification.type.post',
), $post_data);
}
}
$phpbb_notifications->add_notifications(array('quote'), $post_data);
$phpbb_notifications->delete_notifications('post_in_queue', $post_id);
$phpbb_notifications->add_notifications(array('notification.type.quote'), $post_data);
$phpbb_notifications->delete_notifications('notification.type.post_in_queue', $post_id);
$phpbb_notifications->mark_notifications_read(array(
'quote',
'bookmark',
'post',
'notification.type.quote',
'notification.type.bookmark',
'notification.type.post',
), $post_data['post_id'], $user->data['user_id']);
// Notify Poster?
@@ -698,11 +745,11 @@ class mcp_queue
if (!$post_data['topic_posts_approved'])
{
$phpbb_notifications->add_notifications('approve_post', $post_data);
$phpbb_notifications->add_notifications('notification.type.approve_topic', $post_data);
}
else
{
$phpbb_notifications->add_notifications('approve_topic', $post_data);
$phpbb_notifications->add_notifications('notification.type.approve_post', $post_data);
}
}
}
@@ -874,7 +921,7 @@ class mcp_queue
'post_username' => $topic_data['topic_first_poster_name'],
));
$phpbb_notifications->delete_notifications('topic_in_queue', $topic_id);
$phpbb_notifications->delete_notifications('notification.type.topic_in_queue', $topic_id);
// Only add notifications, if we are not reapproving post
// When the topic was already approved, but was edited and
@@ -883,17 +930,17 @@ class mcp_queue
if ($topic_data['topic_visibility'] == ITEM_UNAPPROVED)
{
$phpbb_notifications->add_notifications(array(
'quote',
'topic',
'notification.type.quote',
'notification.type.topic',
), $topic_data);
}
$phpbb_notifications->mark_notifications_read('quote', $topic_data['post_id'], $user->data['user_id']);
$phpbb_notifications->mark_notifications_read('topic', $topic_id, $user->data['user_id']);
$phpbb_notifications->mark_notifications_read('notification.type.quote', $topic_data['post_id'], $user->data['user_id']);
$phpbb_notifications->mark_notifications_read('notification.type.topic', $topic_id, $user->data['user_id']);
if ($notify_poster)
{
$phpbb_notifications->add_notifications('approve_topic', $topic_data);
$phpbb_notifications->add_notifications('notification.type.approve_topic', $topic_data);
}
}
}
@@ -1131,12 +1178,12 @@ class mcp_queue
$topic_information[$topic_id]['topic_posts_softdeleted'] == 0 &&
$topic_information[$topic_id]['topic_posts_unapproved'] == $topic_posts_unapproved[$topic_id];
$phpbb_notifications->delete_notifications('post_in_queue', $post_id);
$phpbb_notifications->delete_notifications('notification.type.post_in_queue', $post_id);
// Do we disapprove the whole topic? Remove potential notifications
if ($disapprove_all_posts_in_topic)
{
$phpbb_notifications->delete_notifications('topic_in_queue', $post_data['topic_id']);
$phpbb_notifications->delete_notifications('notification.type.topic_in_queue', $post_data['topic_id']);
}
// Notify Poster?
@@ -1181,13 +1228,13 @@ class mcp_queue
{
// If there is only 1 post when disapproving the topic,
// we send the user a "disapprove topic" notification...
$phpbb_notifications->add_notifications('disapprove_topic', $post_data);
$phpbb_notifications->add_notifications('notification.type.disapprove_topic', $post_data);
}
else
{
// ... otherwise there are multiple unapproved posts and
// all of them are disapproved as posts.
$phpbb_notifications->add_notifications('disapprove_post', $post_data);
$phpbb_notifications->add_notifications('notification.type.disapprove_post', $post_data);
}
}
}

View File

@@ -36,7 +36,7 @@ class mcp_reports
function main($id, $mode)
{
global $auth, $db, $user, $template, $cache;
global $config, $phpbb_root_path, $phpEx, $action, $phpbb_container;
global $config, $phpbb_root_path, $phpEx, $action, $phpbb_container, $phpbb_dispatcher;
include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
@@ -92,7 +92,7 @@ class mcp_reports
$phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->mark_notifications_read('report_post', $post_id, $user->data['user_id']);
$phpbb_notifications->mark_notifications_read('notification.type.report_post', $post_id, $user->data['user_id']);
if (!$report_id && $report['report_closed'])
{
@@ -364,6 +364,27 @@ class mcp_reports
AND r.pm_id = 0
$limit_time_sql
ORDER BY $sort_order_sql";
/**
* Alter sql query to get report id of all reports for requested forum and topic or just forum
*
* @event core.mcp_reports_get_reports_query_before
* @var string sql String with the query to be executed
* @var array forum_list List of forums that contain the posts
* @var int topic_id topic_id in the page request
* @var string limit_time_sql String with the SQL code to limit the time interval of the post (Note: May be empty string)
* @var string sort_order_sql String with the ORDER BY SQL code used in this query
* @since 3.1.0-RC4
*/
$vars = array(
'sql',
'forum_list',
'topic_id',
'limit_time_sql',
'sort_order_sql',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_reports_get_reports_query_before', compact($vars)));
$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
$i = 0;
@@ -631,12 +652,12 @@ function close_report($report_id_list, $mode, $action, $pm = false)
if ($pm)
{
add_log('mod', 0, 0, 'LOG_PM_REPORT_' . strtoupper($action) . 'D', $post_info[$report['pm_id']]['message_subject']);
$phpbb_notifications->delete_notifications('report_pm', $report['pm_id']);
$phpbb_notifications->delete_notifications('notification.type.report_pm', $report['pm_id']);
}
else
{
add_log('mod', $post_info[$report['post_id']]['forum_id'], $post_info[$report['post_id']]['topic_id'], 'LOG_REPORT_' . strtoupper($action) . 'D', $post_info[$report['post_id']]['post_subject']);
$phpbb_notifications->delete_notifications('report_post', $report['post_id']);
$phpbb_notifications->delete_notifications('notification.type.report_post', $report['post_id']);
}
}
@@ -654,7 +675,7 @@ function close_report($report_id_list, $mode, $action, $pm = false)
if ($pm)
{
$phpbb_notifications->add_notifications('report_pm_closed', array_merge($post_info[$post_id], array(
$phpbb_notifications->add_notifications('notification.type.report_pm_closed', array_merge($post_info[$post_id], array(
'reporter' => $reporter['user_id'],
'closer_id' => $user->data['user_id'],
'from_user_id' => $post_info[$post_id]['author_id'],
@@ -662,7 +683,7 @@ function close_report($report_id_list, $mode, $action, $pm = false)
}
else
{
$phpbb_notifications->add_notifications('report_post_closed', array_merge($post_info[$post_id], array(
$phpbb_notifications->add_notifications('notification.type.report_post_closed', array_merge($post_info[$post_id], array(
'reporter' => $reporter['user_id'],
'closer_id' => $user->data['user_id'],
)));

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