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.
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.
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.
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
* 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
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
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
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
* 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
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
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
* 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
* 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.
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
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
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
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
* galaxyAbstractor/ticket/10836:
[ticket/10836] Check if avatar directory is writable after install
[ticket/10836] Enable avatars by default at 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
* github-noxwizard/ticket/10492:
[ticket/10492] Fix line endings
[ticket/10492] Backporting functional tests
[ticket/10492] Separate config generation from the installer
* 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.
* 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
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
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
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
* 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.
* 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.
* 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).
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
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
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
* 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.
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
/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
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
* 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.
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
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
In opera, window.getSelection() returned incorrect values, should be using
document.getSelection() instead. Fixed in prosilver and subsilver2 templates.
PHPBB3-10731
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
* 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
* 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
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
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
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
* 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.
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
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
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
* 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
* 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
* ticket/raimon/10453:
[ticket/10453] PM viewmessage page is misplacing the online icon
[ticket/10453] PM viewmessage page is misplacing the online icon
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
* 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().
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
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
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
* 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
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
* 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
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
* 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.
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
* 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
* 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
* 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
* 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
Revert "[ticket/10408] Layout of topics/attachments list is broken in UCP and
MCP"
This reverts commit 88aacd0f2c.
PHPBB3-6632
PHPBB3-10408
PHPBB3-10504
* 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
* 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
* 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.
* 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'.
* 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.
Regression from the ticket PHPBB3-9008 fix.
When topic marking was enabled for guests, and a guest visited a forum with
a new topic which is marked unread, the built SQL missed an alias for a
TOPICS_TABLE which resulted in the following error:
Unknown column 't.topic_approved' in 'where clause' [1054]
The fix is to add an alias for the table.
PHPBB3-10497
PHPBB3-9008
* 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
* 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.
* bantu/ticket/10461:
[ticket/10461] Add a comment explaining the logic here.
[ticket/10461] Correct $log_count check in view_log() so we show logs again.
We pass $log_count as false now when we do not need to know how many log
entries there are. However when $log_count is false, $log_count == 0 will be
true as well and thus we will return early with 0.
PHPBB3-9874
PHPBB3-10461
* nickvergessen/ticket/8996:
[ticket/8996] Also fix the BBCode bug in subsilver2 and acp
[ticket/8996] Correctly apply BBCodes in IE6-9 when applying with accesskey
* github-nickvergessen/ticket/10296:
[ticket/10296] Fix CROSS JOIN with INNER JOIN on MSSQL, Postgres and Oracle
[ticket/10296] Add unit test for CROSS JOIN with INNER JOIN
The board startdate should always be set to first user registration date.
The current code did not do anything at all, as the board_startdate was always
set on installation before running the convertor.
PHPBB3-10185
* rxu/ticket/10419:
[ticket/10419] Reword the language strings
[ticket/10419] Reword some language strings, minor code changes
[ticket/10419] Add mbstring PHP ini parameters checks to ACP
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
Currently the "current password" is only checked, when you change something.
This means you get "Your profile has been updated." although you enter a wrong
password. I also added proper error messages, when you leave the confirm fields
empty, and sorted them in the order of the field appearances on the html page.
PHPBB3-9361
* nickvergessen/ticket/9066:
[ticket/9066] Move regex into get_preg_expression function and add tests
[ticket/9066] Disallow some database prefix to prevent same errors and problems
* bantu/ticket/10254:
[ticket/10254] Add "phpBB Group" to "Modified by" in prosilver stylesheet.css
[ticket/10254] Removing the subsilver2 NOTE, incompatible with phpBB.com.
[ticket/10254] Removing the NOTE as it is incompatible with phpBB.com.
[ticket/10254] Remove subsilver2 as default style on theme.
[ticket/10254] Remove style names from themes and fix some informations on it.
* igorw/ticket/8616:
[ticket/8616] Include old U_INBOX var for BC
[ticket/8616] Rename U_INBOX to U_VIEW_MESSAGE
[ticket/8616] Direct links in pm notification emails
Adds a template condition using S_SIMPLE_MESSAGE that must be set to true
before calling trigger_error() which will automatically use the simple
header and footer files in the template directory instead of the overall
header and footer files.
PHPBB3-7138
* igorw/ticket/10365:
[ticket/10365] Fix up S_POST_UNAPPROVED check, make it easier to read
[ticket/10365] Require m_report permission to see reports in mcp_post
[ticket/10365] Make sure moderators only get mcp_reports link when allowed
We need to readd the local announcements to the forums total topic count,
otherwise the number is different from the one in the forum list.
PHPBB3-10435
When clicking on the "Users and groups" tab in the ACP, the user is
able to either enter the username of the member he wants to manage
or click on "Find a member" below the input field. Unfortunately,
the label for the input field is also "Find a member", which leads
some users to the idea that they can search for users using that
input field. By changing the label to "Enter username" this should
be clear to the user.
PHPBB3-9778
Mainly minor changes to correct errors and improve readability.
* "overcroud" --> "overcrowd"
* "concentinations" --> "concatenations"
* "SQL Statements", "SQL Formatting" - unnecessary capitalisation removed
* "keep a very close eye to it" --> "keep a very close eye on it"
* Fixed some fragmented sentences under the SQL Quotes section
* Added capitalisation of "sql", "select", "select distinct"
* "noticable" --> "noticeable"
* "outputed" --> "outputted"
* Added a missing "it" on the line about append_sid()
* And some other grammatical/stylistic changes, not worth listing them all
PHPBB3-10430
Line returns were being removed and links weren't being made clickable.
This commit adds a line (contributed by AmigoJack) to retain the link
breaks and make links clickable.
PHPBB3-10402
PHP 5.4 dropped support for register globals and magic quotes.
Calling set_magic_quotes_runtime() on PHP 5.4 actually results in an
E_CORE_ERROR error.
PHPBB3-10420
It does not make sense to send notifications to users joining a freely open
group. They already know that they were added to the group, because they
triggered the actual join.
PHPBB3-10259
* bantu/ticket/10327:
[ticket/10327] Use $this->tools instead of creating a new instance of db_tools.
[ticket/10327] Also change CREATE UNIQUE INDEX to use ALTER TABLE.
In the mcp the change_topic_type does not properly check permissions,
allowing moderators to make any post sticky or announced by visiting the
correct URL.
PHPBB3-10377
* CREATE INDEX is internally mapped to an ALTER INDEX statement.
* CREATE INDEX requires the INDEX permission.
* ALTER TABLE requires the (more powerful) ALTER permission.
* We require the ALTER permission anyway for operation.
* Changing CREATE INDEX to ALTER TABLE thus removes dependency on the INDEX
permission which is good because some management software does not give
out the INDEX permission by default.
http://dev.mysql.com/doc/refman/5.0/en/create-index.html
PHPBB3-10327
* github-bantu/ticket/10278:
[ticket/10278] Show VERSIONCHECK_FAIL instead of FSOCK_TIMEOUT.
[ticket/10278] Also timeout when receiving data over a slow connection.
[ticket/10278] Decrease default timeout of get_remote_file() to 6 seconds.
[ticket/10278] Return with a timeout error when fread() or fgets() time out.
[ticket/10278] Also set timeout on stream in get_remote_file().
FAQ contains instructions to find the password in the registration
e-mail. We no longer send the password on registration. So let's just
remove this incorrect piece of information from the FAQ.
PHPBB3-10275
* github-bantu/ticket/10370:
[ticket/10370] Add function documentation for get_stacktrace().
[ticket/10370] Explain that we are not the ones hiding backtrace pieces.
[ticket/10370] Call htmlspecialchars() after phpbb_filter_root_path().
[ticket/10370] Add require_once to whitelisted functions.
[ticket/10370] Use single string instead of an array for arguments.
[ticket/10370] Ease up code checking for arguments of include etc.
[ticket/10370] Use unset() on the first backtrace instead of checking in loop.
[ticket/10370] Use phpbb_filter_root_path() in get_backtrace().
* github-bantu/ticket/10369:
[ticket/10369] Replace root path with "[ROOT]" as per IRC.
[ticket/10369] Add warning about paths outside of phpBB root not being filtered
[ticket/10369] Rename filter_errfile() to filter_root_path().
[ticket/10369] DRY code to remove phpbb path from errfile.
[ticket/10369] Always include errfile and errline in format_errors().
* callumacrae/ticket/10240:
[ticket/10240] Added optionset to mock_user in the tests.
[ticket/10240] Fixed copyright year in censor_text_test.php.
[ticket/10240] Fixed censor_text test assetEquals param order.
[ticket/10240] Added censor_text tests for special characters.
[ticket/10240] Added censor_text tests.
When template tests are skipped because cache directory is not
writable, include path to the cache directory into the message
saying it is not writable.
PHPBB3-10354
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
* github-bantu/ticket/10320:
[ticket/10320] Exclude passworded forums when determining "Most active topic".
[ticket/10320] Move phpbb_feed_base::get_passworded_forums() to user class.
* github-bantu/ticket/9995:
[ticket/9995] Do not run forum SQL query when marking the whole board read.
[ticket/9995] Always continue when harvesting $forum_ids for markread().
[ticket/9995] Remove useless statement from display_forums()
The $forum_ids array is only used if $mark_read == 'forums'.
When $mark_read == 'forums', we either continue when
$auth->acl_get('f_list', $forum_id) is false or true.
So this statement is never useful.
PHPBB3-9995
From the PHP manual for fsockopen():
If you need to set a timeout for reading/writing data over the socket, use
stream_set_timeout(), as the timeout parameter to fsockopen() only applies
while connecting the socket.
http://www.php.net/manual/en/function.fsockopen.php
PHPBB3-10278
Also made optionset use the value set by optionset. We're not checking
whether the option is set or not, because we would just throw an error
if it wasn't set, and it throws an error anyway.
PHPBB3-10240
* 'develop-olympus' of git://github.com/phpbb/phpbb3:
[ticket/9978] Added semicolons to JavaScript in overall_header.
[ticket/8571] Show age as 0 in birthday list when birthday is in the future.
[ticket/8571] Show 'Age: 0' on viewprofile when birthday is in the future.
[ticket/8571] Also display age on memberlist/viewprofile when age is 0.
Semicolons have been added to the anonymous functions in the javascript
in overall_header.html. This makes JSLint happier, and also makes the
code easier to minify.
PHPBB3-9978
* github-bantu/ticket/8571:
[ticket/8571] Show age as 0 in birthday list when birthday is in the future.
[ticket/8571] Show 'Age: 0' on viewprofile when birthday is in the future.
[ticket/8571] Also display age on memberlist/viewprofile when age is 0.
* bantu/ticket/9297:
[ticket/9297] Add network to class name of unit tests.
[ticket/9297] Fix typo in localhost.
[ticket/9297] Rename test class to reflect its contents.
[ticket/9297] Adjust comment - IPv6 is needed for IPv6 connections to work.
[ticket/9297] Fix markTestSkipped call in setUpBeforeClass.
[ticket/9297] Skip FTP PASV/EPSV test if FTP connection fails.
[ticket/9297] Separate ipv4 and ipv6 tests into separate functions.
[ticket/9297] Update copyright year of unit test file.
[ticket/9297] Make EPSV unit tests work without IPv6.
[ticket/9297] Unit tests for ftp_fsock PASV and EPSV.
[ticket/9297] Add support for Extended Passive Mode (EPSV) in ftp_fsock class.
It is possible to configure PHP without IPv6, in which case
IPv6-encapsulated IPv4 addresses won't be accepted by PHP.
Instead of failing the test suite on such setups, skip the
offending test.
PHPBB3-9297
It is possible to evade the word filter using control characters.
Seeing as control characters have no practical application in a bulletin
board software, it doesn't do any harm to remove them entirely. That is
what this commit does.
PHPBB3-10240
When two posts have the same post_time, a link to the first post being on
page 1, leads you to the second post with the same timestamp on page two.
So in case the post_times are equal, we need to use the post_id to correctly
order the posts.
PHPBB3-9976
Since IE9 IE supports textarea.selectionStart and window.getSelection.
The only problem is, that the values are still incorrect.
Therefore we need to ensure that it is still treated the old way,
until IE fixes this completely.
PHPBB3-10253
The following code can be found in the ACP, when changing a user's
signature:
t: '{ BBCODE_T_HELP }',
The code that uses it and the code that produces it were changed or
removed a while ago, but this code remained. In 2c4c1f9, the accesskey
for the list item button was changed to y from t, explaining the origin of
the redundant code - although it wasn't being used then, either.
This commit also changes the helpline code of "[*]" to y, as the access
key is y, so this makes it more consistent.
PHPBB3-8173
Some of the anchor tags produced by php_info had names like "module_Zend
Optimizer", which is obviously invalid. This commit adds some code that
repairs the names by replacing all spaces found in the names with
underscores.
PHPBB3-9645
The current code is invalid, and results in an critical error which
aborts the script before it gets to return false, thus allowing the form
to submit with an invalid forum ID. This commit fixes that by
referencing "this" instead of "document.jumpbox", which didn't exist
because the form had no name.
PHPBB3-10293
There is no space between the first radio button and "Yes", while there
is a space between the second radio button and "No". This commit fixes
that.
PHPBB3-10292
* github-bantu/ticket/10257:
[ticket/10257] Slightly adjust comments about AAAA records on Windows XP/2003.
[ticket/10257] Fix AAAA record parsing for old versions of Windows
[ticket/10257] Add missing break statement after CNAME block.
* github-bantu/ticket/10263:
[ticket/10263] Call phpbb_version_compare() from includes/acp/acp_main.php
[ticket/10263] Call phpbb_version_compare() from includes/acp/acp_update.php
[ticket/10263] Adding unit tests for phpbb_version_compare().
[ticket/10263] Add wrapper for version_compare() that allows the use of A and B
* github-bantu/ticket/10243:
[ticket/10243] Adding a few unit tests for phpbb_gmgetdate().
[ticket/10243] Call phpbb_gmgetdate() from various places.
[ticket/10243] Adding wrapper function for getdate() for UTC timestamps.
* github-nickvergessen/ticket/10237:
[ticket/10237] Also display login-box on subscribing
[ticket/10237] Handle watching and unwatching the same way.
[ticket/10237] Use confirm-box to handle unwatching a forum/topic actions
Be careful when using this function with permissions a_, m_, u_ and f_ ! It may not work correctly. When a user group grants an a_* permission, e.g. a_foo, but the user's a_foo permission is set to "Never", then the user does not in fact have the a_ permission. But the user will still be listed as having the a_ permission.
PHPBB3-10252
Also fixes PHPBB3-6458 "Width of Topics and Posts columns in Board Index is causing problems with language packs" by increasing the size to 90px instead of the ~70 it was like. Also tested on RTL languages.
PHPBB3-6458
PHPBB3-6632
The fix is copied from view_inactive_users().
Also add keywords and sort parameters to url for deleting logs and inactive users.
And finally save some queries if there are no logs/users to display anyway
* prep-release-3.0.9:
[prep-release-3.0.9] Bumping version number for 3.0.9 final.
Conflicts:
phpBB/includes/constants.php
phpBB/install/database_update.php
phpBB/install/schemas/schema_data.sql
* p/ticket/10003:
[ticket/10003] Fixed comment referring to db_tools duplication.
[ticket/10003] Require db_tools.php in database_update.php.
[ticket/10003] Use phpbb_db_tools in database_update.php.
[ticket/10003] Delete the copy of db_tools in database_update.php.
* prep-release-3.0.9:
[prep-release-3.0.9] Update Changelog for 3.0.9-RC4 release.
[prep-release-3.0.9] Decreasing version for an RC4 release.
Conflicts:
phpBB/includes/constants.php
phpBB/install/database_update.php
phpBB/install/schemas/schema_data.sql
* prep-release-3.0.9:
[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/10250] Added the new phpBB Logo with the Registered Trademark Symbol
* naderman/ticket/10250:
[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/10250] Added the new phpBB Logo with the Registered Trademark Symbol
* prep-release-3.0.9:
[ticket/9859] Changing all phpBB footers to match the new credit line
[ticket/9859] New footer copyright line with registered symbol
* ticket/marshalrusty/9859:
[ticket/9859] Changing all phpBB footers to match the new credit line
[ticket/9859] New footer copyright line with registered symbol
The new logo is slightly wider than the old logo. If we changed the size in the
imageset.cfg we would cause a conflict for everyone who replaced the logo with
their own and modified the size. Instead we overwrite the width and height in
the img() function in session.php only if its contents are that of the stock
phpbb logo.
PHPBB3-10250
* prep-release-3.0.9:
[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
Conflicts:
phpBB/includes/constants.php
phpBB/install/database_update.php
phpBB/install/schemas/schema_data.sql
* naderman/ticket/10247:
[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
To make sure that this column (which was too small and unecessary) does not
remain on 3.0.9-RCX installations and boards that were updated to a 3.0.9 RC,
the 3.0.10-RC1 release must correctly drop the column after db_tools has been
corrected and fully reviewed. The current version is not capable of dropping
primary keys correctly on all supported DBMSs.
PHPBB3-10247
The database update drops any key of the same name (potential primary key) and
afterwards the column. This does not work on some of the supported DBMS and
needs further changes.
PHPBB3-10247
* prep-release-3.0.9:
[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.
Conflicts:
phpBB/includes/constants.php
phpBB/install/database_update.php
phpBB/install/schemas/schema_data.sql
When a non-fatal error occurs at the beginning of the script before any custom
error handler is set one of two situations can be encountered:
1) if the ini option output buffer is disabled:
- headers are sent to the http client
- the error message is output
2) if the ini option output_buffer is enabled or the script
is run within an ob_start()/ob_end() wrapper:
- the error message is written to the output buffer
Once the script reaches page_header() phpbb starts gzip compression if enabled.
This is done through ob_start with a ob_gzhandler as a callback. The
compression is skipped if headers have already been sent. In situation 1) the
error message sent in plain text comes with headers and this gzip compression
is skipped. The client receives a plaintext version of the page. However in
situation 2) headers have not been sent yet and the rest of the page will be
compressed. The result is a plaintext error message followed by compressed
output. The client does not understand this output resulting in either an
error message or simply a blank page in the browser.
In addition to the above situation this problem occurs with errors that are
triggered after the custom error handler is loaded. The problem has been
noticed before, and a workaround was found. The error handler would call
ob_flush() for particular configuration settings before outputting the error
message. This resulted in headers being sent when output buffering was enabled
thus disabling gzip compression for the rest of the page. The constraints under
which ob_flush() was called were lessened over time whenever a new case was
found that would trigger this problem. Eventually ob_flush() would be called
even when code causing an E_NOTICE was simply run within an ob_start/ob_end.
This makes it impossible to use output buffering to retrieve the content of an
error message without prohibiting the page from setting headers afterwards.
This commit removes all flushing in msg_handler completely and instead fixes
the problem for both errors before and after the error handler is registered.
GZIP compression is only enabled if there is at most one level of output
buffering (e.g. the output_buffer php.ini option is enabled) and if there has
not yet been any output in this buffer. This should avoid any partial output
compression.
PHPBB3-10188
The minimum and maximum width of 100% make the textarea dynamically
adjust. However the smilies next to the textarea will float out of
their containing div when the default width pre-min/max is specified
as a too high value.
PHPBB3-10233
* prep-release-3.0.9:
[ticket/10223] The search fid parameter is an array of forums not just an id
[ticket/10223] Check optional before file_exists and correct require path
[ticket/10223] requiring the new startup.php file conditionally.
* naderman/ticket/10223:
[ticket/10223] The search fid parameter is an array of forums not just an id
[ticket/10223] Check optional before file_exists and correct require path
[ticket/10223] requiring the new startup.php file conditionally.
* prep-release-3.0.9:
[prep-release-3.0.9] Bumping version number for 3.0.9-RC2.
Conflicts:
phpBB/includes/constants.php
phpBB/install/database_update.php
phpBB/install/schemas/schema_data.sql
* prep-release-3.0.9:
[ticket/10218] Prevent startime from being overwritten by deregister_globals()
[ticket/10218] Moving global deregistration, etc. to startup.php
Conflicts:
phpBB/install/database_update.php
* Marshalrusty/ticket/10218:
[ticket/10218] Prevent startime from being overwritten by deregister_globals()
[ticket/10218] Moving global deregistration, etc. to startup.php
Removes the semicolon at end of oracle CREATE TABLE queries and adds a
semicolon to the end of a SELECT query inside of the trigger for a new
table's auto increment column before the end keyword
PHPBB3-10214
* naderman/ticket/9892:
[ticket/9892] Correct copyright year
[ticket/9892] Remove incorrect use of camel case
[ticket/9892] Removing closing php tag from create_schema_files
[ticket/9892] Transaction support for database update sql execution function
[ticket/9892] count is a keyword in firebird, so renaming this alias
[ticket/9892] Q&A CAPTCHA did not work on firebird, so no need to change config
[ticket/9892] Shorten login_attempt key names to avoid firebird length problems
[ticket/9892] Drop Q&A CAPTCHA tables if left in inconsistent state
[ticket/9892] Adding a number of tests for db_tools
[ticket/9892] Table prefix lengths influence index lengths in db_tools
[ticket/9892] Shorten the index names on the q&a captcha
[ticket/9892] column & index name limits, firebird auto increment in db_tools
The test creates a table and runs a number of queries on it to judge whether
the selected column types can hold the data they are expected to contain.
Additional test methods check the auto increment feature and a few of the
basic commands of db_tools. This is only a starting point. Plenty more
tests need to be added.
PHPBB3-9892
- Column names are limited to 30 characters
- Index names are limited to 31 characters.
On some dbms the index name contains both table name and actual index name
so the limit applies to the sum of the lenghts of table name and index name.
- Auto incremented column names are limited to 26 characters to provide an
additional 4 characters for sequence names
The code for firebird auto increment support using generators/sequences with
triggers was copied from create_schema_files.php
PHPBB3-9892
* naderman/ticket/9992:
[ticket/9992] Clarify explanations of ip and account limits on login
[ticket/9992] Add a comma to language for IP_LOGIN_LIMIT_MAX_EXPLAIN
[ticket/9992] Use sql_fetchfield for single row and single column result
[ticket/9992] Adding a limit on login attempts per IP.
[ticket/9992] Make sql_create_table and sql_table_exists available in updater
A new table was created to save all failed login attempts with
corresponding information on username, ip and useragent. By default
the limit is 50 login attempts within 6 hours per IP. The limit is
relatively high to avoid big problems on sites behind a reverse
proxy that don't receive the forwarded-for value as REMOTE_ADDR but
see all users as coming from the same IP address. But if these
users run into problems a special forwarded-for option is available
to limit logins by forwarded-for value instead of ip.
PHPBB3-9992
These are defined the same way in db_tools. This duplicated code should be
removed together with the rest of the db_tools duplication at some point.
PHPBB3-9992
* naderman/ticket/10198:
[ticket/10198] range validation for strings should limit characters not bytes
[ticket/10198] validate_config_vars() improperly validates multibyte strings
* ticket/bantu/9802:
[ticket/9802] Remove unnecessary htmlspecialchars() call on REMOTE_ADDR.
[ticket/9802] Only check for IPv4-mapped address when address is IPv6.
[ticket/9802] Fix tiny logic bug in loop determining REMOTE_ADDR.
[ticket/9802] Remove redundant character class definition from preg_replace.
[ticket/9802] Fix redundant str_replace call. No need to replace ' ' with ' '.
* ticket/rxu/6712:
[ticket/6712] Properly explain result of setting the bump interval to 0.
[ticket/6712] Add phpbb_ function name prefix, more docs, rename current_time
[ticket/6712] Pass $post_data by the value instead of by the reference.
[ticket/6712] Bump does not create new topic icon on index.
* ticket/rxu/217:
[ticket/217] Use positive assertions in tests.
[ticket/217] Silence errors in tests, not code.
[ticket/217] Use positive parameter statement for bbcode_init()
[ticket/217] Adjust patch, add tests
[ticket/217] Multiline [url] not converted
This will allow sending URLs to search results to other users. The advanced
search page has always worked like this, but these special pages used to
cause problems.
PHPBB3-7888
* naderman/ticket/7057:
[ticket/7057] Use GET for quicksearch and add session id to hidden fields
[ticket/7057] Remove trailing whitespace in functions.php
* naderman/ticket/8138:
[ticket/8138] Add autocomplete="off" to acp_board and ldap settings
[ticket/8138] Add autocomplete="off" to a user and forum ACP.
With these changes, prosilver and subSilver2 no longer need to force IE7
emulation when browsing with IE8 due to the well-known textarea scrolling
bug.
PHPBB3-9878
Firefox4 is going to have some restrictions to :visited for security purpose
(see http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ for more information)
In phpBB links inside posts therefor can not be displayed with the dotted line
anymore. So when we change this anyway we can just make links in signature and
posts look the same.
PHPBB3-10068
* ticket/bantu/10042:
[ticket/10042] GD CAPTCHA: Call phpbb_mt_rand() where required.
[ticket/10042] GD CAPTCHA: Round offset to the next pixel.
[ticket/10042] Add mt_rand() wrapper which allows swapping $min and $max.
* ticket/nickvergessen/10158:
[ticket/10158] Remove some code duplication from generating the message.
[ticket/10158] Only view "Return to" links if they are useful.
[ticket/10158] Add return-link to folder, when the user replied from a folder.
[ticket/10158] Add "Return to Inbox"-link to "PM send"-message.
* naderman/ticket/9685:
[ticket/9685] Test for databases that are able to nest transactions
[ticket/9685] Consistently name the new sql_buffer_nested_transactions function
If a database is unable to nest transactions the dbal should implement
sql_buffer_nested_transactions to signal that buffering of the outer
results and closing of the outer transaction is required to open the
inner transaction.
PHPBB3-9685
Calling flush() when output buffering is enabled causes output to be
duplicated. Besides phpBB enabling output buffering for gzip compression,
output buffering may be enabled externally to phpBB via output_handler
or output_buffering directives in php.ini.
Use ob_get_level to determine whether output buffering is active and
call ob_flush in that case.
PHPBB3-10191
Output buffering may be enabled via various approaches, among them:
* output_buffering in php.ini;
* output_handler in php.ini enables output_buffering;
* ob_start call.
ob_get_level allows us to query php runtime for the actual output buffering
status.
PHPBB3-10188
The signature panel link was displayed even when a user did not have the
auths to create/edit their signature. Clicking on the link gave a
trigger_error of "Not authorised to have a signature". Hide the link
when user does not have permissions to edit their signature.
PHPBB3-10186
* bantu/ticket/10170:
[ticket/10170] Fix broken recaptcha verification host.
[ticket/10170] Include www in hostname in language strings.
[ticket/10170] Update language entries
[ticket/10170] reCaptcha API has been moved.
* bantu/ticket/9999:
[ticket/9999] SEARCH_USER_POSTS is also used on viewtopic. Move to common.
[ticket/9999] Remove broken and unused L_FORUM_FOLDER_ALT variable.
L_FORUM_FOLDER_ALT was supposed to be a language variable but the language
variable is never looked up but directly passed as L_FORUM_FOLDER_ALT instead.
Also, the expected functionality is correctly implemented by
FORUM_FOLDER_IMG_ALT.
PHPBB3-9999
* ticket/p/10003:
[ticket/10003] Delete EOL at EOF for the benefit of 3.0 modifications.
[ticket/10003] Ported 1802b9ff92 to db_tools.
[ticket/10003] Ported 5553cfc2ed to db_tools.
[ticket/10003] Ported 023760c8b2 to db_tools.
[ticket/10003] Ported 54c22ae52a to db_tools.
[ticket/10003] Ported 96a30afcca to db_tools.
[ticket/10003] Ported d7d96223e7 to db_tools.
* ticket/p/10141:
[ticket/10141] Save a hash lookup when value is not in cache.
[ticket/10141] Split double-assignment into conditional and unconditional part.
[ticket/10141] Use a cache in $auth->_fill_acl() for better performance.
The value in $_SERVER['REMOTE_ADDR'] is either validated to be a valid IP
address or is replaced by our default value. Valid IP addresses do not contain
HTML special characters, thus the htmlspecialchars() call is unnecessary.
PHPBB3-9802
* Create log entries when a user activates own account without
also changing their password.
* Additionally create admin log entries when an administrator activates
user accounts.
PHPBB3-9961
* ticket/rxu/10117:
[ticket/10117] Add one more missed 'u' modifier, add code comment
[ticket/10117] Make smilies to be correctly parsed within unicode text.
* ticket/rxu/10115:
[ticket/10115] Switch UTF-8 mode on for the rest of BBCodes
[ticket/10115] Make some text oriented BBCodes to properly handle unicode.
The user_ban() function is shared by the MCP and the ACP.
Mark trigger_error() calls as errors by passing E_USER_WARNING to make the
error message appear on red background (instead of green background) in the
ACP.
PHPBB3-10128
* ticket/nickvergessen/10121:
[ticket/10121] Fix missing urlencode() for ICQ-number in viewtopic.php
[ticket/10121] Fix ICQ profile link, leading to a dead web-messenger.
* ticket/bantu/9751:
[ticket/9751] Add shortcut logic for pass_complex == PASS_TYPE_ANY.
[ticket/9751] Compare $password with empty string instead of casting it to bool
[ticket/9751] Use a switch/case block without break for password complexity.
[ticket/9751] Password requirement "Must contain letters and numbers" fails
Add shortcut logic for pass_complex because this is the default value phpBB
ships with and there is nothing to do in that function in that case.
PHPBB3-9751
* ticket/haklop/10110:
[ticket/10110] Remove tab from empty lines
[ticket/10110] Enable the serialization and add a constant for defined the database
[ticket/10110] Update comments with a link to the phpredis extension
[ticket/10110] Add Redis ACM backend
* ticket/igorw/10107:
[ticket/10107] Add cache to the enumeration, make statement more generic
[ticket/10107] Make it clear that provided httpd samples are not perfect
[ticket/10107] Add a webserver section to docs/INSTALL.html
* bantu/ticket/10021:
[ticket/10021] Add comment explaining why we can check -1 as an error value.
[ticket/10021] Check whether gmmktime() returns false before putting it in SQL.
There is no member.S_PENDING_SET variable.
This fixes an XHTML error when managing groups with both approved and pending
users from the UCP.
PHPBB3-10102
phpass (the hashing library we use) adds a hash identifier to every
hash. By default this identifier is '$P$'. For some reason we have
changed it to '$H$'.
This patch allows both of them to be used for authentication, so that a
third party system could create users with '$P$' hashes.
PHPBB3-10101
Update $config['rand_seed_last_update'] before updating $config['rand_seed'] in
unique_id() to mitigate a race condition and unnecessary updates on heavily
busy boards.
PHPBB3-10100
To have a generic solution there is now a sql_buffer_nested_transaction()
which indicates that the given SQL driver requires buffering to run a
transaction while iterating over another result set.
PHPBB3-9685
* ticket/bantu/8802:
[ticket/8802] Make FORUMS_MARKED more generic as it is also used for subforums.
[ticket/8802] Rename "Mark forums read" to "Mark subforums read" for subforums.
* ticket/bantu/10046:
[ticket/10046] Do not link bots to cron.php.
[ticket/10046] No longer change $phpbb_root_path to an absolute path for cron.
[ticket/10046] Call flush() in cron.php
[ticket/10046] Remove calls to register_shutdown_function() in cron.php
After reading some PHP source as well as the PHP manual we have arrived at the
following two situations with one conclusion:
* SAPI supports flush():
o call to flush() is enough to stop the page from displaying as loading
o and thus register_shutdown_function is unnecessary
* SAPI does not support flush():
o neither a call to flush() nor the beginning of shutdown phase, which calls
registered shutdown functions can flush anything to the client
o and thus register_shutdown_function is unnecessary
Thanks to lacton for reporting the initial issue.
Thanks to nn- and naderman for doing all the dirty works.
PHPBB3-10046
* ticket/bantu/9970:
[ticket/9970] Rename validate_language() to validate_language_iso_name().
[ticket/9970] Do not allow switching to languages not installed on reg. page.
[ticket/9970] Check whether language pack is installed.
[ticket/9970] User language input is checked for existance
Clicking "Mark forums read" when not browsing on the index page only marks
all subforums (and sub-sub forums etc.) read, topics in the current forum have
to marked seperately by clicking the "Mark topics read" link.
Let's indicate this circumstance by using the word "subforums".
PHPBB3-8802
* ticket/p/10057:
[ticket/10057] Fixes for a bunch of small problems.
[ticket/10057] Handle the case of missing interbase extension better.
[ticket/10057] Fixed wrong usage of sql_error again, in firebird.
[ticket/10057] Fixed usage of sql_error again.
[ticket/10057] Condition file/line display on DEBUG_EXTRA or IN_INSTALL.
[ticket/10057] Fixed wrong usage of sql_error in postgres dbal.
[ticket/10057] Skip ibase_service_attach if firebird connection failed.
[ticket/10057] Check for interbase function existence.
[ticket/10057] Split statements in firebird dbal for readability.
[ticket/10057] Include error collector class file in postgres dbal.
[ticket/10057] Moved error collector class into its own file.
[ticket/10057] Use a class for error collection.
[ticket/10057] More informative error messages in postgres dbal.
[ticket/10057] No negative array indexing.
[ticket/10057] Report postgres db connection errors.
pg_last_error does not work if no connection was ever established.
Therefore we must keep track of connection errors in postgres
dbal ourselves.
PHPBB3-10057
Calling nonexistent functions with @ destroys the script with
no feedback as to the cause of the error. Check whether
interbase functions exist before calling them.
PHPBB3-10057
This will make it autoloadable in 3.1. This commit breaks 3.0
since no code includes the error collector. Such include code
will be in its own commit since it will need to be reverted in 3.1.
PHPBB3-10057
PHP manual does not say that negative array indices are allowed,
so it's best to assume they are not guaranteed to work the way
one would expect.
PHPBB3-10057
Addresses two issues:
1. When pgsql extension is missing, @pg_connect would silently
abort execution. Check for pg_connect existence before calling it,
same with pg_pconnect.
2. When connection fails, the error reported by php is discarded.
User is shown the failure message without the reason for failure,
making debugging difficult. Collect the error (if any) via a
temporarily installed error handler, and display it if connection
failed.
PHPBB3-10057
* ticket/p/9824:
[ticket/9824] Accept commit messages with less than perfect headings.
[ticket/9824] Allow empty lines after ticket reference.
[ticket/9824] Use printf instead of echo to render \n.
[ticket/9824] Handle empty commit messages in commit-msg hook.
[ticket/9824] Add space after [ticket/12345] in prepared commit message.
[ticket/9824] Remove space after PHPBB3-12345 in prepared commit message.
Implement the suggestion made by Adam in the ticket, this will add
an additional checkbox to the mass e-mail page. By checking this
the mass e-mail shall also be send to banned users. By default
banned users however are excluded from the mass e-mail.
PHPBB3-9581
Some commit messages exist only temporarily, because they are given
on commits that are intended to be squashed. Accept such commit
messages with a warning.
PHPBB3-9824
Git already handles the case of commit message being empty by
aborting the commit and displaying a reasonably helpful message.
If there is no commit message, the hook will exit with success
exit code to let git do its thing.
PHPBB3-9824
* task/session-tests:
[task/session-tests] Make result check independent of returned row order.
[task/session-tests] By default the cache check now skips over db server info
[task/session-tests] Correctly display message on session continue test failure
[task/session-tests] Make the session id replacement of dataset values clearer
* ticket/bantu/10009:
[ticket/10009] Entries are always posts, update fields accordingly.
[ticket/10009] Always show 'published' data in feed item statistics.
[ticket/10009] Make atom:update output unconditional and before atom:published
[ticket/10009] Send atom:updated whenever possible
[ticket/10009] Differentiate published from updated in Atom feed
When the first post of a topic was deleted, the topic time didn't
update - it should have changed to the time of the next post.
This commit simply applies lefty74's patch posted in the ticket. It gets
the post time of the next post from the database, and updates the thread
accordingly.
This patch is not my work at all and all credits go to lefty74, I just
transferred it onto GitHub
PHPBB3-7834
Since knowledge base instructions tell users to place this script
in the root of the forum, use './' as phpbb root path. Actual
initialization code copied from check_flash_bbcodes.php.
PHPBB3-10058
The order of the Approve / Disapprove buttons was inconsistent in the
Moderator Control Panel - while on the main page and the moderation
queue itself the Approve button was to the right of the Disapprove
button, in the post details the Approve button was to the left of the
Disapprove button.
This very simple edit simply switches the position of these two buttons
in the post details page in the mcp.
PHPBB3-9995
When in the ACP, there is the option to delete a user and all their
posts. This would then call the user_delete function and define $mode as
'remove'.
On lines 485-521 was some code that would delete their topics, then
after that there would be a call to delete_posts - which would also
delete their topics. It would not update the board statistics, and the
thread count would remain the same, even though several had been
deleted. It stopped delete_topics functioning correctly, so
delete_topics would not update the board statistics either.
My solution to this is to delete lines 485-521 and allow delete_posts
to call delete_topics, thus updating the thread count in the statistics.
PHPBB3-9872
* ticket/erikfrerejean/7778:
[ticket/7778] Update all the schema files
[ticket/7778] Add the column change to `mysql_upgrader.php`
[ticket/7778] BBCode single limit
There are currently two hard limits for the number of BBCodes
allowed. One is enforced by the type of the `bbcode_id` column,
the other by an hard limit in `acp/acp_bbcode.php`. However this
limit can never be reached due to the size of the database column.
Suggested fix involves adding a new constant to define the max.
number of BBCodes (as with smilies) and chaning the database
column from a tinyint to a smallint to actually allow 1511 BBCodes
PHPBB3-7778
* ticket/naderman/10052:
[ticket/10052] Add comments to the session testable factory.
[ticket/10052] Correct session tests, and separate session factory from tests
* ticket/nickvergessen/9675:
[ticket/9675] Correctly check whether the style/component is still in use.
[ticket/9675] Put the code into methods to avoid code duplication.
[ticket/9675] Adjust the language-string to reflect the changes.
[ticket/9675] Add option to delete template/theme/imageset when deleting style.
For posts/topics which have not been edited/updated, use the creation
date to populate atom:updated, as suggested by bantu. This should
increase compatibility with user agents which expect an atom:updated
element.
PHPBB3-10009
Change the handling of dates to differentiate between the date when an
entry was published and the date on which it was last updated.
Incorporate this information into the Atom feed by using <published> and
<updated> appropriately according to sections 4.2.9 and 4.2.15 of the
spec.
PHPBB3-10009
* ticket/p/10049:
[ticket/10049] Mark session init test incomplete for now.
[ticket/10049] Mark session continue test incomplete for now.
[ticket/10049] Globalize $_SID.
[ticket/10049] Chase assertResultEquals rename.
[ticket/10049] Fixed requires in session tests and mock.
[ticket/10049] Renamed session test files to proper file names.
cd694e9b9d renamed
assertResultEquals to assertSqlResultEquals. However, since the
session tests were never executed calls in them were never
updated.
Parameter order also changed; chase that too.
PHPBB3-10049
* ticket/nickvergessen/9944:
[ticket/9944] Add empty line before the while() so you can better read the code
[ticket/9944] Extension groups naming don't use users' language in ACP
* ticket/p/10044:
[ticket/10044] Updated invocation documentation.
[ticket/10044] Stop when failed to retrieve network/collaborators.
[ticket/10044] Added -h to setup_github_network.php.
[ticket/10044] Error handling for remote requests in setup_github_network.php
[ticket/10044] Made setup_github_network.php runnable as a script
* task/refactor-db-testcase:
[task/refactor-db-testcase] Further improve error messages.
[task/refactor-db-testcase] Do not show db password on connect error
[task/refactor-db-testcase] Improve error message of db tests
[task/refactor-db-testcase] Refactor phpbb_database_test_case
If database tests cannot be run the error message is ambigous. This
commit makes it clearer:
- whether the supplied dbms is supported by us
- which dbms are supported by us
- whether the required PDO extension is loaded
PHPBB3-10043
Move most of the methods to a separate connection manager class. The
test case creates a manager to handle database creation, schema loading
and more. Most of the methods could be simplified because they can
access shared pdo, config and dbms data.
PHPBB3-10043
When displaying the default value for a numeric custom profile field, only use
request_var to obtain the value on creation. When editing, it will always
override the actual value with an empty string, as this is request_var's default
return value.
PHPBB3-8904
There is no reason not to use request_var() here because it is available anyway
since 3afd2c6948.
This change especially prevents submitting an array which might then throw an
error in one of the string functions substr() or strpos() later on.
PHPBB3-10038
On 32-bit php, -2147483648, despite fitting in the int type,
is for some reason made into a floating-point value. Use an
explicit cast to make it an integer.
PHPBB3-10020
Due to the usage of `__DIR__` for the file includes the tests can't
be ran on systems with PHP < 5.3. Replace all occurances of
`__DIR__` with `dirname(__FILE__)`.
PHPBB3-10011
The comment in the code says: "We now get the first number passed and will
select the key based upon this number". But the loop over the arguments is not
left and therefore it uses the last int-value not the first one.
PHPBB3-9949
The language pack download page includes index.html files instead of index.htm. It also does not include the new captcha_*.php files which are included since 3.0.6.
PHPBB3-9966
If acm_file cannot open the cache file for writing, it prints a message
to that effect and calls die(). The message itself does not indicate that
it is a fatal error, and someone seeing the message might expect that
inability to write to cache is not fatal.
Make it clear that the error is fatal by printing the word "Fatal" before
the message.
PHPBB3-10014
The "deny" and "access" directives are IP-based in general. Both directives
only support IPv6 from nginx 0.8.22 onwards, on older versions of nginx those
directives have no effect on IPv6 requests. Thus they do not block access for
IPv6 requests.
Adding the "internal" directive blocks external access in general (both IPv4
and IPv6) and makes the web server return a status code 404 (Not Found)
response.
See:
http://nginx.org/en/CHANGEShttp://wiki.nginx.org/HttpCoreModule#internal
PHPBB3-10007
* task/naderman/session-tests:
[task/session-tests] Renamed assertSqlResultEquals and fixed its param order
[task/session-tests] Test additional combinations of session_begin.
[task/session-tests] Added tests for the session class.
Two first simple tests to check functionality of session_begin and
session_create.
Added a mock class for the cache as well as a subclass of session
which has its cookie handling function mocked out to avoid header
sending problems.
PHPBB3-9732
* ticket/bantu/9859:
[ticket/9859] Remove the years from the copyright statements in docs files.
[ticket/9859] Remove the year from the copyright meta tag in docs/*.html
[ticket/9859] Remove the meta copyright tag as well.
[ticket/9859] Remove the credit line comment from all html files.
[ticket/9859] Remove years in credit line from some more files.
Rename $unicode to $unicode_support, pass in $use_unicode defaulting to true.
In unit tests we can now pass in $use_unicode as false and also test the code
path that is taken when PCRE does not support unicode.
PHPBB3-9933
* ticket/rxu/9933:
[ticket/9933] Create unit test for word censor regular expression.
[ticket/9933] Move word censor regex into separate function in functions.php
[ticket/9933] Wrong handling consecutive multiple asterisks in word censor
The blacklisting of these static variables is necessary because code coverage
will otherwise consume too much memory. The problem did not exist in earlier
PHPUnit versions because all classes beginning with PHPUnit are automatically
blacklisted, and code coverage as well as a few other internal classes were
still internal parts of PHPunit. These were now moved to PHP_ namespace,
causing the problem with backupStaticAttributes.
PHPBB3-9967
It would be ideal if we could whitelist the entire phpBB directory or at least
includes, but at present that still breaks because of classes with the same
name.
PHPBB3-9967
Call phpbb_set_encoding() on 'default_dateformat' to properly re-encode
non-ascii characters that might be in default_dateformat.
E.g. "d M Y à H:i"
PHPBB3-9348
The installer's DSN field has additional meanings for ODBC, PostgreSQL, and
SQLite, but only the first two are mentioned. SQLite uses it for the file path.
PHPBB3-9905
The `ROLE_USER_NOAVATAR` role gets a *never* permission assigned
for the two "u_masspm*" permissions. Due to this, this role changes
behaviour it isn't intended to change. It should assign "no" as is
done in the `ROLE_USER_LIMITED` role.
PHPBB3-9954
when you post as a guest (anonymous) you can fill the field username with 255
chars. that will destroy the prosilver and subsilver2 style at viewtopic.
settings for username in ACP: 6-16 Chars
PHPBB3-8736
* prep-release-3.0.8:
[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/9903] Fix XSS in BBcode-parser's Flash-BBcode.
Conflicts:
phpBB/includes/constants.php
phpBB/install/database_update.php
phpBB/install/schemas/schema_data.sql
explode('|', '') and explode('|', NULL) both return array(0 => '') which can
cause filespec::check_content() to reject everything starting with a '<'
character in case $config['mime_triggers'] is an empty string or not set.
fileupload::set_disallowed_content() now filters out empty strings by calling
array_diff() on the passed array, so setting $config['mime_triggers'] to an
empty string will turn off mime checking completely.
On the other side we want to fail safe if $config['mime_triggers'] is not set
at all. To do this, the array fileupload::$disallowed_content now contains some
default strings to be filtered out.
PHPBB3-9764
Find support and lots more on [phpBB.com](http://www.phpbb.com)! Discuss the development on [area51](http://area51.phpbb.com/phpBB/index.php).
## CONTRIBUTE
1. [Create an account on phpBB.com](http://www.phpbb.com/community/ucp.php?mode=register)
2. [Create a ticket (unless there already is one)](http://tracker.phpbb.com/secure/CreateIssue!default.jspa)
3. [Read our 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.
; The directory to place generated documentation in. If the given path is
; relative to it will be relative to "source_path".
d="../build/api/"
; Specifies the title to be placed in the HTML <title> tag.
windowtitle="phpBB3"
; Specifies the title to be placed near the top of the overview summary file.
doctitle="phpBB3 Sourcecode Documentation"
; Specifies the header text to be placed at the top of each output file. The
; header will be placed to the right of the upper navigation bar.
header="phpBB3"
; Specifies the footer text to be placed at the bottom of each output file. The
; footer will be placed to the right of the lower navigation bar.
footer="phpBB3"
; Specifies the text to be placed at the bottom of each output file. The text
; will be placed at the bottom of the page, below the lower navigation bar.
;bottom = "This document was generated by <a href="http://peej.github.com/phpdoctor/">PHPDoctor: The PHP Documentation Creator</a>"
; Create a class tree?
;tree = off
; Use GeSHi to include formatted source files in the documentation. PHPDoctor will look in the current doclet directory for a /geshi subdirectory. Unpack the GeSHi archive from http://qbnz.com/highlighter to get this directory - it will contain a php script and a subdirectory with formatting files.
description="Password for your phpBB database. (Must be at least 8 characters, contain at least one lower case letter, one upper case letter and one digit)"
tags="New, Password,SQL, DbUserPassword">
@@ -129,10 +134,16 @@
match="PlaceHolderForPassword"/>
</parameter>
<!-- Read database user password from config.php . Update 'dbpasswd' in config.php on publish -->
echo"If potentially dangerous flash bbcodes were found, please reparse the posts using the Support Toolkit (http://www.phpbb.com/support/stk/) and/or file a ticket in the Incident Tracker (http://www.phpbb.com/incidents/).\n";
<li><ahref="#v307-PL1">Changes since 3.0.7-PL1</a></li>
<li><ahref="#v307">Changes since 3.0.7</a></li>
<li><ahref="#v306">Changes since 3.0.6</a></li>
@@ -89,7 +92,633 @@
<divclass="content">
<aname="v307-PL1"></a><h3>1.i. Changes since 3.0.7-PL1</h3>
<aname="v3010"></a><h3>1.i. Changes since 3.0.10</h3>
<h4>Bug</h4>
<ul>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-7432">PHPBB3-7432</a>] - Unclear language for Inactive Users on ACP main page</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-8652">PHPBB3-8652</a>] - Duplicate Emails Sent When Subscribed to Forum and Topic</li>
<li>[<ahref="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>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9089">PHPBB3-9089</a>] - PM message title box not accessible via Tab key</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9220">PHPBB3-9220</a>] - Blue border width when table in a div</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9681">PHPBB3-9681</a>] - Password length not in security settings</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9813">PHPBB3-9813</a>] - fulltext_native.php on innodb loading deadly slow for big indexes</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10094">PHPBB3-10094</a>] - Clear cache before phpBB installation</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10129">PHPBB3-10129</a>] - Missing apostrophes in ACP user management -> permissions</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10349">PHPBB3-10349</a>] - Unit tests do not remove comments from schemas</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10399">PHPBB3-10399</a>] - Special characters aren't parsed in style component variables</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10401">PHPBB3-10401</a>] - auth_ldap has an incorrect return value in login_ldap()</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10407">PHPBB3-10407</a>] - Incorrect check for empty image file paths during conversion</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10456">PHPBB3-10456</a>] - Subsilver2 does not define $CAPTCHA_TAB_INDEX</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10508">PHPBB3-10508</a>] - Marking forums as read displays misleading language</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10511">PHPBB3-10511</a>] - Grammar defect in permissions language</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10512">PHPBB3-10512</a>] - Test failure when no default timezone is set in php</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10538">PHPBB3-10538</a>] - Special character are not correctly parsed for SMTP protocol</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10542">PHPBB3-10542</a>] - Incorrect class="postlink" in styles/subsilver2/template/faq_body.html</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10546">PHPBB3-10546</a>] - Argument missing for adm_back_link() in acp_captcha.php</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10561">PHPBB3-10561</a>] - All users can choose deactivated styles.</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10569">PHPBB3-10569</a>] - template/ucp_main_front.html does not correctly handle active topic with the name "0"</li>
<li>[<ahref="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>[<ahref="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>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10606">PHPBB3-10606</a>] - $s_hidden_fields -> incorrect array name (3 files affected)</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10611">PHPBB3-10611</a>] - Add a check for selected tables existence for ACP database backup tool</li>
<li>[<ahref="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>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10633">PHPBB3-10633</a>] - Users are able to get the real filename of attachment</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10639">PHPBB3-10639</a>] - negative value of ranks message</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10658">PHPBB3-10658</a>] - Rank-item is not shown on team-list</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10675">PHPBB3-10675</a>] - Use more descriptive message when disk is out of space</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10684">PHPBB3-10684</a>] - Function user_notification() prevents notifications for users with stale bans</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10689">PHPBB3-10689</a>] - Bug in the popup " Find a member" when select by letter.</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10699">PHPBB3-10699</a>] - Long h2 title breaks div.minitabs in MCP</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10717">PHPBB3-10717</a>] - memberlist_view.html: including admin defined profile fields doesnt work</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10723">PHPBB3-10723</a>] - Do not use SQLite on PHP 5.4 in Tests on Travis</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10731">PHPBB3-10731</a>] - JS function addquote() works incorrectly in Opera</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10751">PHPBB3-10751</a>] - MS SQL Error when searching Admin Log</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10767">PHPBB3-10767</a>] - Git hooks do not work properly with git GUIs</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10790">PHPBB3-10790</a>] - Strict comparison on user_id for sending pms</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10797">PHPBB3-10797</a>] - Template var for user rank not filled</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10835">PHPBB3-10835</a>] - Misleading message in UCP when no permission to change password</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10849">PHPBB3-10849</a>] - Missing BBCode Help Text in subsilver2</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10858">PHPBB3-10858</a>] - $db->sql_fetchfield returns false with mssqlnative</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10887">PHPBB3-10887</a>] - Auto increment tests depend on varbinary handling</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10890">PHPBB3-10890</a>] - test_sql_fetchrow_returns_false_when_empty() fails on MSSQL and Oracle</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10913">PHPBB3-10913</a>] - Admin is logged out when accessing any url under adm/ without session id</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-8599">PHPBB3-8599</a>] - Add "Select All" to "Add multiple smilies" screen</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-8636">PHPBB3-8636</a>] - Add resync option to topic_view moderation page</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9876">PHPBB3-9876</a>] - Names and descriptions for roles "Newly registered User" in "User roles" and "Forum roles" must be different</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9914">PHPBB3-9914</a>] - Add backup warning to Automatic DB Updater</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9916">PHPBB3-9916</a>] - License in header not linking to version 2 of GNU GPL</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10093">PHPBB3-10093</a>] - Make commit-msg hook always not fatal</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10162">PHPBB3-10162</a>] - Allow TLDs over 6 characters in email addresses</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10280">PHPBB3-10280</a>] - Change the ACP user activation display</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10308">PHPBB3-10308</a>] - Disable Retain/Delete Posts selection if the user has no posts.</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10453">PHPBB3-10453</a>] - PM viewmessage page is misplacing the online icon</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10492">PHPBB3-10492</a>] - Port functional tests to develop-olympus</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10507">PHPBB3-10507</a>] - Sort installed styles list in admin control panel - styles</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10550">PHPBB3-10550</a>] - Sort not installed styles list in admin control panel - styles</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10563">PHPBB3-10563</a>] - ACP usability improvement: show deactivated styles below active styles in styles list</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10565">PHPBB3-10565</a>] - Performance: Unneeded GROUP BY in update_forum_tracking_info</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10607">PHPBB3-10607</a>] - phpBB Credit Line Hardcoded</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10653">PHPBB3-10653</a>] - Add ability to count table rows to database abstraction layer</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10730">PHPBB3-10730</a>] - Add label tags around "select" text in post splitting UI in MCP</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10834">PHPBB3-10834</a>] - Backport general development language changes in readme files</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10836">PHPBB3-10836</a>] - Enable Avatars by default</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10891">PHPBB3-10891</a>] - Allow specifying test config file name via environment variable</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10892">PHPBB3-10892</a>] - Cosmetic improvements to RUNNING_TESTS.txt</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10898">PHPBB3-10898</a>] - Do not write ?> into config.php to avoid whitespace output</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10616">PHPBB3-10616</a>] - Add template inheritance by default</li>
</ul>
<h4>Sub-task</h4>
<ul>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9896">PHPBB3-9896</a>] - Update links in docs/readme.html</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10434">PHPBB3-10434</a>] - Add a script that allows creating a search index from CLI</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10455">PHPBB3-10455</a>] - Remove NOTE from header files</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10788">PHPBB3-10788</a>] - Update docs/AUTHORS for 3.0.11-RC1</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10909">PHPBB3-10909</a>] - Update Travis Test Configuration: Travis no longer supports PHP 5.3.2</li>
</ul>
<aname="v309"></a><h3>1.ii. Changes since 3.0.9</h3>
<h4>Bug</h4>
<ul>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-5506">PHPBB3-5506</a>] - Deleting all items from last page results in empty list display</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-7138">PHPBB3-7138</a>] - Cannot display simple header/footer with trigger_error()</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-7291">PHPBB3-7291</a>] - Broken links of char selection in memberlist</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-7932">PHPBB3-7932</a>] - Fix font size in select boxes</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-8094">PHPBB3-8094</a>] - Text in the forums.php and install.php not matching</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-8173">PHPBB3-8173</a>] - Redundant BBCode helpline in JS</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-8177">PHPBB3-8177</a>] - February 29th birthdays not shown in non-leap year</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-8571">PHPBB3-8571</a>] - Users can make their age a negative number on memberlist</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9416">PHPBB3-9416</a>] - HTML entities in poll titles and options incorrectly re-encoded</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9525">PHPBB3-9525</a>] - Minimum characters per post/message should never be '0'</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9645">PHPBB3-9645</a>] - XHTML error on phpinfo page in ACP</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9956">PHPBB3-9956</a>] - No error message displayed when disapprove reason is invalid or empty</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9978">PHPBB3-9978</a>] - Missing semicolons in // <![CDATA[ part of overall_header.html</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10087">PHPBB3-10087</a>] - Limited browser support for ban exclusion emphasis</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10166">PHPBB3-10166</a>] - Post-admin activation email confusingly refers to username</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10187">PHPBB3-10187</a>] - XHTML error in ucp_groups_manage.html</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10190">PHPBB3-10190</a>] - Misleading information about permissions displayed after editing forum settings</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10212">PHPBB3-10212</a>] - Captcha not displayed when username not exists</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10216">PHPBB3-10216</a>] - Updater's failed query language grammatically incorrect</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10226">PHPBB3-10226</a>] - Mysqli dbal extension does not allow connection via pipes</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10227">PHPBB3-10227</a>] - Mysqli dbal extension does not allow persistent connection for PHP >= 5.3.0</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10237">PHPBB3-10237</a>] - Unwatching a forum/topic does not check for correct hash parameter</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10240">PHPBB3-10240</a>] - Word filter evasion</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10255">PHPBB3-10255</a>] - gitignore ignores too much</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10257">PHPBB3-10257</a>] - AAAA record parsing fails on older versions of Windows</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10259">PHPBB3-10259</a>] - Incorrect email on joining Open group</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10266">PHPBB3-10266</a>] - Poor navigation links after reporting a post</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10267">PHPBB3-10267</a>] - Missing strlen() on $table_prefix in db tools index name length check</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10274">PHPBB3-10274</a>] - Hardcoded module ID in "Re-check version" link on ACP front page</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10275">PHPBB3-10275</a>] - Wrong information about sent passwords in FAQ</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10292">PHPBB3-10292</a>] - Whitespace inconsistency in acp_ranks</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10293">PHPBB3-10293</a>] - Jumpbox allows jumping to invalid forums in prosilver</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10294">PHPBB3-10294</a>] - sqlsrv_rows_affected non-functional in MSSQLNative.php</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10296">PHPBB3-10296</a>] - incorrect cross join in SQL Server</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10298">PHPBB3-10298</a>] - EMBED Tag Not Closed Properly In subSilver2 attachment.html</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10303">PHPBB3-10303</a>] - send_status_line() doesn't validate user input</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10304">PHPBB3-10304</a>] - Bad url in U_ICQ on /ucp_mp_viewmessage.php</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10307">PHPBB3-10307</a>] - Return value of $db->sql_fetchrow() on empty tables is not consistent</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10309">PHPBB3-10309</a>] - Utf tests download data into temporary locations deep in source tree</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10320">PHPBB3-10320</a>] - "Most active topic" can leak topic title of topics in password-protected forums</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10324">PHPBB3-10324</a>] - XHTML error in Prosilver - MCP - User Notes</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10339">PHPBB3-10339</a>] - Typo in prosilver's mcp_front.html</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10341">PHPBB3-10341</a>] - Topic title of "0" does not show as "Most active topic"</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10351">PHPBB3-10351</a>] - Invalid syntax for Oracle's sql_column_remove()</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10352">PHPBB3-10352</a>] - Missing break for Oracle's sql_table_drop()</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10365">PHPBB3-10365</a>] - Moderators can view forbidden information</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10377">PHPBB3-10377</a>] - All moderators can change topic type</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10400">PHPBB3-10400</a>] - '0' (zero) not allowed as forum name</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10413">PHPBB3-10413</a>] - Make create_schema_files usable</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10416">PHPBB3-10416</a>] - Use dbport in phpbb_database_test_connection_manager::connect()</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10420">PHPBB3-10420</a>] - Update startup to account for PHP 5.4</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10421">PHPBB3-10421</a>] - Interchanged parameters in includes/acp/acp_users.php</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10422">PHPBB3-10422</a>] - Unnecessary <!-- IF --> statement in viewtopic_body.html</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10435">PHPBB3-10435</a>] - Topic count mismatch on viewforum</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10437">PHPBB3-10437</a>] - Announcements on moderation queue are not hidden</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10446">PHPBB3-10446</a>] - Unencoded 8bit characters in email headers</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10452">PHPBB3-10452</a>] - XHTML error when printing a PM</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10461">PHPBB3-10461</a>] - MCP's recent actions list is empty</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10479">PHPBB3-10479</a>] - Remove PostgreSQL version numbers from driver's language string</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10485">PHPBB3-10485</a>] - XHTML error in Prosilver - index and viewforum</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10497">PHPBB3-10497</a>] - SQL error when guest visits forum with unread topic</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10319">PHPBB3-10319</a>] - Missing hidden fields in search form</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10501">PHPBB3-10501</a>] - Description of table prefix is wrong</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10502">PHPBB3-10502</a>] - CHANGELOG.html has a typo: 'red' should be 'read'.</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10503">PHPBB3-10503</a>] - Debug error when previewing edits</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10531">PHPBB3-10531</a>] - Last remaining style can be uninstalled</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-8616">PHPBB3-8616</a>] - Add direct link to PM to notification message</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9036">PHPBB3-9036</a>] - Forums that can be listed but not read expose forum information</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9307">PHPBB3-9307</a>] - Mass email $max_chunk_size</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9778">PHPBB3-9778</a>] - Member Search from the Admin Control Panel is not Intuitive</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9898">PHPBB3-9898</a>] - Readme needs updating to reflect more opening for patches</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9995">PHPBB3-9995</a>] - Unnecessary coding in display_forums() in functions_display.php</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10032">PHPBB3-10032</a>] - BBCode Add List Item Control Name Contains Typo</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10185">PHPBB3-10185</a>] - Board startdate not being set</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10189">PHPBB3-10189</a>] - Add "automatically generated" comment into schema-files.</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10199">PHPBB3-10199</a>] - Performance: viewtopic has a useless join</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10222">PHPBB3-10222</a>] - Also build language and styles changes in diff/patch format</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10239">PHPBB3-10239</a>] - Add "Are you sure" confirmation to backup restore in ACP</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10243">PHPBB3-10243</a>] - Add gmgetdate() wrapper for getdate() which returns dates in UTC.</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10245">PHPBB3-10245</a>] - Messenger uses output buffering for error collection, should use error collector instead</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10246">PHPBB3-10246</a>] - Remove VCS section from docs/coding-guidelines.html</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10254">PHPBB3-10254</a>] - Remove style names from themes and fix some information on it</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10263">PHPBB3-10263</a>] - Add phpbb_version_compare() wrapper for version_compare()</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10278">PHPBB3-10278</a>] - Improve timeout handling in get_remote_file()</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10315">PHPBB3-10315</a>] - Radio Buttons in ACP are clipped in Safari - Fix suggested</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10327">PHPBB3-10327</a>] - Use "ALTER TABLE ... ADD INDEX" instead of "CREATE INDEX"</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10334">PHPBB3-10334</a>] - Birthday List display not dependent on user privileges</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10346">PHPBB3-10346</a>] - Add drop_tables key for database updater</li>
<li>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10369">PHPBB3-10369</a>] - Change error collector to always report errfile and errline</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10370">PHPBB3-10370</a>] - Various improvements for get_backtrace()</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10402">PHPBB3-10402</a>] - Displaying report texts with linebreaks and clickable links</li>
<li>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-10419">PHPBB3-10419</a>] - Add mbstring PHP ini parameters checks to ACP</li>
<li>[<ahref="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>[<ahref="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>[<ahref="http://tracker.phpbb.com/browse/PHPBB3-9689">PHPBB3-9689</a>] - Scripts and utilities</li>
<aname="v308"></a><h3>1.iii. Changes since 3.0.8</h3>
<h4> Bug
</h4>
<ul>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-217'>PHPBB3-217</a>] - Multiline [url] not Converted
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-6712'>PHPBB3-6712</a>] - Topic bumping does not create new topic icon on index
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-7057'>PHPBB3-7057</a>] - Quicksearch uses POST, thus the page expires!
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-7778'>PHPBB3-7778</a>] - Increase limit of custom BBcodes
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-7834'>PHPBB3-7834</a>] - Correctly update topic_time when deleting first post in topic
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-7888'>PHPBB3-7888</a>] - URL of search results page does not always contain all keywords of the search query
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-7941'>PHPBB3-7941</a>] - mistake in description of function generate_board_url
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-8138'>PHPBB3-8138</a>] - Browser autocompleton fills wrong fields in ACP
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-8736'>PHPBB3-8736</a>] - Honour ACP settings for min/max username length when posting as a guest.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-8802'>PHPBB3-8802</a>] - Wrong confirmation text when clicking "mark forums read" in a category
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-8904'>PHPBB3-8904</a>] - Show numeric CPF default value when editing
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9166'>PHPBB3-9166</a>] - Subsilver and prosilver CSS elements out of order.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9348'>PHPBB3-9348</a>] - Correctly encode default_dateformat when converting from phpBB2
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9575'>PHPBB3-9575</a>] - The word "administrate" is not correct.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9630'>PHPBB3-9630</a>] - Naming inconsistency of Merging Posts / Topics in MCP
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9675'>PHPBB3-9675</a>] - Add option to delete template/theme/imageset when deleting style.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9685'>PHPBB3-9685</a>] - Unable to create "Fulltext native" search index using the mssqlnative DBAL
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9751'>PHPBB3-9751</a>] - Password requirement "Must contain letters and numbers" is not working properly
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9764'>PHPBB3-9764</a>] - Empty value for CONFIG_TABLE config_name= 'mime_triggers' causes functions_fileupload.php->fileupload->check_content() to be too restrictive
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9851'>PHPBB3-9851</a>] - "Search new posts" should require login
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9872'>PHPBB3-9872</a>] - Total topics isn't correct after I deleted a user
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9874'>PHPBB3-9874</a>] - view_log() performs unneeded count query over all log entries.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9892'>PHPBB3-9892</a>] - Firebird index name length limit is not taken into account
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9905'>PHPBB3-9905</a>] - DSN field should include SQLite
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9908'>PHPBB3-9908</a>] - Send "Moved Permanently" before stripping off session ids for Bots.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9910'>PHPBB3-9910</a>] - Javascript bug in Subsilver2 PMs
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9911'>PHPBB3-9911</a>] - Incorrect open/close field in Manage ranks ACP
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9913'>PHPBB3-9913</a>] - currunt should be current
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9915'>PHPBB3-9915</a>] - "Length of ban:" is not displayed in ACP
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9924'>PHPBB3-9924</a>] - $template->display hook does not pass $template instance
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9925'>PHPBB3-9925</a>] - prosilver logo margin bug in IE 6-7-8
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9928'>PHPBB3-9928</a>] - Do not link "login to your board" to the "send statistics" page after completed update.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9930'>PHPBB3-9930</a>] - Redirect fails with open_basedir enabled
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9932'>PHPBB3-9932</a>] - The Bing bot is not added when converting.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9933'>PHPBB3-9933</a>] - Wrong handling of consecutive multiple asterisks in word censor
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9934'>PHPBB3-9934</a>] - Mass Mail missing under the system tab on a fresh install
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9939'>PHPBB3-9939</a>] - JavaScript error in recaptcha ACP template
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9944'>PHPBB3-9944</a>] - Extension groups naming don't use users' language in ACP
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9946'>PHPBB3-9946</a>] - $inserts empty in sql_query() for oracle
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9949'>PHPBB3-9949</a>] - $user->lang() is not handling arguments as per documentation
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9950'>PHPBB3-9950</a>] - Problem with localized button images after uprading from 3.0.7-PL1 to 3.0.8
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9953'>PHPBB3-9953</a>] - Set focus to password on re-authentication
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9954'>PHPBB3-9954</a>] - u_masspm* permissions are forced to never for certain groups
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9966'>PHPBB3-9966</a>] - Language download in ACP creates index.html and misses captcha_*
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9970'>PHPBB3-9970</a>] - user_lang input not checked during registration
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9981'>PHPBB3-9981</a>] - Fix unit test dependencies on phpBB files
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9985'>PHPBB3-9985</a>] - 3D Wave CAPTCHA mt_rand() does not check order of min/max values
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9997'>PHPBB3-9997</a>] - Inconsistent approve/disapprove button order in modcp
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9999'>PHPBB3-9999</a>] - {forumrow.L_FORUM_FOLDER_ALT} and {SEARCH_IMG} only return a language key.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10005'>PHPBB3-10005</a>] - users can register without custom profile field correctly entered
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10011'>PHPBB3-10011</a>] - __DIR__ in test suite renders it unusable on php < 5.3
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10016'>PHPBB3-10016</a>] - set_config_count() fails on PostreSQL 7
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10020'>PHPBB3-10020</a>] - ACP function validate_range() fails partially on non-32-bit systems
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10021'>PHPBB3-10021</a>] - "Find a member" generates SQL error when large dates are entered
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10029'>PHPBB3-10029</a>] - No such thing as $_SERVER['HTTP_VERSION']
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10033'>PHPBB3-10033</a>] - "Disallow usernames" does not check already disallowed names
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10035'>PHPBB3-10035</a>] - ACP template edit feature allows to read any files on webserver and to upload/execute any script on it
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10036'>PHPBB3-10036</a>] - Use image from configuration file for displaying online-status.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10038'>PHPBB3-10038</a>] - download/file.php uses $_GET value instead of function request_var()
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10039'>PHPBB3-10039</a>] - 2.x to 3.x conversion fails when using mssqlnative to connect to destination database
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10042'>PHPBB3-10042</a>] - GD captcha has invalid mt_rand calls
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10047'>PHPBB3-10047</a>] - Session ID always included in URL on posting.php
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10049'>PHPBB3-10049</a>] - Session test files are misnamed, session tests are not run
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10052'>PHPBB3-10052</a>] - Session tests are broken
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10056'>PHPBB3-10056</a>] - Firebird misspelled in database updater
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10058'>PHPBB3-10058</a>] - Root path is undefined in MySQL upgrader
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10059'>PHPBB3-10059</a>] - Consistent is misspelled twice
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10060'>PHPBB3-10060</a>] - Typo in tests database connection manager
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10068'>PHPBB3-10068</a>] - Firefox4 restrictions to :visited
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10078'>PHPBB3-10078</a>] - commit-msg hook prints \n on freebsd
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10084'>PHPBB3-10084</a>] - Add smilie errors out when image is missing
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10088'>PHPBB3-10088</a>] - Cache mock does not unset database versions other than mysqli
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10090'>PHPBB3-10090</a>] - cache/queue.php.lock isn't covered by .gitignore
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10092'>PHPBB3-10092</a>] - commit-msg hook aborts on overlength comment lines
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10096'>PHPBB3-10096</a>] - Wrong whitespace in functions.php
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10100'>PHPBB3-10100</a>] - Race condition in unique_id() on heavily busy database.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10102'>PHPBB3-10102</a>] - member.S_PENDING_SET in styles/prosilver/template/ucp_groups_manage.html
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10104'>PHPBB3-10104</a>] - missing one intval() along with others already being there
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10109'>PHPBB3-10109</a>] - Errors while copying a topic
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10112'>PHPBB3-10112</a>] - Use of count() in captcha_gd.php and mssqlnative.php
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10115'>PHPBB3-10115</a>] - BBcodes not working if post contains about or more 55000 non-english symbols
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10117'>PHPBB3-10117</a>] - Big posts becomes empty if they have smilies on specified places.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10121'>PHPBB3-10121</a>] - ICQ profile link leads to a webservice that is no longer active
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10123'>PHPBB3-10123</a>] - Inconsistent use of smilie/smiley
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10128'>PHPBB3-10128</a>] - Error message is on green background when trying to ban a nonexistent user
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10137'>PHPBB3-10137</a>] - Deleting an unintended space at the end of PHP_URL_FOPEN_SUPPORT_EXPLAIN
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10147'>PHPBB3-10147</a>] - Typo in code comment in functions_template.php
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10149'>PHPBB3-10149</a>] - deregister_globals causes error when cookie called GLOBALS is set to scalar value
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10170'>PHPBB3-10170</a>] - reCAPTCHA address has changed
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10171'>PHPBB3-10171</a>] - Firefox4 displays grey pixels at PM message rows when message is neither marked nor replied
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10177'>PHPBB3-10177</a>] - phpBB package cannot be built with bsdtar
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10178'>PHPBB3-10178</a>] - build.xml does not specify path to find - breaks on FreeBSD
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10188'>PHPBB3-10188</a>] - Broken compressed output when errors/warnings are handled by phpbb and output_buffering is set to 4096 and phpbb gzip is enabled
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10191'>PHPBB3-10191</a>] - Duplicate output when output_handler is set in php.ini
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10192'>PHPBB3-10192</a>] - Missing semicolon in MySQL Upgrader
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10195'>PHPBB3-10195</a>] - Do not check DNS Blacklists if IPv6 address is passed to session::check_dnsbl().
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10198'>PHPBB3-10198</a>] - Function validate_config_vars() improperly validates multibyte strings
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10203'>PHPBB3-10203</a>] - Fix quotations and hyphen in language strings for PHPBB3-10067
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10204'>PHPBB3-10204</a>] - Package build tool does not detect binary file changes
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10206'>PHPBB3-10206</a>] - Normalization tests fail when unicode.org is not reachable
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10211'>PHPBB3-10211</a>] - Missing space on the recent PHPBB3-9992 changes
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10213'>PHPBB3-10213</a>] - IP limit index name too long on Oracle
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10214'>PHPBB3-10214</a>] - Cannot configure Q&A on Oracle
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10218'>PHPBB3-10218</a>] - STRIP is not defined in style.php causing a notice to be thrown
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10219'>PHPBB3-10219</a>] - Inappropriate character in web.config file
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10220'>PHPBB3-10220</a>] - Logging in with Mobile Device triggers SQL error on *_login_attempts.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10221'>PHPBB3-10221</a>] - Inconsistent usage of "Seconds" in ACP Settings
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-7729'>PHPBB3-7729</a>] - Prevent date/time functions from throwing E_WARNING on PHP 5.3 by setting a default timezone
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10188'>PHPBB3-10188</a>] - Broken compressed output when errors/warnings are handled by phpbb and output_buffering is set to 4096 and phpbb gzip is enabled
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10223'>PHPBB3-10223</a>] - Updater references startup.php from board path
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10228'>PHPBB3-10228</a>] - Typo in 3.0.9-RC1 user registration settings
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10229'>PHPBB3-10229</a>] - On languge/acp/styles.php "%s" should be "%s"
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10232'>PHPBB3-10232</a>] - Search within topic/forum searches all posts
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10233'>PHPBB3-10233</a>] - IE Emulation fix breaks posting layout when PMing
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10234'>PHPBB3-10234</a>] - msg_handler() reports E_WARNING as "PHP Notice: "
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10247'>PHPBB3-10247</a>] - mediumint(8) too small for phpbb_login_attempts.attempt_id
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10250'>PHPBB3-10250</a>] - phpBB Logo needs the Registered Trademark Symbol
</li>
</ul>
<h4> Improvement
</h4>
<ul>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9581'>PHPBB3-9581</a>] - Banned users get mass emails.
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9878'>PHPBB3-9878</a>] - Get rid of Internet Explorer 7 emulation
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9897'>PHPBB3-9897</a>] - Language typos in language/en/acp/board.php
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9922'>PHPBB3-9922</a>] - Posting URL in subsilver 2
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9937'>PHPBB3-9937</a>] - Feed Icon displays on Forum links
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9980'>PHPBB3-9980</a>] - URLs to javascript should be T_SUPER_TEMPLATE_PATH instead of T_TEMPLATE_PATH
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9989'>PHPBB3-9989</a>] - Skip PM popup in overall_header.html, if there are no new PMs.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10007'>PHPBB3-10007</a>] - Add directive 'internal' to blocked folders in nginx example configuration.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10009'>PHPBB3-10009</a>] - Differentiate published/updated dates in Atom feed
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10014'>PHPBB3-10014</a>] - Make the error message when cache is not writable clearer
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10024'>PHPBB3-10024</a>] - Allow a Style to present Unread PM in different way than read PM
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10040'>PHPBB3-10040</a>] - Continuous integration on PHP 5.2
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10041'>PHPBB3-10041</a>] - download/file.php needs more use of send_status_line
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10057'>PHPBB3-10057</a>] - More informative reporting of errors when database connection fails for Firebird and PostgreSQL.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10067'>PHPBB3-10067</a>] - ACP options for account activation are confusing when emails are turned off board-wide
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10069'>PHPBB3-10069</a>] - Improvements in sample nginx config file
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10072'>PHPBB3-10072</a>] - Send the post number to the template as it relates to it's position in the topic
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10101'>PHPBB3-10101</a>] - Compatibility with native phpass hashes
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10126'>PHPBB3-10126</a>] - Replace ^ with &~ in error_reporting calls
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10141'>PHPBB3-10141</a>] - Performance improvement for $auth->_fill_acl()
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10145'>PHPBB3-10145</a>] - Ability to force recompilation of all templates on every page load
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10154'>PHPBB3-10154</a>] - Move "copy permissions from" to below "parent" in forum creation form
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10158'>PHPBB3-10158</a>] - Return link not really useful after sending a Private Message
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10186'>PHPBB3-10186</a>] - UCP signature panel displays when not authed for signatures
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10046'>PHPBB3-10046</a>] - Getting rid of register_shutdown_function() in cron.php to prevent path disclosure (reported by lacton)
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10075'>PHPBB3-10075</a>] - Update docs/AUTHORS for 3.0.9-RC1 release
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10079'>PHPBB3-10079</a>] - Add gallery avatars to .gitignore.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10082'>PHPBB3-10082</a>] - Fix Session Test Issues with CHAR vs. VARCHAR.
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10105'>PHPBB3-10105</a>] - Update AIM express link and "Download Application" links
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-10107'>PHPBB3-10107</a>] - Improve docs for non-apache webserver configuration
</li>
</ul>
<h4> Sub-task
</h4>
<ul>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9732'>PHPBB3-9732</a>] - Cover session code extensively in tests
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9968'>PHPBB3-9968</a>] - Create unit test for word censor regular expression
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9969'>PHPBB3-9969</a>] - Move word censor regular expression creation into separate function definition in functions.php
</li>
</ul>
<aname="v307-PL1"></a><h3>1.iv. Changes since 3.0.7-PL1</h3>
<h4> Security
</h4>
<ul>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9903'>PHPBB3-9903</a>] - Execute javascript in [flash=] BBCode
</li>
</ul>
<h4> Bug
</h4>
@@ -404,6 +1033,8 @@
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9891'>PHPBB3-9891</a>] - Updater drops language-selection after database-update
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9509'>PHPBB3-9509</a>] - phpBB Coding Guidelines state subversion as the version control system for phpBB
</li>
</ul>
<h4> Improvement
@@ -467,6 +1098,8 @@
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9880'>PHPBB3-9880</a>] - Rename all mentions of CAPTCHA or visual confirmation to anti-bot
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9899'>PHPBB3-9899</a>] - Change the style in the ACP for the recaptcha to match that displayed on prosilver
</li>
</ul>
<h4> New Feature
@@ -509,6 +1142,8 @@
</li>
<li>[<ahref='http://tracker.phpbb.com/browse/PHPBB3-9868'>PHPBB3-9868</a>] - Make the test suite run and pass using the mssqlnative driver
<aname="v307"></a><h3>1.ii. Changes since 3.0.7</h3>
<aname="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>
<aname="v306"></a><h3>1.iii. Changes since 3.0.6</h3>
<aname="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>
@@ -645,7 +1280,7 @@
</ul>
<aname="v305"></a><h3>1.iv. Changes since 3.0.5</h3>
<aname="v305"></a><h3>1.vii. Changes since 3.0.5</h3>
<ul>
<li>[Fix] Allow whitespaces in avatar gallery names. (Bug #44955)</li>
@@ -867,7 +1502,7 @@
<li>[Feature] Send anonymous statistical information to phpBB on installation and update (optional).</li>
</ul>
<aname="v304"></a><h3>1.v. Changes since 3.0.4</h3>
<aname="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>
@@ -956,7 +1591,7 @@
<li>[Sec] Only use forum id supplied for posting if global announcement detected. (Reported by nickvergessen)</li>
</ul>
<aname="v303"></a><h3>1.vi. Changes since 3.0.3</h3>
<aname="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>
@@ -988,7 +1623,7 @@
<li>[Sec] Ask for forum password if post within passworded forum quoted in private message. (Reported by nickvergessen)</li>
</ul>
<aname="v302"></a><h3>1.vii. Changes since 3.0.2</h3>
<aname="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>
@@ -1087,7 +1722,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>
<aname="v301"></a><h3>1.viii. Changes since 3.0.1</h3>
<aname="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>
@@ -1135,7 +1770,7 @@
<li>[Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)</li>
</ul>
<aname="v300"></a><h3>1.ix Changes since 3.0.0</h3>
<aname="v300"></a><h3>1.xii Changes since 3.0.0</h3>
<ul>
<li>[Change] Validate birthdays (Bug #15004)</li>
@@ -1206,7 +1841,7 @@
<li>[Fix] Find and display colliding usernames correctly when converting from one database to another (Bug #23925)</li>
</ul>
<aname="v30rc8"></a><h3>1.x. Changes since 3.0.RC8</h3>
<aname="v30rc8"></a><h3>1.xiii. Changes since 3.0.RC8</h3>
<ul>
<li>[Fix] Cleaned usernames contain only single spaces, so "a_name" and "a__name" are treated as the same name (Bug #15634)</li>
@@ -1215,7 +1850,7 @@
<li>[Fix] Call garbage_collection() within database updater to correctly close connections (affects Oracle for example)</li>
</ul>
<aname="v30rc7"></a><h3>1.xi. Changes since 3.0.RC7</h3>
<aname="v30rc7"></a><h3>1.xiv. Changes since 3.0.RC7</h3>
<ul>
<li>[Fix] Fixed MSSQL related bug in the update system</li>
@@ -1250,7 +1885,7 @@
<li>[Fix] No duplication of active topics (Bug #15474)</li>
</ul>
<aname="v30rc6"></a><h3>1.xii. Changes since 3.0.RC6</h3>
<aname="v30rc6"></a><h3>1.xv. Changes since 3.0.RC6</h3>
<ul>
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
@@ -1260,7 +1895,7 @@
<li>[Fix] Able to request new password (Bug #14743)</li>
</ul>
<aname="v30rc5"></a><h3>1.xiii. Changes since 3.0.RC5</h3>
<aname="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>
@@ -1323,7 +1958,7 @@
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
</ul>
<aname="v30rc4"></a><h3>1.xiv. Changes since 3.0.RC4</h3>
<aname="v30rc4"></a><h3>1.xvii. Changes since 3.0.RC4</h3>
<ul>
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
@@ -1374,7 +2009,7 @@
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
</ul>
<aname="v30rc3"></a><h3>1.xv. Changes since 3.0.RC3</h3>
<aname="v30rc3"></a><h3>1.xviii. Changes since 3.0.RC3</h3>
<ul>
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
@@ -1483,7 +2118,7 @@
</ul>
<aname="v30rc2"></a><h3>1.xvi. Changes since 3.0.RC2</h3>
<aname="v30rc2"></a><h3>1.xviv. Changes since 3.0.RC2</h3>
<ul>
<li>[Fix] Re-allow searching within the memberlist</li>
@@ -1529,7 +2164,7 @@
</ul>
<aname="v30rc1"></a><h3>1.xvii. Changes since 3.0.RC1</h3>
<aname="v30rc1"></a><h3>1.xx. Changes since 3.0.RC1</h3>
<ul>
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>
@@ -1664,7 +2299,7 @@
<divclass="content">
<p>This application is opensource software released under the <ahref="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) 2000, 2002, 2005, 2007<ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <ahref="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) <ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
@@ -110,7 +110,7 @@ I want to sue you because i think you host an illegal board!</h2>
<divclass="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 "given" 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>
<divclass="content">
<p>This application is opensource software released under the <ahref="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) 2000, 2002, 2005, 2007<ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <ahref="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) <ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<li><ahref="#disclaimer">Copyright and disclaimer</a></li>
</ol>
</div>
@@ -140,13 +141,13 @@
<li>PostgreSQL 7.3+</li>
<li>SQLite 2.8.2+</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>
@@ -181,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 <ahref="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 <ahref="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>
@@ -273,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.7-PL1</samp> you should select the phpBB-3.0.7-PL1_to_3.0.8.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>
@@ -285,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 <ahref="#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 3.0.5 you need the phpBB-3.0.7-PL1_to_3.0.8.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 < [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 < [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 <ahref="#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>
@@ -408,6 +409,12 @@
<p>Please be aware that setting a directories permissions to global write access is a potential security issue. While it is unlikely that anything nasty will occur (such as all the avatars being deleted) there are always people out there to cause trouble. Therefore you should monitor this directory and if possible make regular backups.</p>
<p>Depending on your web server you may have to configure your server to deny web access to the <code>cache/</code>, <code>files/</code>, <code>store/</code> and other directories. This is to prevent users from accessing sensitive files.</p>
<p>For <strong>apache</strong> there are <code>.htaccess</code> files already in place to do this for you. For other webservers you will have to adjust the configuration yourself. Sample files for <strong>nginx</strong> and <strong>lighttpd</strong> to help you get started may be found in docs directory.</p>
</div>
<divclass="back2top"><ahref="#wrap"class="top">Back to Top</a></div>
@@ -424,7 +431,7 @@
<divclass="content">
<p>This application is opensource software released under the <ahref="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) 2000, 2002, 2005, 2007<ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <ahref="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) <ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<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>
<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->System->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 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->System->Language Packs</code> and install the now appearing 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>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>
<aname="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 phpBB Group are rather proud of the included styles we realise that they may not be to everyone's 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><strong>Please note</strong> that 3rd party styles downloaded for versions of phpBB2 will <strong>not</strong> work in phpBB3.</p>
@@ -156,7 +157,7 @@
<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><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>
@@ -192,7 +193,7 @@
<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>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>
@@ -200,6 +201,8 @@
<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>There are other IRC channels available, please see <ahref="http://www.phpbb.com/support/irc/">http://www.phpbb.com/support/irc/</a> for the complete list.</p>
</div>
<divclass="back2top"><ahref="#wrap"class="top">Back to Top</a></div>
@@ -216,9 +219,9 @@
<divclass="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>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>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>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>If no existing bug exists then please feel free to add it</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>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>
@@ -261,9 +264,11 @@
<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 fix which you are <strong>VERY SURE</strong> works (and is consistent with our <ahref="coding-guidelines.html">coding guidelines</a>) and does not introduce further problems or incompatibilities please let us know. However only include it in the bug report if you really must, if we need it we'll ask you for it.</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 <ahref="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: <ahref="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>
@@ -317,7 +322,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 and Firebird. Versions of PHP used range from 4.3.3 to 5.4.x without problem. </p>
<aname="phpsec"></a><h3>7.i. Notice on PHP security issues</h3>
@@ -339,7 +344,7 @@
<divclass="content">
<p>This application is opensource software released under the <ahref="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) 2000, 2002, 2005, 2007<ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <ahref="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) <ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<metaname="description"content="This is an explanation of how to use the phpBB auth/acl API"/>
<title>phpBB3 • Auth API</title>
@@ -275,7 +275,7 @@ $auth_admin = new auth_admin();
<divclass="content">
<p>This application is opensource software released under the <ahref="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) 2000, 2002, 2005, 2007<ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <ahref="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) <ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>In SQL Statements mixing single and double quotes is partly allowed (following the guidelines listed here about SQL Formatting), else it should be tryed to only use one method - mostly single quotes.</p>
<p>In SQL statements mixing single and double quotes is partly allowed (following the guidelines listed here about SQL formatting), else one should try to only use one method - mostly single quotes.</p>
<h4>Associative array keys:</h4>
<p>In PHP, it's legal to use a literal string as a key to an associative array without quoting that string. We don't want to do this -- the string should always be quoted to avoid confusion. Note that this is only when we're using a literal, not when we're using a variable, examples:</p>
@@ -497,7 +495,7 @@ $foo = $assoc_array[$var];
<p>Each complex function should be preceded by a comment that tells a programmer everything they need to know to use that function. The meaning of every parameter, the expected input, and the output are required as a minimal comment. The function's behaviour in error conditions (and what those error conditions are) should also be present - but mostly included within the comment about the output.<br/><br/>Especially important to document are any assumptions the code makes, or preconditions for its proper operation. Any one of the developers should be able to look at any part of the application and figure out what's going on in a reasonable amount of time.<br/><br/>Avoid using <code>/* */</code> comment blocks for one-line comments, <code>//</code> should be used for one/two-liners.</p>
<h4>Magic numbers:</h4>
<p>Don't use them. Use named constants for any literal value other than obvious special cases. Basically, it's ok to check if an array has 0 elements by using the literal 0. It's not ok to assign some special meaning to a number and then use it everywhere as a literal. This hurts readability AND maintainability. The constants <code>true</code> and <code>false</code> should be used in place of the literals 1 and 0 -- even though they have the same values (but not type!), it's more obvious what the actual logic is when you use the named constants. Typecast variables where it is needed, do not rely on the correct variable type (PHP is currently very loose on typecasting which can lead to security problems if a developer does not have a very close eye to it).</p>
<p>Don't use them. Use named constants for any literal value other than obvious special cases. Basically, it's ok to check if an array has 0 elements by using the literal 0. It's not ok to assign some special meaning to a number and then use it everywhere as a literal. This hurts readability AND maintainability. The constants <code>true</code> and <code>false</code> should be used in place of the literals 1 and 0 -- even though they have the same values (but not type!), it's more obvious what the actual logic is when you use the named constants. Typecast variables where it is needed, do not rely on the correct variable type (PHP is currently very loose on typecasting which can lead to security problems if a developer does not keep a very close eye on it).</p>
<h4>Shortcut operators:</h4>
<p>The only shortcut operators that cause readability problems are the shortcut increment <code>$i++</code> and decrement <code>$j--</code> operators. These operators should not be used as part of an expression. They can, however, be used on their own line. Using them in expressions is just not worth the headaches when debugging, examples:</p>
@@ -666,7 +664,7 @@ $sql = 'SELECT *
</pre></div>
<h4>SQL Quotes: </h4>
<p>Double quotes where applicable (The variables in these examples are typecasted to integers before) ... examples: </p>
<p>Use double quotes where applicable. (The variables in these examples are typecasted to integers beforehand.) Examples: </p>
<pclass="bad">// These are wrong.</p>
<divclass="codebox"><pre>
@@ -827,7 +825,7 @@ SELECT FROM phpbb_forums WHERE forum_id <strong><></strong> 1
<h4>sql_build_query():</h4>
<p>The <code>$db->sql_build_query()</code> function is responsible for building sql statements for select and select distinct queries if you need to JOIN on more than one table or retrieving data from more than one table while doing a JOIN. This needs to be used to make sure the resulting statement is working on all supported db's. Instead of explaining every possible combination, i will give a short example:</p>
<p>The <code>$db->sql_build_query()</code> function is responsible for building sql statements for SELECT and SELECT DISTINCT queries if you need to JOIN on more than one table or retrieve data from more than one table while doing a JOIN. This needs to be used to make sure the resulting statement is working on all supported db's. Instead of explaining every possible combination, I will give a short example:</p>
<p>Try to avoid using in_array() on huge arrays, and try to not place them into loops if the array to check consist of more than 20 entries. in_array() can be very time consuming and uses a lot of cpu processing time. For little checks it is not noticable, but if checked against a huge array within a loop those checks alone can be a bunch of seconds. If you need this functionality, try using isset() on the arrays keys instead, actually shifting the values into keys and vice versa. A call to <code>isset($array[$var])</code> is a lot faster than <code>in_array($var, array_keys($array))</code> for example.</p>
<p>Try to avoid using in_array() on huge arrays, and try to not place them into loops if the array to check consist of more than 20 entries. in_array() can be very time consuming and uses a lot of cpu processing time. For little checks it is not noticeable, but if checked against a huge array within a loop those checks alone can take several seconds. If you need this functionality, try using isset() on the arrays keys instead, actually shifting the values into keys and vice versa. A call to <code>isset($array[$var])</code> is a lot faster than <code>in_array($var, array_keys($array))</code> for example.</p>
<aname="general"></a><h3>2.v. General Guidelines</h3>
<p>No attempt should be made to remove any copyright information (either contained within the source or displayed interactively when the source is run/compiled), neither should the copyright information be altered in any way (it may be added to).</p>
<h4>Variables: </h4>
<p>Make use of the <code>request_var()</code> function for anything except for submit or single checking params.</p>
<p>Make use of the <code>request_var()</code> function for anything except for submit or single checking params.</p>
<p>The request_var function determines the type to set from the second parameter (which determines the default value too). If you need to get a scalar variable type, you need to tell this the request_var function explicitly. Examples:</p>
<pclass="bad">// Old method, do not use it</p>
@@ -992,7 +990,7 @@ $user->setup();
<p>The <code>$user->setup()</code> call can be used to pass on additional language definition and a custom style (used in viewforum).</p>
<h4>Errors and messages: </h4>
<p>All messages/errors should be outputed by calling <code>trigger_error()</code> using the appropriate message type and language string. Example:</p>
<p>All messages/errors should be outputted by calling <code>trigger_error()</code> using the appropriate message type and language string. Example:</p>
<p>All urls pointing to internal files need to be prepended by the <code>$phpbb_root_path</code> variable. Within the administration control panel all urls pointing to internal files need to be prepended by the <code>$phpbb_admin_path</code> variable. This makes sure the path is always correct and users being able to just rename the admin folder and the acp still working as intended (though some links will fail and the code need to be slightly adjusted).</p>
<p>The <code>append_sid()</code> function from 2.0.x is available too, though does not handle url alterations automatically. Please have a look at the code documentation if you want to get more details on how to use append_sid(). A sample call to append_sid() can look like this:</p>
<p>The <code>append_sid()</code> function from 2.0.x is available too, though it does not handle url alterations automatically. Please have a look at the code documentation if you want to get more details on how to use append_sid(). A sample call to append_sid() can look like this:</p>
<p>Some of these functions are only chosen over others because of personal preference and having no other benefit than to be consistant over the code.</p>
<p>Some of these functions are only chosen over others because of personal preference and have no benefit other than maintaining consistency throughout the code.</p>
<aname="genstyling"></a><h3>3.2. General Styling Rules</h3>
<p>Templates should be produced in a consistent manner. Where appropriate they should be based off an existing copy, e.g. index, viewforum or viewtopic (the combination of which implement a range of conditional and variable forms). Please also note that the intendation and coding guidelines also apply to templates where possible.</p>
<p>Templates should be produced in a consistent manner. Where appropriate they should be based off an existing copy, e.g. index, viewforum or viewtopic (the combination of which implement a range of conditional and variable forms). Please also note that the indentation and coding guidelines also apply to templates where possible.</p>
<p>The outer table class <code>forumline</code> has gone and is replaced with <code>tablebg</code>.</p>
<p>When writing <code><table></code> the order <code><table class="" cellspacing="" cellpadding="" border="" align=""></code> creates consistency and allows everyone to easily see which table produces which "look". The same applies to most other tags for which additional parameters can be set, consistency is the major aim here.</p>
<p>Row colours/classes are now defined by the template, use an <code>IF S_ROW_COUNT</code> switch, see viewtopic or viewforum for an example.</p>
<p>Remember block level ordering is important ... while not all pages validate as XHTML 1.0 Strict compliant it is something we're trying to work too.</p>
<p>Remember block level ordering is important ... while not all pages validate as XHTML 1.0 Strict compliant it is something we're trying to work on.</p>
<p>Use a standard cellpadding of 2 and cellspacing of 0 on outer tables. Inner tables can vary from 0 to 3 or even 4 depending on the need.</p>
<aname="templates"></a><h3>4.i. General Templating</h3>
<h4>File naming</h4>
<p>Firstly templates now take the suffix ".html" rather than ".tpl". This was done simply to make the lifes of some people easier wrt syntax highlighting, etc.</p>
<p>Firstly templates now take the suffix ".html" rather than ".tpl". This was done simply to make the lives of some people easier wrt syntax highlighting, etc.</p>
<h4>Variables</h4>
<p>All template variables should be named appropriately (using underscores for spaces), language entries should be prefixed with L_, system data with S_, urls with U_, javascript urls with UA_, language to be put in javascript statements with LA_, all other variables should be presented 'as is'.</p>
<p>L_* template variables are automatically tried to be mapped to the corresponding language entry if the code does not set (and therefore overwrite) this variable specifically. For example <code>{L_USERNAME}</code> maps to <code>$user->lang['USERNAME']</code>. The LA_* template variables are handled within the same way, but properly escaped to be put in javascript code. This should reduce the need to assign loads of new lang vars in Modifications.
<p>L_* template variables are automatically mapped to the corresponding language entry if the code does not set (and therefore overwrite) this variable specifically and if the language entry exists. For example <code>{L_USERNAME}</code> maps to <code>$user->lang['USERNAME']</code>. The LA_* template variables are handled within the same way, but properly escaped so they can be put in javascript code. This should reduce the need to assign loads of new language variables in MODifications.
</p>
<h4>Blocks/Loops</h4>
@@ -1425,9 +1423,9 @@ div
<spanclass="comment"><!-- END l_block1 --></span>
</pre></div>
<p>Here we open the loop l_block1 and doing some things if the value S_SELECTED within the current loop iteration is true, else we write the blocks link and title. Here, you see <code>{l_block1.L_TITLE}</code> referenced - you remember that L_* variables get automatically assigned the corresponding language entry? This is true, but not within loops. The L_TITLE variable within the loop l_block1 is assigned within the code itself.</p>
<p>Here we open the loop l_block1 and do some things if the value S_SELECTED within the current loop iteration is true, else we write the blocks link and title. Here, you see <code>{l_block1.L_TITLE}</code> referenced - you remember that L_* variables get automatically assigned the corresponding language entry? This is true, but not within loops. The L_TITLE variable within the loop l_block1 is assigned within the code itself.</p>
<p>Let's have a closer look to the markup:</p>
<p>Let's have a closer look at the markup:</p>
<divclass="codebox"><pre>
<spanclass="comment"><!-- BEGIN l_block1 --></span>
@@ -1521,7 +1519,7 @@ div
</ul><spanclass="comment"><!-- written on third iteration --></span>
</pre></div>
<p>Just always remember that processing is taking place from up to down.</p>
<p>Just always remember that processing is taking place from top to bottom.</p>
<h4>Forms</h4>
<p>If a form is used for a non-trivial operation (i.e. more than a jumpbox), then it should include the <code>{S_FORM_TOKEN}</code> template variable.</p>
<p>When basing a new template on an existing one, it is not necessary to provide all template files. By declaring the template to be "<strong>inheriting</strong>" in the template configuration file.</p>
<p>When basing a new style on an existing one, it is not necessary to provide all the template files. By declaring the base style name in the <strong>inherit_from</strong> field in the template configuration file, the style can be set to inherit template files from the base style. The limitation on this is that the base style has to be installed and complete, meaning that it is not itself inheriting.</p>
<p>The limitation on this is that the base style has to be installed and complete, meaning that it is not itself inheriting.</p>
<p>The effect of doing so is that the template engine will use the files in the new template where they exist, but fall back to files in the base template otherwise. Declaring a style to be inheriting also causes it to use some of the configuration settings of the base style, notably database storage.</p>
<p>The effect of doing so is that the template engine will use the template files in the new style where they exist, but fall back to files in the base style otherwise. Declaring a style to inherit from another also causes it to use some of the configuration settings of the base style, notably database storage.</p>
<p>We strongly encourage the use of inheritance for styles based on the bundled styles, as it will ease the update procedure.</p>
@@ -1668,7 +1664,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
<h4>Encoding:</h4>
<p>With phpBB3, the output encoding for the forum in now UTF-8, a Universal Character Encoding by the Unicode Consortium that is by design a superset to US-ASCII and ISO-8859-1. By using one character set which simultaenously supports all scripts which previously would have required different encodings (eg: ISO-8859-1 to ISO-8859-15 (Latin, Greek, Cyrillic, Thai, Hebrew, Arabic); GB2312 (Simplified Chinese); Big5 (Traditional Chinese), EUC-JP (Japanese), EUC-KR (Korean), VISCII (Vietnamese); et cetera), this removes the need to convert between encodings and improves the accessibility of multilingual forums.</p>
<p>With phpBB3, the output encoding for the forum in now UTF-8, a Universal Character Encoding by the Unicode Consortium that is by design a superset to US-ASCII and ISO-8859-1. By using one character set which simultaenously supports all scripts which previously would have required different encodings (eg: ISO-8859-1 to ISO-8859-15 (Latin, Greek, Cyrillic, Thai, Hebrew, Arabic); GB2312 (Simplified Chinese); Big5 (Traditional Chinese), EUC-JP (Japanese), EUC-KR (Korean), VISCII (Vietnamese); et cetera), we remove the need to convert between encodings and improves the accessibility of multilingual forums.</p>
<p>The impact is that the language files for phpBB must now also be encoded as UTF-8, with a caveat that the files must <strong>not contain</strong> a <acronymtitle="Byte-Order-Mark">BOM</acronym> for compatibility reasons with non-Unicode aware versions of PHP. For those with forums using the Latin character set (ie: most European languages), this change is transparent since UTF-8 is superset to US-ASCII and ISO-8859-1.</p>
@@ -2318,58 +2314,14 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
<hr/>
<aname="vcs"></a><h2>7. VCS Guidelines</h2>
<aname="disclaimer"></a><h2>8. Copyright and disclaimer</h2>
<p>The version control system for phpBB3 is git. The repository is available at <ahref="http://github.com/phpbb/phpbb3"title="repository">http://github.com/phpbb/phpbb3</a>.</p>
<aname="commitmessage"></a><h3>7.ii. Commit Messages and Reposiory Rules</h3>
<p>Information on repository rules, such as commit messages can be found at <ahref="http://wiki.phpbb.com/display/DEV/Git"title="phpBB Git Information">http://wiki.phpbb.com/display/DEV/Git</a></p>.
</div>
<divclass="back2top"><ahref="#wrap"class="top">Back to Top</a></div>
<p>This application is opensource software released under the <ahref="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) 2000, 2002, 2005, 2007 <ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <ahref="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) <ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<metaname="description"content="Hook System explanation"/>
<title>phpBB3 • Hook System</title>
@@ -380,6 +380,8 @@ a:active { color: #368AD2; }
<code>$template->display($handle, $include_once = true);</code> which is called directly before outputting the (not-yet-compiled) template.<br/>
<code>exit_handler();</code> which is called at the very end of phpBB3's execution.</p>
<p>Please note: The <code>$template->display</code> hook takes a third <code>$template</code> argument, which is the template instance being used, which should be used instead of the global.</p>
<p>There are also valid external constants you may want to use if you embed phpBB3 into your application:</p>
<divclass="codebox"><pre>
@@ -865,7 +867,7 @@ function phpbb_hook_register(&$hook)
<divclass="content">
<p>This application is opensource software released under the <ahref="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) 2000, 2002, 2005, 2007<ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <ahref="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) <ahref="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
// We want to notify the admin that custom profile fields need to be updated for the new language.
$notify_cpf_update=false;
// From the mysql documentation:
// Prior to MySQL 4.0.14, the target table of the INSERT statement cannot appear in the FROM clause of the SELECT part of the query. This limitation is lifted in 4.0.14.
// Due to this we stay on the safe side if we do the insertion "the manual way"
@@ -932,6 +935,7 @@ class acp_language
{
$row['lang_id']=$lang_id;
$db->sql_query('INSERT INTO '.PROFILE_LANG_TABLE.' '.$db->sql_build_array('INSERT',$row));
$notify_cpf_update=true;
}
$db->sql_freeresult($result);
@@ -944,12 +948,15 @@ class acp_language
{
$row['lang_id']=$lang_id;
$db->sql_query('INSERT INTO '.PROFILE_FIELDS_LANG_TABLE.' '.$db->sql_build_array('INSERT',$row));
trigger_error("Index name '${column_name}_gen' on table '$table_name' is too long. The maximum auto increment column length is 26 characters.",E_USER_ERROR);
}
// here we add the definition of the new column to the list of columns
switch($this->sql_layer)
{
@@ -538,7 +603,7 @@ class phpbb_db_tools
break;
case'oracle':
$table_sql.="\n);";
$table_sql.="\n)";
$statements[]=$table_sql;
// do we need to add a sequence and a tigger for auto incrementing columns?
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.