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

Compare commits

..

443 Commits

Author SHA1 Message Date
Andreas Fischer
7eb16cbbd5 Merge branch 'prep-release-3.0.11'
* prep-release-3.0.11: (279 commits)
  [prep-release-3.0.11] Bumping version number for 3.0.11 final.
  [prep-release-3.0.11] Update Changelog for 3.0.11-RC2 release.
  [prep-release-3.0.11] Bumping version number for 3.0.11-RC2.
  [ticket/10965] Profile data is only grabbed when show_novalue is enabled
  [ticket/10965] Make sure all profile fields are always grabbed on viewtopic
  [ticket/10965] Database update was referring to 3.0.5 instead of 3.0.11-RC1
  [ticket/10965] Introduce a new profile field option to display no value
  [ticket/10667] Fix tests under MySQL 5.5 strict mode (once again)
  [ticket/10950] Fix grammar in comments
  [ticket/10950] Delete PMs for users that have not yet read the pm
  [ticket/10950] Fix unit tests to fit the new pm deleting behaviour
  [ticket/10950] Update undelivered pm counts in batches not 1 by 1 for each user
  [ticket/10950] Remove deleted entries in tests instead of commenting them out
  [ticket/10950] Use database count() and group by instead of doing that in php
  [ticket/10978] Fix typo in prosilver ucp_groups_membership.html
  [ticket/10950] Check $delete_ids to be not empty
  [ticket/10950] Recreated the behaviour of phpbb_delete_user_pms()
  [ticket/10950] Fix unit tests to reflect desired behaviour
  [ticket/10441] Make CDB linking more consistent
  [ticket/10937] Update documentation to say which comment styles are removed.
  ...
2012-08-20 17:09:18 +02:00
Andreas Fischer
6da03913bf [prep-release-3.0.11] Bumping version number for 3.0.11 final. 2012-08-20 16:32:34 +02:00
Andreas Fischer
ece4a2edb7 [prep-release-3.0.11] Update Changelog for 3.0.11-RC2 release. 2012-07-23 23:41:58 +02:00
Andreas Fischer
9f073e4c75 [prep-release-3.0.11] Bumping version number for 3.0.11-RC2. 2012-07-23 23:41:47 +02:00
Andreas Fischer
9279c8f5ee Merge remote-tracking branch 'naderman/ticket/10965' into prep-release-3.0.11
* naderman/ticket/10965:
  [ticket/10965] Profile data is only grabbed when show_novalue is enabled
2012-07-23 23:39:42 +02:00
Nils Adermann
296fadfca4 [ticket/10965] Profile data is only grabbed when show_novalue is enabled
PHPBB3-10965
2012-07-23 23:35:48 +02:00
Andreas Fischer
3c64cccecc Merge remote-tracking branch 'naderman/ticket/10965' into prep-release-3.0.11
* naderman/ticket/10965:
  [ticket/10965] Make sure all profile fields are always grabbed on viewtopic
2012-07-23 22:56:36 +02:00
Nils Adermann
2f5692d4bb [ticket/10965] Make sure all profile fields are always grabbed on viewtopic
PHPBB3-10965
2012-07-23 22:38:38 +02:00
Andreas Fischer
3da72e9864 Merge remote-tracking branch 'naderman/ticket/10965' into prep-release-3.0.11
* naderman/ticket/10965:
  [ticket/10965] Database update was referring to 3.0.5 instead of 3.0.11-RC1
  [ticket/10965] Introduce a new profile field option to display no value
2012-07-23 15:48:40 +02:00
Nils Adermann
19237f5613 [ticket/10965] Database update was referring to 3.0.5 instead of 3.0.11-RC1
PHPBB3-10965
2012-07-23 15:46:04 +02:00
Nils Adermann
10172887fd [ticket/10965] Introduce a new profile field option to display no value
By default the 3.0.10 behaviour is kept, profile fields will not show up
if they have either not yet been selected or in case of an optional
dropdown field if the novalue option was selected.

PHPBB3-10965
2012-07-23 15:45:57 +02:00
Nils Adermann
55aaa596d7 Merge branch 'ticket/10667' into prep-release-3.0.11
* ticket/10667:
  [ticket/10667] Fix tests under MySQL 5.5 strict mode (once again)
2012-07-22 01:46:01 +02:00
Igor Wiedler
6ed63088fe [ticket/10667] Fix tests under MySQL 5.5 strict mode (once again)
PHPBB3-10667
2012-07-22 01:45:30 +02:00
Nils Adermann
3dfcb212dc Merge remote-tracking branch 'github-nickvergessen/ticket/10950' into prep-release-3.0.11
* github-nickvergessen/ticket/10950:
  [ticket/10950] Fix grammar in comments
  [ticket/10950] Delete PMs for users that have not yet read the pm
  [ticket/10950] Fix unit tests to fit the new pm deleting behaviour
  [ticket/10950] Update undelivered pm counts in batches not 1 by 1 for each user
  [ticket/10950] Remove deleted entries in tests instead of commenting them out
  [ticket/10950] Use database count() and group by instead of doing that in php
  [ticket/10950] Check $delete_ids to be not empty
  [ticket/10950] Recreated the behaviour of phpbb_delete_user_pms()
  [ticket/10950] Fix unit tests to reflect desired behaviour
  [ticket/10950] Add some first and simple unit tests for phpbb_delete_user_pms()
  [ticket/10950] Correct comment for the second query.
  [ticket/10950] Add empty line to make unset() call more visible.
  [ticket/10950] Select the correct columns in SQL queries.
  [ticket/10950] Use a variable for the private message id.
  [ticket/10950] Move array initialisation to the front.
  [ticket/10950] Remove redundant if statement.
  [ticket/10950] Fix SQL coding style (indentation) in second SQL query.
  [ticket/10950] Use proper ' in order to fix comment.
2012-07-21 15:21:26 +02:00
Joas Schilling
3036db481a [ticket/10950] Fix grammar in comments
PHPBB3-10950
2012-07-20 18:03:06 +02:00
Joas Schilling
a3517232f9 [ticket/10950] Delete PMs for users that have not yet read the pm
PHPBB3-10950
2012-07-20 17:11:20 +02:00
Joas Schilling
a9c091fad4 [ticket/10950] Fix unit tests to fit the new pm deleting behaviour
Undelivered PMs should not be delivered to recipients that have not yet received them.

PHPBB3-10950
2012-07-20 17:08:54 +02:00
Nils Adermann
a65b432165 Merge remote-tracking branch 'github-noxwizard/ticket/10441' into prep-release-3.0.11
* github-noxwizard/ticket/10441:
  [ticket/10441] Make CDB linking more consistent
  [ticket/10441] Typo
  [ticket/10441] Update to docs/README.html
2012-07-19 17:55:22 +02:00
Joas Schilling
d9a32ce614 [ticket/10950] Update undelivered pm counts in batches not 1 by 1 for each user
PHPBB3-10950
2012-07-16 17:22:10 +02:00
Andreas Fischer
35e18a49a9 Merge remote-tracking branch 'Noxwizard/ticket/10978' into prep-release-3.0.11
* Noxwizard/ticket/10978:
  [ticket/10978] Fix typo in prosilver ucp_groups_membership.html
2012-07-12 18:19:19 +02:00
Joas Schilling
d883535b10 [ticket/10950] Remove deleted entries in tests instead of commenting them out
PHPBB3-10950
2012-07-11 13:05:36 +02:00
Joas Schilling
e68c1fb9e4 [ticket/10950] Use database count() and group by instead of doing that in php
PHPBB3-10950
2012-07-11 12:58:57 +02:00
Patrick Webster
dd6955f833 [ticket/10978] Fix typo in prosilver ucp_groups_membership.html
PHPBB3-10978
2012-07-09 19:29:17 -05:00
Oleg Pudeyev
36a568fd56 Merge PR #856 branch 'bantu/ticket/10937' into prep-release-3.0.11
* bantu/ticket/10937:
  [ticket/10937] Update documentation to say which comment styles are removed.
  [ticket/10937] Comment removal functions: Restore backward compatibility
2012-07-07 16:43:24 -04:00
Joas Schilling
338d29072f [ticket/10950] Check $delete_ids to be not empty
PHPBB3-10950
2012-07-04 13:14:19 +02:00
Joas Schilling
5c8c7b1352 [ticket/10950] Recreated the behaviour of phpbb_delete_user_pms()
- Get delete_ids, pms of the user as receipt
- Get undelivered_msg, pms of the user as sender
- Delete undelivered_msg, if there are only NO_BOX, OUTBOX and SENTBOX links
- Correct the _new and _unread user values for the receipts
- Delete delete_ids, if there are no links to them anymore
- Reset _new and _unread values for the user we delete

PHPBB3-10950
2012-07-04 13:10:15 +02:00
Joas Schilling
7988045bda [ticket/10950] Fix unit tests to reflect desired behaviour
See http://wiki.phpbb.com/Deleting_Private_Messages for further explanation.

PHPBB3-10950
2012-07-04 13:00:04 +02:00
Patrick Webster
5d0aa8e516 [ticket/10441] Make CDB linking more consistent
PHPBB3-10441
2012-07-02 21:38:27 -05:00
Andreas Fischer
2c12f31cdf [ticket/10937] Update documentation to say which comment styles are removed.
PHPBB3-10937
2012-07-03 01:02:42 +02:00
Andreas Fischer
81d5327e44 [ticket/10937] Comment removal functions: Restore backward compatibility
PHPBB3-10937
2012-07-03 01:02:42 +02:00
Andreas Fischer
e5364088c3 Merge remote-tracking branch 'Noxwizard/ticket/10773' into prep-release-3.0.11
* Noxwizard/ticket/10773:
  [ticket/10773] ACP logo with registered trademark symbol
2012-07-01 00:19:32 +02:00
Patrick Webster
625333ea2e [ticket/10773] ACP logo with registered trademark symbol
PHPBB3-10773
2012-06-30 12:21:37 -05:00
Patrick Webster
6203ef0c61 [ticket/10441] Typo
PHPBB3-10441
2012-06-29 12:10:14 -05:00
Oyabun1
c9f9e66328 [ticket/10441] Update to docs/README.html
Updated information about styles, languages, and MODs
Added a section about the Knowledge Base.
Various phrase changes.

PHPBB3-10441
2012-06-29 01:39:14 -05:00
Joas Schilling
d30dc11f3e [ticket/10950] Add some first and simple unit tests for phpbb_delete_user_pms()
Todo: Add cases to in which the msg is also deleted.

PHPBB3-10950
2012-06-23 16:02:16 +02:00
Andreas Fischer
49afc1f2dc [ticket/10950] Correct comment for the second query.
Only undelivered messages are handled.

PHPBB3-10950
2012-06-23 11:16:38 +02:00
Andreas Fischer
30475856c4 [ticket/10950] Add empty line to make unset() call more visible.
PHPBB3-10950
2012-06-23 10:47:26 +02:00
Andreas Fischer
fce385e5bc [ticket/10950] Select the correct columns in SQL queries.
PHPBB3-10950
2012-06-23 10:45:36 +02:00
Andreas Fischer
9c2930178f [ticket/10950] Use a variable for the private message id.
PHPBB3-10950
2012-06-23 10:43:43 +02:00
Andreas Fischer
a50d1a3576 [ticket/10950] Move array initialisation to the front.
PHPBB3-10950
2012-06-23 10:32:16 +02:00
Andreas Fischer
2a76b7e869 [ticket/10950] Remove redundant if statement.
We already know author_id and folder_id.

PHPBB3-10950
2012-06-23 10:30:09 +02:00
Andreas Fischer
35b18676cd [ticket/10950] Fix SQL coding style (indentation) in second SQL query.
PHPBB3-10950
2012-06-23 10:28:13 +02:00
Andreas Fischer
ac8ebfabc7 [ticket/10950] Use proper ' in order to fix comment.
PHPBB3-10950
2012-06-23 10:26:48 +02:00
Andreas Fischer
f1414386d7 Merge remote-tracking branch 'nickvergessen/ticket/10935' into prep-release-3.0.11
* nickvergessen/ticket/10935:
  [ticket/10935] Limit number of PM rules per user to 5000
2012-06-21 10:30:41 +02:00
Joas Schilling
80fafdeb1a [ticket/10935] Limit number of PM rules per user to 5000
PHPBB3-10935
2012-06-20 14:29:48 +02:00
Andreas Fischer
155c93d71a Merge remote-tracking branch 'Noxwizard/ticket/10925' into prep-release-3.0.11
* Noxwizard/ticket/10925:
  [ticket/10925] Clarify installation requirements for SQLite
2012-06-20 10:31:08 +02:00
Patrick Webster
d26606f986 [ticket/10925] Clarify installation requirements for SQLite
PHPBB3-10925
2012-06-19 01:20:58 -05:00
Andreas Fischer
19a47dfbbc [develop-olympus] Add changelog for 3.0.11 release. 2012-05-31 22:07:02 +02:00
Andreas Fischer
2011085c29 [develop-olympus] Bump version numbers for 3.0.11-RC1 release. 2012-05-31 22:07:02 +02:00
Andreas Fischer
d8ddda5121 [develop-olympus] Bumping version numbers to final for 3.0.11 releases. 2012-05-31 20:19:28 +02:00
Nils Adermann
791c4136f7 Merge remote-tracking branch 'github-bantu/ticket/10788' into develop-olympus
By Andreas Fischer
via Andreas Fischer
* github-bantu/ticket/10788:
  [ticket/10788] Add Arty to the list of phpBB developers in docs/AUTHORS.
2012-05-31 20:06:29 +02:00
Andreas Fischer
d22e7ce9df [ticket/10788] Add Arty to the list of phpBB developers in docs/AUTHORS.
PHPBB3-10788
2012-05-31 19:57:13 +02:00
Nils Adermann
f616c4e7a0 Merge remote-tracking branch 'github-bantu/ticket/10790' into develop-olympus
By Andreas Fischer
via Andreas Fischer
* github-bantu/ticket/10790:
  [ticket/10790] Remove a (kind of) dead code section from submit_pm().
2012-05-31 15:50:19 +02:00
Nils Adermann
7eaedcc8de Merge remote-tracking branch 'github-bantu/ticket/10550' into develop-olympus
By Andreas Fischer
via Andreas Fischer
* github-bantu/ticket/10550:
  [ticket/10550] Sort not installed styles list in the styles section of the ACP.
2012-05-31 15:43:09 +02:00
Nils Adermann
b10757ef14 Merge remote-tracking branch 'github-bantu/ticket/10611' into develop-olympus
By Andreas Fischer
via Andreas Fischer
* github-bantu/ticket/10611:
  [ticket/10611] Filter out not existing database tables when making a backup.
  [ticket/10611] Use phpbb_db_tools::sql_list_tables() instead of get_tables().
  [ticket/10611] Generate db_tools instance in acp_database module.
2012-05-31 15:34:48 +02:00
Nils Adermann
f6f300d3f9 Merge remote-tracking branch 'github-bantu/ticket/10162' into develop-olympus
By Andreas Fischer
via Andreas Fischer
* github-bantu/ticket/10162:
  [ticket/10162] Increase maximum length of email address TLD from 6 to 63.
  [ticket/10162] Add test cases for top level domain names longer than 6 chars.
2012-05-31 15:29:33 +02:00
Nils Adermann
b789758f1b Merge remote-tracking branch 'github-bantu/ticket/10751' into develop-olympus
By Andreas Fischer
via Andreas Fischer
* github-bantu/ticket/10751:
  [ticket/10751] Use sql_lower_text() in view_log(). log_data is a text column.
  [ticket/10751] Add sql_lower_text() to database abstraction layer.
2012-05-31 15:27:32 +02:00
Andreas Fischer
9ab5ad2986 [ticket/10751] Use sql_lower_text() in view_log(). log_data is a text column.
PHPBB3-10751
2012-05-31 12:15:46 +02:00
Andreas Fischer
643a86504a [ticket/10751] Add sql_lower_text() to database abstraction layer.
On MSSQL, LOWER() can only be called on bounded strings (i.e. varchar or char).
So, in order to use it on a text column, we have to convert it to an
appropriate type. We do so using the SUBSTRING function.

PHPBB3-10751
2012-05-31 12:15:46 +02:00
Andreas Fischer
0261a9acff Merge remote-tracking branch 'naderman/ticket/10908' into develop-olympus
* naderman/ticket/10908:
  [ticket/10908] Document that 0 filesize configuration means limited by PHP
  [ticket/10908] Download files only up to max_upload_filesize if limit is 0
2012-05-31 11:54:58 +02:00
Andreas Fischer
037b95eccc [ticket/10162] Increase maximum length of email address TLD from 6 to 63.
Increase maximum length of email address top level domains from 6 to 63.

PHPBB3-10162
2012-05-30 21:11:17 +02:00
Andreas Fischer
de4dff8bb0 [ticket/10162] Add test cases for top level domain names longer than 6 chars.
PHPBB3-10162
2012-05-30 21:11:17 +02:00
Andreas Fischer
9240ddbfa7 [ticket/10611] Filter out not existing database tables when making a backup.
Using $this->db_tools->sql_list_tables() as the first argument gives us table
names as array keys as a by-product which might be useful at some point.

PHPBB3-10611
2012-05-30 13:45:00 +02:00
Andreas Fischer
515c27270f [ticket/10611] Use phpbb_db_tools::sql_list_tables() instead of get_tables().
get_tables() was deprecated by phpbb_db_tools::sql_list_tables()

This prevents unnecessarily loading functions_install.php

PHPBB3-10611
2012-05-30 13:41:36 +02:00
Andreas Fischer
6036b948ff [ticket/10611] Generate db_tools instance in acp_database module.
PHPBB3-10611
2012-05-30 13:38:41 +02:00
David King
275dabbc4f Merge branch 'naderman/ticket/10913' into develop-olympus 2012-05-29 20:24:31 -04:00
Nils Adermann
9ead56acb3 Merge remote-tracking branch 'github-dhruv/ticket/10308' into develop-olympus
By Dhruv Goel
via Dhruv Goel
* github-dhruv/ticket/10308:
  [ticket/10308] fixes indentation
  [ticket/10308] fixes language variable name
  [ticket/10308] makes variable boolean
  [ticket/10308] fixes sql query, limit it to 1
  [ticket/10308] fixes user deletion if no posts
  [ticket/10308] renames language key to USER_NO_POSTS_DELETE
  [ticket/10308] fix language and user's total posts
  [ticket/10308] fixes language entity.
  [ticket/10308] Displays message to user if there are no posts.
  [ticket/10308] disable retain/ delete posts option when deleting a user
2012-05-29 16:42:37 +02:00
Nils Adermann
c494abc8c7 [ticket/10908] Document that 0 filesize configuration means limited by PHP
PHPBB3-10908
2012-05-29 15:49:52 +02:00
Andreas Fischer
701bf571df [ticket/10550] Sort not installed styles list in the styles section of the ACP.
PHPBB3-10550
2012-05-29 15:29:31 +02:00
Nils Adermann
42dd60edad [ticket/10913] Redirect to index if session id is required but was not sent
PHPBB3-10913
2012-05-29 14:54:04 +02:00
Nils Adermann
13f30e8d9d [ticket/10908] Download files only up to max_upload_filesize if limit is 0
PHPBB3-10908
2012-05-29 14:27:25 +02:00
Andreas Fischer
efa96e1817 Merge branch 'ticket/10909' into develop-olympus
* ticket/10909:
  [ticket/10909] Also test develop-olympus with low PHP 5.3 version on travis.
2012-05-27 15:42:01 +02:00
Andreas Fischer
8cb9004ab3 [ticket/10909] Also test develop-olympus with low PHP 5.3 version on travis.
Also test develop-olympus with low PHP 5.3 version (i.e. PHP 5.3.3) on travis.

PHPBB3-10909
2012-05-27 12:30:12 +02:00
Nils Adermann
440e699bc5 Merge remote-tracking branch 'github-bantu/ticket/10907' into develop-olympus
By Andreas Fischer
via Andreas Fischer
* github-bantu/ticket/10907:
  [ticket/10907] Mark (var)binary tests as incomplete on non-MySQL DBMSes.
2012-05-22 19:41:45 +02:00
Andreas Fischer
bad91d8e74 [ticket/10907] Mark (var)binary tests as incomplete on non-MySQL DBMSes.
PHPBB3-10907
2012-05-22 18:46:29 +02:00
Nils Adermann
5d5049710c Merge remote-tracking branch 'github-imkingdavid/task/functional' into develop-olympus
By David King
via David King
* github-imkingdavid/task/functional:
  [task/functional] Use proper format for @var doc blocks.
  [task/functional] Fix $lang_path variable
  [task/functional] Change property visibility, remove globals, reword comment
  [task/functional] Make sure missing language values are handled properly
  [task/functional] Increase code coverage for functional tests
2012-05-22 18:10:21 +02:00
David King
09d15db1fa [task/functional] Use proper format for @var doc blocks.
PHPBB3-10758
2012-05-22 12:06:27 -03:00
David King
819accedc8 [task/functional] Fix $lang_path variable
PHPBB3-10758
2012-05-22 10:52:49 -04:00
David King
b96c050695 [task/functional] Change property visibility, remove globals, reword comment
PHPBB3-10758
2012-05-22 10:46:36 -04:00
Oleg Pudeyev
8bfe1b2f54 Merge PR #810 branch 'bantu/ticket/10890' into develop-olympus
* bantu/ticket/10890:
  [ticket/10890] Fix test_sql_fetchrow_returns_false_when_empty() on MS and ORA.
2012-05-21 23:02:39 -04:00
Oleg Pudeyev
a97ebe78bf Merge PR #813 branch 'bantu/ticket/10401' into develop-olympus
* bantu/ticket/10401:
  [ticket/10401] Return correct type when ldap_bind() fails in ldap_login().
2012-05-21 22:35:50 -04:00
Oleg Pudeyev
3503d7f47b Merge PR #812 branch 'bantu/ticket/10565' into develop-olympus
* bantu/ticket/10565:
  [ticket/10565] Add line breaks to query in order to follow coding guidelines.
  [ticket/10565] update_forum_tracking_info(): Remove unnecessary GROUP BY clause
2012-05-21 22:28:33 -04:00
Oleg Pudeyev
d0b9864563 Merge PR #808 branch 'bantu/ticket/10898' into develop-olympus
* bantu/ticket/10898:
  [ticket/10898] Do not write ?> into config.php to avoid whitespace output.
2012-05-21 22:15:17 -04:00
Oleg Pudeyev
1c7b568771 Merge PR #743 branch 'bantu/ticket/10094' into develop-olympus
* bantu/ticket/10094:
  [ticket/10094] Purge acm_file cache before phpBB installation.
2012-05-21 22:13:32 -04:00
Andreas Fischer
ea1e2ed362 [ticket/10401] Return correct type when ldap_bind() fails in ldap_login().
ldap_login() is supposed to return an array.

PHPBB3-10401
2012-05-22 03:32:54 +02:00
Andreas Fischer
896b43aa5b [ticket/10565] Add line breaks to query in order to follow coding guidelines.
PHPBB3-10565
2012-05-22 03:11:53 +02:00
Andreas Fischer
efbf14f029 [ticket/10565] update_forum_tracking_info(): Remove unnecessary GROUP BY clause
PHPBB3-10565
2012-05-22 03:08:39 +02:00
Andreas Fischer
ee875c0a43 [ticket/10790] Remove a (kind of) dead code section from submit_pm().
The type of $user->data['user_id'] is (almost) guranteed to be integer
since session::session_create() casts it to integer.
The type of $row['user_id'] is only an integer if the DB driver adjusts the
PHP type according to the DB type. This is only done by some of our
not-so-popular DB drivers and is not the case for MySQL.

As such this comparison is (almost) never true and a PM is also sent to the
author itself when it is sent to a group the author is also a member of.

Since this behaviour seems to have been accepted by the communty, the dead
code is removed and current behaviour is kept.

Also, checking this in the loop seems to be a rather bad idea.

Introduced by 78b1c4caaa.

PHPBB3-10790
2012-05-22 02:24:31 +02:00
Andreas Fischer
7ec6254078 [ticket/10890] Fix test_sql_fetchrow_returns_false_when_empty() on MS and ORA.
Fix phpbb_dbal_select_test::test_sql_fetchrow_returns_false_when_empty() on
MSSQL and Oracle by specifying an existing table in the query.

PHPBB3-10890
2012-05-22 01:25:19 +02:00
Andreas Fischer
70be7e109f [ticket/10898] Do not write ?> into config.php to avoid whitespace output.
PHPBB3-10898
2012-05-18 11:15:53 +02:00
Andreas Fischer
86fa185a1b Merge branch 'ticket/10605' into develop-olympus
* ticket/10605:
  [ticket/10605] Use database updater function _sql() instead of $db->sql_query()
  [ticket/10605] Put end of array on its own line because start of array is too.
  [ticket/10605] Add parameter documentation to phpbb_delete_user_pms
  [ticket/10605] Fix left join usage.
  [ticket/10605] Add a section for updating from 3.0.10 to schema updates.
  [ticket/10605] Fix syntax error in database updater.
  [ticket/10605] Reset user´s pm count to 0 when deleting his PMs
  [ticket/10605] Split query to be able to use indexes
  [ticket/10605] Rename $delete_rows to $delete_ids.
  [ticket/10605] Break long comment into multiple lines 80 chars short.
  [ticket/10605] Remove unnecessary $delete_ids array.
  [ticket/10605] Remove unnecessary array_keys calls on $delete_rows.
  [ticket/10605] Remove unused variable declarations.
  [ticket/10605] Turn $undelivered_user into a real array of counters.
  [ticket/10605] Use unset() instead of checking user_id over and over again.
  [ticket/10605] Prefix function with phpbb_ and use true instead of 1
  [ticket/10605] Delete orphan private messages on update
  [ticket/10605] Check for orphan privmsgs when deleting a user

Conflicts:
	phpBB/install/database_update.php
2012-05-14 00:38:54 +02:00
Andreas Fischer
95e1d4e9db [ticket/10605] Use database updater function _sql() instead of $db->sql_query()
PHPBB3-10605
2012-05-14 00:36:18 +02:00
Andreas Fischer
f71a9d369c [ticket/10605] Put end of array on its own line because start of array is too.
PHPBB3-10605
2012-05-14 00:34:42 +02:00
Andreas Fischer
92d17cbff3 Merge remote-tracking branch 'p/ticket/10891' into develop-olympus
* p/ticket/10891:
  [ticket/10891] Allow specifying test_config.php path via environment.

Conflicts:
	tests/RUNNING_TESTS.txt
2012-05-13 20:08:49 +02:00
Andreas Fischer
f81e8e9901 Merge remote-tracking branch 'p/ticket/10892' into develop-olympus
* p/ticket/10892:
  [ticket/10892] Update wiki link to mediawiki.
  [ticket/10892] Add empty lines for consistency.
  [ticket/10892] Reformat RUNNING_TESTS.txt to 79 char lines.
  [ticket/10892] Reformat RUNNING_TESTS.txt to 80 char lines.
2012-05-13 20:03:15 +02:00
Oleg Pudeyev
725db1ba29 [ticket/10891] Allow specifying test_config.php path via environment.
PHPBB3-10891
2012-05-11 22:26:54 -04:00
Oleg Pudeyev
2592fbf8e9 [ticket/10892] Update wiki link to mediawiki.
PHPBB3-10892
2012-05-11 22:15:24 -04:00
Oleg Pudeyev
44b509b2b2 [ticket/10892] Add empty lines for consistency.
Some headings had empty lines after them, some did not.

Add missing empty lines.

PHPBB3-10892
2012-05-11 22:15:24 -04:00
Oleg Pudeyev
07fb16edb5 [ticket/10892] Reformat RUNNING_TESTS.txt to 79 char lines.
PHPBB3-10892
2012-05-11 22:15:18 -04:00
Patrick Webster
3a60414592 [ticket/10892] Reformat RUNNING_TESTS.txt to 80 char lines.
PHPBB3-10892
2012-05-11 22:15:10 -04:00
Andreas Fischer
8861e26034 Merge remote-tracking branch 'naderman/ticket/10492' into develop-olympus
* naderman/ticket/10492:
  [ticket/10492] Skip functional tests on PHP 5.2 on travis
2012-05-11 15:47:37 +02:00
Nils Adermann
1960629240 [ticket/10492] Skip functional tests on PHP 5.2 on travis
PHPBB3-10492
2012-05-11 15:35:57 +02:00
Nils Adermann
b0e273b95f Merge remote-tracking branch 'github-bantu/ticket/10889' into develop-olympus
* github-bantu/ticket/10889:
  [ticket/10889] Make default value for c_char_size a CHAR(4) as defined.
2012-05-11 15:01:52 +02:00
Andreas Fischer
e5afe39987 [ticket/10889] Make default value for c_char_size a CHAR(4) as defined.
PHPBB3-10889
2012-05-11 11:22:49 +02:00
Andreas Fischer
e6791e376d Merge remote-tracking branch 'p/ticket/10887' into develop-olympus
* p/ticket/10887:
  [ticket/10887] Add spaces.
  [ticket/10887] Split auto increment test from db tools test.
2012-05-11 11:09:28 +02:00
Oleg Pudeyev
b5b65c214d [ticket/10887] Add spaces.
PHPBB3-10887
2012-05-11 05:06:46 -04:00
Oleg Pudeyev
1fcb269616 Merge PR #785 branch 'Senky/ticket/10835' into develop-olympus
* Senky/ticket/10835:
  [ticket/10835] changing "e-mail" to "email"
  [ticket/10835] changing CURRENT_CHANGE_PASSWORD_EXPLAIN language entry
  [ticket/10835] fixing misleading message in UCP
2012-05-11 02:32:58 -04:00
Senky
74e9245df3 [ticket/10835] changing "e-mail" to "email"
PHPBB3-10835
2012-05-11 08:09:56 +02:00
Oleg Pudeyev
1019226dfa [ticket/10887] Split auto increment test from db tools test.
Auto increment test does not need any particular columns
and should not depend, in particular, on correct handling
of binary data.

This commit moves auto increment test into its own file and
gives it its own table with a simple schema.

PHPBB3-10887
2012-05-10 23:50:42 -04:00
Dhruv Goel
041b7be77e [ticket/10308] fixes indentation
indentation is fixed and user_posts variable is compared as a boolean
variable.

PHPBB3-10308
2012-05-11 01:50:36 +05:30
Oleg Pudeyev
4b3d807293 Merge PR #725 branch 'Senky/ticket/9896' into develop-olympus
* Senky/ticket/9896:
  [ticket/9896] Links changed
2012-05-10 15:57:24 -04:00
Senky
8393b8e755 [ticket/9896] Links changed
Link to languaged updated to http://www.phpbb.com/languages/
Link to styles updated to http://www.phpbb.com/customise/db/styles-2/
Link to MODs updated to http://www.phpbb.com/customise/db/modifications-1/
Link to Community Forums updated to http://www.phpbb.com/community/

PHPBB3-9896
2012-05-10 21:40:39 +02:00
Oleg Pudeyev
12bf9b42fa Merge PR #799 branch 'bantu/ticket/10881' into develop-olympus
* bantu/ticket/10881:
  [ticket/10881] Replace old (and unify) file headers in develop files.
2012-05-10 14:40:15 -04:00
Dhruv Goel
cf556f92c9 [ticket/10308] fixes language variable name
Language variable has be renamed for better understanding

PHPBB3-10308
2012-05-10 22:54:29 +05:30
Dhruv Goel
23ea588880 [ticket/10308] makes variable boolean
makes user_row['user_has_posts'] boolean instead of 1 or 0.

PHPBB3-10308
2012-05-10 22:53:43 +05:30
Dhruv Goel
164054f067 [ticket/10308] fixes sql query, limit it to 1
instead of fetching all posts by user we limit the query to 1 to check if
a user has posts or not

PHPBB3-10308
2012-05-10 22:53:04 +05:30
Dhruv Goel
cf303c3478 [ticket/10308] fixes user deletion if no posts
introduces a hidden input field with retain posts as the mode in case
user has no posts.

PHPBB3-10308
2012-05-10 22:51:22 +05:30
Dhruv Goel
faf232219e [ticket/10308] renames language key to USER_NO_POSTS_DELETE
language key renamed to make its usability more clearer.

PHPBB3-10308
2012-05-10 22:51:08 +05:30
Dhruv Goel
59177a86c4 [ticket/10308] fix language and user's total posts
language modified to be clear and select box disappears in case no
posts by user. user's total posts are fetched using a new query.

PHPBB3-10308
2012-05-10 22:50:13 +05:30
Dhruv Goel
8f7e85604b [ticket/10308] fixes language entity.
Language key has been changed and has been made more specific to
avoid conflicts

PHPBB3-10308
2012-05-10 22:49:24 +05:30
Dhruv Goel
239e6016a3 [ticket/10308] Displays message to user if there are no posts.
While deletng the user, if the user has no posts in addition to the
options being disabled an added message is displayed.

PHPBB3-10308
2012-05-10 22:48:32 +05:30
Dhruv Goel
643970dce4 [ticket/10308] disable retain/ delete posts option when deleting a user
When deleting a user, it asks whether the posts by user should be retained
or deleted. The selection should be disable if the user has no posts.

PHPBB3-10308
2012-05-10 22:47:41 +05:30
Andreas Fischer
226743d10b [ticket/10881] Replace old (and unify) file headers in develop files.
This especially also fixes the problem of the copyright symbol being
represented using 0xA9, which is neither ASCII nor the appropriate UTF8
byte sequence for the copyright symbol.

PHPBB3-10881
2012-05-10 11:53:54 +02:00
Andreas Fischer
0488d70062 Merge remote-tracking branch 'p/ticket/10834' into develop-olympus
* p/ticket/10834:
  [ticket/10843] Backport changes to install language.
  [ticket/10834] Backport general development language changes to 3.0.
2012-05-09 13:25:07 +02:00
Andreas Fischer
12dbcc7f1e Merge remote-tracking branch 'Noxwizard/ticket/10858' into develop-olympus
* Noxwizard/ticket/10858:
  [ticket/10858] Move generic row seeking to DBAL
  [ticket/10858] Tests for row seeking with fetchfield()
  [ticket/10858] Fix MSSQL Native's row seeking behavior
2012-05-09 12:50:13 +02:00
Patrick Webster
09d49fb7b2 [ticket/10858] Move generic row seeking to DBAL
Removed from: firebird, mssql_odbc, and mssqlnative

PHPBB3-10858
2012-05-08 19:41:22 -05:00
Patrick Webster
afbaa6979b [ticket/10858] Tests for row seeking with fetchfield()
PHPBB3-10858
2012-05-08 18:45:51 -05:00
Patrick Webster
e52d23848a [ticket/10858] Fix MSSQL Native's row seeking behavior
The result_mssqlnative class remains in case someone wants to use it

PHPBB3-10858
2012-05-08 18:44:43 -05:00
Senky
8d15f1b02e [ticket/10835] changing CURRENT_CHANGE_PASSWORD_EXPLAIN language entry
PHPBB3-10835
2012-05-07 08:18:50 +02:00
Andreas Fischer
c0718fae96 Merge remote-tracking branch 'cyberalien/ticket/10860' into develop-olympus
* cyberalien/ticket/10860:
  [ticket/10860] Fixing js error in updater
2012-05-06 18:39:23 +02:00
Vjacheslav Trushkin
a960bd6790 [ticket/10860] Fixing js error in updater
Fixing javascript error in side-by-side diff styling in updater:
resizing inner block instead of outer block and increasing
height by inner/outer block difference.

PHPBB3-10860
2012-05-06 19:37:49 +03:00
Andreas Fischer
9d542aec1e Merge remote-tracking branch 'Noxwizard/ticket/10819' into develop-olympus
* Noxwizard/ticket/10819:
  [ticket/10819] Remove support for older browsers
  [ticket/10819] Forgot this causes vertical scrollbars on IE
  [ticket/10819] Improve side-by-side diff styling
2012-05-06 00:43:01 +02:00
Andreas Fischer
5ccbe06911 Merge remote-tracking branch 'galaxyAbstractor/ticket/10849' into develop-olympus
* galaxyAbstractor/ticket/10849:
  [ticket/10849] Added missing helptext for listitem
2012-05-05 22:47:58 +02:00
Oleg Pudeyev
c34ee343ba [ticket/10843] Backport changes to install language.
PHPBB3-10688
PHPBB3-10843
2012-05-05 16:08:37 -04:00
Oleg Pudeyev
58842b5ca8 [ticket/10834] Backport general development language changes to 3.0.
PHPBB3-10688
PHPBB3-10834
2012-05-05 16:05:55 -04:00
Andreas Fischer
8cb0e30afc Merge remote-tracking branch 'Senky/ticket/10846' into develop-olympus
* Senky/ticket/10846:
  [ticket/10846] fixing SQL query bug in acp_main.php
2012-05-01 13:38:11 +02:00
Senky
2dd71f6520 [ticket/10835] fixing misleading message in UCP
PHPBB3-10835
2012-05-01 09:52:48 +02:00
Senky
665f38d42f [ticket/10846] fixing SQL query bug in acp_main.php
PHPBB3-10846
2012-04-30 22:01:53 +02:00
galaxyAbstractor
8d45901657 [ticket/10849] Added missing helptext for listitem
Added the missing helptext for list item in subsilver2.

PHPBB3-10849
2012-04-27 22:19:41 +02:00
Oleg Pudeyev
3a67604900 Merge PR #771 branch 'galaxyAbstractor/ticket/10836' into develop-olympus
* galaxyAbstractor/ticket/10836:
  [ticket/10836] Check if avatar directory is writable after install
  [ticket/10836] Enable avatars by default at install
2012-04-26 22:08:42 -04:00
galaxyAbstractor
1a8db76a20 [ticket/10836] Check if avatar directory is writable after install
Check if the avatar directory is writeable after the installation is complete.
If it isn't, disable avatars and avatar uploading by default.

PHPBB3-10836
2012-04-25 11:49:06 +02:00
David King
b82c77b38f [task/functional] Make sure missing language values are handled properly
PHPBB3-10758
2012-04-24 14:10:50 -04:00
David King
8cf0b79a47 [task/functional] Increase code coverage for functional tests
PHPBB3-10758
2012-04-23 17:16:16 -04:00
galaxyAbstractor
a21b367b21 [ticket/10836] Enable avatars by default at install
Enables avatars and local avatar upload by default.

PHPBB3-10836
2012-04-21 14:16:55 +02:00
Nils Adermann
cdf7ff1797 Merge remote-tracking branch 'github-noxwizard/ticket/10492' into develop-olympus
* github-noxwizard/ticket/10492:
  [ticket/10492] Fix line endings
  [ticket/10492] Backporting functional tests
  [ticket/10492] Separate config generation from the installer
2012-04-21 12:31:43 +02:00
Patrick Webster
6293bbf099 [ticket/10492] Fix line endings
PHPBB3-10492
2012-04-21 05:24:57 -05:00
Patrick Webster
2aa994b5ad [ticket/10492] Backporting functional tests
PHPBB3-10492
2012-04-21 04:37:57 -05:00
Patrick Webster
de70b17b1d [ticket/10492] Separate config generation from the installer
PHPBB3-10492
2012-04-20 23:50:49 -05:00
Nils Adermann
29a6aec9ad Merge remote-tracking branch 'github-dhruv/ticket/10815' into develop-olympus
* github-dhruv/ticket/10815:
  [ticket/10815] enables feed feature by default for a fresh install
2012-04-20 20:13:00 +02:00
Dhruv Goel
4788705a9a [ticket/10815] enables feed feature by default for a fresh install
PHPBB3-10815
2012-04-20 23:30:01 +05:30
Andreas Fischer
31fbc40a09 Merge remote-tracking branch 'p/ticket/10767' into develop-olympus
* p/ticket/10767:
  [ticket/10767] Clarify what happens at the end of the hook.
  [ticket/10767] Use warning/error language as appropriate.
  [ticket/10767] Default to non-fatal behavior.
  [ticket/10767] Revert unconditional unfatality in commit-msg hook.
2012-04-20 14:54:55 +02:00
Andreas Fischer
bc0453c93a Merge remote-tracking branch 'galaxyAbstractor/ticket/10812' into develop-olympus
* galaxyAbstractor/ticket/10812:
  [ticket/10812] Disabled register_globals check in PHP 5.4
2012-04-20 14:39:16 +02:00
galaxyAbstractor
edf60bcd55 [ticket/10812] Disabled register_globals check in PHP 5.4
Disabled the check for register_globals if PHP version is 5.4+

PHPBB3-10812
2012-04-20 14:19:38 +02:00
Oleg Pudeyev
6e77ca7c99 Merge PR #592 branch 'nickvergessen/ticket/9089' into develop-olympus
* nickvergessen/ticket/9089:
  [ticket/9089] Add tabindex to pm/topic/post icon-options aswell
  [ticket/9089] Add tabindex to PM recipient box, to allow tabbing to the subject
2012-04-19 21:02:48 -04:00
Nils Adermann
57547c7e20 Merge remote-tracking branch 'github-dhruv/ticket/10797' into develop-olympus
* github-dhruv/ticket/10797:
  [ticket/10797] language key rank moved to common
  [ticket/10797] user rank is displayed in mcp_warn.php
2012-04-20 01:11:00 +02:00
Dhruv Goel
90fc8fe59f [ticket/10797] language key rank moved to common
Language key RANK moved from memberlist to common.
Removed from mcp language.

PHPBB3-10797
2012-04-20 04:30:42 +05:30
Patrick Webster
00c54f8a7c [ticket/10819] Remove support for older browsers
PHPBB3-10819
2012-04-17 22:59:10 -05:00
Oleg Pudeyev
aceca2566b [ticket/10767] Clarify what happens at the end of the hook.
If there are problems and fatal is true, print that the commit
is aborted.

If there are problems and fatal is false, print instructions
for fixing the commit.

PHPBB3-10767
2012-04-17 06:05:33 -04:00
Oleg Pudeyev
45b910f9b4 [ticket/10767] Use warning/error language as appropriate.
When commit-msg hook is fatal, label the message as an error.

When it is not fatal, label the message as a warning.

"Syntax error" is still always an error, not sure if this
should be changed.

PHPBB3-10767
2012-04-17 06:05:32 -04:00
Oleg Pudeyev
1ce8a1d7ee [ticket/10767] Default to non-fatal behavior.
PHPBB3-10767
2012-04-17 06:05:32 -04:00
Oleg Pudeyev
bdf21e45ca [ticket/10767] Revert unconditional unfatality in commit-msg hook.
Revert "[ticket/10093] Make commit-msg always not fatal by nuking all fatal logic."

This reverts commit 88cad5523e.

PHPBB3-10093
PHPBB3-10767
2012-04-16 03:05:42 -04:00
Patrick Webster
09621342a5 [ticket/10819] Forgot this causes vertical scrollbars on IE
PHPBB3-10819
2012-04-15 23:38:12 -05:00
Patrick Webster
7a6d3ec61b [ticket/10819] Improve side-by-side diff styling
Used transparent background for unchanged lines
Shortened the table headers and make the background grey
Added a border between the columns
Increased the font size on pre blocks
Added Consolas as the first pre font, for Windows users
Added wordwrapping for pre blocks

PHPBB3-10819
2012-04-15 23:33:34 -05:00
Dhruv Goel
249d8ede12 [ticket/10797] user rank is displayed in mcp_warn.php
When warning a user in MCP, the user's rank title and image are displayed.
language key user rank also added.

PHPBB3-10797
2012-04-16 01:24:10 +05:30
Andreas Fischer
7a4b4c7599 [ticket/10094] Purge acm_file cache before phpBB installation.
PHPBB3-10094
2012-04-13 16:31:49 +02:00
Joas Schilling
4b6b41a1e5 [ticket/10605] Add parameter documentation to phpbb_delete_user_pms
PHPBB3-10605
2012-04-13 16:26:41 +02:00
Andreas Fischer
f1f2ab92b1 Merge remote-tracking branch 'bantu/ticket/10788' into develop-olympus
* bantu/ticket/10788:
  [ticket/10788] Move ckwalsh and kellanved to the Former Contributors section.
  [ticket/10788] Add imkingdavid to the list of developers in docs/AUTHORS.
2012-04-12 14:37:47 +02:00
Andreas Fischer
f394fd250e [ticket/10788] Move ckwalsh and kellanved to the Former Contributors section.
PHPBB3-10788
2012-04-11 22:08:36 +02:00
Andreas Fischer
534d966957 [ticket/10788] Add imkingdavid to the list of developers in docs/AUTHORS.
PHPBB3-10788
2012-04-11 21:39:27 +02:00
Nils Adermann
ef297ec63e Merge remote-tracking branch 'github-bantu/ticket/10774' into develop-olympus
* github-bantu/ticket/10774:
  [ticket/10774] Correctly specify index name when creating unique index on MySQL.
  [ticket/10774] Add unit tests for UNIQUE index existence and creation.
2012-04-10 01:14:04 +02:00
Andreas Fischer
ef8160e8a2 [ticket/10774] Correctly specify index name when creating unique index on MySQL.
PHPBB3-10774
2012-04-10 00:53:27 +02:00
Andreas Fischer
41ef41ac63 [ticket/10774] Add unit tests for UNIQUE index existence and creation.
PHPBB3-10774
2012-04-10 00:46:24 +02:00
Andreas Fischer
156ae40d6f Merge remote-tracking branch 'sadu/ticket/10561' into develop-olympus
* sadu/ticket/10561:
  [ticket/10561] Removed extra tabs, changes made to $db->sql_query()
  [ticket/10561] Changed $temp_style_id to $style_id
  [ticket/10561] Added function desc for phpbb_style_is_active()
  [ticket/10561] Casted $config['default_style'] to int
  [ticket/10561] Reverted to phpbb_style_is_active()
  [ticket/10561] Added to database_update:database_update_info()
  [ticket/10561] Added section in database_update.php
  [ticket/10561] Moved and renamed the funtion validate_style().
  [ticket/10561] Fixed syntax error and renamed return variables.
  [ticket/10561] Changes made to $db->sql_fetchrow().
  [ticket/10561] Changes made to function phpbb_style_is_active().
  [ticket/10561] All users can choose deactivated styles (fixed).
2012-04-08 21:59:06 +02:00
Hari Sankar R
2a48284fc9 [ticket/10561] Removed extra tabs, changes made to $db->sql_query()
Substituted $db->sql_query() with _sql()

PHPBB3-10561
2012-04-09 01:25:17 +05:30
Hari Sankar R
8442b19e59 [ticket/10561] Changed $temp_style_id to $style_id
PHPBB3-10561
2012-04-09 01:04:17 +05:30
Hari Sankar R
9bce716081 [ticket/10561] Added function desc for phpbb_style_is_active()
PHPBB3-10561
2012-04-09 00:57:29 +05:30
Hari Sankar R
4e630ef160 [ticket/10561] Casted $config['default_style'] to int
PHPBB3-10561
2012-04-09 00:33:55 +05:30
Oleg Pudeyev
3ec941937a Merge PR #716 branch 'callumacrae/ticket/10455' into develop-olympus
* callumacrae/ticket/10455:
  [ticket/10455] Removed NOTE from prosilver overall_header.html.
2012-04-07 22:32:14 -04:00
Oleg Pudeyev
a14d00b8e9 Merge PR #718 branch 'NeoAdonis/ticket/10764' into develop-olympus
* NeoAdonis/ticket/10764:
  [ticket/10764] FAQ now mentions Area51 instead of SourceForge
  [ticket/10764] FAQ now mentions GitHub instead of SourceForge
2012-04-07 22:14:48 -04:00
Hari Sankar R
03a35581c4 [ticket/10561] Reverted to phpbb_style_is_active()
Changes made to function name, reverted to old.

PHPBB3-10561
2012-04-07 23:15:12 +05:30
Hari Sankar R
1808a61fe3 [ticket/10561] Added to database_update:database_update_info()
Updates made to database_update.php

PHPBB3-10561
2012-04-07 19:42:42 +05:30
Hari Sankar R
ea5ae09c7d [ticket/10561] Added section in database_update.php
Added section to check for existing users using a
deactivated style, and revert it to default style.

PHPBB3-10561
2012-04-06 14:09:56 +05:30
Adonais Romero González
04bb44ce33 [ticket/10764] FAQ now mentions Area51 instead of SourceForge
The answer of the question "Why isn't X feature available?" in
the FAQ now mentions Area51 instead of SourceForge and GitHub
as the way to handle feature requests.

PHPBB3-10764
2012-04-05 20:22:00 -05:00
Adonais Romero González
293f66d4ed [ticket/10764] FAQ now mentions GitHub instead of SourceForge
The answer of the question "Why isn't X feature available?" in the
FAQ now mentions GitHub instead of SourceForge as the way to handle
feature requests.

PHPBB3-10764
2012-04-05 19:03:08 -05:00
Oleg Pudeyev
2b2286a46c [ticket/10605] Fix left join usage.
Previously this produced broken SQL:

SELECT p.msg_id FROM phpbb_privmsgs p
LEFT JOIN 0 phpbb_privmsgs_to ON (p.msg_id = t.msg_id)
WHERE t.user_id IS NULL LIMIT 500 OFFSET 0

PHPBB3-10605
2012-04-05 17:35:27 -04:00
Oleg Pudeyev
de1e343c5b [ticket/10605] Add a section for updating from 3.0.10 to schema updates.
Without it data updates do not appear to be run.

PHPBB3-10605
2012-04-05 17:34:54 -04:00
Oleg Pudeyev
03e382f99c [ticket/10605] Fix syntax error in database updater.
PHPBB3-10605
2012-04-05 17:34:37 -04:00
Callum Macrae
be9eb57785 [ticket/10455] Removed NOTE from prosilver overall_header.html.
PHPBB3-10455
2012-04-05 22:22:11 +01:00
Oleg Pudeyev
30093d6e86 Merge remote-tracking branch 'Fyorl/ticket/10508' into develop-olympus
* Fyorl/ticket/10508:
  [ticket/10508] Marked as read message now less specific.
2012-04-05 15:35:12 -04:00
Hari Sankar R
018419b36c [ticket/10561] Moved and renamed the funtion validate_style().
Fixed minor changes as suggested by @bantu.

PHPBB3-10561
2012-04-05 19:31:18 +05:30
Andreas Fischer
444fa29beb Merge remote-tracking branch 'p/ticket/10760' into develop-olympus
* p/ticket/10760:
  [ticket/10760] Fix numbering in php fun facts.
  [ticket/10760] Value must be quoted as it might be two words.
  [ticket/10760] PHP is great. This commit is the proof.
  [ticket/10760] Catch both versions of parse error output in php.
  [ticket/10760] Account for display_errors=stderr in pre-commit hook.
  [ticket/10760] Quote PHP_BIN when using it.
  [ticket/10760] Use echo -e only if echo understands -e.
  [ticket/10760] Use externally specified PHP_BIN if any.
2012-04-05 03:28:16 +02:00
Oleg Pudeyev
21639d5d54 Merge remote-tracking branch 'Fyorl/ticket/10607' into develop-olympus
* Fyorl/ticket/10607:
  [ticket/10607] Added 'Powered by' translation string.
2012-04-04 15:22:00 -04:00
Oleg Pudeyev
dc63db1860 [ticket/10760] Fix numbering in php fun facts.
PHPBB3-10760
2012-04-04 11:43:59 -04:00
Oleg Pudeyev
efdd1e623e [ticket/10760] Value must be quoted as it might be two words.
PHPBB3-10760
2012-04-04 11:41:14 -04:00
Oleg Pudeyev
6536a36208 [ticket/10760] PHP is great. This commit is the proof.
PHPBB3-10760
2012-04-04 00:27:06 -04:00
Oleg Pudeyev
f2967b6669 [ticket/10760] Catch both versions of parse error output in php.
PHPBB3-10760
2012-04-04 00:01:08 -04:00
Fyorl
0ceb77fb99 [ticket/10607] Added 'Powered by' translation string.
Added POWERED_BY line to common.php and modified the templates
to use it.

PHPBB3-10607
2012-04-04 11:38:15 +08:00
Oleg Pudeyev
a0da2408e7 [ticket/10760] Account for display_errors=stderr in pre-commit hook.
With that php.ini value set errors are printed to stderr, therefore
by redirecting stderr to /dev/null we also throw out the errors.

Instead merge stderr into stdout.

PHPBB3-10760
2012-04-03 23:18:33 -04:00
Oleg Pudeyev
b803fc4351 [ticket/10760] Quote PHP_BIN when using it.
This should make a difference on windows where paths may include spaces.

PHPBB3-10760
2012-04-03 23:14:44 -04:00
Oleg Pudeyev
786fcbf212 [ticket/10760] Use echo -e only if echo understands -e.
/bin/echo on freebsd and dash's builtin echo do not understand -e,
therefore -e is printed with the other messages in such cases.

Test if echo understands -e, if not do not use it.

PHPBB3-10760
2012-04-03 23:06:50 -04:00
Oleg Pudeyev
57209a1e68 [ticket/10760] Use externally specified PHP_BIN if any.
We have a PHP_BIN variable but we always set it unconditionally,
therefore in order to use a different php binary one had to
modify the hook script.

Instead set PHP_BIN if it is not set.

Now one can set PHP_BIN in their environment to use a non-default
php binary.

PHPBB3-10760
2012-04-03 23:05:15 -04:00
Oleg Pudeyev
14e727b834 Merge remote-tracking branch 'bantu/ticket/10658' into develop-olympus
* bantu/ticket/10658:
  [ticket/10658] Do not fetch ranks into the $ranks array, it is no longer used.
  [ticket/10658] Use get_user_rank() for group ranks on group view.
2012-04-03 20:57:24 -04:00
Fyorl
0df3f1c5d0 [ticket/10508] Marked as read message now less specific.
Changed 'The selected forums have been marked read' to 'Forums
have been marked read'

PHPBB3-10508
2012-04-04 02:51:28 +08:00
Hari Sankar R
a84b97f58e [ticket/10561] Fixed syntax error and renamed return variables.
Renamed $style_verified to $style_is_active and fixed extra ';'.

PHPBB3-10561
2012-04-03 23:15:16 +05:30
Hari Sankar R
c5481371b9 [ticket/10561] Changes made to $db->sql_fetchrow().
Changed $db->sql_fetchrow() to $db->sql_fetchfield().

PHPBB3-10561
2012-04-03 23:04:56 +05:30
Hari Sankar R
b81a5afc25 [ticket/10561] Changes made to function phpbb_style_is_active().
Fixed return type, documented function and, removed
style_id from fetch.

PHPBB3-10561
2012-04-03 22:56:06 +05:30
Hari Sankar R
084e1ae560 [ticket/10561] All users can choose deactivated styles (fixed).
A form exploit enabled the users to select a deactivated
style. Fixed with extra check on submit, with a new function
styles_verify to check if the selected style is activated or not.

PHPBB3-10561
2012-04-03 22:15:59 +05:30
Vjacheslav Trushkin
51bc9540cf Merge remote-tracking branch 'sadu/ticket/10699' into develop-olympus
* sadu/ticket/10699:
  [ticket/10699] Long h2 title breaks div.minitabs in MCP
  [ticket/10699] Long h2 title breaks div.minitabs in MCP
2012-04-02 16:18:56 +03:00
Hari Sankar R
17e050e109 [ticket/10699] Long h2 title breaks div.minitabs in MCP
Fixed minor issues in formatting.

PHPBB3-10699
2012-04-02 16:59:05 +05:30
Hari Sankar R
42101fe8d4 [ticket/10699] Long h2 title breaks div.minitabs in MCP
Fixed overlapping of Subject title over the minitabs.
Added css property to cp.css under MCP Specific tweaks.
Wrapped h2 and #minitabs under .tabs-container with
clear: both

PHPBB3-10699
2012-04-02 16:26:23 +05:30
Hari Sankar R
b1b530f92c [ticket/10731] Fixed addquote() to work on opera browser.
In opera, window.getSelection() returned incorrect values, should be using
document.getSelection() instead. Fixed in prosilver and subsilver2 templates.

PHPBB3-10731
2012-04-01 17:05:31 +03:00
Igor Wiedler
3477b5e5a8 Merge remote-tracking branch 'Dickyf/ticket/10675' into develop-olympus
* Dickyf/ticket/10675:
  [Ticket/10675] Correct language string ATTACH_DISK_FULL
  [ticket/10675] Add disk full language string when posting attachments
2012-03-31 19:27:19 +02:00
Richard Foote
b8b342be2d [Ticket/10675] Correct language string ATTACH_DISK_FULL
Add period to ATTACH_DISK_FULL language string

PHPBB3-10675
2012-03-31 12:46:44 -04:00
Igor Wiedler
313cf7297c Merge pull request #668 from unknownbliss/feature/events-dispatcher-olympus
Feature/events dispatcher olympus
2012-03-30 11:15:54 -07:00
Michael Cullum
9391d423c0 [feature/event-dispatcher] Adding composer.phar to .gitignore for olympus
To keep the .gitignore's the same.

PHPBB3-9550
2012-03-30 19:13:32 +01:00
David King
dc4d0677b9 Merge branch 'unknownbliss/feature/events-dispatcher-olympus' into develop-olympus 2012-03-30 13:38:40 -04:00
David King
10d4f8c35e Merge branch 'harderthanfire/ticket/10129' into develop-olympus 2012-03-29 20:37:50 -04:00
Oleg Pudeyev
ccf83dd69b Merge remote-tracking branch 'janschejbal/ticket/10730' into develop-olympus
* janschejbal/ticket/10730:
  [ticket/10730] Added label tag around "select" text in post splitting UI
2012-03-28 23:23:53 -04:00
Jan Schejbal
fff9f6611e [ticket/10730] Added label tag around "select" text in post splitting UI
Added label tags around the "select" text in the post splitting UI in the MCP.
Had to add IDs based on the post ID to the select boxes to allow label to
work. Tested in Firefox and Chrome.

PHPBB3-10730
2012-03-29 04:16:34 +02:00
Andreas Fischer
2516b1e8f1 Merge remote-tracking branch 'Dickyf/ticket/10708' into develop-olympus
* Dickyf/ticket/10708:
  [ticket/10708] Check converted passwords for multi-byte characters
2012-03-29 00:51:12 +02:00
Igor Wiedler
a820ff1ebc Merge pull request #664 from imkingdavid/ticket/10732
[ticket/10732] Add config_dev.php and config_test.php to .gitignore
2012-03-28 14:38:16 -07:00
David King
1789e0948b [ticket/10732] Add config_dev.php and config_test.php to .gitignore
PHPBB3-10732
2012-03-28 17:05:45 -04:00
Joas Schilling
b9324577ac [ticket/10605] Reset user´s pm count to 0 when deleting his PMs
PHPBB3-10605
2012-03-27 17:32:55 +02:00
Joas Schilling
0397b46217 [ticket/10605] Split query to be able to use indexes
PHPBB3-10605
2012-03-27 17:29:03 +02:00
Andreas Fischer
9c8aab4d32 [ticket/10605] Rename $delete_rows to $delete_ids.
PHPBB3-10605
2012-03-27 02:02:17 +02:00
Andreas Fischer
ad073d22b9 [ticket/10605] Break long comment into multiple lines 80 chars short.
PHPBB3-10605
2012-03-27 01:43:09 +02:00
Andreas Fischer
dd53d0576d [ticket/10605] Remove unnecessary $delete_ids array.
PHPBB3-10605
2012-03-27 01:39:49 +02:00
Andreas Fischer
9040f18d7c [ticket/10605] Remove unnecessary array_keys calls on $delete_rows.
PHPBB3-10605
2012-03-27 01:35:01 +02:00
Andreas Fischer
dbc7a69ad2 [ticket/10605] Remove unused variable declarations.
PHPBB3-10605
2012-03-27 01:30:52 +02:00
Andreas Fischer
2203bc204e [ticket/10605] Turn $undelivered_user into a real array of counters.
PHPBB3-10605
2012-03-27 01:29:29 +02:00
Andreas Fischer
e8830f605f [ticket/10605] Use unset() instead of checking user_id over and over again.
PHPBB3-10605
2012-03-27 01:18:02 +02:00
Andreas Fischer
a618e22fca Merge remote-tracking branch 'unknownbliss/ticket/10694' into develop-olympus
* unknownbliss/ticket/10694:
  [ticket/10694] Adjusting details link to 5.3 announcement
  [ticket/10694] Update PHP warning to 5.3.2
2012-03-26 00:06:17 +02:00
HTF
2768db44f5 [ticket/10129] Remove apostrophes and plurals in ACP user management -> permissions language file as per ticket.
PHPBB3-10129
2012-03-24 15:13:04 +00:00
Andreas Fischer
9c85c6c318 Merge remote-tracking branch 'unknownbliss/ticket/10723' into develop-olympus
* unknownbliss/ticket/10723:
  [ticket/10723] Stop Travis running all tests on sqlite
2012-03-24 14:52:50 +01:00
Michael Cullum
5bcdfe94dd [ticket/10723] Stop Travis running all tests on sqlite
Correct information so all tests don't run on sqlite

PHPBB3-10723
2012-03-23 06:40:15 +00:00
Andreas Fischer
57eb50812f Merge remote-tracking branch 'rxu/ticket/10684' into develop-olympus
* rxu/ticket/10684:
  [ticket/10684] Adjust function and parameter name, minor changes.
  [ticket/10684] Rename function phpbb_get_banned_users_ids() parameter
  [ticket/10684] Remove intval mapping for array keys
  [ticket/10684] Adjust pm_notifications() to handle stale bans
  [ticket/10684] Cast user_id to integer
  [ticket/10684] Refactor $sql_ignore_users array update
  [ticket/10684] Remove isset() for $sql_ignore_users update
  [ticket/10684] Fix 2 typos in comment lines.
  [ticket/10684] Send notifications for users with stale bans
2012-03-22 18:14:13 +01:00
Nils Adermann
1337f86123 Merge remote-tracking branch 'github-unknownbliss/task/travis' into develop-olympus
* github-unknownbliss/task/travis:
  [task/travis] Refactor php version check for dbunit install
2012-03-22 17:15:52 +01:00
Michael Cullum
841d11c6cd [task/travis] Refactor php version check for dbunit install
PHPBB3-10718
2012-03-22 16:09:58 +00:00
Nils Adermann
992b58d468 Merge remote-tracking branch 'github-unknownbliss/task/travis' into develop-olympus
* github-unknownbliss/task/travis:
  [task/travis] Exclude functional and slow tests
2012-03-22 17:03:03 +01:00
Michael Cullum
0ed66ad0e8 [task/travis] Exclude functional and slow tests
PHPBB3-10718
2012-03-22 16:00:10 +00:00
Nils Adermann
6f809416ba Merge remote-tracking branch 'github-unknownbliss/task/travis' into develop-olympus
* github-unknownbliss/task/travis:
  [task/travis] Some more small travis fixes
  [task/travis] Rename travis phpunit config files
  [task/travis] Fixing some travis issues
  [task/travis] Add automated testing to readme
  [task/travis] Removing development information
  [task/travis] Adding Travis Continuous Intergration Support
2012-03-22 16:11:55 +01:00
Michael Cullum
115ee7f3b8 [task/travis] Some more small travis fixes
PHPBB3-10718
2012-03-22 14:44:36 +00:00
Michael Cullum
c7f65fba62 [task/travis] Rename travis phpunit config files
PHPBB3-10718
2012-03-22 14:13:25 +00:00
Michael Cullum
d1980f6ad6 [task/travis] Fixing some travis issues
PHPBB3-10718
2012-03-22 13:32:58 +00:00
rxu
5a9dd1994f [ticket/10684] Adjust function and parameter name, minor changes.
PHPBB3-10684
2012-03-22 21:19:01 +08:00
Andreas Fischer
99a271f34b Merge remote-tracking branch 'nickvergessen/ticket/10717' into develop-olympus
* nickvergessen/ticket/10717:
  [ticket/10717] Fix profile field sample in prosilver´s memberlist_view.html
2012-03-22 11:11:21 +01:00
Andreas Fischer
e5205ba2f8 Merge remote-tracking branch 'p/task/php54-olympus' into develop-olympus
* p/task/php54-olympus:
  [task/php54] Disable E_STRICT in Olympus when running on PHP 5.4.
  [task/php54] Refactor error_reporting call slightly.
2012-03-22 10:49:37 +01:00
Michael Cullum
4325bbf4c6 [task/travis] Add automated testing to readme
PHPBB3-10718
2012-03-22 09:08:43 +00:00
Michael Cullum
9120c7691e [task/travis] Removing development information
PHPBB3-10718
2012-03-22 09:08:12 +00:00
Michael Cullum
4dafcc2525 [task/travis] Adding Travis Continuous Intergration Support
PHPBB3-10718
2012-03-22 09:05:59 +00:00
Michael Cullum
c2169f6899 [feature/events-dispatcher] Adding phpBB/vendor to .gitignore
PHPBB3-9550
2012-03-21 09:17:16 +00:00
Joas Schilling
2005c339ff [ticket/10717] Fix profile field sample in prosilver´s memberlist_view.html
PHPBB3-10717
2012-03-20 17:45:08 +01:00
Richard Foote
70d88965c7 [ticket/10708] Check converted passwords for multi-byte characters
Check for multi-byte characters in converted passwords.

PHPBB3-10708
2012-03-19 23:19:21 -04:00
Richard Foote
97d4f168f5 [ticket/10675] Add disk full language string when posting attachments
Add language string visible by admins only for when the disk does not have
enough free space to upload attachments.

PHPBB3-10675
2012-03-19 15:08:28 -04:00
Andreas Fischer
dad37a4329 Merge remote-tracking branch 'dhruvgoel92/ticket/10691' into develop-olympus
* dhruvgoel92/ticket/10691:
  [ticket/10691] Fixed the speed of creating search index
2012-03-19 12:55:24 +01:00
Dhruv Goel
c551b46115 [ticket/10691] Fixed the speed of creating search index
$time is now initialized after each batch iteration.
Speed for each batch iteration of creating search index is fixed.

PHPBB3-10691
2012-03-19 17:11:30 +05:30
Oleg Pudeyev
81eeafbb8d Merge remote-tracking branch 'nickvergessen/ticket/8636' into develop-olympus
* nickvergessen/ticket/8636:
  [ticket/8636] Add resync option to topic_view moderation page
2012-03-16 06:18:29 -04:00
Oleg Pudeyev
95e011ccbe Merge remote-tracking branch 'nickvergessen/ticket/10689' into develop-olympus
* nickvergessen/ticket/10689:
  [ticket/10689] Fix "First character"-option in "Find a member"-search
2012-03-16 06:06:44 -04:00
Oleg Pudeyev
5efdbfa5e4 [task/php54] Disable E_STRICT in Olympus when running on PHP 5.4.
We cannot use static in Olympus because it must be PHP 4 compatible.

Therefore disable E_STRICT for Olympus.

This commit should be reverted for Ascraeus.

PHPBB3-10615
2012-03-15 22:47:42 -04:00
Oleg Pudeyev
71afba0ded [task/php54] Refactor error_reporting call slightly.
Separate error level assignment into a variable in this commit
so that the only difference between Olympus and Ascraeus
is the addition of logic altering $level.

PHPBB3-10615
2012-03-15 22:46:06 -04:00
Joas Schilling
ba6943a6a0 [ticket/10605] Prefix function with phpbb_ and use true instead of 1
PHPBB3-10605
2012-03-12 10:11:52 +01:00
Joas Schilling
3b7a6a3efa [ticket/10689] Fix "First character"-option in "Find a member"-search
PHPBB3-10689
2012-03-12 00:39:12 +01:00
rxu
ff8d523768 [ticket/10684] Rename function phpbb_get_banned_users_ids() parameter
PHPBB3-10684
2012-03-12 01:57:51 +08:00
rxu
da395edbca [ticket/10684] Remove intval mapping for array keys
PHP manual for arrays http://php.net/manual/en/language.types.array.php states
that the following key cast will occur: Strings containing valid integers will
be cast to the integer type. E.g. the key "8" will actually be stored under 8.
Thus, no intval mapping for numeric array keys is needed.

PHPBB3-10684
2012-03-12 01:47:28 +08:00
rxu
321d0d9b56 [ticket/10684] Adjust pm_notifications() to handle stale bans
- Add parameter (array) to the function phpbb_get_banned_users_ids()
- Fix function pm_notification() to handle users with stale bans

PHPBB3-10684
2012-03-12 01:44:00 +08:00
David King
b652e1a1bb Merge branch 'unknownbliss/ticket/10697' into develop-olympus 2012-03-11 12:58:55 -04:00
Michael Cullum
24f1896b3c [ticket/10697] Updating gitignore to match develop branch
PHPBB3-10697
2012-03-11 09:42:56 +00:00
rxu
a79b3490c2 [ticket/10684] Cast user_id to integer
PHPBB3-10684
2012-03-11 00:56:07 +08:00
Michael Cullum
668c61686b [ticket/10694] Adjusting details link to 5.3 announcement
PHPBB3-10694
2012-03-10 16:47:07 +00:00
Andreas Fischer
aee79c6cdb Merge remote-tracking branch 'p/ticket/7432' into develop-olympus
* p/ticket/7432:
  [ticket/7432] Delete redundant reference to "appropriate menu item".
  [ticket/7432] Explain what users are inactive in more detail.
2012-03-09 23:41:43 +01:00
rxu
89a6cb2886 [ticket/10684] Refactor $sql_ignore_users array update
PHPBB3-10684
2012-03-10 00:17:39 +08:00
Michael Cullum
fbe8086697 [ticket/10694] Update PHP warning to 5.3.2
PHPBB3-10694
2012-03-09 16:10:02 +00:00
rxu
f563647e4b [ticket/10684] Remove isset() for $sql_ignore_users update
PHPBB3-10684
2012-03-09 22:35:13 +08:00
Oleg Pudeyev
bd1fb91dd2 Merge remote-tracking branch 'rxu/ticket/9831' into develop-olympus
* rxu/ticket/9831:
  [ticket/9831] Fix saving unchecked checkbox field value
  [ticket/9831] Correctly store checkbox default value for boolean CPF.
2012-03-09 05:24:03 -05:00
Oleg Pudeyev
0ec8e9dbff Merge remote-tracking branch 'rxu/ticket/9084' into develop-olympus
* rxu/ticket/9084:
  [ticket/9084] Explain the logic.
  [ticket/9084] Don't hide 'non-entered' dropdown CPF value if not required
2012-03-09 04:42:05 -05:00
Oleg Pudeyev
cd61de4bfd [ticket/9084] Explain the logic.
PHPBB3-9084
2012-03-09 04:35:09 -05:00
rxu
ee6783109a [ticket/10684] Fix 2 typos in comment lines.
PHPBB3-10684
2012-03-09 16:41:49 +08:00
rxu
025de9ee19 [ticket/10684] Send notifications for users with stale bans
PHPBB3-10684
2012-03-08 23:28:03 +08:00
Andreas Fischer
bb7e86c2b1 [ticket/10658] Do not fetch ranks into the $ranks array, it is no longer used.
PHPBB3-10658
2012-03-08 15:19:15 +01:00
Oleg Pudeyev
d380a1a36f Merge remote-tracking branch 'bantu/ticket/9813' into develop-olympus
* bantu/ticket/9813:
  [ticket/10653] Call get_row_count of base class in mysql get_estimated_row_count
  [ticket/9813] Only get posts table row count if we detected a fulltext index.
  [ticket/9813] Also use estimated row count of posts table for fulltext mysql.
  [ticket/10653] Fix parameter to substr() in unit tests. Should be 1, not -1.
  [ticket/10653] Unit tests for get_row_count() and get_estimated_row_count().
  [ticket/10653] Add ability to count table rows to database abstraction layer.
  [ticket/9813] Use table status row count only if greater than 100000 or exact.
  [ticket/9813] Use SHOW TABLE STATUS to get search stats for native on MySQL.
2012-03-08 08:44:24 -05:00
Andreas Fischer
c11607bdd1 [ticket/10653] Call get_row_count of base class in mysql get_estimated_row_count
There is no point in fetching the table status again.

PHPBB3-10653
2012-03-08 14:39:03 +01:00
Andreas Fischer
01d90e59a8 [ticket/9813] Only get posts table row count if we detected a fulltext index.
PHPBB3-9813
2012-03-08 14:38:59 +01:00
Oleg Pudeyev
89a0cbc57e [ticket/7432] Delete redundant reference to "appropriate menu item".
PHPBB3-7432
2012-03-07 18:00:57 -05:00
Andreas Fischer
785c75254e [ticket/9813] Also use estimated row count of posts table for fulltext mysql.
Since this is 'only' for statistics anyway, using an estimated value does no
harm. Also, if MyISAM is the underlying storage engine for the posts table,
the value will actually be exact.

PHPBB3-9813
2012-03-05 00:29:28 +01:00
Andreas Fischer
f3af5945e3 [ticket/10653] Fix parameter to substr() in unit tests. Should be 1, not -1.
PHPBB3-10653
2012-03-04 22:11:45 +01:00
Andreas Fischer
6df721b215 [ticket/10653] Unit tests for get_row_count() and get_estimated_row_count().
PHPBB3-10653
2012-03-04 01:59:40 +01:00
Andreas Fischer
f9953fc339 [ticket/10653] Add ability to count table rows to database abstraction layer.
PHPBB3-10653
2012-03-03 21:04:01 +01:00
Andreas Fischer
97cf433dea [ticket/9813] Use table status row count only if greater than 100000 or exact.
PHPBB3-9813
2012-03-03 21:03:55 +01:00
Andreas Fischer
efe25a0b49 [ticket/9813] Use SHOW TABLE STATUS to get search stats for native on MySQL.
PHPBB3-9813
2012-03-03 21:03:50 +01:00
Andreas Fischer
d67fae0f09 Merge branch 'ticket/bantu/8652' into develop-olympus
* ticket/bantu/8652:
  [ticket/8652] Comment for also updating forum watch table in user_notification.
  [ticket/8652] Sending 2 emails on 2 replies
2012-03-02 14:22:18 +01:00
Andreas Fischer
b74530259f [ticket/8652] Comment for also updating forum watch table in user_notification.
PHPBB3-8652
2012-03-02 14:20:29 +01:00
Bruno Ais
470b79c9e3 [ticket/8652] Sending 2 emails on 2 replies
This is a fix for the problem of the system sending 2 emails when there are 2
replies to a topic where the user is subscribed in a topic and the forum that
contains the topic.
This simple fix seems to solve the problem. In simple tests I made it shows
it does.

PHPBB3-8652
2012-03-02 11:08:56 +00:00
Andreas Fischer
2f95a67765 Merge remote-tracking branch 'nickvergessen/ticket/10639' into develop-olympus
* nickvergessen/ticket/10639:
  [ticket/10639] Do not allow negative post count as rank's minimum posts
2012-02-28 22:28:54 +01:00
Andreas Fischer
f6cf8782c8 Merge remote-tracking branch 'nickvergessen/ticket/9220' into develop-olympus
* nickvergessen/ticket/9220:
  [ticket/9220] Remove margin on table.table1 so it's centered in the blue box.
2012-02-28 22:23:38 +01:00
Joas Schilling
17dc8c6c5c [ticket/9089] Add tabindex to pm/topic/post icon-options aswell
PHPBB3-9089
2012-02-27 17:18:08 +01:00
Joas Schilling
d3091da5ea [ticket/9220] Remove margin on table.table1 so it's centered in the blue box.
The problem here was, that we use width: 100% in combination with the negative
margin. This causes the element to be just moved to the side, so it's not
centered anymore. width: auto would fix this, but it causes strange behaviour
on IE and looks even more ugly. So I decided to just remove the margin at all.
The border is now 1px thicker for all sides.

PHPBB3-9220
2012-02-27 16:32:29 +01:00
Joas Schilling
45f39c6d1f [ticket/10605] Delete orphan private messages on update
PHPBB3-10605
2012-02-27 16:05:12 +01:00
Andreas Fischer
b2d589634a Merge remote-tracking branch 'cyberalien/ticket/10453' into develop-olympus
* cyberalien/ticket/10453:
  [ticket/10453] Fixing spacing
2012-02-26 16:01:33 +01:00
Vjacheslav Trushkin
d3d8793c1f [ticket/10453] Fixing spacing
Fixing spacing

PHPBB3-10453
2012-02-26 16:54:31 +02:00
Andreas Fischer
8910ec98d7 Merge remote-tracking branch 'rxu/ticket/10532' into develop-olympus
* rxu/ticket/10532:
  [ticket/10532] Remove unnecessary parentheses around calculations of addition.
  [ticket/10532] Remove one unnecessary level of if block nesting.
  [ticket/10532] Get rid of inline calculation of $start, remove duplicated check
  [ticket/10532] Put $total_match_count assignment onto its own line.
  [ticket/10532] Adjust total match count and limit
  [ticket/10532] Fix $start out of range for pre-made searches
2012-02-26 15:44:58 +01:00
Andreas Fischer
7a061cfc6e [ticket/10532] Remove unnecessary parentheses around calculations of addition.
PHPBB3-10532
2012-02-26 02:30:44 +01:00
Andreas Fischer
6548a3094f [ticket/10532] Remove one unnecessary level of if block nesting.
PHPBB3-10532
2012-02-26 02:19:12 +01:00
Andreas Fischer
459e8dc095 [ticket/10532] Get rid of inline calculation of $start, remove duplicated check
PHPBB3-10532
2012-02-26 02:15:39 +01:00
Andreas Fischer
8f3fba8858 [ticket/10532] Put $total_match_count assignment onto its own line.
PHPBB3-10532
2012-02-26 01:58:17 +01:00
Andreas Fischer
20d3d279ce Merge remote-tracking branch 'nickvergessen/ticket/10456' into develop-olympus
* nickvergessen/ticket/10456:
  [ticket/10456] Add tabindex to subsilver2 captcha
2012-02-25 20:26:19 +01:00
Andreas Fischer
825aef72e8 Merge remote-tracking branch 'nickvergessen/ticket/10630' into develop-olympus
* nickvergessen/ticket/10630:
  [ticket/10630] Use sql_like_expression() method instead of hardcoded LIKE '%x%'
  [ticket/10630] Perform array_unique on authors array before creating the query
2012-02-25 19:46:17 +01:00
Vjacheslav Trushkin
8cb95b3b84 Merge branch 'ticket/raimon/10453' into develop-olympus
* ticket/raimon/10453:
  [ticket/10453] PM viewmessage page is misplacing the online icon
  [ticket/10453] PM viewmessage page is misplacing the online icon
2012-02-24 20:05:26 +02:00
Joas Schilling
8e1e48a7b6 [ticket/8636] Add resync option to topic_view moderation page
PHPBB3-8636
2012-02-23 10:55:57 +01:00
Joas Schilling
340a8f19d6 [ticket/10456] Add tabindex to subsilver2 captcha
Did not set tabindex on registration page, as the hole page does not have any.

PHPBB3-10456
2012-02-21 11:25:22 +01:00
Joas Schilling
cd5c01ac2d [ticket/9089] Add tabindex to PM recipient box, to allow tabbing to the subject
I also added tabindex 1 to the buttons for adding the recipients.
Also note, that duplicated tabindex are fine:
http://www.w3.org/TR/html4/interact/forms.html#adef-tabindex

PHPBB3-9089
2012-02-21 11:10:10 +01:00
Joas Schilling
ef154b78a1 [ticket/10630] Use sql_like_expression() method instead of hardcoded LIKE '%x%'
PHPBB3-10630
2012-02-20 02:18:48 +01:00
Joas Schilling
afcf9cbc86 [ticket/10630] Perform array_unique on authors array before creating the query
This is needed to avoid an additional appearance for an author for every
post he made.

PHPBB3-10630
2012-02-20 02:17:13 +01:00
Joas Schilling
c3265c9138 [ticket/10639] Do not allow negative post count as rank's minimum posts
PHPBB3-10639
2012-02-20 01:52:33 +01:00
Andreas Fischer
11c5a66213 [ticket/10658] Use get_user_rank() for group ranks on group view.
The old code was buggy because it did not prefix the path with the phpBB root
path which causes problems with bridges and other URL rewriting.

PHPBB3-10658
2012-02-18 23:34:22 +01:00
Joas Schilling
17f5c6bf71 [ticket/10605] Check for orphan privmsgs when deleting a user
Also moved the hole code into a new function.

PHPBB3-10605
2012-02-18 12:00:12 +01:00
Oleg Pudeyev
4b2690f792 Merge remote-tracking branch 'bantu/ticket/10633' into develop-olympus
* bantu/ticket/10633:
  [ticket/10633] Stop leaking filename of attachments when thumbnail is requested
2012-02-11 05:56:16 -05:00
Oleg Pudeyev
e047b286d8 Merge remote-tracking branch 'bantu/ticket/10606' into develop-olympus
* bantu/ticket/10606:
  [ticket/10606] Also correctly use $s_search_hidden_fields in view(forum|topic).
  [ticket/10606] Fix incorrect hidden fields array name in page_header().
2012-02-11 05:47:52 -05:00
Oleg Pudeyev
ed6bd50ab8 Merge remote-tracking branch 'cyberalien/ticket/10569' into develop-olympus
* cyberalien/ticket/10569:
  [ticket/10569] Invalid string comparison in prosilver
  [ticket/10569] Invalid string comparison in subsilver2
2012-02-10 21:00:36 -05:00
Oleg Pudeyev
9c2d73c3f9 Merge remote-tracking branch 'bantu/ticket/10512' into develop-olympus
* bantu/ticket/10512:
  [ticket/10512] Call startup.php from tests/bootstrap.php
2012-02-10 01:29:23 -05:00
rxu
345e8e084f [ticket/9084] Don't hide 'non-entered' dropdown CPF value if not required
PHPBB3-9084
2012-02-10 00:31:13 +08:00
Andreas Fischer
a962e78854 [ticket/10606] Also correctly use $s_search_hidden_fields in view(forum|topic).
Regression from dfb7cc625a.

PHPBB3-10606
2012-02-09 15:34:04 +01:00
James King
35d5d527db [ticket/10606] Fix incorrect hidden fields array name in page_header().
Regression from dfb7cc625a.

PHPBB3-10606
2012-02-09 15:32:35 +01:00
Andreas Fischer
f894da0d25 [ticket/10633] Stop leaking filename of attachments when thumbnail is requested
While filenames are chosen at random and there is no correlation between the
original filename and the new filesystem filename, there is a correlation
between filesystem filename and filesytem filename of thumbnails.

Adjust error message to no longer include the physical filename and make it
consistent with the error message that is shown when there is no attachment at
all.

This information was mostly useless for regular users (i.e. non-admins) anyway.

PHPBB3-10633
2012-02-09 15:17:42 +01:00
Vjacheslav Trushkin
62288b3c05 [ticket/10569] Invalid string comparison in prosilver
Fixing invalid string comparison in ucp_main_front.html in prosilver

PHPBB3-10569
2012-02-07 22:03:24 +02:00
Igor Wiedler
3feeb382c5 Merge remote-tracking branch 'cyberalien/ticket/10616' into develop-olympus
* cyberalien/ticket/10616:
  [ticket/10616] Add template inheritance to exported template
  [ticket/10616] Ignore template inheritance that points to self
  [ticket/10616] Add template inheritance to default styles
2012-02-07 16:53:47 +01:00
rxu
f832f5a4ee [ticket/9831] Fix saving unchecked checkbox field value
PHPBB3-9831
2012-02-05 22:03:02 +08:00
Andreas Fischer
c0b3239bf3 [ticket/10512] Call startup.php from tests/bootstrap.php
PHPBB3-10512
2012-02-04 00:38:16 +01:00
David King
508b06063f Merge remote-tracking branch 'unknownbliss/ticket/9914' into develop-olympus
* unknownbliss/ticket/9914:
  [ticket/9914] Add backup warning to updater.
2012-02-03 16:58:50 -05:00
Michael Cullum
225892f506 [ticket/9914] Add backup warning to updater.
PHPBB3-9914
2012-02-03 16:14:48 +00:00
Vjacheslav Trushkin
326ff46ef7 [ticket/10616] Add template inheritance to exported template
Add template inheritance when exporting template.cfg

PHPBB3-10616
2012-02-03 16:19:42 +02:00
Vjacheslav Trushkin
4aef6ea979 [ticket/10616] Ignore template inheritance that points to self
Ignore template inheritance if it points to self

PHPBB3-10616
2012-02-03 16:09:48 +02:00
Vjacheslav Trushkin
d2a3496149 [ticket/10616] Add template inheritance to default styles
Adding template inheritance field to prosilver and subsilver2

PHPBB3-10616
2012-02-03 16:00:14 +02:00
Vjacheslav Trushkin
879c92e8a2 [ticket/10569] Invalid string comparison in subsilver2
Fixing invalid string comparison in ucp_main_front.html in subsilver2

PHPBB3-10569
2012-02-03 15:38:52 +02:00
Andreas Fischer
2ae6b8a5ed Merge remote-tracking branch 'Dickyf/ticket/10580' into develop-olympus
* Dickyf/ticket/10580:
  [ticket/10580] Remove checking of server timezone and DST when registering
2012-01-23 20:06:44 +01:00
Richard Foote
2cf586a372 [ticket/10580] Remove checking of server timezone and DST when registering
Remove checking of server timezone and DST. It causes a problem by
selecting the wrong timezone when registering when the board_timezone is 1
hour less than the server timezone.

PHPBB3-10580
2012-01-21 15:17:31 -05:00
rxu
99164cd20b [ticket/9831] Correctly store checkbox default value for boolean CPF.
PHPBB3-9831
2012-01-18 22:33:51 +08:00
Andreas Fischer
1628a28e0c Merge remote-tracking branch 'rxu/ticket/10589' into develop-olympus
* rxu/ticket/10589:
  [ticket/10589] Add alias to 'user_birthday' in $leap_year_birthdays definition
2012-01-15 21:43:15 +01:00
rxu
aa21bc2a73 [ticket/10589] Add alias to 'user_birthday' in $leap_year_birthdays definition
PHPBB3-10589
2012-01-15 18:18:04 +08:00
rxu
cb7bb31129 [ticket/10532] Adjust total match count and limit
Set a variable for the limit of total matches count.
Adjust total match count to limit to provide proper $start value calculation.
Adjust $start value if no matches were found.

PHPBB3-10532
2012-01-14 16:09:04 +08:00
rxu
c9733ad719 [ticket/10532] Fix $start out of range for pre-made searches
PHPBB3-10532
2012-01-14 15:55:23 +08:00
Oleg Pudeyev
d7aa3aab5e Merge remote-tracking branch 'bantu/ticket/9079' into develop-olympus
* bantu/ticket/9079:
  [ticket/9079] Always log backtrace to error log when logging errors.
  [ticket/9079] Display backtrace on all E_USER_ERROR errors, not only SQL errors
2012-01-12 22:28:45 -05:00
Oleg Pudeyev
95a74c7472 Merge remote-tracking branch 'cyberalien/ticket/10563' into develop-olympus
* cyberalien/ticket/10563:
  [ticket/10563] Show deactivated styles below active styles in acp
2012-01-06 02:45:35 -05:00
Vjacheslav Trushkin
23363efaaa [ticket/10563] Show deactivated styles below active styles in acp
Separates active and deactivated styles in styles list in acp

PHPBB3-10563
2012-01-02 21:07:40 +02:00
Andreas Fischer
3e7a0a3746 Merge remote-tracking branch 'Dickyf/ticket/10407a' into develop-olympus
* Dickyf/ticket/10407a:
  [ticket/10407] Fix check for empty image paths in convertor
  [ticket/10407] Fix check for empty image paths in convertor
2012-01-02 19:54:14 +01:00
Richard Foote
24cf7f1d29 [ticket/10407] Fix check for empty image paths in convertor
This applies to avatar_path,avatar_gallery_path,smilies_path and
upload_path.
Currently, the convertor gets each path from the config table and adds a
trailing slash. If there is no entry in the config table for the path, the
path can never be empty because of the added trailing slash. This patch
will check the path without the trailing slash to see if the path is
actually empty.

PHPBB3-10407
2012-01-02 13:09:21 -05:00
Andreas Fischer
2345be38b6 Merge branch 'prep-release-3.0.10'
* prep-release-3.0.10: (221 commits)
  [prep-release-3.0.10] Bumping version number for 3.0.10 final.
  [prep-release-3.0.10] Update Changelog for 3.0.10-RC3 release.
  [ticket/10531] Disallow deleting of the last style
  [ticket/8996] Revert initial fix to keep old behaviour on empty selection Part2
  [ticket/8996] Revert initial fix to keep old behaviour on empty selection
  [ticket/10319] Missing hidden fields in search form
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-6632
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10408
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10485
  [prep-release-3.0.10] Bumping version number for 3.0.10-RC3.
  [ticket/10480] Add a build target for changelog building.
  [ticket/10480] Add a build script for exporting the changelog from tracker.
  [ticket/10502] Fix typo in changelog. 'red' should have been 'read'.
  [prep-release-3.0.10] Remove duplicate ticket PHPBB3-10490 from changelog.
  [ticket/10501] Fix description of table prefixes
  [ticket/10503] Debug error "Invalid arguments" when previewing edits
  [prep-release-3.0.10] Update Changelog for 3.0.10-RC2 release.
  [ticket/10497] Fix SQL error when guest visits forum with unread topic
  [prep-release-3.0.10] Bumping version number for 3.0.10-RC2.
  [ticket/10461] Add a comment explaining the logic here.
  ...
2012-01-02 18:53:55 +01:00
Andreas Fischer
fd55d64996 Merge remote-tracking branch 'unknownbliss/ticket/9916-olympus' into develop-olympus
* unknownbliss/ticket/9916-olympus:
  [ticket/9916] Changing header in non-distributed files
  [ticket/9916] Changing coding guidelines license
  [ticket/9916] Updating License in the header
2012-01-02 17:35:49 +01:00
Unknown
5e52734c24 [ticket/9916] Changing header in non-distributed files
PHPBB3-9916
2012-01-02 16:20:30 +00:00
Unknown
0fc37fb397 [ticket/9916] Changing coding guidelines license
PHPBB3-9916
2012-01-02 16:20:22 +00:00
Unknown
17991823ea [ticket/9916] Updating License in the header
PHPBB3-9916
2012-01-02 16:18:32 +00:00
Andreas Fischer
3f91405acb Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [prep-release-3.0.10] Bumping version number for 3.0.10 final.

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2012-01-01 16:03:06 +01:00
Andreas Fischer
e14c3f3b77 [prep-release-3.0.10] Bumping version number for 3.0.10 final. 2012-01-01 16:00:17 +01:00
Richard Foote
d5dc70cbe3 [ticket/10407] Fix check for empty image paths in convertor
This applies to avatar_path,avatar_gallery_path,smilies_path and
upload_path.
Currently, the convertor gets each path from the config table and adds a
trailing slash. If there is no entry in the config table for the path, the
path can never be empty because of the added trailing slash. This patch
will temporarily remove the trailing slash, then check if the path is
empty.

PHPBB3-10407
2011-12-29 16:27:48 -05:00
Igor Wiedler
5cc1eb27c7 Merge remote-tracking branch 'bantu/ticket/10538' into develop-olympus
* bantu/ticket/10538:
  [ticket/10538] Call htmlspecialchars_decode() on Jabber and SMTP passwords.
2011-12-28 16:40:07 +01:00
Andreas Fischer
a45f03a5af Merge remote-tracking branch 'p/ticket/9681' into develop-olympus
* p/ticket/9681:
  [ticket/9681] Add password length to security settings
2011-12-25 15:16:25 +01:00
Andreas Fischer
b0fd3b2bf0 Merge remote-tracking branch 'p/ticket/10428' into develop-olympus
* p/ticket/10428:
  [ticket/10428] Documentation for optionget/optionset functions.
  [ticket/10428] Use phpbb_optionget/set in optionget/set for DRYness.
  [ticket/10428] Dispose of $this->keyvalues cache for optionget.
  [ticket/10428] Compare $data to false strictly.
2011-12-25 15:12:03 +01:00
Oleg Pudeyev
10453b6752 [ticket/10428] Documentation for optionget/optionset functions.
PHPBB3-10428
2011-12-25 01:51:32 -05:00
Oleg Pudeyev
99c102344e [ticket/10428] Use phpbb_optionget/set in optionget/set for DRYness.
PHPBB3-10428
2011-12-25 01:51:32 -05:00
Oleg Pudeyev
16ae99eec8 [ticket/10428] Dispose of $this->keyvalues cache for optionget.
It does not work properly when custom $data is provided, and
making it work will make the code so complicated that any benefits
from having this cache in the first place will be nullified.

Just get rid of it.

PHPBB3-10428
2011-12-25 01:51:32 -05:00
Oleg Pudeyev
38c2d4da35 [ticket/10428] Compare $data to false strictly.
Users may pass 0 or '' for $data, this should cause the
user-specified $data code path to be taken.

PHPBB3-10428
2011-12-25 01:51:20 -05:00
Andreas Fischer
ccd2ca55d4 Merge remote-tracking branch 'Dickyf/ticket/10542' into develop-olympus
* Dickyf/ticket/10542:
  [ticket/10542] Remove class="postlink" in subsilver2 faq_body.html
2011-12-25 00:58:03 +01:00
Richard Foote
fa003bb5fd [ticket/10542] Remove class="postlink" in subsilver2 faq_body.html
class="postlink" is not defined in stylesheet.css so remove it from
styles/subsilver2/template/faq_body.html

PHPBB3-10542
2011-12-24 11:30:17 -05:00
Oleg Pudeyev
b6999237f4 [ticket/9079] Always log backtrace to error log when logging errors.
PHPBB3-9079
2011-12-24 01:24:09 -05:00
Andreas Fischer
d9fef488af [ticket/9079] Display backtrace on all E_USER_ERROR errors, not only SQL errors
PHPBB3-9079
2011-12-24 01:14:25 -05:00
Oleg Pudeyev
519db8e3b2 Merge remote-tracking branch 'cyberalien/ticket/10507' into develop-olympus
* cyberalien/ticket/10507:
  [ticket/10507] DBAL unit test
  [ticket/10507] Sort styles in acp
2011-12-24 00:57:07 -05:00
Andreas Fischer
02f7baa0a5 Merge remote-tracking branch 'p/ticket/10546' into develop-olympus
* p/ticket/10546:
  [ticket/10546] Add missing argument to adm_back_link in acp_captcha.
2011-12-23 12:53:07 +01:00
Oleg Pudeyev
b8ddd32922 [ticket/7432] Explain what users are inactive in more detail.
PHPBB3-7432
2011-12-23 01:45:41 -05:00
Igor Wiedler
7779dae2cc [ticket/9681] Add password length to security settings
PHPBB3-9681
2011-12-23 00:42:13 -05:00
Oleg Pudeyev
fa2edf5187 [ticket/10546] Add missing argument to adm_back_link in acp_captcha.
PHPBB3-10546
2011-12-23 00:26:26 -05:00
Oleg Pudeyev
37fa5e56f3 Merge remote-tracking branch 'cyberalien/ticket/10399' into develop-olympus
* cyberalien/ticket/10399:
  [ticket/10399] Correctly encoding template component urls (3.0)
  [ticket/10399] Correctly encoding template component urls (3.0)
2011-12-22 15:45:48 -05:00
Andreas Fischer
82fff947c6 [ticket/10538] Call htmlspecialchars_decode() on Jabber and SMTP passwords.
PHPBB3-10538
2011-12-19 14:24:39 +01:00
Andreas Fischer
51f8f642de Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [prep-release-3.0.10] Update Changelog for 3.0.10-RC3 release.
2011-12-16 18:08:08 +01:00
Andreas Fischer
ba576f823b [prep-release-3.0.10] Update Changelog for 3.0.10-RC3 release. 2011-12-16 18:03:46 +01:00
Andreas Fischer
74c4b92760 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-6632
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10408
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10485
2011-12-16 17:45:08 +01:00
Andreas Fischer
6bfca76f1c Merge remote-tracking branch 'nickvergessen/ticket/10504' into prep-release-3.0.10
* nickvergessen/ticket/10504:
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-6632
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10408
  [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10485
2011-12-16 17:44:57 +01:00
Andreas Fischer
8f690d3475 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10531] Disallow deleting of the last style
2011-12-16 16:17:40 +01:00
Andreas Fischer
56c3a66c28 Merge remote-tracking branch 'nickvergessen/ticket/10531' into prep-release-3.0.10
* nickvergessen/ticket/10531:
  [ticket/10531] Disallow deleting of the last style
2011-12-16 16:03:20 +01:00
Andreas Fischer
f4bdfda69d Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/8996] Revert initial fix to keep old behaviour on empty selection Part2
  [ticket/8996] Revert initial fix to keep old behaviour on empty selection
2011-12-16 15:50:04 +01:00
Andreas Fischer
1d9fb6b4ec Merge remote-tracking branch 'nickvergessen/ticket/revert/8996' into prep-release-3.0.10
* nickvergessen/ticket/revert/8996:
  [ticket/8996] Revert initial fix to keep old behaviour on empty selection Part2
  [ticket/8996] Revert initial fix to keep old behaviour on empty selection
2011-12-16 15:49:30 +01:00
Joas Schilling
0cfa843677 [ticket/10531] Disallow deleting of the last style
Regression from PHPBB3-9675 commit 0e02f5cb0b

PHPBB3-9675
PHPBB3-10531
2011-12-15 23:17:16 +01:00
Joas Schilling
2bf4e8d3d0 [ticket/8996] Revert initial fix to keep old behaviour on empty selection Part2
Revert
"[ticket/8996] Correctly apply BBCodes in IE6-9 when applying with accesskey"

This reverts commit 219bdbaf70.

PHPBB3-8996
2011-12-15 22:17:39 +01:00
Joas Schilling
730d2d5d19 [ticket/8996] Revert initial fix to keep old behaviour on empty selection
Revert "[ticket/8996] Also fix the BBCode bug in subsilver2 and acp"

This reverts commit eb1f15bc8b.

PHPBB3-8996
2011-12-15 22:14:59 +01:00
Vjacheslav Trushkin
80149d0c87 [ticket/10507] DBAL unit test
Unit test for ORDER BY LOWER(style_name)

PHPBB3-10507
2011-12-15 16:18:52 +02:00
Vjacheslav Trushkin
cd4958f72c [ticket/10507] Sort styles in acp
Sort styles by name in admin control panel

PHPBB3-10507
2011-12-15 14:44:09 +02:00
Nils Adermann
2c7495e1c7 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10319] Missing hidden fields in search form
2011-12-09 01:32:21 +01:00
Nils Adermann
57ba746f51 Merge branch 'ticket/cyberalien/10319' into prep-release-3.0.10
* ticket/cyberalien/10319:
  [ticket/10319] Missing hidden fields in search form
2011-12-09 01:31:57 +01:00
Vjacheslav Trushkin
dfb7cc625a [ticket/10319] Missing hidden fields in search form
Missing hidden fields in search form (bug added in 3.0.9)

PHPBB3-10319
2011-12-09 01:31:41 +01:00
Joas Schilling
8af9a0054c [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-6632
Revert "[ticket/6632] Better viewing of topics for wide screen displays"

This reverts commit bb733b0204.

PHPBB3-6632
PHPBB3-10504
2011-12-08 23:14:02 +01:00
Joas Schilling
e3d81812fa [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10408
Revert "[ticket/10408] Layout of topics/attachments list is broken in UCP and
MCP"

This reverts commit 88aacd0f2c.

PHPBB3-6632
PHPBB3-10408
PHPBB3-10504
2011-12-08 23:07:44 +01:00
Joas Schilling
1a09f9005c [ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10485
Revert "[ticket/10485] Fix invalid HTML5 markup introduced in PHPBB3-6632"

This reverts commit c67633577f.

PHPBB3-6632
PHPBB3-10485
PHPBB3-10504
2011-12-08 23:05:13 +01:00
Andreas Fischer
7ae12df3d2 Merge remote-tracking branch 'p/ticket/10511' into develop-olympus
* p/ticket/10511:
  [ticket/10511] Fix a grammar defect in permissions language.
2011-12-08 22:22:22 +01:00
Andreas Fischer
48d767a36e Merge remote-tracking branch 'p/ticket/9876' into develop-olympus
* p/ticket/9876:
  [ticket/9876] Distinctly name user and forum roles for newly registered users.
2011-12-08 22:21:54 +01:00
Vjacheslav Trushkin
1842323ca9 [ticket/10399] Correctly encoding template component urls (3.0)
Changes in style.php

PHPBB3-10399
2011-12-04 11:43:55 +02:00
Oleg Pudeyev
1ce0c76e14 Merge remote-tracking branch 'bantu/ticket/10434' into develop-olympus
* bantu/ticket/10434:
  [ticket/10434] Add script for creating search index from CLI.
2011-12-03 22:28:05 -05:00
Oleg Pudeyev
bf6d501ab1 Merge remote-tracking branch 'Noxwizard/ticket/10349' into develop-olympus
* Noxwizard/ticket/10349:
  [ticket/10349] Removed duplicated functions from schema loading in tests
  [ticket/10349] Update function comment
  [ticket/10349] Use new schema comment function in installer
  [ticket/10349] Unit tests: Consolidate schema comment removal functions
  [ticket/10349] Unit tests: Remove comments while loading schema files
2011-12-03 22:07:34 -05:00
Andreas Fischer
138f123bd8 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [prep-release-3.0.10] Bumping version number for 3.0.10-RC3.

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2011-12-04 00:24:22 +01:00
Andreas Fischer
69cbb4ac1d [prep-release-3.0.10] Bumping version number for 3.0.10-RC3. 2011-12-04 00:22:10 +01:00
Andreas Fischer
9b9f30bbb9 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10503] Debug error "Invalid arguments" when previewing edits
2011-12-04 00:06:06 +01:00
Andreas Fischer
6f81a2f5b8 Merge remote-tracking branch 'nickvergessen/ticket/10503' into prep-release-3.0.10
* nickvergessen/ticket/10503:
  [ticket/10503] Debug error "Invalid arguments" when previewing edits
2011-12-04 00:05:56 +01:00
Andreas Fischer
74bc2d130d Merge remote-tracking branch 'p/ticket/10093' into develop-olympus
* p/ticket/10093:
  [ticket/10093] Use correct ANSI code for clearing color.
  [ticket/10093] Make commit-msg always not fatal by nuking all fatal logic.
  [ticket/10093] Use color in commit-msg hook warning/error messages.
  [ticket/10093] Refactor complaining in commit-msg hook for color support.
  [ticket/10093] Respect phpbb.hooks.commit-msg.fatal on syntax errors.
  [ticket/10093] Document phpbb.hooks.commit-msg.fatal setting.
2011-12-03 23:56:00 +01:00
Oleg Pudeyev
5b9c835127 [ticket/9876] Distinctly name user and forum roles for newly registered users.
PHPBB3-9876
2011-12-03 17:44:58 -05:00
Oleg Pudeyev
0ad81a4cdc [ticket/10511] Fix a grammar defect in permissions language.
PHPBB3-10511
2011-12-03 17:42:10 -05:00
Oleg Pudeyev
8e59699424 [ticket/10093] Use correct ANSI code for clearing color.
PHPBB3-10093
2011-12-03 16:43:13 -05:00
Oleg Pudeyev
88cad5523e [ticket/10093] Make commit-msg always not fatal by nuking all fatal logic.
PHPBB3-10093
2011-12-03 16:41:31 -05:00
Nils Adermann
cafe74a88d Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10480] Add a build target for changelog building.
  [ticket/10480] Add a build script for exporting the changelog from tracker.
  [ticket/10502] Fix typo in changelog. 'red' should have been 'read'.
2011-12-01 22:21:30 +01:00
Nils Adermann
7f8968595b Merge remote-tracking branch 'github-bantu/ticket/10480' into prep-release-3.0.10
* github-bantu/ticket/10480:
  [ticket/10480] Add a build target for changelog building.
  [ticket/10480] Add a build script for exporting the changelog from tracker.
2011-12-01 22:20:48 +01:00
Nils Adermann
29723c97c6 Merge remote-tracking branch 'github-bantu/ticket/10502' into prep-release-3.0.10
* github-bantu/ticket/10502:
  [ticket/10502] Fix typo in changelog. 'red' should have been 'read'.
2011-12-01 22:20:11 +01:00
Vjacheslav Trushkin
74ae7d0339 [ticket/10399] Correctly encoding template component urls (3.0)
Correctly encoding template component urls

PHPBB3-10399
2011-12-01 01:46:33 +02:00
Andreas Fischer
050fb83dfe Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10501] Fix description of table prefixes
2011-11-29 20:09:38 +01:00
Andreas Fischer
e596d2ca7e Merge remote-tracking branch 'nickvergessen/ticket/10501' into prep-release-3.0.10
* nickvergessen/ticket/10501:
  [ticket/10501] Fix description of table prefixes
2011-11-29 20:09:25 +01:00
Andreas Fischer
f351914137 [ticket/10480] Add a build target for changelog building.
PHPBB3-10480
2011-11-29 20:05:27 +01:00
Andreas Fischer
4cf059e38f [ticket/10480] Add a build script for exporting the changelog from tracker.
PHPBB3-10480
2011-11-29 20:05:21 +01:00
Andreas Fischer
8f1f42cc6c [ticket/10502] Fix typo in changelog. 'red' should have been 'read'.
PHPBB3-10502
2011-11-29 19:59:31 +01:00
Andreas Fischer
895501743d Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [prep-release-3.0.10] Remove duplicate ticket PHPBB3-10490 from changelog.
2011-11-28 23:12:44 +01:00
Andreas Fischer
593ac9ed43 [prep-release-3.0.10] Remove duplicate ticket PHPBB3-10490 from changelog. 2011-11-28 23:10:01 +01:00
Joas Schilling
cb4e72298b [ticket/10501] Fix description of table prefixes
They must start with a letter, not an alphanumeric character

PHPBB3-10501
2011-11-28 11:28:46 +01:00
Joas Schilling
f88e89900f [ticket/10503] Debug error "Invalid arguments" when previewing edits
Empty value of poll_options should be an empty array, so that sizeof() is 0.

PHPBB3-9776
PHPBB3-10503
2011-11-28 10:35:43 +01:00
Andreas Fischer
fc47fa06a3 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [prep-release-3.0.10] Update Changelog for 3.0.10-RC2 release.
2011-11-27 16:23:53 +01:00
Andreas Fischer
ede3963951 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10497] Fix SQL error when guest visits forum with unread topic
2011-11-27 16:13:11 +01:00
Oleg Pudeyev
92cdf08d48 [ticket/10093] Use color in commit-msg hook warning/error messages.
By default color is used if the message is printed to a tty,
phpbb.hooks.commit-msg.color configuration setting can override this.

PHPBB3-10093
2011-11-26 18:06:38 -05:00
Oleg Pudeyev
6a3ee0996e [ticket/10093] Refactor complaining in commit-msg hook for color support.
PHPBB3-10093
2011-11-26 17:41:25 -05:00
Oleg Pudeyev
26d01d4408 [ticket/10093] Respect phpbb.hooks.commit-msg.fatal on syntax errors.
PHPBB3-10093
2011-11-26 17:35:35 -05:00
Oleg Pudeyev
0cb83f99ab [ticket/10093] Document phpbb.hooks.commit-msg.fatal setting.
PHPBB3-10093
2011-11-26 17:32:40 -05:00
Andreas Fischer
7520b27639 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [prep-release-3.0.10] Bumping version number for 3.0.10-RC2.

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2011-11-26 22:20:32 +01:00
Andreas Fischer
f856cc2ef6 Merge remote-tracking branch 'p/ticket/10280' into develop-olympus
* p/ticket/10280:
  [ticket/10280] Change the display of user activation settings in the ACP.
2011-11-25 18:13:58 +01:00
RMcGirr83
3ce5b1d386 [ticket/10280] Change the display of user activation settings in the ACP.
Use a select box to be consistent with other settings.

PHPBB3-10280
2011-11-25 01:27:44 -05:00
Oleg Pudeyev
372698218a Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10483] Fix test suite when running with MySQL strict mode
2011-11-25 01:08:01 -05:00
Oleg Pudeyev
58e35759d9 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10485] Fix invalid HTML5 markup introduced in PHPBB3-6632
2011-11-24 21:33:44 -05:00
Oleg Pudeyev
a29a9266e3 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10486] Create git shortlog and git diff --stat in build script.
2011-11-24 20:14:03 -05:00
Oleg Pudeyev
6f41f96444 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10488] Only set $config['email_max_chunk_size'] when not already set.
2011-11-23 20:50:01 -05:00
Oleg Pudeyev
d13ce7f560 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10461] Add a comment explaining the logic here.
  [ticket/10461] Correct $log_count check in view_log() so we show logs again.
2011-11-23 20:39:11 -05:00
Oleg Pudeyev
cd60073a52 Merge branch 'prep-release-3.0.10' into develop-olympus
* prep-release-3.0.10:
  [ticket/10479] Remove PostgreSQL version numbers from driver's language string
2011-11-23 18:39:39 -05:00
Andreas Fischer
a9d7b1f9a1 [develop-olympus] Increment version number to 3.0.11-dev in develop-olympus. 2011-11-21 00:57:53 +01:00
Raimon
c0ffc8386c [ticket/10453] PM viewmessage page is misplacing the online icon
Removed the position: absolute value, and made it so that if the
buttons are bigger the text move with it, also added support for
bidi.css (text right to left).

PHPBB3-10453

http://tracker.phpbb.com/browse/PHPBB3-10453
2011-11-14 21:38:10 +01:00
Raimon
65921ae67a [ticket/10453] PM viewmessage page is misplacing the online icon
PHPBB3-10453

http://tracker.phpbb.com/browse/PHPBB3-10453
2011-11-13 20:10:51 +01:00
Andreas Fischer
bb40789552 [ticket/10434] Add script for creating search index from CLI.
PHPBB3-10434
2011-10-30 14:00:30 +01:00
Patrick Webster
baac9e5d15 [ticket/10349] Removed duplicated functions from schema loading in tests
PHPBB3-10349
2011-10-29 17:10:10 -05:00
Patrick Webster
b4dcd4193e [ticket/10349] Update function comment
PHPBB3-10349
2011-09-28 11:27:39 -05:00
Patrick Webster
26e84b12e8 [ticket/10349] Use new schema comment function in installer
This is what now runs in the unit tests. The COMMENTS field in the dbms data
is no longer needed, so it has been removed.

PHPBB3-10349
2011-09-28 01:52:08 -05:00
Patrick Webster
4bc11db0ff [ticket/10349] Unit tests: Consolidate schema comment removal functions
PHPBB3-10349
2011-09-20 23:23:03 -05:00
Patrick Webster
bcaf65d7cd [ticket/10349] Unit tests: Remove comments while loading schema files
Perform the same operations that the installer does when preparing the schema
files. These functions come straight from /includes/functions_install.php and
/includes/functions_admin.php.

PHPBB3-10349
2011-09-03 17:26:36 -05:00
Andreas Fischer
c8da5ad9f4 Merge branch 'prep-release-3.0.9'
* prep-release-3.0.9: (359 commits)
  [prep-release-3.0.9] Bumping version number for 3.0.9 final.
  [prep-release-3.0.9] Update Changelog for 3.0.9-RC4 release.
  [prep-release-3.0.9] Decreasing version for an RC4 release.
  [ticket/9859] Changing all phpBB footers to match the new credit line
  [ticket/9859] New footer copyright line with registered symbol
  [ticket/10250] The site_logo hash is different depending on imageset & language
  [ticket/10250] Destroy cached md5 hash of site_logo on refreshing an imageset
  [ticket/10250] Overwrite the site_logo width&height when the phpbb logo is used
  [ticket/10247] Remove attempt_id as primary key from database_update.php
  [ticket/10250] Added the new phpBB Logo with the Registered Trademark Symbol
  [ticket/10247] Use COUNT(*) instead of COUNT(attempt_id)
  [prep-release-3.0.9] Update Changelog for 3.0.9 release.
  [prep-release-3.0.9] Bumping version number for the final 3.0.9 release.
  [ticket/10247] Removing attempt_id column from the 3.0.8 to 3.0.9-RC1 updater.
  [ticket/10247] Add a db_tools test for the removal of a primary key column.
  [ticket/10247] Add empty data section to database update for RC4
  [ticket/10247] Remove unecessary attempt_id primary key column
  [prep-release-3.0.9] Bump database version to RC3 too.
  [prep-release-3.0.9] Update Changelog for 3.0.9-RC3 release.
  [prep-release-3.0.9] Bumping version number for 3.0.9-RC3.
  ...
2011-07-11 00:29:45 +02:00
Nils Adermann
7f21a5f461 Merge commit 'release-3.0.8'
* commit 'release-3.0.8': (393 commits)
  [prep-release-3.0.8] Incrementing version number to 3.0.8 and update changelog
  [ticket/9903] Script for detecting potentially malicious flash bbcodes
  [ticket/9904] Update WebPI Parameters.xml to work with WebMatrix.
  [ticket/9899] Change recaptcha theme from default to 'clean' in the ACP.
  [ticket/9509] Fix a typo and wrong period placement
  [ticket/9903] Fix XSS in BBcode-parser's Flash-BBcode.
  [develop-olympus] Updating changelog for last minute 3.0.8-RC1 fixes.
  [ticket/9140] Check current board version in incremental update packages
  [ticket/9891] Updater drops language-selection after database-update
  [develop-olympus] Updating changelog with latest changes for 3.0.8-RC1
  [ticket/9884] Reduce queue interval to 60 seconds, email package size to 20
  [ticket/9886] Update fails on PostgreSQL because of an error in _add_module
  [ticket/9888] Update fails when Bing [Bot] was already added to the users table
  [develop-olympus] Bumping version number for 3.0.8-RC1.
  [ticket/9885] Fix extension group name updater. Loop through all languages.
  [ticket/9847] Fix typo in search synonyms. Use british english for 'judgement'.
  [ticket/9883] Change an American English spelling to British English.
  [task/phing-build] Correct the path for update package patch files.
  [ticket/9880] Change "antibot" to "anti-spambot".
  [ticket/9696] Surpress is_dir() notice when using SQLite with open_basedir.
  ...
2010-11-20 17:00:05 +01:00
227 changed files with 3612 additions and 1363 deletions

6
.gitignore vendored
View File

@@ -1,12 +1,18 @@
*~
/phpunit.xml
/phpBB/cache/*.html
/phpBB/cache/*.php
/phpBB/cache/queue.php.lock
/phpBB/composer.phar
/phpBB/config.php
/phpBB/config_dev.php
/phpBB/config_test.php
/phpBB/ext/*
/phpBB/files/*
/phpBB/images/avatars/gallery/*
/phpBB/images/avatars/upload/*
/phpBB/store/*
/phpBB/vendor
/tests/phpbb_unit_tests.sqlite2
/tests/test_config.php
/tests/tmp/*

27
.travis.yml Normal file
View File

@@ -0,0 +1,27 @@
language: php
php:
- 5.2
- 5.3.3
- 5.3
- 5.4
env:
- DB=mysql
- DB=postgres
before_script:
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS phpbb_tests;' -U postgres; fi"
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'create database phpbb_tests;' -U postgres; fi"
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'create database IF NOT EXISTS phpbb_tests;'; fi"
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.2' ]; then pear install --force phpunit/DbUnit; else pyrus install --force phpunit/DbUnit; fi"
- phpenv rehash
script:
- phpunit --configuration travis/phpunit-$DB-travis.xml
notifications:
email:
recipients:
- dev-team@phpbb.com
on_success: change
on_failure: change

View File

@@ -15,6 +15,12 @@ Find support and lots more on [phpBB.com](http://www.phpbb.com)! Discuss the dev
3. [Read our Git Contribution Guidelines](http://wiki.phpbb.com/Git); if you're new to git, also read [the introduction guide](http://wiki.phpbb.com/display/DEV/Working+with+Git)
4. Send us a pull request
## AUTOMATED TESTING
We have unit and functional tests in order to prevent regressions. You can view the bamboo continuous integration [here](http://bamboo.phpbb.com) or check our travis build below.
develop - [![Build Status](https://secure.travis-ci.org/phpbb/phpbb3.png?branch=develop)](http://travis-ci.org/phpbb/phpbb3)
develop-olympus - [![Build Status](https://secure.travis-ci.org/phpbb/phpbb3.png?branch=develop-olympus)](http://travis-ci.org/phpbb/phpbb3)
## LICENSE
[GNU General Public License v2](http://opensource.org/licenses/gpl-2.0.php)

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.0.10-RC2" />
<property name="prevversion" value="3.0.9" />
<property name="olderversions" value="3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.7-PL1, 3.0.8, 3.0.10-RC1" />
<property name="newversion" value="3.0.11" />
<property name="prevversion" value="3.0.10" />
<property name="olderversions" value="3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.7-PL1, 3.0.8, 3.0.9, 3.0.11-RC1, 3.0.11-RC2" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />
@@ -138,6 +138,12 @@
save/save_${prevversion}_to_${newversion}/phpbb-${prevversion}_to_${newversion}_git_diffstat.txt" />
</target>
<target name="changelog" depends="prepare">
<exec dir="build" escape="false"
command="php -f build_changelog.php '${newversion}' >
save/changelog_${newversion}.html" />
</target>
<!--
This target can be called using phingcall to retrieve a clean
checkout of a commit from git. It will only export the phpBB directory.

53
build/build_changelog.php Executable file
View File

@@ -0,0 +1,53 @@
#!/usr/bin/env php
<?php
/**
*
* @package build
* @copyright (c) 2011 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if ($_SERVER['argc'] != 2)
{
echo "Please specify the new version as argument (e.g. build_changelog.php '1.0.2').\n";
exit(1);
}
$fixVersion = $_SERVER['argv'][1];
$query = 'project = PHPBB3
AND resolution = Fixed
AND fixVersion = "' . $fixVersion . '"
AND status IN ("Unverified Fix", Closed)';
$url = 'http://tracker.phpbb.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=' . urlencode($query) . '&tempMax=1000';
$xml = simplexml_load_string(file_get_contents($url));
foreach ($xml->xpath('//item') as $item)
{
$key = (string) $item->key;
$keyUrl = 'http://tracker.phpbb.com/browse/' . $key;
$keyLink = '<a href="' . $keyUrl . '">' . $key . '</a>';
$value = str_replace($key, $keyLink, htmlspecialchars($item->title));
$value = str_replace(']', '] -', $value);
$types[(string) $item->type][$key] = $value;
}
ksort($types);
foreach ($types as $type => $tickets)
{
echo "<h4>$type</h4>\n";
echo "<ul>\n";
uksort($tickets, 'strnatcasecmp');
foreach ($tickets as $ticket)
{
echo "<li>$ticket</li>\n";
}
echo "</ul>\n";
}

View File

@@ -3,9 +3,8 @@
/**
*
* @package build
* @version $Id$
* @copyright (c) 2010 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
@@ -388,7 +387,7 @@ function build_header($mode, $filenames, $header)
$html .= "## {$filename['phpbb_filename']}\n";
}
}
$html .= "## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2 \n";
$html .= "## License: http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 \n";
$html .= "############################################################## \n";
$html .= "\n";

View File

@@ -2,9 +2,8 @@
/**
*
* @package build
* @version $Id$
* @copyright (c) 2010 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -2,10 +2,9 @@
/**
*
* @package build
* @version $Id$
* @copyright (c) 2000 Geoffrey T. Dairiki <dairiki@dairiki.org>
* @copyright (c) 2010 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -3,9 +3,8 @@
/**
*
* @package build
* @version $Id$
* @copyright (c) 2010 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -11,14 +11,30 @@
#
# ln -s ../../git-tools/hooks/commit-msg \\
# .git/hooks/commit-msg
#
# You can configure whether invalid commit messages abort commits:
#
# git config phpbb.hooks.commit-msg.fatal true (abort)
# git config phpbb.hooks.commit-msg.fatal false (warn only, do not abort)
#
# The default is to warn only.
#
# Warning/error messages use color by default if the output is a terminal
# ("output" here is normally standard error when you run git commit).
# To force or disable the use of color:
#
# git config phpbb.hooks.commit-msg.color true (force color output)
# git config phpbb.hooks.commit-msg.color false (disable color output)
config_ns="phpbb.hooks.commit-msg";
if [ "$(git config --bool $config_ns.fatal)" = "false" ]
if [ "$(git config --bool $config_ns.fatal)" = "true" ]
then
fatal=0;
else
fatal=1;
severity=Error;
else
fatal=0;
severity=Warning;
fi
debug_level=$(git config --int $config_ns.debug || echo 0);
@@ -47,14 +63,68 @@ debug()
quit()
{
if [ $1 -gt 0 ] && [ $1 -ne $ERR_UNKNOWN ] && [ $fatal -eq 0 ]
if [ $1 -eq 0 ] || [ $1 -eq $ERR_UNKNOWN ]
then
# success
exit 0;
elif [ $fatal -eq 0 ]
then
# problems found but fatal is false
complain 'Please run `git commit --amend` and fix the problems mentioned.' 1>&2
exit 0;
else
complain "Aborting commit." 1>&2
exit $1;
fi
}
use_color()
{
if [ -z "$use_color_cached" ]
then
case $(git config --bool $config_ns.color)
in
false)
use_color_cached=1
;;
true)
use_color_cached=0
;;
*)
# tty detection in shell:
# http://hwi.ath.cx/jsh/list/shext/isatty.sh.html
tty 0>/dev/stdout >/dev/null 2>&1
use_color_cached=$?
;;
esac
fi
# return value is the flag inverted -
# if return value is 0, this means use color
return $use_color_cached
}
complain()
{
if use_color
then
# Careful: our argument may include arguments to echo like -n
# ANSI color codes:
# http://pueblo.sourceforge.net/doc/manual/ansi_color_codes.html
printf "\033[31m\033[1m"
if [ "$1" = "-n" ]
then
echo "$@"
printf "\033[0m"
else
# This will print one trailing space.
# Not sure how to avoid this at the moment.
echo "$@" $(printf "\033[0m")
fi
else
echo "$@"
fi
}
# Check for empty commit message
if ! grep -qv '^#' "$1"
then
@@ -70,9 +140,9 @@ msg=$(grep -v '^#' "$1" |grep -nE '.{81,}')
if [ $? -eq 0 ]
then
echo "The following lines are greater than 80 characters long:" >&2;
echo >&2
echo "$msg" >&2;
complain "The following lines are greater than 80 characters long:" >&2;
complain >&2
complain "$msg" >&2;
quit $ERR_LENGTH;
fi
@@ -126,9 +196,9 @@ do
# Don't be too strict.
# Commits may be temporary, intended to be squashed later.
# Just issue a warning here.
echo "Warning: heading should be a sentence beginning with a capital letter." 1>&2
echo "You entered:" 1>&2
echo "$line" 1>&2
complain "$severity: heading should be a sentence beginning with a capital letter." 1>&2
complain "You entered:" 1>&2
complain "$line" 1>&2
fi
# restore exit code
(exit $result)
@@ -160,7 +230,7 @@ do
echo "$line" | grep -Eq "^#";
;;
*)
echo "Unrecognised token $expect" >&2;
complain "Unrecognised token $expect" >&2;
quit $err;
;;
esac
@@ -231,7 +301,7 @@ do
expecting="eof";
;;
*)
echo "Unrecognised token $expect" >&2;
complain "Unrecognised token $expect" >&2;
quit 254;
;;
esac
@@ -245,11 +315,11 @@ do
else
# None of the expected line formats matched
# Guess we'll call it a day here then
echo "Syntax error on line $i:" >&2;
echo ">> $line" >&2;
echo -n "Expecting: " >&2;
echo "$expecting" | sed 's/ /, /g' >&2;
exit $err;
complain "Syntax error on line $i:" >&2;
complain ">> $line" >&2;
complain -n "Expecting: " >&2;
complain "$expecting" | sed 's/ /, /g' >&2;
quit $err;
fi
i=$(( $i + 1 ));
@@ -258,7 +328,7 @@ done
# If EOF is expected exit cleanly
echo "$expecting" | grep -q "eof" || (
# Unexpected EOF, error
echo "Unexpected EOF encountered" >&2;
complain "Unexpected EOF encountered" >&2;
quit $ERR_EOF;
) && (
# Do post scan checks
@@ -269,8 +339,8 @@ echo "$expecting" | grep -q "eof" || (
if [ ! -z "$dupes" ]
then
echo "The following tickets are repeated:" >&2;
echo "$dupes" | sed 's/ /\n/g;s/^/* /g' >&2;
complain "The following tickets are repeated:" >&2;
complain "$dupes" | sed 's/ /\n/g;s/^/* /g' >&2;
quit $ERR_FOOTER;
fi
fi
@@ -278,8 +348,8 @@ echo "$expecting" | grep -q "eof" || (
if [ $ticket -gt 0 ]
then
echo "$tickets" | grep -Eq "\bPHPBB3-$ticket\b" || (
echo "Ticket ID [$ticket] of branch missing from list of tickets:" >&2;
echo "$tickets" | sed 's/ /\n/g;s/^/* /g' >&2;
complain "Ticket ID [$ticket] of branch missing from list of tickets:" >&2;
complain "$tickets" | sed 's/ /\n/g;s/^/* /g' >&2;
quit $ERR_FOOTER;
) || exit $?;
fi

View File

@@ -12,8 +12,17 @@
# ln -s ../../git-tools/hooks/pre-commit \\
# .git/hooks/pre-commit
# NOTE: this is run through /usr/bin/env
PHP_BIN=php
if [ -z "$PHP_BIN" ]
then
PHP_BIN=php
fi
if [ "$(echo -e test)" = test ]
then
echo_e="echo -e"
else
echo_e="echo"
fi
# necessary check for initial commit
if git rev-parse --verify HEAD >/dev/null 2>&1
@@ -27,7 +36,7 @@ fi
error=0
errors=""
if ! which $PHP_BIN >/dev/null 2>&1
if ! which "$PHP_BIN" >/dev/null 2>&1
then
echo "PHP Syntax check failed:"
echo "PHP binary does not exist or is not in path: $PHP_BIN"
@@ -64,7 +73,13 @@ do
# check the staged file content for syntax errors
# using php -l (lint)
result=$(git cat-file -p $sha | /usr/bin/env $PHP_BIN -l 2>/dev/null)
# note: if display_errors=stderr in php.ini,
# parse errors are printed on stderr; otherwise
# they are printed on stdout.
# we filter everything other than parse errors
# with a grep below, therefore it should be safe
# to combine stdout and stderr in all circumstances
result=$(git cat-file -p $sha | "$PHP_BIN" -l 2>&1)
if [ $? -ne 0 ]
then
error=1
@@ -76,7 +91,45 @@ unset IFS
if [ $error -eq 1 ]
then
echo -e "PHP Syntax check failed:";
echo -e "$errors" | grep "^Parse error:"
echo "PHP Syntax check failed:"
# php "display errors" (display_errors php.ini value)
# and "log errors" (log_errors php.ini value).
# these are independent settings - see main/main.c in php source.
# the "log errors" setting produces output which
# starts with "PHP Parse error:"; the "display errors"
# setting produces output starting with "Parse error:".
# if both are turned on php dumps the parse error twice.
# therefore here we try to grep for one version and
# if that yields no results grep for the other version.
#
# other fun php facts:
#
# 1. in cli, display_errors and log_errors have different
# destinations by default. display_errors prints to
# standard output and log_errors prints to standard error.
# whether these destinations make sense is left
# as an exercise for the reader.
# 2. as mentioned above, with all output turned on
# php will print parse errors twice, one time on stdout
# and one time on stderr.
# 3. it is possible to set both display_errors and log_errors
# to off. if this is done php will print the text
# "Errors parsing <file>" but will not say what
# the errors are. useful behavior, this.
# 4. on my system display_errors defaults to on and
# log_errors defaults to off, therefore providing
# by default one copy of messages. your mileage may vary.
# 5. by setting display_errors=stderr and log_errors=on,
# both sets of messages will be printed on stderr.
# 6. php-cgi binary, given display_errors=stderr and
# log_errors=on, still prints both sets of messages
# on stderr, but formats one set as an html fragment.
# 7. your entry here? ;)
$echo_e "$errors" | grep "^Parse error:"
if [ $? -ne 0 ]
then
# match failed
$echo_e "$errors" | grep "^PHP Parse error:"
fi
exit 1
fi

View File

@@ -4,7 +4,7 @@
*
* @package phpBB3
* @copyright (c) 2011 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -4,7 +4,7 @@
*
* @package phpBB3
* @copyright (c) 2011 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -199,6 +199,7 @@ function adm_page_footer($copyright_html = true)
'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '',
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'S_COPYRIGHT_HTML' => $copyright_html,
'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group'),
'VERSION' => $config['version'])
);

View File

@@ -63,6 +63,10 @@
<dt><label for="field_required">{L_REQUIRED_FIELD}:</label><br /><span>{L_REQUIRED_FIELD_EXPLAIN}</span></dt>
<dd><input type="checkbox" class="radio" id="field_required" name="field_required" value="1"<!-- IF S_FIELD_REQUIRED --> checked="checked"<!-- ENDIF --> /></dd>
</dl>
<dl>
<dt><label for="field_show_novalue">{L_SHOW_NOVALUE_FIELD}:</label><br /><span>{L_SHOW_NOVALUE_FIELD_EXPLAIN}</span></dt>
<dd><input type="checkbox" class="radio" id="field_show_novalue" name="field_show_novalue" value="1"<!-- IF S_FIELD_SHOW_NOVALUE --> checked="checked"<!-- ENDIF --> /></dd>
</dl>
<dl>
<dt><label for="field_hide">{L_HIDE_PROFILE_FIELD}:</label><br /><span>{L_HIDE_PROFILE_FIELD_EXPLAIN}</span></dt>
<dd><input type="checkbox" class="radio" id="field_hide" name="field_hide" value="1"<!-- IF S_FIELD_HIDE --> checked="checked"<!-- ENDIF --> /></dd>

View File

@@ -402,6 +402,12 @@
<td class="row3" colspan="{$COLSPAN}"><strong>{L_INSTALLED}</strong></td>
</tr>
<!-- BEGIN installed -->
<!-- IF installed.S_INACTIVE and not $INACTIVE_STYLES -->
<!-- DEFINE $INACTIVE_STYLES = 1 -->
<tr>
<td class="row3" colspan="{$COLSPAN}"><strong>{L_INACTIVE_STYLES}</strong></td>
</tr>
<!-- ENDIF -->
<tr>
<td><strong>{installed.NAME}</strong><!-- IF installed.S_DEFAULT_STYLE --> *<!-- ENDIF --></td>
<!-- IF S_STYLE -->

View File

@@ -135,19 +135,24 @@
</form>
<!-- IF not S_OWN_ACCOUNT -->
<form id="user_delete" method="post" action="{U_ACTION}">
<fieldset>
<legend>{L_DELETE_USER}</legend>
<dl>
<dt><label for="delete_type">{L_DELETE_USER}:</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
<dd><select id="delete_type" name="delete_type"><option class="sep" value="">{L_SELECT_OPTION}</option><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select></dd>
</dl>
<p class="quick">
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
<input type="hidden" name="delete" value="1" />
{S_FORM_TOKEN}
</p>
</fieldset>
</form>
<form id="user_delete" method="post" action="{U_ACTION}">
<fieldset>
<legend>{L_DELETE_USER}</legend>
<dl>
<dt><label for="delete_type">{L_DELETE_USER}:</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
<dd>
<!-- IF USER_HAS_POSTS -->
<select id="delete_type" name="delete_type"><option class="sep" value="">{L_SELECT_OPTION}</option><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select></dd>
<!-- ELSE -->
{L_USER_NO_POSTS_TO_DELETE}<input type="hidden" id="delete_type" name="delete_type" value="retain" />
<!-- ENDIF -->
</dl>
<p class="quick">
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
<input type="hidden" name="delete" value="1" />
{S_FORM_TOKEN}
</p>
</fieldset>
</form>
<!-- ENDIF -->
<!-- ENDIF -->

View File

@@ -142,15 +142,15 @@ li {
#page-header {
clear: both;
text-align: right;
background: url("../images/phpbb_logo.gif") top left no-repeat;
height: 49px;
background: url("../images/phpbb_logo.png") top left no-repeat;
height: 54px;
font-size: 0.85em;
margin-bottom: 10px;
}
.rtl #page-header {
text-align: left;
background: url("../images/phpbb_logo.gif") top right no-repeat;
background: url("../images/phpbb_logo.png") top right no-repeat;
}
#page-header h1 {

View File

@@ -28,8 +28,8 @@ function helpline(help)
/**
* Fix a bug involving the TextRange object. From
* http://www.frostjedi.com/terra/scripts/demo/caretBug.html
*/
function initInsertions()
*/
function initInsertions()
{
var doc;
if(document.forms[form_name])
@@ -66,7 +66,7 @@ function bbstyle(bbnumber)
else
{
insert_text('[*]');
document.forms[form_name].elements[text_name].focus();
document.forms[form_name].elements[text_name].focus();
}
}
@@ -76,7 +76,7 @@ function bbstyle(bbnumber)
function bbfontstyle(bbopen, bbclose)
{
theSelection = false;
var textarea = document.forms[form_name].elements[text_name];
textarea.focus();
@@ -84,10 +84,14 @@ function bbfontstyle(bbopen, bbclose)
if ((clientVer >= 4) && is_ie && is_win)
{
// Get text selection
if (textarea.createTextRange && textarea.caretPos)
theSelection = document.selection.createRange().text;
if (theSelection)
{
textarea.caretPos.text = bbopen + textarea.caretPos.text + bbclose;
textarea.focus();
// Add tags around selection
document.selection.createRange().text = bbopen + theSelection + bbclose;
document.forms[form_name].elements[text_name].focus();
theSelection = '';
return;
}
}
@@ -98,10 +102,10 @@ function bbfontstyle(bbopen, bbclose)
theSelection = '';
return;
}
//The new position for the cursor after adding the bbcode
var caret_pos = getCaretPosition(textarea).start;
var new_pos = caret_pos + bbopen.length;
var new_pos = caret_pos + bbopen.length;
// Open tag
insert_text(bbopen + bbclose);
@@ -112,12 +116,12 @@ function bbfontstyle(bbopen, bbclose)
{
textarea.selectionStart = new_pos;
textarea.selectionEnd = new_pos;
}
}
// IE
else if (document.selection)
{
var range = textarea.createTextRange();
range.move("character", bbopen.length);
var range = textarea.createTextRange();
range.move("character", new_pos);
range.select();
storeCaret(textarea);
}
@@ -132,7 +136,7 @@ function bbfontstyle(bbopen, bbclose)
function insert_text(text, spaces, popup)
{
var textarea;
if (!popup)
{
textarea = document.forms[form_name].elements[text_name];
@@ -155,18 +159,18 @@ function insert_text(text, spaces, popup)
mozWrap(textarea, text, '');
textarea.selectionStart = sel_start + text.length;
textarea.selectionEnd = sel_end + text.length;
}
}
else if (textarea.createTextRange && textarea.caretPos)
{
if (baseHeight != textarea.caretPos.boundingHeight)
if (baseHeight != textarea.caretPos.boundingHeight)
{
textarea.focus();
storeCaret(textarea);
}
var caret_pos = textarea.caretPos;
caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
}
else
{
@@ -229,7 +233,7 @@ function addquote(post_id, username)
theSelection = theSelection.replace(/<br\/>/ig, '\n');
theSelection = theSelection.replace(/&lt\;/ig, '<');
theSelection = theSelection.replace(/&gt\;/ig, '>');
theSelection = theSelection.replace(/&amp\;/ig, '&');
theSelection = theSelection.replace(/&amp\;/ig, '&');
theSelection = theSelection.replace(/&nbsp\;/ig, ' ');
}
else if (document.all)
@@ -264,7 +268,7 @@ function mozWrap(txtarea, open, close)
var selEnd = txtarea.selectionEnd;
var scrollTop = txtarea.scrollTop;
if (selEnd == 1 || selEnd == 2)
if (selEnd == 1 || selEnd == 2)
{
selEnd = selLength;
}
@@ -288,17 +292,7 @@ function mozWrap(txtarea, open, close)
*/
function storeCaret(textEl)
{
var keyCode = false;
if (is_ie)
{
keyCode = (event.keyCode) ? event.keyCode : event.charCode;
}
// Did the user press Shift (16), Ctrl (17) or Alt (18)?
// If so, we do not update the caretPos, so BBCodes can still be applied correctly.
var is_control_key = (keyCode == 16 || keyCode == 17 || keyCode == 18);
if ((!is_ie || !is_control_key) && (textEl.createTextRange))
if (textEl.createTextRange)
{
textEl.caretPos = document.selection.createRange().duplicate();
}
@@ -334,7 +328,7 @@ function colorPalette(dir, width, height)
{
document.writeln('<tr>');
}
for (b = 0; b < 5; b++)
{
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
@@ -374,9 +368,9 @@ function caretPosition()
function getCaretPosition(txtarea)
{
var caretPos = new caretPosition();
// simple Gecko/Opera way
if (!is_ie && (txtarea.selectionStart || txtarea.selectionStart == 0))
if (txtarea.selectionStart || txtarea.selectionStart == 0)
{
caretPos.start = txtarea.selectionStart;
caretPos.end = txtarea.selectionEnd;
@@ -390,19 +384,19 @@ function getCaretPosition(txtarea)
// a new selection of the whole textarea
var range_all = document.body.createTextRange();
range_all.moveToElementText(txtarea);
// calculate selection start point by moving beginning of range_all to beginning of range
var sel_start;
for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++)
{
range_all.moveStart('character', 1);
}
txtarea.sel_start = sel_start;
// we ignore the end value for IE, this is already dirty enough and we don't need it
caretPos.start = txtarea.sel_start;
caretPos.end = txtarea.sel_start;
caretPos.end = txtarea.sel_start;
}
return caretPos;

View File

@@ -43,6 +43,11 @@
<p>{WARNING_MSG}</p>
</div>
<!-- ENDIF -->
<div class="errorbox" style="margin-top: 0;">
<h3>{L_NOTICE}</h3>
<p>{L_BACKUP_NOTICE}</p>
</div>
<form id="install_update" method="post" action="{U_ACTION}">

View File

@@ -15,12 +15,12 @@
// <![CDATA[
function resize_panel()
{
var block = document.getElementById('codepanel');
var block = document.getElementById('diff_content');
var height;
if (window.innerHeight)
{
height = window.innerHeight - 150;
height = window.innerHeight - 200;
block.style.height = height + 'px';
}
else
@@ -119,6 +119,7 @@ table.hrdiff {
overflow: hidden;
border-bottom: 1px solid #999;
table-layout: fixed;
background: transparent;
}
table.hrdiff th {
@@ -128,7 +129,8 @@ table.hrdiff th {
font-family: Verdana,Helvetica,sans-serif;
font-size: 11px;
border-bottom: 1px solid #999;
background: transparent;
border-right: 1px solid #999;
background: #D9D9D9;
}
table.hrdiff thead th {
@@ -142,29 +144,23 @@ table.hrdiff tr:first-child th {
}
table.hrdiff tbody th {
padding: 2em 1px 1px 1px;
font-size: 80%;
border-top: 1px solid #999;
}
table.hrdiff tbody td.old {
border-left: 1px solid #999;
border-right: 1px solid #999;
}
table.hrdiff tbody td.new {
table.hrdiff tbody td {
border-right: 1px solid #999;
}
table.hrdiff td pre {
overflow: auto;
display: block;
width: 100%;
overflow: auto;
display: block;
font-family: "Consolas", monospace;
font-size: 1.1em;
white-space: pre-wrap; /* css-3 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
table.hrdiff .unmodified {
background: #fff;
background: transparent;
}
table.hrdiff .added {

View File

@@ -9,7 +9,7 @@
<div id="page-footer">
<!-- IF S_COPYRIGHT_HTML -->
Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group
{CREDIT_LINE}
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
<!-- ENDIF -->

View File

@@ -5,7 +5,7 @@
<div id="page-footer">
<!-- IF S_COPYRIGHT_HTML -->
<br />Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group
<br />{CREDIT_LINE}
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
<!-- ENDIF -->

View File

@@ -1,15 +1,11 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : add_permissions.php
// STARTED : Sat Nov 06, 2004
// COPYRIGHT : <20> 2004 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
/**
*
* @package phpBB3
* @copyright (c) 2004 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
//
// Security message:

View File

@@ -1,15 +1,11 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : calc_email_hash.php
// STARTED : Tue Feb 03, 2004
// COPYRIGHT : <20> 2004 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
/**
*
* @package phpBB3
* @copyright (c) 2004 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
//
// Security message:

View File

@@ -1,23 +1,11 @@
<?php
/***************************************************************************
* merge_clean_posts.php
* -------------------
* begin : Tuesday, February 25, 2003
* copyright : (C) 2003 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
/**
*
* @package phpBB3
* @copyright (c) 2003 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
//
// Security message:

View File

@@ -2,14 +2,11 @@
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2009, 2010 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
/**
* This script will check your database for potentially dangerous flash BBCode tags
*
*/
//

View File

@@ -2,9 +2,8 @@
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2006 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
* This file creates new schema files for every database.
* The filenames will be prefixed with an underscore to not overwrite the current schema files.
@@ -1449,6 +1448,7 @@ function get_schema_struct()
'field_default_value' => array('VCHAR_UNI', ''),
'field_validation' => array('VCHAR_UNI:20', ''),
'field_required' => array('BOOL', 0),
'field_show_novalue' => array('BOOL', 0),
'field_show_on_reg' => array('BOOL', 0),
'field_show_on_vt' => array('BOOL', 0),
'field_show_profile' => array('BOOL', 0),

View File

@@ -0,0 +1,137 @@
<?php
/**
*
* @package phpBB3
* @copyright (c) 2011 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (php_sapi_name() != 'cli')
{
die("This program must be run from the command line.\n");
}
if ($argc < 2)
{
echo 'Usage: php ' . basename(__FILE__) . " index_type [batch_size]\n";
exit(1);
}
$class_name = basename($argv[1]);
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/acp/acp_search.' . $phpEx);
require($phpbb_root_path . 'includes/search/' . $class_name . '.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup('acp/search');
$search_name = ucfirst(strtolower(str_replace('_', ' ', $class_name)));
$search_errors = array();
$search = new $class_name($search_errors);
$batch_size = isset($argv[2]) ? $argv[2] : 2000;
if (method_exists($search, 'create_index'))
{
if ($error = $search->create_index(null, ''))
{
var_dump($error);
exit(1);
}
}
else
{
$sql = 'SELECT forum_id, enable_indexing
FROM ' . FORUMS_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$forums[$row['forum_id']] = (bool) $row['enable_indexing'];
}
$db->sql_freeresult($result);
$sql = 'SELECT post_id
FROM ' . POSTS_TABLE . '
ORDER BY post_id DESC';
$result = $db->sql_query_limit($sql, 1);
$max_post_id = (int) $db->sql_fetchfield('post_id');
$post_counter = 0;
while ($post_counter <= $max_post_id)
{
$row_count = 0;
$time = time();
printf("Processing posts with %d <= post_id <= %d\n",
$post_counter + 1,
$post_counter + $batch_size
);
$sql = 'SELECT post_id, post_subject, post_text, poster_id, forum_id
FROM ' . POSTS_TABLE . '
WHERE post_id >= ' . (int) ($post_counter + 1) . '
AND post_id <= ' . (int) ($post_counter + $batch_size);
$result = $db->sql_query($sql);
$buffer = $db->sql_buffer_nested_transactions();
if ($buffer)
{
$rows = $db->sql_fetchrowset($result);
$rows[] = false; // indicate end of array for while loop below
$db->sql_freeresult($result);
}
$i = 0;
while ($row = ($buffer ? $rows[$i++] : $db->sql_fetchrow($result)))
{
// Indexing enabled for this forum or global announcement?
// Global announcements get indexed by default.
if (!$row['forum_id'] || !empty($forums[$row['forum_id']]))
{
++$row_count;
$search->index('post',
$row['post_id'],
$row['post_text'],
$row['post_subject'],
$row['poster_id'],
$row['forum_id']
);
if ($row_count % 10 == 0)
{
echo '.';
}
}
}
$delta = (time() - $time);
$delta = $delta <= 0 ? 1 : $delta;
printf(" %d posts/sec\n", $row_count / $delta);
if (!$buffer)
{
$db->sql_freeresult($result);
}
$post_counter += $batch_size;
}
}
$search->tidy();
add_log('admin', 'LOG_SEARCH_INDEX_CREATED', $search_name);
echo $user->lang['SEARCH_INDEX_CREATED'] . "\n";
echo 'Peak Memory Usage: ' . get_formatted_filesize(memory_get_peak_usage()) . "\n";
exit(0);

View File

@@ -1,19 +1,13 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : create_variable_overview.php
// STARTED : Fri Aug 15 2003
// COPYRIGHT : <20> 2003 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
/*
This script generates an index of some template vars and their use within the templates.
It writes down all language variables used by various templates.
/**
*
* @package phpBB3
* @copyright (c) 2003 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
* This script generates an index of some template vars and their use within the templates.
* It writes down all language variables used by various templates.
*
*/
//

View File

@@ -1,15 +1,12 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : fill.php
// STARTED : Mon Sep 15, 2003
// COPYRIGHT : <20> 2001, 2003 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
/**
*
* @package phpBB3
* @copyright (c) 2001, 2003 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
//
// Security message:
//

View File

@@ -2,9 +2,8 @@
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -2,9 +2,8 @@
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -2,9 +2,8 @@
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,15 +1,11 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : merge_attachment_tables.php
// STARTED : Tue Nov 04, 2003
// COPYRIGHT : <20> 2001, 2003 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
/**
*
* @package phpBB3
* @copyright (c) 2001, 2003 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
//
// Security message:

View File

@@ -1,23 +1,11 @@
<?php
/***************************************************************************
* merge_clean_posts.php
* -------------------
* begin : Tuesday, February 25, 2003
* copyright : (C) 2003 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
/**
*
* @package phpBB3
* @copyright (c) 2003 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
//
// Security message:

View File

@@ -2,15 +2,13 @@
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2006 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
* This file creates SQL statements to upgrade phpBB on MySQL 3.x/4.0.x to 4.1.x/5.x
*
*/
//
// Security message:
//

View File

@@ -2,9 +2,8 @@
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -13,7 +13,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://opensource.org/licenses/gpl-license.php>.
* along with this program. If not, see <http://opensource.org/licenses/gpl-2.0.php>
*
*/
@@ -23,10 +23,10 @@ involved in phpBB.
phpBB Lead Developer: naderman (Nils Adermann)
phpBB Developers: Acyd Burn (Meik Sievertsen) [Lead 09/2005 - 01/2010]
Arty (Vjacheslav Trushkin)
bantu (Andreas Fischer)
ckwalsh (Cullen Walsh)
imkingdavid (David King)
igorw (Igor Wiedler)
kellanved (Henry Sudhof)
nickvergessen (Joas Schilling)
Oleg (Oleg Pudeyev)
rxu (Ruslan Uzdenov)
@@ -48,9 +48,11 @@ phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
APTX (Marek A. Ruszczyński) [12/2007 - 04/2011]
Ashe (Ludovic Arnaud) [10/2002 - 11/2003, 06/2006 - 10/2006]
BartVB (Bart van Bragt) [11/2000 - 03/2006]
ckwalsh (Cullen Walsh) [01/2010 - 07/2011]
DavidMJ (David M.) [12/2005 - 08/2009]
dhn (Dominik Dröscher) [05/2007 - 01/2011]
GrahamJE (Graham Eames) [09/2005 - 11/2006]
kellanved (Henry Sudhof) [04/2007 - 03/2011]
TerraFrost (Jim Wigginton) [04/2009 - 01/2011]
Vic D'Elfant (Vic D'Elfant) [04/2007 - 04/2009]

View File

@@ -53,6 +53,7 @@
<ol>
<li><a href="#changelog">Changelog</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#v3010">Changes since 3.0.10</a></li>
<li><a href="#v309">Changes since 3.0.9</a></li>
<li><a href="#v308">Changes since 3.0.8</a></li>
<li><a href="#v307-PL1">Changes since 3.0.7-PL1</a></li>
@@ -91,140 +92,268 @@
<div class="content">
<a name="v309"></a><h3>1.i. Changes since 3.0.9</h3>
<a name="v3010"></a><h3>1.i. Changes since 3.0.10</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-5506">PHPBB3-5506</a>] - Deleting all items from last page results in empty list display</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-6458">PHPBB3-6458</a>] - Width of Topics and Posts columns in Board Index is causing problems with language packs</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-6632">PHPBB3-6632</a>] - Better viewing of topics for wide screen displays</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-7138">PHPBB3-7138</a>] - Cannot display simple header/footer with trigger_error()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-7291">PHPBB3-7291</a>] - Broken links of char selection in memberlist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-7932">PHPBB3-7932</a>] - Fix font size in select boxes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8094">PHPBB3-8094</a>] - Text in the forums.php and install.php not matching</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8173">PHPBB3-8173</a>] - Redundant BBCode helpline in JS</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8177">PHPBB3-8177</a>] - February 29th birthdays not shown in non-leap year</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8571">PHPBB3-8571</a>] - Users can make their age a negative number on memberlist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8691">PHPBB3-8691</a>] - Error creating log_time index</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8937">PHPBB3-8937</a>] - Code tags - single space indent</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8996">PHPBB3-8996</a>] - Wrong position when adding BBCodes with accesskey in IE</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9008">PHPBB3-9008</a>] - Incorrect unread topic tracking for unapproved topics</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9066">PHPBB3-9066</a>] - Invalid Prefix Names Allowed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9416">PHPBB3-9416</a>] - HTML entities in poll titles and options incorrectly re-encoded</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9525">PHPBB3-9525</a>] - Minimum characters per post/message should never be '0'</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9645">PHPBB3-9645</a>] - XHTML error on phpinfo page in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9776">PHPBB3-9776</a>] - When deleting and recreating a poll, old options aren't deleted and reappear with the new ones</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9956">PHPBB3-9956</a>] - No error message displayed when disapprove reason is invalid or empty</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9976">PHPBB3-9976</a>] - Direct post links open the wrong page of viewtopic when multiple posts are posted in the same second</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9978">PHPBB3-9978</a>] - Missing semicolons in // &lt;![CDATA[ part of overall_header.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10087">PHPBB3-10087</a>] - Limited browser support for ban exclusion emphasis</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10157">PHPBB3-10157</a>] - Missing error handling when a custom profile field is not defined for current language</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10166">PHPBB3-10166</a>] - Post-admin activation email confusingly refers to username</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10187">PHPBB3-10187</a>] - XHTML error in ucp_groups_manage.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10190">PHPBB3-10190</a>] - Misleading information about permissions displayed after editing forum settings</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10212">PHPBB3-10212</a>] - Captcha not displayed when username not exists</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10216">PHPBB3-10216</a>] - Updater's failed query language grammatically incorrect</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10226">PHPBB3-10226</a>] - Mysqli dbal extension does not allow connection via pipes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10227">PHPBB3-10227</a>] - Mysqli dbal extension does not allow persistent connection for PHP &gt;= 5.3.0</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10237">PHPBB3-10237</a>] - Unwatching a forum/topic does not check for correct hash parameter</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10240">PHPBB3-10240</a>] - Word filter evasion</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10253">PHPBB3-10253</a>] - IE9 Quote problem</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10255">PHPBB3-10255</a>] - gitignore ignores too much</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10257">PHPBB3-10257</a>] - AAAA record parsing fails on older versions of Windows</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10259">PHPBB3-10259</a>] - Incorrect email on joining Open group</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10265">PHPBB3-10265</a>] - Unit test tests/random/mt_rand.php is not run because of missing _test suffix.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10266">PHPBB3-10266</a>] - Poor navigation links after reporting a post</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10267">PHPBB3-10267</a>] - Missing strlen() on $table_prefix in db tools index name length check</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10274">PHPBB3-10274</a>] - Hardcoded module ID in &quot;Re-check version&quot; link on ACP front page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10275">PHPBB3-10275</a>] - Wrong information about sent passwords in FAQ</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10292">PHPBB3-10292</a>] - Whitespace inconsistency in acp_ranks</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10293">PHPBB3-10293</a>] - Jumpbox allows jumping to invalid forums in prosilver</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10294">PHPBB3-10294</a>] - sqlsrv_rows_affected non-functional in MSSQLNative.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10296">PHPBB3-10296</a>] - incorrect cross join in SQL Server</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10298">PHPBB3-10298</a>] - EMBED Tag Not Closed Properly In subSilver2 attachment.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10299">PHPBB3-10299</a>] - Typo in comment about $max_store_length in truncate_string() (in functions_content.php)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10303">PHPBB3-10303</a>] - send_status_line() doesn't validate user input</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10304">PHPBB3-10304</a>] - Bad url in U_ICQ on /ucp_mp_viewmessage.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10307">PHPBB3-10307</a>] - Return value of $db-&gt;sql_fetchrow() on empty tables is not consistent</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10309">PHPBB3-10309</a>] - Utf tests download data into temporary locations deep in source tree</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10320">PHPBB3-10320</a>] - &quot;Most active topic&quot; can leak topic title of topics in password-protected forums</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10321">PHPBB3-10321</a>] - Link to page 1 of the Memberlist has a useless question mark at the end</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10324">PHPBB3-10324</a>] - XHTML error in Prosilver - MCP - User Notes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10339">PHPBB3-10339</a>] - Typo in prosilver's mcp_front.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10341">PHPBB3-10341</a>] - Topic title of &quot;0&quot; does not show as &quot;Most active topic&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10351">PHPBB3-10351</a>] - Invalid syntax for Oracle's sql_column_remove()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10352">PHPBB3-10352</a>] - Missing break for Oracle's sql_table_drop()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10365">PHPBB3-10365</a>] - Moderators can view forbidden information</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10377">PHPBB3-10377</a>] - All moderators can change topic type</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10394">PHPBB3-10394</a>] - Tests use call-time pass by reference which results in Fatal error on PHP 5.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10397">PHPBB3-10397</a>] - Pagination code inconsistency </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10400">PHPBB3-10400</a>] - '0' (zero) not allowed as forum name</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10408">PHPBB3-10408</a>] - Layout of topics/attachments list is broken in UCP and MCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10413">PHPBB3-10413</a>] - Make create_schema_files usable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10416">PHPBB3-10416</a>] - Use dbport in phpbb_database_test_connection_manager::connect()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10420">PHPBB3-10420</a>] - Update startup to account for PHP 5.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10421">PHPBB3-10421</a>] - Interchanged parameters in includes/acp/acp_users.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10422">PHPBB3-10422</a>] - Unnecessary &lt;!-- IF --&gt; statement in viewtopic_body.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10435">PHPBB3-10435</a>] - Topic count mismatch on viewforum</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10437">PHPBB3-10437</a>] - Announcements on moderation queue are not hidden</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10446">PHPBB3-10446</a>] - Unencoded 8bit characters in email headers</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10452">PHPBB3-10452</a>] - XHTML error when printing a PM</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10461'>PHPBB3-10461</a>] - MCP&#39;s recent actions list is empty</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10479'>PHPBB3-10479</a>] - Remove PostgreSQL version numbers from driver&#39;s language string</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10485'>PHPBB3-10485</a>] - XHTML error in Prosilver - index and viewforum</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10488'>PHPBB3-10488</a>] - Database updater for 3.0.10-RC1 overwrites config variable email_max_chunk_size without checking for custom value</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10490'>PHPBB3-10490</a>] - MCP Layout broken in ProSilver when screen is resized to less 1200 pixels</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10497'>PHPBB3-10497</a>] - SQL error when guest visits forum with unread topic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-7432">PHPBB3-7432</a>] - Unclear language for Inactive Users on ACP main page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8652">PHPBB3-8652</a>] - Duplicate Emails Sent When Subscribed to Forum and Topic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9079">PHPBB3-9079</a>] - Display backtrace on all E_USER_ERROR errors, not only SQL errors (when DEBUG_EXTRA is enabled)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9084">PHPBB3-9084</a>] - Unable to display 'option equal to non entered value' if dropdown CPF is not required</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9089">PHPBB3-9089</a>] - PM message title box not accessible via Tab key</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9220">PHPBB3-9220</a>] - Blue border width when table in a div</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9681">PHPBB3-9681</a>] - Password length not in security settings</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9813">PHPBB3-9813</a>] - fulltext_native.php on innodb loading deadly slow for big indexes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9831">PHPBB3-9831</a>] - Cannot change default of Boolean checkbox custom profile field</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10094">PHPBB3-10094</a>] - Clear cache before phpBB installation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10129">PHPBB3-10129</a>] - Missing apostrophes in ACP user management -&gt; permissions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10349">PHPBB3-10349</a>] - Unit tests do not remove comments from schemas</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10399">PHPBB3-10399</a>] - Special characters aren't parsed in style component variables</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10401">PHPBB3-10401</a>] - auth_ldap has an incorrect return value in login_ldap()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10407">PHPBB3-10407</a>] - Incorrect check for empty image file paths during conversion</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10428">PHPBB3-10428</a>] - optionget/optionset functions in session.php and acp_users.php incorrectly check whether $data is at its default value</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10456">PHPBB3-10456</a>] - Subsilver2 does not define $CAPTCHA_TAB_INDEX</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10508">PHPBB3-10508</a>] - Marking forums as read displays misleading language</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10511">PHPBB3-10511</a>] - Grammar defect in permissions language</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10512">PHPBB3-10512</a>] - Test failure when no default timezone is set in php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10532">PHPBB3-10532</a>] - Out of range $start causes a page with no search results but with pagination</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10538">PHPBB3-10538</a>] - Special character are not correctly parsed for SMTP protocol</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10542">PHPBB3-10542</a>] - Incorrect class=&quot;postlink&quot; in styles/subsilver2/template/faq_body.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10546">PHPBB3-10546</a>] - Argument missing for adm_back_link() in acp_captcha.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10561">PHPBB3-10561</a>] - All users can choose deactivated styles.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10569">PHPBB3-10569</a>] - template/ucp_main_front.html does not correctly handle active topic with the name &quot;0&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10580">PHPBB3-10580</a>] - Default tz in registration dropdown not the same as the board default tz</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10589">PHPBB3-10589</a>] - user_birthday does not use table alias in $leap_year_birthdays variable definition</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10605">PHPBB3-10605</a>] - Orpahned privmsgs are left in the prvmsgs table, with no ties in privmsgs_to table</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10606">PHPBB3-10606</a>] - $s_hidden_fields -&gt; incorrect array name (3 files affected)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10611">PHPBB3-10611</a>] - Add a check for selected tables existence for ACP database backup tool</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10615">PHPBB3-10615</a>] - Static calls in utf normalizer yield E_STRICT spam on php 5.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10630">PHPBB3-10630</a>] - Prune Users produced unnecessarily long query; Got a packet bigger than 'max_allowed_packet' bytes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10633">PHPBB3-10633</a>] - Users are able to get the real filename of attachment</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10639">PHPBB3-10639</a>] - negative value of ranks message</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10658">PHPBB3-10658</a>] - Rank-item is not shown on team-list</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10675">PHPBB3-10675</a>] - Use more descriptive message when disk is out of space</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10684">PHPBB3-10684</a>] - Function user_notification() prevents notifications for users with stale bans</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10689">PHPBB3-10689</a>] - Bug in the popup &quot; Find a member&quot; when select by letter.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10691">PHPBB3-10691</a>] - Search index creation CLI script incorrectly calculates indexing speed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10699">PHPBB3-10699</a>] - Long h2 title breaks div.minitabs in MCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10708">PHPBB3-10708</a>] - After a conversion, passwords with UTF8 characters do not work when user_pass_convert is set.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10717">PHPBB3-10717</a>] - memberlist_view.html: including admin defined profile fields doesnt work</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10723">PHPBB3-10723</a>] - Do not use SQLite on PHP 5.4 in Tests on Travis</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10731">PHPBB3-10731</a>] - JS function addquote() works incorrectly in Opera</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10751">PHPBB3-10751</a>] - MS SQL Error when searching Admin Log</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10760">PHPBB3-10760</a>] - In pre-commit git hook, syntax error is thrown, but is not specifically described</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10767">PHPBB3-10767</a>] - Git hooks do not work properly with git GUIs</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10774">PHPBB3-10774</a>] - db_tools::create_unique_index does not use specified index names on MySQL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10790">PHPBB3-10790</a>] - Strict comparison on user_id for sending pms</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10797">PHPBB3-10797</a>] - Template var for user rank not filled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10835">PHPBB3-10835</a>] - Misleading message in UCP when no permission to change password</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10846">PHPBB3-10846</a>] - Missing alias for MAX(post_id) in SQL query in acp_main.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10849">PHPBB3-10849</a>] - Missing BBCode Help Text in subsilver2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10858">PHPBB3-10858</a>] - $db-&gt;sql_fetchfield returns false with mssqlnative</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10860">PHPBB3-10860</a>] - Side-by-side diff styling javascript bug</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10881">PHPBB3-10881</a>] - Some files use 0xA9 as the copyright symbol which is neither ASCII nor the UTF8 copyright symbol.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10887">PHPBB3-10887</a>] - Auto increment tests depend on varbinary handling</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10889">PHPBB3-10889</a>] - Default value for c_char_size in database unit tests is an empty string instead of a char(4)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10890">PHPBB3-10890</a>] - test_sql_fetchrow_returns_false_when_empty() fails on MSSQL and Oracle</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10908">PHPBB3-10908</a>] - No remote avatar size limit results in files limited only by PHP memory limit</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10913">PHPBB3-10913</a>] - Admin is logged out when accessing any url under adm/ without session id</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10441">PHPBB3-10441</a>] - Update to docs/README.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10773">PHPBB3-10773</a>] - ACP phpBB logo needs registered trademark symbol</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10935">PHPBB3-10935</a>] - Limit number of PM rules per user</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10937">PHPBB3-10937</a>] - Comment removal functions: Backward compatibility broken</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10950">PHPBB3-10950</a>] - Deleting user with undelivered PMs causes SQL error</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10952">PHPBB3-10952</a>] - includes/constants.php version number incorrect</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10965">PHPBB3-10965</a>] - Dropdown CPF now shows in profile when no value is selected</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10978">PHPBB3-10978</a>] - Typo in prosilvers ucp_groups_membership.html</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8616">PHPBB3-8616</a>] - Add direct link to PM to notification message</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9036">PHPBB3-9036</a>] - Forums that can be listed but not red expose forum information</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9297">PHPBB3-9297</a>] - Add support for Extended Passive Mode (EPSV) in class ftp_fsock to better support IPv6 connections.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9307">PHPBB3-9307</a>] - Mass email $max_chunk_size</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9361">PHPBB3-9361</a>] - Edit account settings - Improved clarification needed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9778">PHPBB3-9778</a>] - Member Search from the Admin Control Panel is not Intuitive</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9898">PHPBB3-9898</a>] - Readme needs updating to reflect more opening for patches</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9995">PHPBB3-9995</a>] - Unnecessary coding in display_forums() in functions_display.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10032">PHPBB3-10032</a>] - BBCode Add List Item Control Name Contains Typo</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10074">PHPBB3-10074</a>] - Change default value of 'Set as special rank' to No for Add new rank</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10185">PHPBB3-10185</a>] - Board startdate not being set</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10189">PHPBB3-10189</a>] - Add &quot;automatically generated&quot; comment into schema-files.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10199">PHPBB3-10199</a>] - Performance: viewtopic has a useless join</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10222">PHPBB3-10222</a>] - Also build language and styles changes in diff/patch format</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10239">PHPBB3-10239</a>] - Add &quot;Are you sure&quot; confirmation to backup restore in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10243">PHPBB3-10243</a>] - Add gmgetdate() wrapper for getdate() which returns dates in UTC.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10245">PHPBB3-10245</a>] - Messenger uses output buffering for error collection, should use error collector instead</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10246">PHPBB3-10246</a>] - Remove VCS section from docs/coding-guidelines.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10254">PHPBB3-10254</a>] - Remove style names from themes and fix some information on it</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10263">PHPBB3-10263</a>] - Add phpbb_version_compare() wrapper for version_compare()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10278">PHPBB3-10278</a>] - Improve timeout handling in get_remote_file()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10315">PHPBB3-10315</a>] - Radio Buttons in ACP are clipped in Safari - Fix suggested</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10327">PHPBB3-10327</a>] - Use &quot;ALTER TABLE ... ADD INDEX&quot; instead of &quot;CREATE INDEX&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10334">PHPBB3-10334</a>] - Birthday List display not dependent on user privileges</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10335">PHPBB3-10335</a>] - Responses to bots should have extra header to be used by reverse proxies</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10346">PHPBB3-10346</a>] - Add drop_tables key for database updater</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10354">PHPBB3-10354</a>] - When template tests are skipped because cache is not writable, print cache directory path</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10369">PHPBB3-10369</a>] - Change error collector to always report errfile and errline</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10370">PHPBB3-10370</a>] - Various improvements for get_backtrace()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10402">PHPBB3-10402</a>] - Displaying report texts with linebreaks and clickable links</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10419">PHPBB3-10419</a>] - Add mbstring PHP ini parameters checks to ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10430">PHPBB3-10430</a>] - Some typos and the like in docs/coding-guidelines.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8599">PHPBB3-8599</a>] - Add &quot;Select All&quot; to &quot;Add multiple smilies&quot; screen</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8636">PHPBB3-8636</a>] - Add resync option to topic_view moderation page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9876">PHPBB3-9876</a>] - Names and descriptions for roles &quot;Newly registered User&quot; in &quot;User roles&quot; and &quot;Forum roles&quot; must be different</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9914">PHPBB3-9914</a>] - Add backup warning to Automatic DB Updater</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9916">PHPBB3-9916</a>] - License in header not linking to version 2 of GNU GPL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10093">PHPBB3-10093</a>] - Make commit-msg hook always not fatal</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10162">PHPBB3-10162</a>] - Allow TLDs over 6 characters in email addresses</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10280">PHPBB3-10280</a>] - Change the ACP user activation display</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10308">PHPBB3-10308</a>] - Disable Retain/Delete Posts selection if the user has no posts.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10453">PHPBB3-10453</a>] - PM viewmessage page is misplacing the online icon</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10492">PHPBB3-10492</a>] - Port functional tests to develop-olympus</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10507">PHPBB3-10507</a>] - Sort installed styles list in admin control panel - styles</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10550">PHPBB3-10550</a>] - Sort not installed styles list in admin control panel - styles</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10563">PHPBB3-10563</a>] - ACP usability improvement: show deactivated styles below active styles in styles list</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10565">PHPBB3-10565</a>] - Performance: Unneeded GROUP BY in update_forum_tracking_info</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10607">PHPBB3-10607</a>] - phpBB Credit Line Hardcoded</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10653">PHPBB3-10653</a>] - Add ability to count table rows to database abstraction layer</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10730">PHPBB3-10730</a>] - Add label tags around &quot;select&quot; text in post splitting UI in MCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10764">PHPBB3-10764</a>] - FAQ mentions SourceForge</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10812">PHPBB3-10812</a>] - Installer should not display register globals UI for php 5.4+</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10815">PHPBB3-10815</a>] - Enable Feeds by default</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10819">PHPBB3-10819</a>] - Improve side-by-side diff styling</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10834">PHPBB3-10834</a>] - Backport general development language changes in readme files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10836">PHPBB3-10836</a>] - Enable Avatars by default</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10891">PHPBB3-10891</a>] - Allow specifying test config file name via environment variable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10892">PHPBB3-10892</a>] - Cosmetic improvements to RUNNING_TESTS.txt</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10898">PHPBB3-10898</a>] - Do not write ?&gt; into config.php to avoid whitespace output</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10925">PHPBB3-10925</a>] - Clarify that SQLite3 is not supported for phpBB 3.0.x</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8240">PHPBB3-8240</a>] - Request: db_tools to have two additional functions, table list and column list</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10616">PHPBB3-10616</a>] - Add template inheritance by default</li>
</ul>
<h4>Sub-task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10907">PHPBB3-10907</a>] - Mark (var)binary tests as incomplete on non-MySQL DBMSes</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9689">PHPBB3-9689</a>] - Scripts and utilities</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10003">PHPBB3-10003</a>] - Resolve db_tools proliferation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10313">PHPBB3-10313</a>] - Include slow unit tests when running build script</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10483'>PHPBB3-10483</a>] - Test suite does not run with MySQL strict mode</li>
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10486'>PHPBB3-10486</a>] - Create git shortlog and git diff --stat in build script</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9896">PHPBB3-9896</a>] - Update links in docs/readme.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10434">PHPBB3-10434</a>] - Add a script that allows creating a search index from CLI</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10455">PHPBB3-10455</a>] - Remove NOTE from header files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10694">PHPBB3-10694</a>] - Update notification in ACP (Olympus) for increase of minimum PHP version to 5.3.2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10718">PHPBB3-10718</a>] - Add Travis CI</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10788">PHPBB3-10788</a>] - Update docs/AUTHORS for 3.0.11-RC1</li>
<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="v308"></a><h3>1.ii. Changes since 3.0.8</h3>
<a name="v309"></a><h3>1.ii. Changes since 3.0.9</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-5506">PHPBB3-5506</a>] - Deleting all items from last page results in empty list display</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-6458">PHPBB3-6458</a>] - Width of Topics and Posts columns in Board Index is causing problems with language packs</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-7138">PHPBB3-7138</a>] - Cannot display simple header/footer with trigger_error()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-7291">PHPBB3-7291</a>] - Broken links of char selection in memberlist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-7932">PHPBB3-7932</a>] - Fix font size in select boxes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8094">PHPBB3-8094</a>] - Text in the forums.php and install.php not matching</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8173">PHPBB3-8173</a>] - Redundant BBCode helpline in JS</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8177">PHPBB3-8177</a>] - February 29th birthdays not shown in non-leap year</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8571">PHPBB3-8571</a>] - Users can make their age a negative number on memberlist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8691">PHPBB3-8691</a>] - Error creating log_time index</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8937">PHPBB3-8937</a>] - Code tags - single space indent</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9008">PHPBB3-9008</a>] - Incorrect unread topic tracking for unapproved topics</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9066">PHPBB3-9066</a>] - Invalid Prefix Names Allowed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9416">PHPBB3-9416</a>] - HTML entities in poll titles and options incorrectly re-encoded</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9525">PHPBB3-9525</a>] - Minimum characters per post/message should never be '0'</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9645">PHPBB3-9645</a>] - XHTML error on phpinfo page in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9776">PHPBB3-9776</a>] - When deleting and recreating a poll, old options aren't deleted and reappear with the new ones</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9956">PHPBB3-9956</a>] - No error message displayed when disapprove reason is invalid or empty</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9976">PHPBB3-9976</a>] - Direct post links open the wrong page of viewtopic when multiple posts are posted in the same second</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9978">PHPBB3-9978</a>] - Missing semicolons in // &lt;![CDATA[ part of overall_header.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10087">PHPBB3-10087</a>] - Limited browser support for ban exclusion emphasis</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10157">PHPBB3-10157</a>] - Missing error handling when a custom profile field is not defined for current language</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10166">PHPBB3-10166</a>] - Post-admin activation email confusingly refers to username</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10187">PHPBB3-10187</a>] - XHTML error in ucp_groups_manage.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10190">PHPBB3-10190</a>] - Misleading information about permissions displayed after editing forum settings</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10212">PHPBB3-10212</a>] - Captcha not displayed when username not exists</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10216">PHPBB3-10216</a>] - Updater's failed query language grammatically incorrect</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10226">PHPBB3-10226</a>] - Mysqli dbal extension does not allow connection via pipes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10227">PHPBB3-10227</a>] - Mysqli dbal extension does not allow persistent connection for PHP &gt;= 5.3.0</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10237">PHPBB3-10237</a>] - Unwatching a forum/topic does not check for correct hash parameter</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10240">PHPBB3-10240</a>] - Word filter evasion</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10253">PHPBB3-10253</a>] - IE9 Quote problem</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10255">PHPBB3-10255</a>] - gitignore ignores too much</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10257">PHPBB3-10257</a>] - AAAA record parsing fails on older versions of Windows</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10259">PHPBB3-10259</a>] - Incorrect email on joining Open group</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10265">PHPBB3-10265</a>] - Unit test tests/random/mt_rand.php is not run because of missing _test suffix.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10266">PHPBB3-10266</a>] - Poor navigation links after reporting a post</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10267">PHPBB3-10267</a>] - Missing strlen() on $table_prefix in db tools index name length check</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10274">PHPBB3-10274</a>] - Hardcoded module ID in &quot;Re-check version&quot; link on ACP front page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10275">PHPBB3-10275</a>] - Wrong information about sent passwords in FAQ</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10292">PHPBB3-10292</a>] - Whitespace inconsistency in acp_ranks</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10293">PHPBB3-10293</a>] - Jumpbox allows jumping to invalid forums in prosilver</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10294">PHPBB3-10294</a>] - sqlsrv_rows_affected non-functional in MSSQLNative.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10296">PHPBB3-10296</a>] - incorrect cross join in SQL Server</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10298">PHPBB3-10298</a>] - EMBED Tag Not Closed Properly In subSilver2 attachment.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10299">PHPBB3-10299</a>] - Typo in comment about $max_store_length in truncate_string() (in functions_content.php)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10303">PHPBB3-10303</a>] - send_status_line() doesn't validate user input</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10304">PHPBB3-10304</a>] - Bad url in U_ICQ on /ucp_mp_viewmessage.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10307">PHPBB3-10307</a>] - Return value of $db-&gt;sql_fetchrow() on empty tables is not consistent</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10309">PHPBB3-10309</a>] - Utf tests download data into temporary locations deep in source tree</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10320">PHPBB3-10320</a>] - &quot;Most active topic&quot; can leak topic title of topics in password-protected forums</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10321">PHPBB3-10321</a>] - Link to page 1 of the Memberlist has a useless question mark at the end</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10324">PHPBB3-10324</a>] - XHTML error in Prosilver - MCP - User Notes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10339">PHPBB3-10339</a>] - Typo in prosilver's mcp_front.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10341">PHPBB3-10341</a>] - Topic title of &quot;0&quot; does not show as &quot;Most active topic&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10351">PHPBB3-10351</a>] - Invalid syntax for Oracle's sql_column_remove()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10352">PHPBB3-10352</a>] - Missing break for Oracle's sql_table_drop()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10365">PHPBB3-10365</a>] - Moderators can view forbidden information</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10377">PHPBB3-10377</a>] - All moderators can change topic type</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10394">PHPBB3-10394</a>] - Tests use call-time pass by reference which results in Fatal error on PHP 5.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10397">PHPBB3-10397</a>] - Pagination code inconsistency </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10400">PHPBB3-10400</a>] - '0' (zero) not allowed as forum name</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10413">PHPBB3-10413</a>] - Make create_schema_files usable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10416">PHPBB3-10416</a>] - Use dbport in phpbb_database_test_connection_manager::connect()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10420">PHPBB3-10420</a>] - Update startup to account for PHP 5.4</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10421">PHPBB3-10421</a>] - Interchanged parameters in includes/acp/acp_users.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10422">PHPBB3-10422</a>] - Unnecessary &lt;!-- IF --&gt; statement in viewtopic_body.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10435">PHPBB3-10435</a>] - Topic count mismatch on viewforum</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10437">PHPBB3-10437</a>] - Announcements on moderation queue are not hidden</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10446">PHPBB3-10446</a>] - Unencoded 8bit characters in email headers</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10452">PHPBB3-10452</a>] - XHTML error when printing a PM</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10461">PHPBB3-10461</a>] - MCP's recent actions list is empty</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10479">PHPBB3-10479</a>] - Remove PostgreSQL version numbers from driver's language string</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10485">PHPBB3-10485</a>] - XHTML error in Prosilver - index and viewforum</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10488">PHPBB3-10488</a>] - Database updater for 3.0.10-RC1 overwrites config variable email_max_chunk_size without checking for custom value</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10497">PHPBB3-10497</a>] - SQL error when guest visits forum with unread topic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10319">PHPBB3-10319</a>] - Missing hidden fields in search form</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10501">PHPBB3-10501</a>] - Description of table prefix is wrong</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10502">PHPBB3-10502</a>] - CHANGELOG.html has a typo: 'red' should be 'read'.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10503">PHPBB3-10503</a>] - Debug error when previewing edits</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10504">PHPBB3-10504</a>] - MCP Layout STILL broken in ProSilver when screen is resized to less 1200 pixels</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10531">PHPBB3-10531</a>] - Last remaining style can be uninstalled</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8616">PHPBB3-8616</a>] - Add direct link to PM to notification message</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9036">PHPBB3-9036</a>] - Forums that can be listed but not read expose forum information</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9297">PHPBB3-9297</a>] - Add support for Extended Passive Mode (EPSV) in class ftp_fsock to better support IPv6 connections.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9307">PHPBB3-9307</a>] - Mass email $max_chunk_size</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9361">PHPBB3-9361</a>] - Edit account settings - Improved clarification needed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9778">PHPBB3-9778</a>] - Member Search from the Admin Control Panel is not Intuitive</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9898">PHPBB3-9898</a>] - Readme needs updating to reflect more opening for patches</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9995">PHPBB3-9995</a>] - Unnecessary coding in display_forums() in functions_display.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10032">PHPBB3-10032</a>] - BBCode Add List Item Control Name Contains Typo</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10074">PHPBB3-10074</a>] - Change default value of 'Set as special rank' to No for Add new rank</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10185">PHPBB3-10185</a>] - Board startdate not being set</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10189">PHPBB3-10189</a>] - Add &quot;automatically generated&quot; comment into schema-files.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10199">PHPBB3-10199</a>] - Performance: viewtopic has a useless join</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10222">PHPBB3-10222</a>] - Also build language and styles changes in diff/patch format</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10239">PHPBB3-10239</a>] - Add &quot;Are you sure&quot; confirmation to backup restore in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10243">PHPBB3-10243</a>] - Add gmgetdate() wrapper for getdate() which returns dates in UTC.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10245">PHPBB3-10245</a>] - Messenger uses output buffering for error collection, should use error collector instead</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10246">PHPBB3-10246</a>] - Remove VCS section from docs/coding-guidelines.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10254">PHPBB3-10254</a>] - Remove style names from themes and fix some information on it</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10263">PHPBB3-10263</a>] - Add phpbb_version_compare() wrapper for version_compare()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10278">PHPBB3-10278</a>] - Improve timeout handling in get_remote_file()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10315">PHPBB3-10315</a>] - Radio Buttons in ACP are clipped in Safari - Fix suggested</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10327">PHPBB3-10327</a>] - Use &quot;ALTER TABLE ... ADD INDEX&quot; instead of &quot;CREATE INDEX&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10334">PHPBB3-10334</a>] - Birthday List display not dependent on user privileges</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10335">PHPBB3-10335</a>] - Responses to bots should have extra header to be used by reverse proxies</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10346">PHPBB3-10346</a>] - Add drop_tables key for database updater</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10354">PHPBB3-10354</a>] - When template tests are skipped because cache is not writable, print cache directory path</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10369">PHPBB3-10369</a>] - Change error collector to always report errfile and errline</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10370">PHPBB3-10370</a>] - Various improvements for get_backtrace()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10402">PHPBB3-10402</a>] - Displaying report texts with linebreaks and clickable links</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10419">PHPBB3-10419</a>] - Add mbstring PHP ini parameters checks to ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10430">PHPBB3-10430</a>] - Some typos and the like in docs/coding-guidelines.html</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8240">PHPBB3-8240</a>] - Request: db_tools to have two additional functions, table list and column list</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9689">PHPBB3-9689</a>] - Scripts and utilities</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10003">PHPBB3-10003</a>] - Resolve db_tools proliferation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10313">PHPBB3-10313</a>] - Include slow unit tests when running build script</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10483">PHPBB3-10483</a>] - Test suite does not run with MySQL strict mode</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10486">PHPBB3-10486</a>] - Create git shortlog and git diff --stat in build script</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10480">PHPBB3-10480</a>] - Automate changelog building</li>
</ul>
<a name="v308"></a><h3>1.iii. Changes since 3.0.8</h3>
<h4> Bug
</h4>
@@ -592,7 +721,7 @@
</ul>
<a name="v307-PL1"></a><h3>1.iii. Changes since 3.0.7-PL1</h3>
<a name="v307-PL1"></a><h3>1.iv. Changes since 3.0.7-PL1</h3>
<h4> Security
</h4>
<ul>
@@ -1050,13 +1179,13 @@
</ul>
<a name="v307"></a><h3>1.iiv. Changes since 3.0.7</h3>
<a name="v307"></a><h3>1.iv. 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.v. Changes since 3.0.6</h3>
<a name="v306"></a><h3>1.vi. 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>
@@ -1160,7 +1289,7 @@
</ul>
<a name="v305"></a><h3>1.vi. Changes since 3.0.5</h3>
<a name="v305"></a><h3>1.vii. Changes since 3.0.5</h3>
<ul>
<li>[Fix] Allow whitespaces in avatar gallery names. (Bug #44955)</li>
@@ -1382,7 +1511,7 @@
<li>[Feature] Send anonymous statistical information to phpBB on installation and update (optional).</li>
</ul>
<a name="v304"></a><h3>1.vii. Changes since 3.0.4</h3>
<a name="v304"></a><h3>1.viii. 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>
@@ -1471,7 +1600,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.viii. Changes since 3.0.3</h3>
<a name="v303"></a><h3>1.ix. Changes since 3.0.3</h3>
<ul>
<li>[Fix] Allow mixed-case template directories to be inherited (Bug #36725)</li>
@@ -1503,7 +1632,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.ix. Changes since 3.0.2</h3>
<a name="v302"></a><h3>1.x. 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>
@@ -1602,7 +1731,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.x. Changes since 3.0.1</h3>
<a name="v301"></a><h3>1.xi. Changes since 3.0.1</h3>
<ul>
<li>[Fix] Ability to set permissions on non-mysql dbms (Bug #24955)</li>
@@ -1650,7 +1779,7 @@
<li>[Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)</li>
</ul>
<a name="v300"></a><h3>1.xi Changes since 3.0.0</h3>
<a name="v300"></a><h3>1.xii Changes since 3.0.0</h3>
<ul>
<li>[Change] Validate birthdays (Bug #15004)</li>
@@ -1721,7 +1850,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.xii. Changes since 3.0.RC8</h3>
<a name="v30rc8"></a><h3>1.xiii. 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>
@@ -1730,7 +1859,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.xiii. Changes since 3.0.RC7</h3>
<a name="v30rc7"></a><h3>1.xiv. Changes since 3.0.RC7</h3>
<ul>
<li>[Fix] Fixed MSSQL related bug in the update system</li>
@@ -1765,7 +1894,7 @@
<li>[Fix] No duplication of active topics (Bug #15474)</li>
</ul>
<a name="v30rc6"></a><h3>1.xiv. Changes since 3.0.RC6</h3>
<a name="v30rc6"></a><h3>1.xv. Changes since 3.0.RC6</h3>
<ul>
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
@@ -1775,7 +1904,7 @@
<li>[Fix] Able to request new password (Bug #14743)</li>
</ul>
<a name="v30rc5"></a><h3>1.xv. Changes since 3.0.RC5</h3>
<a name="v30rc5"></a><h3>1.xvi. 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>
@@ -1838,7 +1967,7 @@
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
</ul>
<a name="v30rc4"></a><h3>1.xvi. Changes since 3.0.RC4</h3>
<a name="v30rc4"></a><h3>1.xvii. Changes since 3.0.RC4</h3>
<ul>
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
@@ -1889,7 +2018,7 @@
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
</ul>
<a name="v30rc3"></a><h3>1.xvii. Changes since 3.0.RC3</h3>
<a name="v30rc3"></a><h3>1.xviii. Changes since 3.0.RC3</h3>
<ul>
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
@@ -1998,7 +2127,7 @@
</ul>
<a name="v30rc2"></a><h3>1.xviii. Changes since 3.0.RC2</h3>
<a name="v30rc2"></a><h3>1.xviv. Changes since 3.0.RC2</h3>
<ul>
<li>[Fix] Re-allow searching within the memberlist</li>
@@ -2044,7 +2173,7 @@
</ul>
<a name="v30rc1"></a><h3>1.xix. Changes since 3.0.RC1</h3>
<a name="v30rc1"></a><h3>1.xx. Changes since 3.0.RC1</h3>
<ul>
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>
@@ -2179,7 +2308,7 @@
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-2.0.php">GNU General Public License v2</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -110,7 +110,7 @@ I want to sue you because i think you host an illegal board!</h2>
<div class="content">
<p>We provide the software, we have absolutely nothing to do with any board that runs it (beyond phpbb.com of course!) and we also do not host any site. The GPL grants the user an unlimited right of use subject to their adherence of that licence. Therefore we cannot prevent, dictate, control or otherwise limit the use of phpBB software. So please do not contact us for such matters.</p>
<p>We provide the software, we have absolutely nothing to do with any board that runs it (beyond phpbb.com of course!) and we also do not host any site. The GPL grants the user an unlimited right of use subject to their adherence of that license. Therefore we cannot prevent, dictate, control or otherwise limit the use of phpBB software. So please do not contact us for such matters.</p>
<p>If you have a problem with a given board please take it up with them, not us. We are not and cannot be held legally responsible for any third party use of this software (much like Microsoft et al cannot be held responsible for the use of Windows in illegal activities, etc.). Additionally we do <strong>not</strong> track the use of phpBB software in any way. So please do not ask us for details on a &quot;given&quot; board we will not be able to help you. If any law firms or lawyers out there send us writs, cease and desist orders, etc. for third party website use of this software we reserve the right to charge for time wasted dealing with such issues...</p>
@@ -328,7 +328,7 @@ I want to sue you because i think you host an illegal board!</h2>
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-2.0.php">GNU General Public License v2</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -82,7 +82,7 @@
<li><a href="#webserver_configuration">Webserver configuration</a></li>
</ol>
</li>
<li><a href="#disclaimer">Disclaimer</a></li>
<li><a href="#disclaimer">Copyright and disclaimer</a></li>
</ol>
</div>
@@ -139,15 +139,15 @@
<ul>
<li>MySQL 3.23 or above (MySQLi supported)</li>
<li>PostgreSQL 7.3+</li>
<li>SQLite 2.8.2+</li>
<li>SQLite 2.8.2+ (SQLite 3 is not supported)</li>
<li>Firebird 2.1+</li>
<li>MS SQL Server 2000 or above (directly or via ODBC)</li>
<li>MS SQL Server 2000 or above (directly or via ODBC or the native adapter)</li>
<li>Oracle</li>
</ul>
</li>
<li><strong>PHP 4.3.3+ (>=4.3.3, >4.4.x, >5.x.x, >6.0-dev (compatible))</strong> with support for the database you intend to use.</li>
<li><strong>PHP 4.3.3+ (>=4.3.3, >=4.4.x, >=5.x.x, >=5.4.x)</strong> with support for the database you intend to use.</li>
<li>getimagesize() function need to be enabled.</li>
<li>These optional presence of the following modules within PHP will provide access to additional features, but they are not required.
<li>Presence of the following modules within PHP will provide access to additional features, but they are not required:
<ul>
<li>zlib Compression support</li>
<li>Remote FTP support</li>
@@ -182,7 +182,7 @@
<p>All .php, .inc, .sql, .cfg, .html 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 where uploaded correctly as described here.</p>
<p>phpBB3 comes supplied with 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 of language packs, where to obtain them and how to install them please see the <a href="README.html#i18n">README</a>.</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 of 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 <em>www.mydomain.tld</em> and you placed phpBB3 in a directory /phpBB3 off your web root you would enter <em>http://www.mydomain.tld/phpBB3/install/</em> or (alternatively) <em>http://www.mydomain.tld/phpBB3/install/index.php</em> into your browser. When you have done this you should see the phpBB3 Installation screen appear.</p>
@@ -274,7 +274,7 @@
<p>This package is meant for those wanting to only replace changed files from a previous version to the latest version. This package normally contains the changed files from up to five previous versions.</p>
<p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <samp>3.0.9</samp> you should select the phpBB-3.0.9_to_3.0.10.zip/tar.gz file.</p>
<p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <samp>3.0.10</samp> you should select the phpBB-3.0.10_to_3.0.11.zip/tar.gz file.</p>
<p>The directory structure has been preserved enabling you (if you wish) to simply upload the contents of the archive to the appropriate location on your server, i.e. simply overwrite the existing files with the new versions. Do not forget that if you have installed any MODs these files will overwrite the originals possibly destroying them in the process. You will need to re-add MODs to any affected file before uploading.</p>
@@ -286,7 +286,7 @@
<p>The patch file is one solution for those with many Modifications (MODs) or other changes who do not want to re-add them back to all the changed files if they use the method explained above. To use this you will need command line access to a standard UNIX type <strong>patch</strong> application. If you do not have access to such an application but still want to use this update approach, we strongly recommend the <a href="#update_auto">Automatic update package</a> explained below. It is also the recommended update method.</p>
<p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is <samp>3.0.9</samp> you need the phpBB-3.0.9_to_3.0.10.patch file. Place the correct patch in the parent directory containing the phpBB3 core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <strong>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</strong> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB3, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
<p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is <samp>3.0.10</samp> you need the phpBB-3.0.10_to_3.0.11.patch file. Place the correct patch in the parent directory containing the phpBB3 core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <strong>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</strong> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB3, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
<p>If you do get failures you should look at using the <a href="#update_files">Changed files only</a> package to replace the files which failed to patch, please note that you will need to manually re-add any Modifications (MODs) to these particular files. Alternatively if you know how you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source.</p>
@@ -431,7 +431,7 @@
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-2.0.php">GNU General Public License v2</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -54,7 +54,7 @@
<li><a href="#install">Installing phpBB3</a></li>
<li><a href="#run">Running phpBB3</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#i18n">Internationalisation (i18n)</a></li>
<li><a href="#i18n">Languages (Internationalisation - i18n)</a></li>
<li><a href="#styles">Styles</a></li>
<li><a href="#mods">Modifications</a></li>
</ol>
@@ -62,8 +62,9 @@
<li><a href="#help">Getting help with phpBB3</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#docs">Documentation</a></li>
<li><a href="#kb">Knowledge Base</a></li>
<li><a href="#website">Community Forums</a></li>
<li><a href="#irc">Internet Relay Chat</a></li>
<li><a href="#irc">Internet Relay Chat (IRC)</a></li>
</ol>
</li>
<li><a href="#status">Status of this version</a></li>
@@ -106,6 +107,7 @@
<ul>
<li>Updates from phpBB3 RC1 to the latest version</li>
<li>Note: if using the <em>Automatic Update Package</em>, updates are supported from phpBB 3.0.2 onward. To update a pre-3.0.2 installation, first update to 3.0.2 and then update to the current version.</li>
<li>Conversions from phpBB 2.0.x to the latest version</li>
<li>New installations of phpBB3 - always only the latest released version</li>
</ul>
@@ -126,41 +128,41 @@
<div class="content">
<p>Once installed phpBB is easily managed by both admin and moderator control panels. If you need help or advice with phpBB please see <a href="#help">Section 3</a> below.</p>
<p>Once installed, phpBB is easily managed via the Administration and Moderator Control Panels. If you need help or advice with phpBB, please see <a href="#help">Section 3</a> below.</p>
<a name="i18n"></a><h3>2.i. Internationalisation (i18n)</h3>
<a name="i18n"></a><h3>2.i. Languages (Internationalisation - i18n)</h3>
<p>A number of language packs and style localisations are available. You can find them on our official download page:</p>
<p>A number of language packs with included style localisations are available. You can find them listed in the <a href="http://www.phpbb.com/languages/">Language Packs</a> pages of our downloads section or from the <a href="http://www.phpbb.com/customise/db/language_packs-25/">Language Packs</a> section of the <a href="http://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p><a href="http://www.phpbb.com/downloads/">http://www.phpbb.com/downloads/</a></p>
<p>For more information about language packs, please see: <a href="http://www.phpbb.com/languages/">http://www.phpbb.com/languages/</a></p>
<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. So please, do not ask for help in these cases!</p>
<p>Installation of these packages is straightforward, simply download the required language pack and unarchive it into the <samp>languages/</samp> folder. Please ensure you retain the directory structure when doing this! Once uploaded go to the <code>Admin-&gt;System-&gt;Language Packs</code> and install the now appeared new language pack. To install the style imageset you should download the imageset for your language and unarchive the file/s into the relevant imageset directory (styles/prosilver/imageset or styles/subsilver2/imageset), again you must retain the directory structure. Once installed the imageset will become immediately available.</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="http://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 forums where you will find a topic listing translations currently available or in preparation. This topic also gives you information should you wish to volunteer to translate a language not currently listed.</p>
<p>If your language is not available, please visit our <a href="http://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="http://www.phpbb.com/languages/apply.php">Apply to become a translator</a>.</p>
<a name="styles"></a><h3>2.ii. Styles</h3>
<p>Although phpBB Group are rather proud of the included styles we realise that it may not be to everyones tastes. Therefore phpBB3 allows styles to be switched with relative ease. Firstly you need to locate and download a style you like. We maintain such a site at</p>
<p>Although the phpBB Group is 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="http://www.phpbb.com/customise/db/styles-2/">Styles</a> section of our <a href="http://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p><a href="http://www.phpbb.com/styles/">http://www.phpbb.com/styles/</a></p>
<p>For more information about styles, please see: <a href="http://www.phpbb.com/styles/">http://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.</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 <samp>styles/</samp> directory. You then need to visit <code>Administration -&gt; Styles</code>, you should see the new style available, click install and it will become available for all your users.</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><strong>Please note</strong> that if you create your own style or modify existing ones, please remember to enable the &quot;Recompile stale style components&quot; setting within the <code>Admin-&gt;General-&gt;Load Settings</code> screen. This setting allows the cache to detect changes made to the style and automatically refresh it. If this setting is disabled, 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 &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>
<a name="mods"></a><h3>2.iii. Modifications</h3>
<p>Although not officially supported by phpBB Group, phpBB has a thriving modification scene. These third party modifications to the standard phpBB extend its capabilities still further and can be found at:</p>
<p>Although not officially supported by the phpBB Group, phpBB has a thriving modification scene. 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="http://www.phpbb.com/customise/db/modifications-1/">Modifications</a> section of our <a href="http://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
<p><a href="http://www.phpbb.com/mods/">http://www.phpbb.com/mods/</a></p>
<p>For more information about MODs, please see: <a href="http://www.phpbb.com/mods/">http://www.phpbb.com/mods/</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 modification and see if the problem is resolved.</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>Also remember that any modifications which modify the database in any way may render upgrading your forum to future versions more difficult unless we state otherwise. 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 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>
</div>
@@ -188,17 +190,25 @@
<p>This covers everything from installation through setting permissions and managing users.</p>
<a name="website"></a><h3>3.ii. Community Forums</h3>
<a name="kb"></a><h3>3.ii. Knowledge Base</h3>
<p>phpBB Group maintains a thriving community where a number of people have generously decided to donate their time to help support users. This site can be found at:</p>
<p>The Knowledge Base consists of a number of detailed articles on some common issues phpBB users may encounter while using the product. The Knowledge Base can be found at:</p>
<p><a href="http://www.phpbb.com/">http://www.phpbb.com/</a></p>
<p><a href="http://www.phpbb.com/kb/">http://www.phpbb.com/kb/</a></p>
<a name="website"></a><h3>3.iii. Community Forums</h3>
<p>The phpBB Group maintains a thriving community where a number of people have generously decided to donate their time to help support users. This site can be found at:</p>
<p><a href="http://www.phpbb.com/community/">http://www.phpbb.com/community/</a></p>
<p>If you do seek help via our forums please be sure to do a Search before posting. This may well save both you and us time and allow the developer, moderator and support groups to spend more time responding to people with unknown issues and problems. Please also remember that phpBB is an entirely volunteer effort, no one receives any compensation for the time they give, this includes moderators as well as developers. So please be respectful and mindful when awaiting responses.</p>
<a name="irc"></a><h3>3.iii Internet Relay Chat</h3>
<a name="irc"></a><h3>3.iv Internet Relay Chat</h3>
<p>Another place you may find help is our IRC channel. This operates on the Freenode IRC network, <em>irc.freenode.net</em> and the channel is <em>#phpbb</em> and can be accessed by any good IRC client such as mIRC, XChat, etc. Again, please do not abuse this service and be respectful of other users.</p>
<p>Another place you may find help is our IRC channel. This operates on the Freenode IRC network, <a href="irc://irc.freenode.net">irc.freenode.net</a> and the channel is <em>#phpbb</em> and can be accessed by any decent IRC client such as mIRC, XChat, etc. Again, please do not abuse this service and be respectful of other users.</p>
<p>There are other IRC channels available, please see <a href="http://www.phpbb.com/support/irc/">http://www.phpbb.com/support/irc/</a> for the complete list.</p>
</div>
@@ -216,13 +226,13 @@
<div class="content">
<p>This is the third stable release of phpBB. The 3.0.x line is essentially feature frozen, with only point releases seeing fixes for bugs and security issues, though feature alterations and minor feature additions may be done if deemed absolutely required. Our next major release will be phpBB 3.2 and the planning phase has begun (the unstable development version is 3.1). Please do not post questions asking when 3.2 will be available, no release date has been set.</p>
<p>This is the third stable release of phpBB. The 3.0.x line is essentially feature frozen, with only point releases seeing fixes for bugs and security issues, though feature alterations and minor feature additions may be done if deemed absolutely required. Our next major release will be phpBB 3.1. Please do not post questions asking when 3.1 will be available, no release date has been set.</p>
<p>For those interested in the development of phpBB should keep an eye on the community forums to see how things are progressing:</p>
<p>Those interested in the development of phpBB should keep an eye on the development forums to see how things are progressing:</p>
<p><a href="http://area51.phpbb.com/phpBB/">http://area51.phpbb.com/phpBB/</a></p>
<p>Please note that this forum should <strong>NOT</strong> be used to obtain support for or ask questions about phpBB 2.0.x or phpBB 3.0.x, the main community forums are the place for this. Any such posts will be locked and go unanswered.</p>
<p>Please note that the development forums should <strong>NOT</strong> be used to seek support for or ask questions about phpBB 2.0.x or phpBB 3.0.x, the main community forums are the place for this. Any such posts will be locked and go unanswered.</p>
</div>
@@ -240,20 +250,20 @@
<div class="content">
<p>The phpBB Group 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, they will be locked. 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 Group 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><a href="http://tracker.phpbb.com/">http://tracker.phpbb.com/</a></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>Firstly determine if your bug is reproduceable, how to determine this depends on the bug in question. Only if the bug is reproduceable it is 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>Next please read or search through the existing bug reports to see if <em>your</em> bug (or one very similar to it) is already listed. If it is please add to that existing bug rather than creating a new duplicate entry (all this does is slow us down).<br /><br /></li>
<li>Check the forums (use search!) to see if people have discussed anything that sounds similar to what you are seeing. However, as noted above please <strong>DO NOT</strong> post your particular bug to the forum unless it's non-reproduceable or you are sure it's related to something you have done rather phpBB3<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 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>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>If no existing bug exists then please feel free to add it</li>
</ul>
<p>If you do post a new bug (i.e. one that isn't already listed in the bug tracker) firstly make sure you have logged in (your username and password are the same as for the community forums) then please include the following details:</p>
<p>If you do post a new bug (i.e. one that isn't already listed in the bug tracker) first make sure that you have logged in (your username and password are the same as for the community forums) then please include the following details:</p>
<ul>
<li>Your server type/version, e.g. Apache 1.3.28, IIS 4, Sambar, etc.</li>
@@ -261,10 +271,12 @@
<li>DB type/version, e.g. MySQL 4.0.1, PostgreSQL 7.3.2, MSSQL Server 2000 SP1, etc.</li>
</ul>
<p>The relevant database type/version is listed within the administration control panel</p>
<p>The relevant database type/version is listed within the administration control panel.</p>
<p>Please also be as detailed as you can in your report, 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 <a href="https://github.com/phpbb/phpbb3">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.0.x the coding guidelines may be found here: <a href="http://area51.phpbb.com/docs/30x/coding-guidelines.html">http://area51.phpbb.com/docs/30x/coding-guidelines.html</a></p>
<p>Once a bug has been submitted you will be emailed any follow up comments added to it. <strong>Please</strong> if you are requested to supply additional information, do so! It is frustrating for us to receive bug reports, ask for additional information but get nothing. In these cases we have a policy of closing the bug, which may leave a very real problem in place. Obviously we would rather not have this situation arise.</p>
<a name="securitybugs"></a><h3>5.i. Security related bugs</h3>
@@ -289,7 +301,7 @@
<div class="content">
<p>This list is not complete but does represent those bugs which may effect users on a wider scale. Other bugs listed in the tracker have typically been shown to be limited to certain setups or methods of installation, updating and/or conversions.</p>
<p>This list is not complete but does represent those bugs which may affect users on a wider scale. Other bugs listed in the tracker have typically been shown to be limited to certain setups or methods of installation, updating and/or conversions.</p>
<ul>
<li>Conversions may fail to complete on large boards under some hosts</li>
@@ -317,7 +329,7 @@
<p>Please remember that running any application on a developmental version of PHP can lead to strange/unexpected results which may appear to be bugs in the application (which may not be true). Therefore we recommend you upgrade to the newest stable version of PHP before running phpBB3. If you are running a developmental 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, MSSQL Server 2000, PostgreSQL 7.x, Oracle 8, SQLite and Firebird. Versions of PHP used range from 4.3.3 to 6.0.0-dev without problem. </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, MSSQL Server 2000, PostgreSQL 7.x, Oracle 8, SQLite 2 and Firebird. Versions of PHP used range from 4.3.3 to 5.4.x without problem. </p>
<a name="phpsec"></a><h3>7.i. Notice on PHP security issues</h3>
@@ -339,7 +351,7 @@
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-2.0.php">GNU General Public License v2</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright &copy; <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -275,7 +275,7 @@ $auth_admin = new auth_admin();
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-2.0.php">GNU General Public License v2</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -129,9 +129,8 @@
/**
*
* @package {PACKAGENAME}
* @version &#36;Id: &#36;
* @copyright (c) 2007 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
</pre></div>
@@ -2322,7 +2321,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-2.0.php">GNU General Public License v2</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -867,7 +867,7 @@ function phpbb_hook_register(&amp;$hook)
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-2.0.php">GNU General Public License v2</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -424,7 +424,7 @@ function send_file_to_browser($attachment, $upload_dir, $category)
if (!@file_exists($filename))
{
send_status_line(404, 'Not Found');
trigger_error($user->lang['ERROR_NO_ATTACHMENT'] . '<br /><br />' . sprintf($user->lang['FILE_NOT_FOUND_404'], $filename));
trigger_error('ERROR_NO_ATTACHMENT');
}
// Correct the mime type - we force application/octetstream for all files, except images

View File

@@ -234,7 +234,7 @@ class acp_board
'max_name_chars' => array('lang' => 'USERNAME_LENGTH', 'validate' => 'int:8:180', 'type' => false, 'method' => false, 'explain' => false,),
'max_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:8:255', 'type' => false, 'method' => false, 'explain' => false,),
'require_activation' => array('lang' => 'ACC_ACTIVATION', 'validate' => 'int', 'type' => 'custom', 'method' => 'select_acc_activation', 'explain' => true),
'require_activation' => array('lang' => 'ACC_ACTIVATION', 'validate' => 'int', 'type' => 'select', 'method' => 'select_acc_activation', 'explain' => true),
'new_member_post_limit' => array('lang' => 'NEW_MEMBER_POST_LIMIT', 'validate' => 'int:0:255', 'type' => 'text:4:4', 'explain' => true, 'append' => ' ' . $user->lang['POSTS']),
'new_member_group_default'=> array('lang' => 'NEW_MEMBER_GROUP_DEFAULT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'min_name_chars' => array('lang' => 'USERNAME_LENGTH', 'validate' => 'int:1', 'type' => 'custom:5:180', 'method' => 'username_length', 'explain' => true),
@@ -383,6 +383,8 @@ class acp_board
'referer_validation' => array('lang' => 'REFERER_VALID', 'validate' => 'int:0:3','type' => 'custom', 'method' => 'select_ref_check', 'explain' => true),
'check_dnsbl' => array('lang' => 'CHECK_DNSBL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'email_check_mx' => array('lang' => 'EMAIL_CHECK_MX', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'max_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:8:255', 'type' => false, 'method' => false, 'explain' => false,),
'min_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:1', 'type' => 'custom', 'method' => 'password_length', 'explain' => true),
'pass_complex' => array('lang' => 'PASSWORD_TYPE', 'validate' => 'string', 'type' => 'select', 'method' => 'select_password_chars', 'explain' => true),
'chg_passforce' => array('lang' => 'FORCE_PASS_CHANGE', 'validate' => 'int:0', 'type' => 'text:3:3', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
'max_login_attempts' => array('lang' => 'MAX_LOGIN_ATTEMPTS', 'validate' => 'int:0', 'type' => 'text:3:3', 'explain' => true),
@@ -768,24 +770,28 @@ class acp_board
/**
* Select account activation method
*/
function select_acc_activation($value, $key = '')
function select_acc_activation($selected_value, $value)
{
global $user, $config;
$radio_ary = array(
USER_ACTIVATION_DISABLE => 'ACC_DISABLE',
USER_ACTIVATION_NONE => 'ACC_NONE',
$act_ary = array(
'ACC_DISABLE' => USER_ACTIVATION_DISABLE,
'ACC_NONE' => USER_ACTIVATION_NONE,
);
if ($config['email_enable'])
{
$radio_ary[USER_ACTIVATION_SELF] = 'ACC_USER';
$radio_ary[USER_ACTIVATION_ADMIN] = 'ACC_ADMIN';
$act_ary['ACC_USER'] = USER_ACTIVATION_SELF;
$act_ary['ACC_ADMIN'] = USER_ACTIVATION_ADMIN;
}
$act_options = '';
foreach ($act_ary as $key => $value)
{
$selected = ($selected_value == $value) ? ' selected="selected"' : '';
$act_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$key] . '</option>';
}
$radio_text = h_radio('config[require_activation]', $radio_ary, $value, 'require_activation', $key, '<br />');
return $radio_text;
return $act_options;
}
/**

View File

@@ -96,7 +96,7 @@ class acp_captcha
}
else if ($submit)
{
trigger_error($user->lang['FORM_INVALID'] . adm_back_link(), E_USER_WARNING);
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
else
{

View File

@@ -21,6 +21,7 @@ if (!defined('IN_PHPBB'))
*/
class acp_database
{
var $db_tools;
var $u_action;
function main($id, $mode)
@@ -28,6 +29,12 @@ class acp_database
global $cache, $db, $user, $auth, $template, $table_prefix;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
if (!class_exists('phpbb_db_tools'))
{
require($phpbb_root_path . 'includes/db/db_tools.' . $phpEx);
}
$this->db_tools = new phpbb_db_tools($db);
$user->add_lang('acp/database');
$this->tpl_name = 'acp_database';
@@ -50,7 +57,7 @@ class acp_database
{
case 'download':
$type = request_var('type', '');
$table = request_var('table', array(''));
$table = array_intersect($this->db_tools->sql_list_tables(), request_var('table', array('')));
$format = request_var('method', '');
$where = request_var('where', '');
@@ -173,8 +180,7 @@ class acp_database
break;
default:
include($phpbb_root_path . 'includes/functions_install.' . $phpEx);
$tables = get_tables($db);
$tables = $this->db_tools->sql_list_tables();
asort($tables);
foreach ($tables as $table_name)
{

View File

@@ -201,7 +201,7 @@ class acp_main
// No maximum post id? :o
if (!$max_post_id)
{
$sql = 'SELECT MAX(post_id)
$sql = 'SELECT MAX(post_id) as max_post_id
FROM ' . POSTS_TABLE;
$result = $db->sql_query($sql);
$max_post_id = (int) $db->sql_fetchfield('max_post_id');
@@ -398,11 +398,11 @@ class acp_main
// Version check
$user->add_lang('install');
if ($auth->acl_get('a_server') && version_compare(PHP_VERSION, '5.2.0', '<'))
if ($auth->acl_get('a_server') && version_compare(PHP_VERSION, '5.3.2', '<'))
{
$template->assign_vars(array(
'S_PHP_VERSION_OLD' => true,
'L_PHP_VERSION_OLD' => sprintf($user->lang['PHP_VERSION_OLD'], '<a href="http://www.phpbb.com/community/viewtopic.php?f=14&amp;t=1958605">', '</a>'),
'L_PHP_VERSION_OLD' => sprintf($user->lang['PHP_VERSION_OLD'], '<a href="http://www.phpbb.com/community/viewtopic.php?f=14&amp;t=2152375">', '</a>'),
));
}

View File

@@ -365,6 +365,7 @@ class acp_profile
$field_row = array_merge($default_values[$field_type], array(
'field_ident' => str_replace(' ', '_', utf8_clean_string(request_var('field_ident', '', true))),
'field_required' => 0,
'field_show_novalue'=> 0,
'field_hide' => 0,
'field_show_profile'=> 0,
'field_no_view' => 0,
@@ -380,7 +381,7 @@ class acp_profile
// $exclude contains the data we gather in each step
$exclude = array(
1 => array('field_ident', 'lang_name', 'lang_explain', 'field_option_none', 'field_show_on_reg', 'field_show_on_vt', 'field_required', 'field_hide', 'field_show_profile', 'field_no_view'),
1 => array('field_ident', 'lang_name', 'lang_explain', 'field_option_none', 'field_show_on_reg', 'field_show_on_vt', 'field_required', 'field_show_novalue', 'field_hide', 'field_show_profile', 'field_no_view'),
2 => array('field_length', 'field_maxlen', 'field_minlen', 'field_validation', 'field_novalue', 'field_default_value'),
3 => array('l_lang_name', 'l_lang_explain', 'l_lang_default_value', 'l_lang_options')
);
@@ -405,6 +406,7 @@ class acp_profile
// Visibility Options...
$visibility_ary = array(
'field_required',
'field_show_novalue',
'field_show_on_reg',
'field_show_on_vt',
'field_show_profile',
@@ -504,11 +506,34 @@ class acp_profile
}
}
}
/* else if ($field_type == FIELD_BOOL && $key == 'field_default_value')
else if ($field_type == FIELD_BOOL && $key == 'field_default_value')
{
// Get the number of options if this key is 'field_maxlen'
$var = request_var('field_default_value', 0);
}*/
// 'field_length' == 1 defines radio buttons. Possible values are 1 or 2 only.
// 'field_length' == 2 defines checkbox. Possible values are 0 or 1 only.
// If we switch the type on step 2, we have to adjust field value.
// 1 is a common value for the checkbox and radio buttons.
// Adjust unchecked checkbox value.
// If we return or save settings from 2nd/3rd page
// and the checkbox is unchecked, set the value to 0.
if (isset($_REQUEST['step']) && !isset($_REQUEST[$key]))
{
$var = 0;
}
// If we switch to the checkbox type but former radio buttons value was 2,
// which is not the case for the checkbox, set it to 0 (unchecked).
if ($cp->vars['field_length'] == 2 && $var == 2)
{
$var = 0;
}
// If we switch to the radio buttons but the former checkbox value was 0,
// which is not the case for the radio buttons, set it to 0.
else if ($cp->vars['field_length'] == 1 && $var == 0)
{
$var = 2;
}
}
else if ($field_type == FIELD_INT && $key == 'field_default_value')
{
// Permit an empty string
@@ -676,6 +701,10 @@ class acp_profile
{
$_new_key_ary[$key] = utf8_normalize_nfc(request_var($key, array(array('')), true));
}
else if ($field_type == FIELD_BOOL && $key == 'field_default_value')
{
$_new_key_ary[$key] = request_var($key, $cp->vars[$key]);
}
else
{
if (!isset($_REQUEST[$key]))
@@ -730,6 +759,7 @@ class acp_profile
$template->assign_vars(array(
'S_STEP_ONE' => true,
'S_FIELD_REQUIRED' => ($cp->vars['field_required']) ? true : false,
'S_FIELD_SHOW_NOVALUE'=> ($cp->vars['field_show_novalue']) ? true : false,
'S_SHOW_ON_REG' => ($cp->vars['field_show_on_reg']) ? true : false,
'S_SHOW_ON_VT' => ($cp->vars['field_show_on_vt']) ? true : false,
'S_FIELD_HIDE' => ($cp->vars['field_hide']) ? true : false,
@@ -1046,6 +1076,7 @@ class acp_profile
'field_default_value' => $cp->vars['field_default_value'],
'field_validation' => $cp->vars['field_validation'],
'field_required' => $cp->vars['field_required'],
'field_show_novalue' => $cp->vars['field_show_novalue'],
'field_show_on_reg' => $cp->vars['field_show_on_reg'],
'field_show_on_vt' => $cp->vars['field_show_on_vt'],
'field_hide' => $cp->vars['field_hide'],

View File

@@ -52,7 +52,7 @@ class acp_ranks
}
$rank_title = utf8_normalize_nfc(request_var('title', '', true));
$special_rank = request_var('special_rank', 0);
$min_posts = ($special_rank) ? 0 : request_var('min_posts', 0);
$min_posts = ($special_rank) ? 0 : max(0, request_var('min_posts', 0));
$rank_image = request_var('rank_image', '');
// The rank image has to be a jpg, gif or png

View File

@@ -99,11 +99,11 @@ parse_css_file = {PARSE_CSS_FILE}
$this->template_cfg .= '
# Some configuration options
#
# You can use this function to inherit templates from another template.
# The template of the given name has to be installed.
# Templates cannot inherit from inheriting templates.
#';
# Template inheritance
# See http://blog.phpbb.com/2008/07/31/templating-just-got-easier/
# Set value to empty or this template name to ignore template inheritance.
inherit_from = {INHERIT_FROM}
';
$this->imageset_keys = array(
'logos' => array(
@@ -540,12 +540,14 @@ parse_css_file = {PARSE_CSS_FILE}
global $user, $template, $db, $config, $phpbb_root_path, $phpEx;
$sql_from = '';
$sql_sort = 'LOWER(' . $mode . '_name)';
$style_count = array();
switch ($mode)
{
case 'style':
$sql_from = STYLES_TABLE;
$sql_sort = 'style_active DESC, ' . $sql_sort;
$sql = 'SELECT user_style, COUNT(user_style) AS style_count
FROM ' . USERS_TABLE . '
@@ -571,6 +573,9 @@ parse_css_file = {PARSE_CSS_FILE}
case 'imageset':
$sql_from = STYLES_IMAGESET_TABLE;
break;
default:
trigger_error($user->lang['NO_MODE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$l_prefix = strtoupper($mode);
@@ -594,7 +599,8 @@ parse_css_file = {PARSE_CSS_FILE}
);
$sql = "SELECT *
FROM $sql_from";
FROM $sql_from
ORDER BY $sql_sort ASC";
$result = $db->sql_query($sql);
$installed = array();
@@ -630,6 +636,8 @@ parse_css_file = {PARSE_CSS_FILE}
'NAME' => $row[$mode . '_name'],
'STYLE_COUNT' => ($mode == 'style' && isset($style_count[$row['style_id']])) ? $style_count[$row['style_id']] : 0,
'S_INACTIVE' => ($mode == 'style' && !$row['style_active']) ? true : false,
)
);
}
@@ -659,7 +667,9 @@ parse_css_file = {PARSE_CSS_FILE}
if ($name && !in_array($name, $installed))
{
$new_ary[] = array(
// The array key is used for sorting later on.
// $file is appended because $name doesn't have to be unique.
$new_ary[$name . $file] = array(
'path' => $file,
'name' => $name,
'copyright' => $items['copyright'],
@@ -675,6 +685,8 @@ parse_css_file = {PARSE_CSS_FILE}
if (sizeof($new_ary))
{
ksort($new_ary);
foreach ($new_ary as $cfg)
{
$template->assign_block_vars('uninstalled', array(
@@ -1634,6 +1646,13 @@ parse_css_file = {PARSE_CSS_FILE}
trigger_error($user->lang['NO_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
}
$s_only_component = $this->display_component_options($mode, $style_row[$mode . '_id'], $style_row);
if ($s_only_component)
{
trigger_error($user->lang['ONLY_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
}
if ($update)
{
if ($mode == 'style')
@@ -1678,8 +1697,6 @@ parse_css_file = {PARSE_CSS_FILE}
trigger_error($user->lang[$message] . adm_back_link($this->u_action));
}
$this->display_component_options($mode, $style_row[$mode . '_id'], $style_row);
$this->page_title = 'DELETE_' . $l_prefix;
$template->assign_vars(array(
@@ -1765,11 +1782,14 @@ parse_css_file = {PARSE_CSS_FILE}
/**
* Display the options which can be used to replace a style/template/theme/imageset
*
* @return boolean Returns true if the component is the only component and can not be deleted.
*/
function display_component_options($component, $component_id, $style_row = false, $style_id = false)
{
global $db, $template, $user;
$is_only_component = true;
$component_in_use = array();
if ($component != 'style')
{
@@ -1801,6 +1821,9 @@ parse_css_file = {PARSE_CSS_FILE}
$s_options = '';
if (($component != 'style') && empty($component_in_use))
{
// If it is not in use, there must be another component
$is_only_component = false;
$sql = "SELECT {$component}_id, {$component}_name
FROM $sql_from
WHERE {$component}_id = {$component_id}";
@@ -1824,6 +1847,7 @@ parse_css_file = {PARSE_CSS_FILE}
{
if ($row[$component . '_id'] != $component_id)
{
$is_only_component = false;
$s_options .= '<option value="' . $row[$component . '_id'] . '">' . sprintf($user->lang['REPLACE_WITH_OPTION'], $row[$component . '_name']) . '</option>';
}
else if ($component != 'style')
@@ -1851,6 +1875,8 @@ parse_css_file = {PARSE_CSS_FILE}
}
}
}
return $is_only_component;
}
/**
@@ -2025,9 +2051,7 @@ parse_css_file = {PARSE_CSS_FILE}
// Export template core code
if ($mode == 'template' || $inc_template)
{
$template_cfg = str_replace(array('{MODE}', '{NAME}', '{COPYRIGHT}', '{VERSION}'), array($mode, $style_row['template_name'], $style_row['template_copyright'], $config['version']), $this->template_cfg);
$use_template_name = '';
$use_template_name = $style_row['template_name'];
// Add the inherit from variable, depending on it's use...
if ($style_row['template_inherits_id'])
@@ -2041,7 +2065,8 @@ parse_css_file = {PARSE_CSS_FILE}
$db->sql_freeresult($result);
}
$template_cfg .= ($use_template_name) ? "\ninherit_from = $use_template_name" : "\n#inherit_from = ";
$template_cfg = str_replace(array('{MODE}', '{NAME}', '{COPYRIGHT}', '{VERSION}', '{INHERIT_FROM}'), array($mode, $style_row['template_name'], $style_row['template_copyright'], $config['version'], $use_template_name), $this->template_cfg);
$template_cfg .= "\n\nbbcode_bitfield = {$style_row['bbcode_bitfield']}";
$data[] = array(

View File

@@ -1009,6 +1009,13 @@ class acp_users
$user_row['posts_in_queue'] = (int) $db->sql_fetchfield('posts_in_queue');
$db->sql_freeresult($result);
$sql = 'SELECT post_id
FROM ' . POSTS_TABLE . '
WHERE poster_id = '. $user_id;
$result = $db->sql_query_limit($sql, 1);
$user_row['user_has_posts'] = (bool) $db->sql_fetchfield('post_id');
$db->sql_freeresult($result);
$template->assign_vars(array(
'L_NAME_CHARS_EXPLAIN' => sprintf($user->lang[$config['allow_name_chars'] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
'L_CHANGE_PASSWORD_EXPLAIN' => sprintf($user->lang[$config['pass_complex'] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
@@ -1036,6 +1043,7 @@ class acp_users
'USER_EMAIL' => $user_row['user_email'],
'USER_WARNINGS' => $user_row['user_warnings'],
'USER_POSTS' => $user_row['user_posts'],
'USER_HAS_POSTS' => $user_row['user_has_posts'],
'USER_INACTIVE_REASON' => $inactive_reason,
));
@@ -2339,47 +2347,62 @@ class acp_users
}
/**
* Optionset replacement for this module based on $user->optionset
* Set option bit field for user options in a user row array.
*
* Optionset replacement for this module based on $user->optionset.
*
* @param array $user_row Row from the users table.
* @param int $key Option key, as defined in $user->keyoptions property.
* @param bool $value True to set the option, false to clear the option.
* @param int $data Current bit field value, or false to use $user_row['user_options']
* @return int|bool If $data is false, the bit field is modified and
* written back to $user_row['user_options'], and
* return value is true if the bit field changed and
* false otherwise. If $data is not false, the new
* bitfield value is returned.
*/
function optionset(&$user_row, $key, $value, $data = false)
{
global $user;
$var = ($data) ? $data : $user_row['user_options'];
$var = ($data !== false) ? $data : $user_row['user_options'];
if ($value && !($var & 1 << $user->keyoptions[$key]))
$new_var = phpbb_optionset($user->keyoptions[$key], $value, $var);
if ($data === false)
{
$var += 1 << $user->keyoptions[$key];
}
else if (!$value && ($var & 1 << $user->keyoptions[$key]))
{
$var -= 1 << $user->keyoptions[$key];
if ($new_var != $var)
{
$user_row['user_options'] = $new_var;
return true;
}
else
{
return false;
}
}
else
{
return ($data) ? $var : false;
}
if (!$data)
{
$user_row['user_options'] = $var;
return true;
}
else
{
return $var;
return $new_var;
}
}
/**
* Optionget replacement for this module based on $user->optionget
* Get option bit field from user options in a user row array.
*
* Optionget replacement for this module based on $user->optionget.
*
* @param array $user_row Row from the users table.
* @param int $key option key, as defined in $user->keyoptions property.
* @param int $data bit field value to use, or false to use $user_row['user_options']
* @return bool true if the option is set in the bit field, false otherwise
*/
function optionget(&$user_row, $key, $data = false)
{
global $user;
$var = ($data) ? $data : $user_row['user_options'];
return ($var & 1 << $user->keyoptions[$key]) ? true : false;
$var = ($data !== false) ? $data : $user_row['user_options'];
return phpbb_optionget($user->keyoptions[$key], $var);
}
}

View File

@@ -163,7 +163,7 @@ function login_db($username, $password, $ip = '', $browser = '', $forwarded_for
$password_old_format = (!STRIP) ? addslashes($password_old_format) : $password_old_format;
$password_new_format = '';
set_var($password_new_format, stripslashes($password_old_format), 'string');
set_var($password_new_format, stripslashes($password_old_format), 'string', true);
if ($password == $password_new_format)
{

View File

@@ -156,7 +156,11 @@ function login_ldap(&$username, &$password)
{
if (!@ldap_bind($ldap, htmlspecialchars_decode($config['ldap_user']), htmlspecialchars_decode($config['ldap_password'])))
{
return $user->lang['LDAP_NO_SERVER_CONNECTION'];
return array(
'status' => LOGIN_ERROR_EXTERNAL_AUTH,
'error_msg' => 'LDAP_NO_SERVER_CONNECTION',
'user_row' => array('user_id' => ANONYMOUS),
);
}
}

View File

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

View File

@@ -2115,7 +2115,7 @@ class phpbb_db_tools
case 'mysql_40':
case 'mysql_41':
$statements[] = 'ALTER TABLE ' . $table_name . ' ADD UNIQUE INDEX (' . implode(', ', $column) . ')';
$statements[] = 'ALTER TABLE ' . $table_name . ' ADD UNIQUE INDEX ' . $index_name . '(' . implode(', ', $column) . ')';
break;
case 'mssql':

View File

@@ -194,6 +194,49 @@ class dbal
return false;
}
/**
* Seek to given row number
* rownum is zero-based
*/
function sql_rowseek($rownum, &$query_id)
{
global $cache;
if ($query_id === false)
{
$query_id = $this->query_result;
}
if (isset($cache->sql_rowset[$query_id]))
{
return $cache->sql_rowseek($rownum, $query_id);
}
if ($query_id === false)
{
return false;
}
$this->sql_freeresult($query_id);
$query_id = $this->sql_query($this->last_query_text);
if ($query_id === false)
{
return false;
}
// We do not fetch the row for rownum == 0 because then the next resultset would be the second row
for ($i = 0; $i < $rownum; $i++)
{
if (!$this->sql_fetchrow($query_id))
{
return false;
}
}
return true;
}
/**
* Fetch field
* if rownum is false, the current row is used, else it is pointing to the row (zero-based)
@@ -457,6 +500,18 @@ class dbal
return $column_name . ' | ' . (1 << $bit) . (($compare) ? ' ' . $compare : '');
}
/**
* Run LOWER() on DB column of type text (i.e. neither varchar nor char).
*
* @param string $column_name The column name to use
*
* @return string A SQL statement like "LOWER($column_name)"
*/
function sql_lower_text($column_name)
{
return "LOWER($column_name)";
}
/**
* Run more than one insert statement.
*
@@ -662,12 +717,7 @@ class dbal
// The DEBUG_EXTRA constant is for development only!
if ((isset($auth) && $auth->acl_get('a_')) || defined('IN_INSTALL') || defined('DEBUG_EXTRA'))
{
// Print out a nice backtrace...
$backtrace = get_backtrace();
$message .= ($sql) ? '<br /><br />SQL<br /><br />' . htmlspecialchars($sql) : '';
$message .= ($backtrace) ? '<br /><br />BACKTRACE<br />' . $backtrace : '';
$message .= '<br />';
}
else
{
@@ -905,6 +955,41 @@ class dbal
return true;
}
/**
* Gets the estimated number of rows in a specified table.
*
* @param string $table_name Table name
*
* @return string Number of rows in $table_name.
* Prefixed with ~ if estimated (otherwise exact).
*
* @access public
*/
function get_estimated_row_count($table_name)
{
return $this->get_row_count($table_name);
}
/**
* Gets the exact number of rows in a specified table.
*
* @param string $table_name Table name
*
* @return string Exact number of rows in $table_name.
*
* @access public
*/
function get_row_count($table_name)
{
$sql = 'SELECT COUNT(*) AS rows_total
FROM ' . $this->sql_escape($table_name);
$result = $this->sql_query($sql);
$rows_total = $this->sql_fetchfield('rows_total');
$this->sql_freeresult($result);
return $rows_total;
}
}
/**

View File

@@ -359,49 +359,6 @@ class dbal_firebird extends dbal
return (sizeof($row)) ? $row : false;
}
/**
* Seek to given row number
* rownum is zero-based
*/
function sql_rowseek($rownum, &$query_id)
{
global $cache;
if ($query_id === false)
{
$query_id = $this->query_result;
}
if (isset($cache->sql_rowset[$query_id]))
{
return $cache->sql_rowseek($rownum, $query_id);
}
if ($query_id === false)
{
return;
}
$this->sql_freeresult($query_id);
$query_id = $this->sql_query($this->last_query_text);
if ($query_id === false)
{
return false;
}
// We do not fetch the row for rownum == 0 because then the next resultset would be the second row
for ($i = 0; $i < $rownum; $i++)
{
if (!$this->sql_fetchrow($query_id))
{
return false;
}
}
return true;
}
/**
* Get last inserted id after insert statement
*/

View File

@@ -332,6 +332,14 @@ class dbal_mssql extends dbal
return str_replace(array("'", "\0"), array("''", ''), $msg);
}
/**
* {@inheritDoc}
*/
function sql_lower_text($column_name)
{
return "LOWER(SUBSTRING($column_name, 1, DATALENGTH($column_name)))";
}
/**
* Build LIKE expression
* @access private

View File

@@ -255,49 +255,6 @@ class dbal_mssql_odbc extends dbal
return ($query_id !== false) ? @odbc_fetch_array($query_id) : false;
}
/**
* Seek to given row number
* rownum is zero-based
*/
function sql_rowseek($rownum, &$query_id)
{
global $cache;
if ($query_id === false)
{
$query_id = $this->query_result;
}
if (isset($cache->sql_rowset[$query_id]))
{
return $cache->sql_rowseek($rownum, $query_id);
}
if ($query_id === false)
{
return false;
}
$this->sql_freeresult($query_id);
$query_id = $this->sql_query($this->last_query_text);
if ($query_id === false)
{
return false;
}
// We do not fetch the row for rownum == 0 because then the next resultset would be the second row
for ($i = 0; $i < $rownum; $i++)
{
if (!$this->sql_fetchrow($query_id))
{
return false;
}
}
return true;
}
/**
* Get last inserted id after insert statement
*/
@@ -353,6 +310,14 @@ class dbal_mssql_odbc extends dbal
return str_replace(array("'", "\0"), array("''", ''), $msg);
}
/**
* {@inheritDoc}
*/
function sql_lower_text($column_name)
{
return "LOWER(SUBSTRING($column_name, 1, DATALENGTH($column_name)))";
}
/**
* Build LIKE expression
* @access private

View File

@@ -439,24 +439,6 @@ class dbal_mssqlnative extends dbal
return $row;
}
/**
* Seek to given row number
* rownum is zero-based
*/
function sql_rowseek($rownum, &$query_id)
{
global $cache;
if (isset($cache->sql_rowset[$query_id]))
{
return $cache->sql_rowseek($rownum, $query_id);
}
$seek = new result_mssqlnative($query_id);
$row = $seek->seek($rownum);
return ($row = $seek->fetch()) ? $row : false;
}
/**
* Get last inserted id after insert statement
*/
@@ -510,6 +492,14 @@ class dbal_mssqlnative extends dbal
return str_replace(array("'", "\0"), array("''", ''), $msg);
}
/**
* {@inheritDoc}
*/
function sql_lower_text($column_name)
{
return "LOWER(SUBSTRING($column_name, 1, DATALENGTH($column_name)))";
}
/**
* Build LIKE expression
* @access private

View File

@@ -318,6 +318,76 @@ class dbal_mysql extends dbal
return @mysql_real_escape_string($msg, $this->db_connect_id);
}
/**
* Gets the estimated number of rows in a specified table.
*
* @param string $table_name Table name
*
* @return string Number of rows in $table_name.
* Prefixed with ~ if estimated (otherwise exact).
*
* @access public
*/
function get_estimated_row_count($table_name)
{
$table_status = $this->get_table_status($table_name);
if (isset($table_status['Engine']))
{
if ($table_status['Engine'] === 'MyISAM')
{
return $table_status['Rows'];
}
else if ($table_status['Engine'] === 'InnoDB' && $table_status['Rows'] > 100000)
{
return '~' . $table_status['Rows'];
}
}
return parent::get_row_count($table_name);
}
/**
* Gets the exact number of rows in a specified table.
*
* @param string $table_name Table name
*
* @return string Exact number of rows in $table_name.
*
* @access public
*/
function get_row_count($table_name)
{
$table_status = $this->get_table_status($table_name);
if (isset($table_status['Engine']) && $table_status['Engine'] === 'MyISAM')
{
return $table_status['Rows'];
}
return parent::get_row_count($table_name);
}
/**
* Gets some information about the specified table.
*
* @param string $table_name Table name
*
* @return array
*
* @access protected
*/
function get_table_status($table_name)
{
$sql = "SHOW TABLE STATUS
LIKE '" . $this->sql_escape($table_name) . "'";
$result = $this->sql_query($sql);
$table_status = $this->sql_fetchrow($result);
$this->sql_freeresult($result);
return $table_status;
}
/**
* Build LIKE expression
* @access private

View File

@@ -315,6 +315,76 @@ class dbal_mysqli extends dbal
return @mysqli_real_escape_string($this->db_connect_id, $msg);
}
/**
* Gets the estimated number of rows in a specified table.
*
* @param string $table_name Table name
*
* @return string Number of rows in $table_name.
* Prefixed with ~ if estimated (otherwise exact).
*
* @access public
*/
function get_estimated_row_count($table_name)
{
$table_status = $this->get_table_status($table_name);
if (isset($table_status['Engine']))
{
if ($table_status['Engine'] === 'MyISAM')
{
return $table_status['Rows'];
}
else if ($table_status['Engine'] === 'InnoDB' && $table_status['Rows'] > 100000)
{
return '~' . $table_status['Rows'];
}
}
return parent::get_row_count($table_name);
}
/**
* Gets the exact number of rows in a specified table.
*
* @param string $table_name Table name
*
* @return string Exact number of rows in $table_name.
*
* @access public
*/
function get_row_count($table_name)
{
$table_status = $this->get_table_status($table_name);
if (isset($table_status['Engine']) && $table_status['Engine'] === 'MyISAM')
{
return $table_status['Rows'];
}
return parent::get_row_count($table_name);
}
/**
* Gets some information about the specified table.
*
* @param string $table_name Table name
*
* @return array
*
* @access protected
*/
function get_table_status($table_name)
{
$sql = "SHOW TABLE STATUS
LIKE '" . $this->sql_escape($table_name) . "'";
$result = $this->sql_query($sql);
$table_status = $this->sql_fetchrow($result);
$this->sql_freeresult($result);
return $table_status;
}
/**
* Build LIKE expression
* @access private

View File

@@ -1918,14 +1918,17 @@ function update_forum_tracking_info($forum_id, $forum_last_post_time, $f_mark_ti
}
else
{
$sql = 'SELECT t.forum_id FROM ' . TOPICS_TABLE . ' t
LEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt ON (tt.topic_id = t.topic_id AND tt.user_id = ' . $user->data['user_id'] . ')
$sql = 'SELECT t.forum_id
FROM ' . TOPICS_TABLE . ' t
LEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt
ON (tt.topic_id = t.topic_id
AND tt.user_id = ' . $user->data['user_id'] . ')
WHERE t.forum_id = ' . $forum_id . '
AND t.topic_last_post_time > ' . $mark_time_forum . '
AND t.topic_moved_id = 0 ' .
$sql_update_unapproved . '
AND (tt.topic_id IS NULL OR tt.mark_time < t.topic_last_post_time)
GROUP BY t.forum_id';
AND (tt.topic_id IS NULL
OR tt.mark_time < t.topic_last_post_time)';
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
@@ -3322,6 +3325,11 @@ function parse_cfg_file($filename, $lines = false)
$parsed_items[$key] = $value;
}
if (isset($parsed_items['inherit_from']) && isset($parsed_items['name']) && $parsed_items['inherit_from'] == $parsed_items['name'])
{
unset($parsed_items['inherit_from']);
}
return $parsed_items;
}
@@ -3448,7 +3456,7 @@ function get_preg_expression($mode)
case 'email':
// Regex written by James Watts and Francisco Jose Martin Moreno
// http://fightingforalostcause.net/misc/2006/compare-email-regex.php
return '([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*(?:[\w\!\#$\%\'\*\+\-\/\=\?\^\`{\|\}\~]|&amp;)+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)';
return '([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*(?:[\w\!\#$\%\'\*\+\-\/\=\?\^\`{\|\}\~]|&amp;)+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,63})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)';
break;
case 'bbcode_htm':
@@ -3853,11 +3861,23 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
}
}
$log_text = $msg_text;
$backtrace = get_backtrace();
if ($backtrace)
{
$log_text .= '<br /><br />BACKTRACE<br />' . $backtrace;
}
if (defined('IN_INSTALL') || defined('DEBUG_EXTRA') || isset($auth) && $auth->acl_get('a_'))
{
$msg_text = $log_text;
}
if ((defined('DEBUG') || defined('IN_CRON') || defined('IMAGE_OUTPUT')) && isset($db))
{
// let's avoid loops
$db->sql_return_on_error(true);
add_log('critical', 'LOG_GENERAL_ERROR', $msg_title, $msg_text);
add_log('critical', 'LOG_GENERAL_ERROR', $msg_title, $log_text);
$db->sql_return_on_error(false);
}
@@ -4378,7 +4398,7 @@ function phpbb_http_login($param)
*/
function page_header($page_title = '', $display_online_list = true, $item_id = 0, $item = 'forum')
{
global $db, $config, $template, $SID, $_SID, $user, $auth, $phpEx, $phpbb_root_path;
global $db, $config, $template, $SID, $_SID, $_EXTRA_URL, $user, $auth, $phpEx, $phpbb_root_path;
if (defined('HEADER_INC'))
{
@@ -4531,6 +4551,15 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
$s_search_hidden_fields['sid'] = $_SID;
}
if (!empty($_EXTRA_URL))
{
foreach ($_EXTRA_URL as $url_param)
{
$url_param = explode('=', $url_param, 2);
$s_search_hidden_fields[$url_param[0]] = $url_param[1];
}
}
// The following assigns all _common_ variables that may be used at any point in a template.
$template->assign_vars(array(
'SITENAME' => $config['sitename'],
@@ -4622,11 +4651,11 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
'S_SEARCH_HIDDEN_FIELDS' => build_hidden_fields($s_search_hidden_fields),
'T_THEME_PATH' => "{$web_path}styles/" . $user->theme['theme_path'] . '/theme',
'T_TEMPLATE_PATH' => "{$web_path}styles/" . $user->theme['template_path'] . '/template',
'T_SUPER_TEMPLATE_PATH' => (isset($user->theme['template_inherit_path']) && $user->theme['template_inherit_path']) ? "{$web_path}styles/" . $user->theme['template_inherit_path'] . '/template' : "{$web_path}styles/" . $user->theme['template_path'] . '/template',
'T_IMAGESET_PATH' => "{$web_path}styles/" . $user->theme['imageset_path'] . '/imageset',
'T_IMAGESET_LANG_PATH' => "{$web_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->lang_name,
'T_THEME_PATH' => "{$web_path}styles/" . rawurlencode($user->theme['theme_path']) . '/theme',
'T_TEMPLATE_PATH' => "{$web_path}styles/" . rawurlencode($user->theme['template_path']) . '/template',
'T_SUPER_TEMPLATE_PATH' => (isset($user->theme['template_inherit_path']) && $user->theme['template_inherit_path']) ? "{$web_path}styles/" . rawurlencode($user->theme['template_inherit_path']) . '/template' : "{$web_path}styles/" . rawurlencode($user->theme['template_path']) . '/template',
'T_IMAGESET_PATH' => "{$web_path}styles/" . rawurlencode($user->theme['imageset_path']) . '/imageset',
'T_IMAGESET_LANG_PATH' => "{$web_path}styles/" . rawurlencode($user->theme['imageset_path']) . '/imageset/' . $user->lang_name,
'T_IMAGES_PATH' => "{$web_path}images/",
'T_SMILIES_PATH' => "{$web_path}{$config['smilies_path']}/",
'T_AVATAR_PATH' => "{$web_path}{$config['avatar_path']}/",
@@ -4634,13 +4663,13 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
'T_ICONS_PATH' => "{$web_path}{$config['icons_path']}/",
'T_RANKS_PATH' => "{$web_path}{$config['ranks_path']}/",
'T_UPLOAD_PATH' => "{$web_path}{$config['upload_path']}/",
'T_STYLESHEET_LINK' => (!$user->theme['theme_storedb']) ? "{$web_path}styles/" . $user->theme['theme_path'] . '/theme/stylesheet.css' : append_sid("{$phpbb_root_path}style.$phpEx", 'id=' . $user->theme['style_id'] . '&amp;lang=' . $user->lang_name),
'T_STYLESHEET_LINK' => (!$user->theme['theme_storedb']) ? "{$web_path}styles/" . rawurlencode($user->theme['theme_path']) . '/theme/stylesheet.css' : append_sid("{$phpbb_root_path}style.$phpEx", 'id=' . $user->theme['style_id'] . '&amp;lang=' . $user->lang_name),
'T_STYLESHEET_NAME' => $user->theme['theme_name'],
'T_THEME_NAME' => $user->theme['theme_path'],
'T_TEMPLATE_NAME' => $user->theme['template_path'],
'T_SUPER_TEMPLATE_NAME' => (isset($user->theme['template_inherit_path']) && $user->theme['template_inherit_path']) ? $user->theme['template_inherit_path'] : $user->theme['template_path'],
'T_IMAGESET_NAME' => $user->theme['imageset_path'],
'T_THEME_NAME' => rawurlencode($user->theme['theme_path']),
'T_TEMPLATE_NAME' => rawurlencode($user->theme['template_path']),
'T_SUPER_TEMPLATE_NAME' => rawurlencode((isset($user->theme['template_inherit_path']) && $user->theme['template_inherit_path']) ? $user->theme['template_inherit_path'] : $user->theme['template_path']),
'T_IMAGESET_NAME' => rawurlencode($user->theme['imageset_path']),
'T_IMAGESET_LANG_NAME' => $user->data['user_lang'],
'T_IMAGES' => 'images',
'T_SMILIES' => $config['smilies_path'],
@@ -4712,6 +4741,7 @@ function page_footer($run_cron = true)
$template->assign_vars(array(
'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '',
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group'),
'U_ACP' => ($auth->acl_get('a_') && !empty($user->data['is_registered'])) ? append_sid("{$phpbb_root_path}adm/index.$phpEx", false, true, $user->session_id) : '')
);

View File

@@ -2296,35 +2296,15 @@ function auto_prune($forum_id, $prune_mode, $prune_flags, $prune_days, $prune_fr
/**
* remove_comments will strip the sql comment lines out of an uploaded sql file
* specifically for mssql and postgres type files in the install....
*
* @deprecated Use phpbb_remove_comments() instead.
*/
function remove_comments(&$output)
{
$lines = explode("\n", $output);
$output = '';
// Remove /* */ comments (http://ostermiller.org/findcomment.html)
$output = preg_replace('#/\*(.|[\r\n])*?\*/#', "\n", $output);
// try to keep mem. use down
$linecount = sizeof($lines);
$in_comment = false;
for ($i = 0; $i < $linecount; $i++)
{
if (trim($lines[$i]) == '/*')
{
$in_comment = true;
}
if (!$in_comment)
{
$output .= $lines[$i] . "\n";
}
if (trim($lines[$i]) == '*/')
{
$in_comment = false;
}
}
unset($lines);
// Return by reference and value.
return $output;
}
@@ -2592,7 +2572,8 @@ function view_log($mode, &$log, &$log_count, $limit = 0, $offset = 0, $forum_id
{
$sql_keywords .= $db->sql_in_set('l.log_operation', $operations) . ' OR ';
}
$sql_keywords .= 'LOWER(l.log_data) ' . implode(' OR LOWER(l.log_data) ', $keywords) . ')';
$sql_lower = $db->sql_lower_text('l.log_data');
$sql_keywords .= "$sql_lower " . implode(" OR $sql_lower ", $keywords) . ')';
}
if ($log_count !== false)

View File

@@ -424,7 +424,8 @@ function import_avatar_gallery($gallery_name = '', $subdirs_as_galleries = false
$relative_path = empty($convert->convertor['source_path_absolute']);
if (empty($convert->convertor['avatar_gallery_path']))
// check for trailing slash
if (rtrim($convert->convertor['avatar_gallery_path'], '/') === '')
{
$convert->p_master->error(sprintf($user->lang['CONV_ERROR_NO_GALLERY_PATH'], 'import_avatar_gallery()'), __LINE__, __FILE__);
}
@@ -588,7 +589,8 @@ function import_attachment($source, $use_target = false)
global $convert, $phpbb_root_path, $config, $user;
if (empty($convert->convertor['upload_path']))
// check for trailing slash
if (rtrim($convert->convertor['upload_path'], '/') === '')
{
$convert->p_master->error(sprintf($user->lang['CONV_ERROR_NO_UPLOAD_DIR'], 'import_attachment()'), __LINE__, __FILE__);
}
@@ -647,7 +649,8 @@ function import_smiley($source, $use_target = false)
global $convert, $phpbb_root_path, $config, $user;
if (!isset($convert->convertor['smilies_path']))
// check for trailing slash
if (rtrim($convert->convertor['smilies_path'], '/') === '')
{
$convert->p_master->error(sprintf($user->lang['CONV_ERROR_NO_SMILIES_PATH'], 'import_smiley()'), __LINE__, __FILE__);
}
@@ -667,7 +670,8 @@ function import_avatar($source, $use_target = false, $user_id = false)
global $convert, $phpbb_root_path, $config, $user;
if (!isset($convert->convertor['avatar_path']))
// check for trailing slash
if (rtrim($convert->convertor['avatar_path'], '/') === '')
{
$convert->p_master->error(sprintf($user->lang['CONV_ERROR_NO_AVATAR_PATH'], 'import_avatar()'), __LINE__, __FILE__);
}

View File

@@ -473,11 +473,40 @@ function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix,
}
/**
* remove_remarks will strip the sql comment lines out of an uploaded sql file
* Removes comments from schema files
*
* @deprecated Use phpbb_remove_comments() instead.
*/
function remove_remarks(&$sql)
{
// Remove # style comments
$sql = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql));
// Return by reference
}
/**
* Removes "/* style" as well as "# style" comments from $input.
*
* @param string $input Input string
*
* @return string Input string with comments removed
*/
function phpbb_remove_comments($input)
{
if (!function_exists('remove_comments'))
{
global $phpbb_root_path, $phpEx;
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
}
// Remove /* */ comments
remove_comments($input);
// Remove # style comments
remove_remarks($input);
return $input;
}
/**
@@ -515,4 +544,54 @@ function adjust_language_keys_callback($matches)
}
}
/**
* Creates the output to be stored in a phpBB config.php file
*
* @param array $data Array containing the database connection information
* @param string $dbms The name of the DBAL class to use
* @param array $load_extensions Array of additional extensions that should be loaded
* @param bool $debug If the debug constants should be enabled by default or not
*
* @return string The output to write to the file
*/
function phpbb_create_config_file_data($data, $dbms, $load_extensions, $debug = false)
{
$load_extensions = implode(',', $load_extensions);
$config_data = "<?php\n";
$config_data .= "// phpBB 3.0.x auto-generated configuration file\n// Do not change anything in this file!\n";
$config_data_array = array(
'dbms' => $dbms,
'dbhost' => $data['dbhost'],
'dbport' => $data['dbport'],
'dbname' => $data['dbname'],
'dbuser' => $data['dbuser'],
'dbpasswd' => htmlspecialchars_decode($data['dbpasswd']),
'table_prefix' => $data['table_prefix'],
'acm_type' => 'file',
'load_extensions' => $load_extensions,
);
foreach ($config_data_array as $key => $value)
{
$config_data .= "\${$key} = '" . str_replace("'", "\\'", str_replace('\\', '\\\\', $value)) . "';\n";
}
$config_data .= "\n@define('PHPBB_INSTALLED', true);\n";
if ($debug)
{
$config_data .= "@define('DEBUG', true);\n";
$config_data .= "@define('DEBUG_EXTRA', true);\n";
}
else
{
$config_data .= "// @define('DEBUG', true);\n";
$config_data .= "// @define('DEBUG_EXTRA', true);\n";
}
return $config_data;
}
?>

View File

@@ -568,7 +568,7 @@ class messenger
if (!$use_queue)
{
include_once($phpbb_root_path . 'includes/functions_jabber.' . $phpEx);
$this->jabber = new jabber($config['jab_host'], $config['jab_port'], $config['jab_username'], $config['jab_password'], $config['jab_use_ssl']);
$this->jabber = new jabber($config['jab_host'], $config['jab_port'], $config['jab_username'], htmlspecialchars_decode($config['jab_password']), $config['jab_use_ssl']);
if (!$this->jabber->connect())
{
@@ -769,7 +769,7 @@ class queue
}
include_once($phpbb_root_path . 'includes/functions_jabber.' . $phpEx);
$this->jabber = new jabber($config['jab_host'], $config['jab_port'], $config['jab_username'], $config['jab_password'], $config['jab_use_ssl']);
$this->jabber = new jabber($config['jab_host'], $config['jab_port'], $config['jab_username'], htmlspecialchars_decode($config['jab_password']), $config['jab_use_ssl']);
if (!$this->jabber->connect())
{
@@ -1022,7 +1022,7 @@ function smtpmail($addresses, $subject, $message, &$err_msg, $headers = false)
}
// Let me in. This function handles the complete authentication process
if ($err_msg = $smtp->log_into_server($config['smtp_host'], $config['smtp_username'], $config['smtp_password'], $config['smtp_auth_method']))
if ($err_msg = $smtp->log_into_server($config['smtp_host'], $config['smtp_username'], htmlspecialchars_decode($config['smtp_password']), $config['smtp_auth_method']))
{
$smtp->close_session($err_msg);
return false;

View File

@@ -497,7 +497,14 @@ function upload_attachment($form_name, $forum_id, $local = false, $local_storage
{
if ($free_space <= $file->get('filesize'))
{
$filedata['error'][] = $user->lang['ATTACH_QUOTA_REACHED'];
if ($auth->acl_get('a_'))
{
$filedata['error'][] = $user->lang['ATTACH_DISK_FULL'];
}
else
{
$filedata['error'][] = $user->lang['ATTACH_QUOTA_REACHED'];
}
$filedata['post_attach'] = false;
$file->remove();
@@ -1180,36 +1187,32 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id
$topic_title = ($topic_notification) ? $topic_title : $subject;
$topic_title = censor_text($topic_title);
// Get banned User ID's
$sql = 'SELECT ban_userid
FROM ' . BANLIST_TABLE . '
WHERE ban_userid <> 0
AND ban_exclude <> 1';
$result = $db->sql_query($sql);
$sql_ignore_users = ANONYMOUS . ', ' . $user->data['user_id'];
while ($row = $db->sql_fetchrow($result))
// Exclude guests, current user and banned users from notifications
if (!function_exists('phpbb_get_banned_user_ids'))
{
$sql_ignore_users .= ', ' . (int) $row['ban_userid'];
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
}
$db->sql_freeresult($result);
$sql_ignore_users = phpbb_get_banned_user_ids();
$sql_ignore_users[ANONYMOUS] = ANONYMOUS;
$sql_ignore_users[$user->data['user_id']] = $user->data['user_id'];
$notify_rows = array();
// -- get forum_userids || topic_userids
$sql = 'SELECT u.user_id, u.username, u.user_email, u.user_lang, u.user_notify_type, u.user_jabber
FROM ' . (($topic_notification) ? TOPICS_WATCH_TABLE : FORUMS_WATCH_TABLE) . ' w, ' . USERS_TABLE . ' u
WHERE w.' . (($topic_notification) ? 'topic_id' : 'forum_id') . ' = ' . (($topic_notification) ? $topic_id : $forum_id) . "
AND w.user_id NOT IN ($sql_ignore_users)
AND w.notify_status = " . NOTIFY_YES . '
WHERE w.' . (($topic_notification) ? 'topic_id' : 'forum_id') . ' = ' . (($topic_notification) ? $topic_id : $forum_id) . '
AND ' . $db->sql_in_set('w.user_id', $sql_ignore_users, true) . '
AND w.notify_status = ' . NOTIFY_YES . '
AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
AND u.user_id = w.user_id';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$notify_rows[$row['user_id']] = array(
'user_id' => $row['user_id'],
$notify_user_id = (int) $row['user_id'];
$notify_rows[$notify_user_id] = array(
'user_id' => $notify_user_id,
'username' => $row['username'],
'user_email' => $row['user_email'],
'user_jabber' => $row['user_jabber'],
@@ -1219,30 +1222,29 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id
'method' => $row['user_notify_type'],
'allowed' => false
);
// Add users who have been already notified to ignore list
$sql_ignore_users[$notify_user_id] = $notify_user_id;
}
$db->sql_freeresult($result);
// forum notification is sent to those not already receiving topic notifications
if ($topic_notification)
{
if (sizeof($notify_rows))
{
$sql_ignore_users .= ', ' . implode(', ', array_keys($notify_rows));
}
$sql = 'SELECT u.user_id, u.username, u.user_email, u.user_lang, u.user_notify_type, u.user_jabber
FROM ' . FORUMS_WATCH_TABLE . ' fw, ' . USERS_TABLE . " u
WHERE fw.forum_id = $forum_id
AND fw.user_id NOT IN ($sql_ignore_users)
AND fw.notify_status = " . NOTIFY_YES . '
AND " . $db->sql_in_set('fw.user_id', $sql_ignore_users, true) . '
AND fw.notify_status = ' . NOTIFY_YES . '
AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
AND u.user_id = fw.user_id';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$notify_rows[$row['user_id']] = array(
'user_id' => $row['user_id'],
$notify_user_id = (int) $row['user_id'];
$notify_rows[$notify_user_id] = array(
'user_id' => $notify_user_id,
'username' => $row['username'],
'user_email' => $row['user_email'],
'user_jabber' => $row['user_jabber'],
@@ -1273,7 +1275,6 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id
}
}
// Now, we have to do a little step before really sending, we need to distinguish our users a little bit. ;)
$msg_users = $delete_ids = $update_notification = array();
foreach ($notify_rows as $user_id => $row)
@@ -1286,6 +1287,20 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id
{
$msg_users[] = $row;
$update_notification[$row['notify_type']][] = $row['user_id'];
/*
* We also update the forums watch table for this user when we are
* sending out a topic notification to prevent sending out another
* notification in case this user is also subscribed to the forum
* this topic was posted in.
* Since an UPDATE query is used, this has no effect on users only
* subscribed to the topic (i.e. no row is created) and should not
* be a performance issue.
*/
if ($row['notify_type'] === 'topic')
{
$update_notification['forum'][] = $row['user_id'];
}
}
}
unset($notify_rows);

View File

@@ -1083,6 +1083,205 @@ function delete_pm($user_id, $msg_ids, $folder_id)
return true;
}
/**
* Delete all PM(s) for a given user and delete the ones without references
*
* @param int $user_id ID of the user whose private messages we want to delete
*
* @return boolean False if there were no pms found, true otherwise.
*/
function phpbb_delete_user_pms($user_id)
{
global $db, $user, $phpbb_root_path, $phpEx;
$user_id = (int) $user_id;
if (!$user_id)
{
return false;
}
// Get PM Information for later deleting
// The two queries where split, so we can use our indexes
$undelivered_msg = $delete_ids = array();
// Part 1: get PMs the user received
$sql = 'SELECT msg_id
FROM ' . PRIVMSGS_TO_TABLE . '
WHERE user_id = ' . $user_id;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$msg_id = (int) $row['msg_id'];
$delete_ids[$msg_id] = $msg_id;
}
$db->sql_freeresult($result);
// Part 2: get PMs the user sent, but have yet to be received
// We cannot simply delete them. First we have to check,
// whether another user already received and read the message.
$sql = 'SELECT msg_id
FROM ' . PRIVMSGS_TO_TABLE . '
WHERE author_id = ' . $user_id . '
AND folder_id = ' . PRIVMSGS_NO_BOX;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$msg_id = (int) $row['msg_id'];
$undelivered_msg[$msg_id] = $msg_id;
}
$db->sql_freeresult($result);
if (empty($delete_ids) && empty($undelivered_msg))
{
return false;
}
$db->sql_transaction('begin');
if (!empty($undelivered_msg))
{
// A pm is delivered, if for any recipient the message was moved
// from their NO_BOX to another folder. We do not delete such
// messages, but only delete them for users, who have not yet
// received them.
$sql = 'SELECT msg_id
FROM ' . PRIVMSGS_TO_TABLE . '
WHERE author_id = ' . $user_id . '
AND folder_id <> ' . PRIVMSGS_NO_BOX . '
AND folder_id <> ' . PRIVMSGS_OUTBOX . '
AND folder_id <> ' . PRIVMSGS_SENTBOX;
$result = $db->sql_query($sql);
$delivered_msg = array();
while ($row = $db->sql_fetchrow($result))
{
$msg_id = (int) $row['msg_id'];
$delivered_msg[$msg_id] = $msg_id;
unset($undelivered_msg[$msg_id]);
}
$db->sql_freeresult($result);
$undelivered_user = array();
// Count the messages we delete, so we can correct the user pm data
$sql = 'SELECT user_id, COUNT(msg_id) as num_undelivered_privmsgs
FROM ' . PRIVMSGS_TO_TABLE . '
WHERE author_id = ' . $user_id . '
AND folder_id = ' . PRIVMSGS_NO_BOX . '
AND ' . $db->sql_in_set('msg_id', array_merge($undelivered_msg, $delivered_msg)) . '
GROUP BY user_id';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$num_pms = (int) $row['num_undelivered_privmsgs'];
$undelivered_user[$num_pms][] = (int) $row['user_id'];
if (sizeof($undelivered_user[$num_pms]) > 50)
{
// If there are too many users affected the query might get
// too long, so we update the value for the first bunch here.
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_new_privmsg = user_new_privmsg - ' . $num_pms . ',
user_unread_privmsg = user_unread_privmsg - ' . $num_pms . '
WHERE ' . $db->sql_in_set('user_id', $undelivered_user[$num_pms]);
$db->sql_query($sql);
unset($undelivered_user[$num_pms]);
}
}
$db->sql_freeresult($result);
foreach ($undelivered_user as $num_pms => $undelivered_user_set)
{
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_new_privmsg = user_new_privmsg - ' . $num_pms . ',
user_unread_privmsg = user_unread_privmsg - ' . $num_pms . '
WHERE ' . $db->sql_in_set('user_id', $undelivered_user_set);
$db->sql_query($sql);
}
if (!empty($delivered_msg))
{
$sql = 'DELETE FROM ' . PRIVMSGS_TO_TABLE . '
WHERE folder_id = ' . PRIVMSGS_NO_BOX . '
AND ' . $db->sql_in_set('msg_id', $delivered_msg);
$db->sql_query($sql);
}
if (!empty($undelivered_msg))
{
$sql = 'DELETE FROM ' . PRIVMSGS_TO_TABLE . '
WHERE ' . $db->sql_in_set('msg_id', $undelivered_msg);
$db->sql_query($sql);
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . '
WHERE ' . $db->sql_in_set('msg_id', $undelivered_msg);
$db->sql_query($sql);
}
}
// Reset the user's pm count to 0
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_new_privmsg = 0,
user_unread_privmsg = 0
WHERE user_id = ' . $user_id;
$db->sql_query($sql);
// Delete private message data of the user
$sql = 'DELETE FROM ' . PRIVMSGS_TO_TABLE . '
WHERE user_id = ' . (int) $user_id;
$db->sql_query($sql);
if (!empty($delete_ids))
{
// Now we have to check which messages we can delete completely
$sql = 'SELECT msg_id
FROM ' . PRIVMSGS_TO_TABLE . '
WHERE ' . $db->sql_in_set('msg_id', $delete_ids);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
unset($delete_ids[$row['msg_id']]);
}
$db->sql_freeresult($result);
if (!empty($delete_ids))
{
// Check if there are any attachments we need to remove
if (!function_exists('delete_attachments'))
{
include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
}
delete_attachments('message', $delete_ids, false);
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . '
WHERE ' . $db->sql_in_set('msg_id', $delete_ids);
$db->sql_query($sql);
}
}
// Set the remaining author id to anonymous
// This way users are still able to read messages from users being removed
$sql = 'UPDATE ' . PRIVMSGS_TO_TABLE . '
SET author_id = ' . ANONYMOUS . '
WHERE author_id = ' . $user_id;
$db->sql_query($sql);
$sql = 'UPDATE ' . PRIVMSGS_TABLE . '
SET author_id = ' . ANONYMOUS . '
WHERE author_id = ' . $user_id;
$db->sql_query($sql);
$db->sql_transaction('commit');
return true;
}
/**
* Rebuild message header
*/
@@ -1362,12 +1561,6 @@ function submit_pm($mode, $subject, &$data, $put_in_outbox = true)
while ($row = $db->sql_fetchrow($result))
{
// Additionally, do not include the sender if he is in the group he wants to send to. ;)
if ($row['user_id'] === $user->data['user_id'])
{
continue;
}
$field = ($data['address_list']['g'][$row['group_id']] == 'to') ? 'to' : 'bcc';
$recipients[$row['user_id']] = $field;
}
@@ -1622,6 +1815,7 @@ function pm_notification($mode, $author, $recipients, $subject, $message, $msg_i
$subject = censor_text($subject);
// Exclude guests, current user and banned users from notifications
unset($recipients[ANONYMOUS], $recipients[$user->data['user_id']]);
if (!sizeof($recipients))
@@ -1629,18 +1823,12 @@ function pm_notification($mode, $author, $recipients, $subject, $message, $msg_i
return;
}
// Get banned User ID's
$sql = 'SELECT ban_userid
FROM ' . BANLIST_TABLE . '
WHERE ' . $db->sql_in_set('ban_userid', array_map('intval', array_keys($recipients))) . '
AND ban_exclude = 0';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
if (!function_exists('phpbb_get_banned_user_ids'))
{
unset($recipients[$row['ban_userid']]);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
}
$db->sql_freeresult($result);
$banned_users = phpbb_get_banned_user_ids(array_keys($recipients));
$recipients = array_diff(array_keys($recipients), $banned_users);
if (!sizeof($recipients))
{
@@ -1649,7 +1837,7 @@ function pm_notification($mode, $author, $recipients, $subject, $message, $msg_i
$sql = 'SELECT user_id, username, user_email, user_lang, user_notify_pm, user_notify_type, user_jabber
FROM ' . USERS_TABLE . '
WHERE ' . $db->sql_in_set('user_id', array_map('intval', array_keys($recipients)));
WHERE ' . $db->sql_in_set('user_id', $recipients);
$result = $db->sql_query($sql);
$msg_list_ary = array();

View File

@@ -122,7 +122,7 @@ class custom_profile
case FIELD_BOOL:
$field_value = (bool) $field_value;
if (!$field_value && $field_data['field_required'])
{
return 'FIELD_REQUIRED';
@@ -134,7 +134,7 @@ class custom_profile
{
return false;
}
$field_value = (int) $field_value;
if ($field_value < $field_data['field_minlen'])
@@ -456,6 +456,8 @@ class custom_profile
$user_fields = array();
$user_ids = $user_id;
// Go through the fields in correct order
foreach (array_keys($this->profile_cache) as $used_ident)
{
@@ -464,6 +466,15 @@ class custom_profile
$user_fields[$user_id][$used_ident]['value'] = $row['pf_' . $used_ident];
$user_fields[$user_id][$used_ident]['data'] = $this->profile_cache[$used_ident];
}
foreach ($user_ids as $user_id)
{
if (!isset($user_fields[$user_id][$used_ident]) && $this->profile_cache[$used_ident]['field_show_novalue'])
{
$user_fields[$user_id][$used_ident]['value'] = '';
$user_fields[$user_id][$used_ident]['data'] = $this->profile_cache[$used_ident];
}
}
}
return $user_fields;
@@ -521,7 +532,7 @@ class custom_profile
switch ($this->profile_types[$field_type])
{
case 'int':
if ($value === '')
if ($value === '' && !$ident_ary['data']['field_show_novalue'])
{
return NULL;
}
@@ -530,7 +541,7 @@ class custom_profile
case 'string':
case 'text':
if (!$value)
if (!$value && !$ident_ary['data']['field_show_novalue'])
{
return NULL;
}
@@ -548,7 +559,7 @@ class custom_profile
$month = (isset($date[1])) ? (int) $date[1] : 0;
$year = (isset($date[2])) ? (int) $date[2] : 0;
if (!$day && !$month && !$year)
if (!$day && !$month && !$year && !$ident_ary['data']['field_show_novalue'])
{
return NULL;
}
@@ -571,7 +582,7 @@ class custom_profile
$this->get_option_lang($field_id, $lang_id, FIELD_DROPDOWN, false);
}
if ($value == $ident_ary['data']['field_novalue'])
if ($value == $ident_ary['data']['field_novalue'] && !$ident_ary['data']['field_show_novalue'])
{
return NULL;
}
@@ -581,7 +592,14 @@ class custom_profile
// User not having a value assigned
if (!isset($this->options_lang[$field_id][$lang_id][$value]))
{
return NULL;
if ($ident_ary['data']['field_show_novalue'])
{
$value = $ident_ary['data']['field_novalue'];
}
else
{
return NULL;
}
}
return $this->options_lang[$field_id][$lang_id][$value];
@@ -595,6 +613,11 @@ class custom_profile
$this->get_option_lang($field_id, $lang_id, FIELD_BOOL, false);
}
if (!$value && $ident_ary['data']['field_show_novalue'])
{
$value = $ident_ary['data']['field_default_value'];
}
if ($ident_ary['data']['field_length'] == 1)
{
return (isset($this->options_lang[$field_id][$lang_id][(int) $value])) ? $this->options_lang[$field_id][$lang_id][(int) $value] : NULL;
@@ -625,10 +648,10 @@ class custom_profile
$profile_row['field_ident'] = (isset($profile_row['var_name'])) ? $profile_row['var_name'] : 'pf_' . $profile_row['field_ident'];
$user_ident = $profile_row['field_ident'];
// checkbox - only testing for isset
// checkbox - set the value to "true" if it has been set to 1
if ($profile_row['field_type'] == FIELD_BOOL && $profile_row['field_length'] == 2)
{
$value = (isset($_REQUEST[$profile_row['field_ident']])) ? true : ((!isset($user->profile_fields[$user_ident]) || $preview) ? $default_value : $user->profile_fields[$user_ident]);
$value = (isset($_REQUEST[$profile_row['field_ident']]) && request_var($profile_row['field_ident'], $default_value) == 1) ? true : ((!isset($user->profile_fields[$user_ident]) || $preview) ? $default_value : $user->profile_fields[$user_ident]);
}
else if ($profile_row['field_type'] == FIELD_INT)
{

View File

@@ -751,6 +751,31 @@ class fileupload
$filename = $url['path'];
$filesize = 0;
$remote_max_filesize = $this->max_filesize;
if (!$remote_max_filesize)
{
$max_filesize = @ini_get('upload_max_filesize');
if (!empty($max_filesize))
{
$unit = strtolower(substr($max_filesize, -1, 1));
$remote_max_filesize = (int) $max_filesize;
switch ($unit)
{
case 'g':
$remote_max_filesize *= 1024;
// no break
case 'm':
$remote_max_filesize *= 1024;
// no break
case 'k':
$remote_max_filesize *= 1024;
// no break
}
}
}
$errno = 0;
$errstr = '';
@@ -779,9 +804,9 @@ class fileupload
$block = @fread($fsock, 1024);
$filesize += strlen($block);
if ($this->max_filesize && $filesize > $this->max_filesize)
if ($remote_max_filesize && $filesize > $remote_max_filesize)
{
$max_filesize = get_formatted_filesize($this->max_filesize, false);
$max_filesize = get_formatted_filesize($remote_max_filesize, false);
$file = new fileerror(sprintf($user->lang[$this->error_prefix . 'WRONG_FILESIZE'], $max_filesize['value'], $max_filesize['unit']));
return $file;
@@ -807,9 +832,9 @@ class fileupload
{
$length = (int) str_replace('content-length: ', '', strtolower($line));
if ($length && $length > $this->max_filesize)
if ($remote_max_filesize && $length && $length > $remote_max_filesize)
{
$max_filesize = get_formatted_filesize($this->max_filesize, false);
$max_filesize = get_formatted_filesize($remote_max_filesize, false);
$file = new fileerror(sprintf($user->lang[$this->error_prefix . 'WRONG_FILESIZE'], $max_filesize['value'], $max_filesize['unit']));
return $file;

View File

@@ -528,62 +528,12 @@ function user_delete($mode, $user_id, $post_username = false)
WHERE session_user_id = ' . $user_id;
$db->sql_query($sql);
// Remove any undelivered mails...
$sql = 'SELECT msg_id, user_id
FROM ' . PRIVMSGS_TO_TABLE . '
WHERE author_id = ' . $user_id . '
AND folder_id = ' . PRIVMSGS_NO_BOX;
$result = $db->sql_query($sql);
$undelivered_msg = $undelivered_user = array();
while ($row = $db->sql_fetchrow($result))
// Clean the private messages tables from the user
if (!function_exists('phpbb_delete_user_pms'))
{
$undelivered_msg[] = $row['msg_id'];
$undelivered_user[$row['user_id']][] = true;
}
$db->sql_freeresult($result);
if (sizeof($undelivered_msg))
{
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . '
WHERE ' . $db->sql_in_set('msg_id', $undelivered_msg);
$db->sql_query($sql);
}
$sql = 'DELETE FROM ' . PRIVMSGS_TO_TABLE . '
WHERE author_id = ' . $user_id . '
AND folder_id = ' . PRIVMSGS_NO_BOX;
$db->sql_query($sql);
// Delete all to-information
$sql = 'DELETE FROM ' . PRIVMSGS_TO_TABLE . '
WHERE user_id = ' . $user_id;
$db->sql_query($sql);
// Set the remaining author id to anonymous - this way users are still able to read messages from users being removed
$sql = 'UPDATE ' . PRIVMSGS_TO_TABLE . '
SET author_id = ' . ANONYMOUS . '
WHERE author_id = ' . $user_id;
$db->sql_query($sql);
$sql = 'UPDATE ' . PRIVMSGS_TABLE . '
SET author_id = ' . ANONYMOUS . '
WHERE author_id = ' . $user_id;
$db->sql_query($sql);
foreach ($undelivered_user as $_user_id => $ary)
{
if ($_user_id == $user_id)
{
continue;
}
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_new_privmsg = user_new_privmsg - ' . sizeof($ary) . ',
user_unread_privmsg = user_unread_privmsg - ' . sizeof($ary) . '
WHERE user_id = ' . $_user_id;
$db->sql_query($sql);
include($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);
}
phpbb_delete_user_pms($user_id);
$db->sql_transaction('commit');
@@ -1948,6 +1898,27 @@ function validate_jabber($jid)
return false;
}
/**
* Verifies whether a style ID corresponds to an active style.
*
* @param int $style_id The style_id of a style which should be checked if activated or not.
* @return boolean
*/
function phpbb_style_is_active($style_id)
{
global $db;
$sql = 'SELECT style_active
FROM ' . STYLES_TABLE . '
WHERE style_id = '. (int) $style_id;
$result = $db->sql_query($sql);
$style_is_active = (bool) $db->sql_fetchfield('style_active');
$db->sql_freeresult($result);
return $style_is_active;
}
/**
* Remove avatar
*/
@@ -3587,4 +3558,37 @@ function remove_newly_registered($user_id, $user_data = false)
return $user_data['group_id'];
}
/**
* Gets user ids of currently banned registered users.
*
* @param array $user_ids Array of users' ids to check for banning,
* leave empty to get complete list of banned ids
* @return array Array of banned users' ids if any, empty array otherwise
*/
function phpbb_get_banned_user_ids($user_ids = array())
{
global $db;
$sql_user_ids = (!empty($user_ids)) ? $db->sql_in_set('ban_userid', $user_ids) : 'ban_userid <> 0';
// Get banned User ID's
// Ignore stale bans which were not wiped yet
$banned_ids_list = array();
$sql = 'SELECT ban_userid
FROM ' . BANLIST_TABLE . "
WHERE $sql_user_ids
AND ban_exclude <> 1
AND (ban_end > " . time() . '
OR ban_end = 0)';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$user_id = (int) $row['ban_userid'];
$banned_ids_list[$user_id] = $user_id;
}
$db->sql_freeresult($result);
return $banned_ids_list;
}
?>

View File

@@ -50,6 +50,16 @@ function mcp_topic_view($id, $mode, $action)
$submitted_id_list = request_var('post_ids', array(0));
$checked_ids = $post_id_list = request_var('post_id_list', array(0));
// Resync Topic?
if ($action == 'resync')
{
if (!function_exists('mcp_resync_topics'))
{
include($phpbb_root_path . 'includes/mcp/mcp_forum.' . $phpEx);
}
mcp_resync_topics(array($topic_id));
}
// Split Topic?
if ($action == 'split_all' || $action == 'split_beyond')
{
@@ -320,6 +330,7 @@ function mcp_topic_view($id, $mode, $action)
'S_CAN_APPROVE' => ($has_unapproved_posts && $auth->acl_get('m_approve', $topic_info['forum_id'])) ? true : false,
'S_CAN_LOCK' => ($auth->acl_get('m_lock', $topic_info['forum_id'])) ? true : false,
'S_CAN_REPORT' => ($auth->acl_get('m_report', $topic_info['forum_id'])) ? true : false,
'S_CAN_SYNC' => $auth->acl_get('m_', $topic_info['forum_id']),
'S_REPORT_VIEW' => ($action == 'reports') ? true : false,
'S_MERGE_VIEW' => ($action == 'merge') ? true : false,
'S_SPLIT_VIEW' => ($action == 'split') ? true : false,

View File

@@ -308,7 +308,7 @@ class mcp_warn
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
}
$rank_title = $rank_img = '';
get_user_rank($user_row['user_rank'], $user_row['user_posts'], $rank_title, $rank_img, $rank_img_src);
$avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']);
$template->assign_vars(array(
@@ -413,7 +413,7 @@ class mcp_warn
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
}
$rank_title = $rank_img = '';
get_user_rank($user_row['user_rank'], $user_row['user_posts'], $rank_title, $rank_img, $rank_img_src);
$avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']);
// OK, they didn't submit a warning so lets build the page for them to do so

View File

@@ -707,7 +707,7 @@ class fulltext_mysql extends search_backend
*/
function index_remove($post_ids, $author_ids, $forum_ids)
{
$this->destroy_cache(array(), $author_ids);
$this->destroy_cache(array(), array_unique($author_ids));
}
/**
@@ -896,11 +896,7 @@ class fulltext_mysql extends search_backend
}
$db->sql_freeresult($result);
$sql = 'SELECT COUNT(post_id) as total_posts
FROM ' . POSTS_TABLE;
$result = $db->sql_query($sql);
$this->stats['total_posts'] = (int) $db->sql_fetchfield('total_posts');
$db->sql_freeresult($result);
$this->stats['total_posts'] = empty($this->stats) ? 0 : $db->get_estimated_row_count(POSTS_TABLE);
}
/**

View File

@@ -1334,7 +1334,7 @@ class fulltext_native extends search_backend
$db->sql_query($sql);
}
$this->destroy_cache(array_unique($word_texts), $author_ids);
$this->destroy_cache(array_unique($word_texts), array_unique($author_ids));
}
/**
@@ -1461,17 +1461,8 @@ class fulltext_native extends search_backend
{
global $db;
$sql = 'SELECT COUNT(*) as total_words
FROM ' . SEARCH_WORDLIST_TABLE;
$result = $db->sql_query($sql);
$this->stats['total_words'] = (int) $db->sql_fetchfield('total_words');
$db->sql_freeresult($result);
$sql = 'SELECT COUNT(*) as total_matches
FROM ' . SEARCH_WORDMATCH_TABLE;
$result = $db->sql_query($sql);
$this->stats['total_matches'] = (int) $db->sql_fetchfield('total_matches');
$db->sql_freeresult($result);
$this->stats['total_words'] = $db->get_estimated_row_count(SEARCH_WORDLIST_TABLE);
$this->stats['total_matches'] = $db->get_estimated_row_count(SEARCH_WORDMATCH_TABLE);
}
/**

View File

@@ -295,7 +295,7 @@ class search_backend
$sql_where = '';
foreach ($authors as $author)
{
$sql_where .= (($sql_where) ? ' OR ' : '') . 'search_authors LIKE \'% ' . (int) $author . ' %\'';
$sql_where .= (($sql_where) ? ' OR ' : '') . 'search_authors ' . $db->sql_like_expression($db->any_char . ' ' . (int) $author . ' ' . $db->any_char);
}
$sql = 'SELECT search_key

View File

@@ -322,8 +322,15 @@ class session
}
}
// Is session_id is set or session_id is set and matches the url param if required
if (!empty($this->session_id) && (!defined('NEED_SID') || (isset($_GET['sid']) && $this->session_id === $_GET['sid'])))
// if no session id is set, redirect to index.php
if (defined('NEED_SID') && (!isset($_GET['sid']) || $this->session_id !== $_GET['sid']))
{
send_status_line(401, 'Not authorized');
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
}
// if session id is set
if (!empty($this->session_id))
{
$sql = 'SELECT u.*, s.*
FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . " u
@@ -1507,7 +1514,6 @@ class user extends session
// Able to add new options (up to id 31)
var $keyoptions = array('viewimg' => 0, 'viewflash' => 1, 'viewsmilies' => 2, 'viewsigs' => 3, 'viewavatars' => 4, 'viewcensors' => 5, 'attachsig' => 6, 'bbcode' => 8, 'smilies' => 9, 'popuppm' => 10, 'sig_bbcode' => 15, 'sig_smilies' => 16, 'sig_links' => 17);
var $keyvalues = array();
/**
* Constructor to set the lang path
@@ -2337,47 +2343,51 @@ class user extends session
}
/**
* Get option bit field from user options
* Get option bit field from user options.
*
* @param int $key option key, as defined in $keyoptions property.
* @param int $data bit field value to use, or false to use $this->data['user_options']
* @return bool true if the option is set in the bit field, false otherwise
*/
function optionget($key, $data = false)
{
if (!isset($this->keyvalues[$key]))
{
$var = ($data) ? $data : $this->data['user_options'];
$this->keyvalues[$key] = ($var & 1 << $this->keyoptions[$key]) ? true : false;
}
return $this->keyvalues[$key];
$var = ($data !== false) ? $data : $this->data['user_options'];
return phpbb_optionget($this->keyoptions[$key], $var);
}
/**
* Set option bit field for user options
* Set option bit field for user options.
*
* @param int $key Option key, as defined in $keyoptions property.
* @param bool $value True to set the option, false to clear the option.
* @param int $data Current bit field value, or false to use $this->data['user_options']
* @return int|bool If $data is false, the bit field is modified and
* written back to $this->data['user_options'], and
* return value is true if the bit field changed and
* false otherwise. If $data is not false, the new
* bitfield value is returned.
*/
function optionset($key, $value, $data = false)
{
$var = ($data) ? $data : $this->data['user_options'];
$var = ($data !== false) ? $data : $this->data['user_options'];
if ($value && !($var & 1 << $this->keyoptions[$key]))
$new_var = phpbb_optionset($this->keyoptions[$key], $value, $var);
if ($data === false)
{
$var += 1 << $this->keyoptions[$key];
}
else if (!$value && ($var & 1 << $this->keyoptions[$key]))
{
$var -= 1 << $this->keyoptions[$key];
if ($new_var != $var)
{
$this->data['user_options'] = $new_var;
return true;
}
else
{
return false;
}
}
else
{
return ($data) ? $var : false;
}
if (!$data)
{
$this->data['user_options'] = $var;
return true;
}
else
{
return $var;
return $new_var;
}
}

View File

@@ -19,7 +19,23 @@ if (!defined('E_DEPRECATED'))
{
define('E_DEPRECATED', 8192);
}
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
$level = E_ALL & ~E_NOTICE & ~E_DEPRECATED;
if (version_compare(PHP_VERSION, '5.4.0-dev', '>='))
{
// PHP 5.4 adds E_STRICT to E_ALL.
// Our utf8 normalizer triggers E_STRICT output on PHP 5.4.
// Unfortunately it cannot be made E_STRICT-clean while
// continuing to work on PHP 4.
// Therefore, in phpBB 3.0.x we disable E_STRICT on PHP 5.4+,
// while phpBB 3.1 will fix utf8 normalizer.
// E_STRICT is defined starting with PHP 5
if (!defined('E_STRICT'))
{
define('E_STRICT', 2048);
}
$level &= ~E_STRICT;
}
error_reporting($level);
/*
* Remove variables created by register_globals from the global scope

View File

@@ -328,10 +328,23 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
trigger_error('RULE_ALREADY_DEFINED');
}
// Prevent users from flooding the rules table
$sql = 'SELECT COUNT(rule_id) AS num_rules
FROM ' . PRIVMSGS_RULES_TABLE . '
WHERE user_id = ' . (int) $user->data['user_id'];
$result = $db->sql_query($sql);
$num_rules = (int) $db->sql_fetchfield('num_rules');
$db->sql_freeresult($result);
if ($num_rules >= 5000)
{
trigger_error('RULE_LIMIT_REACHED');
}
$sql = 'INSERT INTO ' . PRIVMSGS_RULES_TABLE . ' ' . $db->sql_build_array('INSERT', $rule_ary);
$db->sql_query($sql);
// Update users message rules
// Set the user_message_rules bit
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_message_rules = 1
WHERE user_id = ' . $user->data['user_id'];
@@ -378,7 +391,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// Update users message rules
// Unset the user_message_rules bit
if (!$row)
{
$sql = 'UPDATE ' . USERS_TABLE . '

View File

@@ -61,7 +61,14 @@ class ucp_prefs
if ($submit)
{
$data['style'] = ($config['override_user_style']) ? $config['default_style'] : $data['style'];
if ($config['override_user_style'])
{
$data['style'] = (int) $config['default_style'];
}
else if (!phpbb_style_is_active($data['style']))
{
$data['style'] = (int) $user->data['user_style'];
}
$error = validate_data($data, array(
'dateformat' => array('string', false, 1, 30),

View File

@@ -165,24 +165,8 @@ class ucp_register
$captcha->init(CONFIRM_REG);
}
// Try to manually determine the timezone and adjust the dst if the server date/time complies with the default setting +/- 1
$timezone = date('Z') / 3600;
$is_dst = date('I');
if ($config['board_timezone'] == $timezone || $config['board_timezone'] == ($timezone - 1))
{
$timezone = ($is_dst) ? $timezone - 1 : $timezone;
if (!isset($user->lang['tz_zones'][(string) $timezone]))
{
$timezone = $config['board_timezone'];
}
}
else
{
$is_dst = $config['board_dst'];
$timezone = $config['board_timezone'];
}
$is_dst = $config['board_dst'];
$timezone = $config['board_timezone'];
$data = array(
'username' => utf8_normalize_nfc(request_var('username', '', true)),

View File

@@ -89,7 +89,7 @@ if ($config['load_birthdays'] && $config['allow_birthdays'] && $auth->acl_gets('
$leap_year_birthdays = '';
if ($now['mday'] == 28 && $now['mon'] == 2 && !$user->format_date(time(), 'L'))
{
$leap_year_birthdays = " OR user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', 29, 2)) . "%'";
$leap_year_birthdays = " OR u.user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', 29, 2)) . "%'";
}
$sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_birthday

View File

@@ -32,7 +32,7 @@ unset($dbpasswd);
$convertor_data = array(
'forum_name' => 'phpBB 2.0.x',
'version' => '1.0.3',
'phpbb_version' => '3.0.10',
'phpbb_version' => '3.0.11',
'author' => '<a href="http://www.phpbb.com/">phpBB Group</a>',
'dbms' => $dbms,
'dbhost' => $dbhost,

View File

@@ -8,7 +8,7 @@
*
*/
define('UPDATES_TO_VERSION', '3.0.10-RC2');
define('UPDATES_TO_VERSION', '3.0.11');
// Enter any version to update from to test updates. The version within the db will not be updated.
define('DEBUG_FROM_VERSION', false);
@@ -951,7 +951,7 @@ function database_update_info()
// this column was removed from the database updater
// after 3.0.9-RC3 was released. It might still exist
// in 3.0.9-RCX installations and has to be dropped in
// 3.0.11 after the db_tools class is capable of properly
// 3.0.12 after the db_tools class is capable of properly
// removing a primary key.
// 'attempt_id' => array('UINT', NULL, 'auto_increment'),
'attempt_ip' => array('VCHAR:40', ''),
@@ -989,9 +989,24 @@ function database_update_info()
'3.0.9' => array(),
// No changes from 3.0.10-RC1 to 3.0.10-RC2
'3.0.10-RC1' => array(),
// No changes from 3.0.10-RC2 to 3.0.10-RC3
'3.0.10-RC2' => array(),
// No changes from 3.0.10-RC3 to 3.0.10
'3.0.10-RC3' => array(),
// No changes from 3.0.10 to 3.0.11-RC1
'3.0.10' => array(),
// Changes from 3.0.11-RC1 to 3.0.11-RC2
'3.0.11-RC1' => array(
'add_columns' => array(
PROFILE_FIELDS_TABLE => array(
'field_show_novalue' => array('BOOL', 0),
),
),
),
// No changes from 3.0.11-RC2 to 3.0.11
'3.0.11-RC2' => array(),
/** @todo DROP LOGIN_ATTEMPT_TABLE.attempt_id in 3.0.11-RC1 */
/** @todo DROP LOGIN_ATTEMPT_TABLE.attempt_id in 3.0.12-RC1 */
);
}
@@ -2013,6 +2028,86 @@ function change_database_data(&$no_updates, $version)
// No changes from 3.0.10-RC1 to 3.0.10-RC2
case '3.0.10-RC1':
break;
// No changes from 3.0.10-RC2 to 3.0.10-RC3
case '3.0.10-RC2':
break;
// No changes from 3.0.10-RC3 to 3.0.10
case '3.0.10-RC3':
break;
// Changes from 3.0.10 to 3.0.11-RC1
case '3.0.10':
// Updates users having current style a deactivated one
$sql = 'SELECT style_id
FROM ' . STYLES_TABLE . '
WHERE style_active = 0';
$result = $db->sql_query($sql);
$deactivated_style_ids = array();
while ($style_id = $db->sql_fetchfield('style_id', false, $result))
{
$deactivated_style_ids[] = (int) $style_id;
}
$db->sql_freeresult($result);
if (!empty($deactivated_style_ids))
{
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_style = ' . (int) $config['default_style'] .'
WHERE ' . $db->sql_in_set('user_style', $deactivated_style_ids);
_sql($sql, $errored, $error_ary);
}
// Delete orphan private messages
$batch_size = 500;
$sql_array = array(
'SELECT' => 'p.msg_id',
'FROM' => array(
PRIVMSGS_TABLE => 'p',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(PRIVMSGS_TO_TABLE => 't'),
'ON' => 'p.msg_id = t.msg_id',
),
),
'WHERE' => 't.user_id IS NULL',
);
$sql = $db->sql_build_query('SELECT', $sql_array);
do
{
$result = $db->sql_query_limit($sql, $batch_size);
$delete_pms = array();
while ($row = $db->sql_fetchrow($result))
{
$delete_pms[] = (int) $row['msg_id'];
}
$db->sql_freeresult($result);
if (!empty($delete_pms))
{
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . '
WHERE ' . $db->sql_in_set('msg_id', $delete_pms);
_sql($sql, $errored, $error_ary);
}
}
while (sizeof($delete_pms) == $batch_size);
$no_updates = false;
break;
// No changes from 3.0.11-RC1 to 3.0.11-RC2
case '3.0.11-RC1':
break;
// No changes from 3.0.11-RC2 to 3.0.11
case '3.0.11-RC2':
break;
}
}

View File

@@ -53,11 +53,13 @@ class install_install extends module
function main($mode, $sub)
{
global $lang, $template, $language, $phpbb_root_path;
global $lang, $template, $language, $phpbb_root_path, $cache;
switch ($sub)
{
case 'intro':
$cache->purge();
$this->page_title = $lang['SUB_INTRO'];
$template->assign_vars(array(
@@ -105,6 +107,7 @@ class install_install extends module
$this->add_language($mode, $sub);
$this->add_bots($mode, $sub);
$this->email_admin($mode, $sub);
$this->disable_avatars_if_unwritable();
// Remove the lock file
@unlink($phpbb_root_path . 'cache/install_lock');
@@ -166,25 +169,28 @@ class install_install extends module
'S_LEGEND' => false,
));
// Check for register_globals being enabled
if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
// Don't check for register_globals on 5.4+
if (version_compare($php_version, '5.4.0-dev') < 0)
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
// Check for register_globals being enabled
if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
}
else
{
$result = '<strong style="color:green">' . $lang['YES'] . '</strong>';
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['PHP_REGISTER_GLOBALS'],
'TITLE_EXPLAIN' => $lang['PHP_REGISTER_GLOBALS_EXPLAIN'],
'RESULT' => $result,
'S_EXPLAIN' => true,
'S_LEGEND' => false,
));
}
else
{
$result = '<strong style="color:green">' . $lang['YES'] . '</strong>';
}
$template->assign_block_vars('checks', array(
'TITLE' => $lang['PHP_REGISTER_GLOBALS'],
'TITLE_EXPLAIN' => $lang['PHP_REGISTER_GLOBALS_EXPLAIN'],
'RESULT' => $result,
'S_EXPLAIN' => true,
'S_LEGEND' => false,
));
// Check for url_fopen
if (@ini_get('allow_url_fopen') == '1' || strtolower(@ini_get('allow_url_fopen')) == 'on')
@@ -881,34 +887,8 @@ class install_install extends module
@chmod($phpbb_root_path . 'cache/install_lock', 0777);
$load_extensions = implode(',', $load_extensions);
// Time to convert the data provided into a config file
$config_data = "<?php\n";
$config_data .= "// phpBB 3.0.x auto-generated configuration file\n// Do not change anything in this file!\n";
$config_data_array = array(
'dbms' => $available_dbms[$data['dbms']]['DRIVER'],
'dbhost' => $data['dbhost'],
'dbport' => $data['dbport'],
'dbname' => $data['dbname'],
'dbuser' => $data['dbuser'],
'dbpasswd' => htmlspecialchars_decode($data['dbpasswd']),
'table_prefix' => $data['table_prefix'],
'acm_type' => 'file',
'load_extensions' => $load_extensions,
);
foreach ($config_data_array as $key => $value)
{
$config_data .= "\${$key} = '" . str_replace("'", "\\'", str_replace('\\', '\\\\', $value)) . "';\n";
}
unset($config_data_array);
$config_data .= "\n@define('PHPBB_INSTALLED', true);\n";
$config_data .= "// @define('DEBUG', true);\n";
$config_data .= "// @define('DEBUG_EXTRA', true);\n";
$config_data .= '?' . '>'; // Done this to prevent highlighting editors getting confused!
$config_data = phpbb_create_config_file_data($data, $available_dbms[$data['dbms']]['DRIVER'], $load_extensions);
// Attempt to write out the config file directly. If it works, this is the easiest way to do it ...
if ((file_exists($phpbb_root_path . 'config.' . $phpEx) && phpbb_is_writable($phpbb_root_path . 'config.' . $phpEx)) || phpbb_is_writable($phpbb_root_path))
@@ -1178,14 +1158,13 @@ class install_install extends module
$dbms_schema = 'schemas/' . $available_dbms[$data['dbms']]['SCHEMA'] . '_schema.sql';
// How should we treat this schema?
$remove_remarks = $available_dbms[$data['dbms']]['COMMENTS'];
$delimiter = $available_dbms[$data['dbms']]['DELIM'];
$sql_query = @file_get_contents($dbms_schema);
$sql_query = preg_replace('#phpbb_#i', $data['table_prefix'], $sql_query);
$remove_remarks($sql_query);
$sql_query = phpbb_remove_comments($sql_query);
$sql_query = split_sql_file($sql_query, $delimiter);
@@ -1223,8 +1202,7 @@ class install_install extends module
// Change language strings...
$sql_query = preg_replace_callback('#\{L_([A-Z0-9\-_]*)\}#s', 'adjust_language_keys_callback', $sql_query);
// Since there is only one schema file we know the comment style and are able to remove it directly with remove_remarks
remove_remarks($sql_query);
$sql_query = phpbb_remove_comments($sql_query);
$sql_query = split_sql_file($sql_query, ';');
foreach ($sql_query as $sql)
@@ -1966,6 +1944,21 @@ class install_install extends module
));
}
/**
* Check if the avatar directory is writable and disable avatars
* if it isn't writable.
*/
function disable_avatars_if_unwritable()
{
global $phpbb_root_path;
if (!phpbb_is_writable($phpbb_root_path . 'images/avatars/upload/'))
{
set_config('allow_avatar', 0);
set_config('allow_avatar_upload', 0);
}
}
/**
* Generate a list of available mail server authentication methods
*/

View File

@@ -807,6 +807,7 @@ CREATE TABLE phpbb_profile_fields (
field_default_value VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
field_validation VARCHAR(20) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
field_required INTEGER DEFAULT 0 NOT NULL,
field_show_novalue INTEGER DEFAULT 0 NOT NULL,
field_show_on_reg INTEGER DEFAULT 0 NOT NULL,
field_show_on_vt INTEGER DEFAULT 0 NOT NULL,
field_show_profile INTEGER DEFAULT 0 NOT NULL,

View File

@@ -974,6 +974,7 @@ CREATE TABLE [phpbb_profile_fields] (
[field_default_value] [varchar] (255) DEFAULT ('') NOT NULL ,
[field_validation] [varchar] (20) DEFAULT ('') NOT NULL ,
[field_required] [int] DEFAULT (0) NOT NULL ,
[field_show_novalue] [int] DEFAULT (0) NOT NULL ,
[field_show_on_reg] [int] DEFAULT (0) NOT NULL ,
[field_show_on_vt] [int] DEFAULT (0) NOT NULL ,
[field_show_profile] [int] DEFAULT (0) NOT NULL ,

View File

@@ -571,6 +571,7 @@ CREATE TABLE phpbb_profile_fields (
field_default_value blob NOT NULL,
field_validation varbinary(60) DEFAULT '' NOT NULL,
field_required tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
field_show_novalue tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
field_show_on_reg tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
field_show_on_vt tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
field_show_profile tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,

View File

@@ -571,6 +571,7 @@ CREATE TABLE phpbb_profile_fields (
field_default_value varchar(255) DEFAULT '' NOT NULL,
field_validation varchar(20) DEFAULT '' NOT NULL,
field_required tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
field_show_novalue tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
field_show_on_reg tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
field_show_on_vt tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
field_show_profile tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,

View File

@@ -1085,6 +1085,7 @@ CREATE TABLE phpbb_profile_fields (
field_default_value varchar2(765) DEFAULT '' ,
field_validation varchar2(60) DEFAULT '' ,
field_required number(1) DEFAULT '0' NOT NULL,
field_show_novalue number(1) DEFAULT '0' NOT NULL,
field_show_on_reg number(1) DEFAULT '0' NOT NULL,
field_show_on_vt number(1) DEFAULT '0' NOT NULL,
field_show_profile number(1) DEFAULT '0' NOT NULL,

View File

@@ -761,6 +761,7 @@ CREATE TABLE phpbb_profile_fields (
field_default_value varchar(255) DEFAULT '' NOT NULL,
field_validation varchar(20) DEFAULT '' NOT NULL,
field_required INT2 DEFAULT '0' NOT NULL CHECK (field_required >= 0),
field_show_novalue INT2 DEFAULT '0' NOT NULL CHECK (field_show_novalue >= 0),
field_show_on_reg INT2 DEFAULT '0' NOT NULL CHECK (field_show_on_reg >= 0),
field_show_on_vt INT2 DEFAULT '0' NOT NULL CHECK (field_show_on_vt >= 0),
field_show_profile INT2 DEFAULT '0' NOT NULL CHECK (field_show_profile >= 0),

View File

@@ -8,10 +8,10 @@
INSERT INTO phpbb_config (config_name, config_value) VALUES ('active_sessions', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_attachments', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_autologin', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_local', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_remote', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_upload', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_upload', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_remote_upload', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_bbcode', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_birthdays', '1');
@@ -99,7 +99,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_package_size
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_confirm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_pm_icons', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_post_confirm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_enable', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_enable', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_http_auth', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_limit_post', '15');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_limit_topic', '10');
@@ -246,7 +246,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page',
INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.10-RC2');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.11');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400');

View File

@@ -554,6 +554,7 @@ CREATE TABLE phpbb_profile_fields (
field_default_value varchar(255) NOT NULL DEFAULT '',
field_validation varchar(20) NOT NULL DEFAULT '',
field_required INTEGER UNSIGNED NOT NULL DEFAULT '0',
field_show_novalue INTEGER UNSIGNED NOT NULL DEFAULT '0',
field_show_on_reg INTEGER UNSIGNED NOT NULL DEFAULT '0',
field_show_on_vt INTEGER UNSIGNED NOT NULL DEFAULT '0',
field_show_profile INTEGER UNSIGNED NOT NULL DEFAULT '0',

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