* develop: (157 commits)
[ticket/10316] Resolve inconsistent move topic behavior
[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/9608] Remove use of references in topic_review
[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.
[feature/template-engine] Delete _get_locator function.
[feature/template-engine] Clean up template locator usage in bbcode.
[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.
[ticket/10312] Un-check the shadow option while moving.
[feature/template-engine] Need to call set_template on template.
[feature/template-engine] Update installer for template engine changes.
[feature/template-engine] Dependency inject locator into template.
[feature/template-engine] Delete useless code from set_template.
...
Conflicts:
phpBB/includes/functions.php
* github-p/feature/template-engine: (87 commits)
[feature/template-engine] Delete _get_locator function.
[feature/template-engine] Clean up template locator usage in bbcode.
[feature/template-engine] Need to call set_template on template.
[feature/template-engine] Update installer for template engine changes.
[feature/template-engine] Dependency inject locator into template.
[feature/template-engine] Delete useless code from set_template.
[feature/template-engine] Delete no longer used $template_filename property.
[feature/template-engine] Delete useless $template globalization.
[feature/template-engine] Use template engine class in bbcode class.
[feature/template-engine] Corrected an error message in template locator.
[feature/template-engine] Remaining documentation.
[feature/template-engine] More documentation for template class.
[feature/template-engine] Create load_and_render to reduce code duplication.
[feature/template-engine] Get rid of orig_tpl_* in template engine.
[feature/template-engine] Delete $style_name param from locator's set_custom_template.
[feature/template-engine] Add constructor to template locator.
[feature/template-engine] Factor template locator out of template class.
[feature/template-engine] Delete $files_template property.
[feature/template-engine] Rename is_absolute to phpbb_is_absolute.
[feature/template-engine] Test template DEFINE statements across files
...
Conflicts:
.gitignore
phpBB/includes/template.php
* github-igorw/ticket/10258:
[ticket/10258] Remove the meta charset tag
[ticket/10258] Adjust some deprecated tags for HTML5 in coding-guidelines
[ticket/10258] Remove copyright meta tag from docs
[ticket/10258] Remove resource-type and distribution meta tags
[ticket/10258] Remove X-UA-Compatible and imagetoolbar meta tags
[ticket/10258] Change the DOCTYPE to HTML5
* develop-olympus:
[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/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.
* develop-olympus:
[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/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
* develop-olympus:
[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.
Extend the request class with helpers for reading server vars (server())
and HTTP request headers (header()). Refactor the existing code base
to make use of these helpers, make $_SERVER a deactivated super global.
Also introduce an is_ajax() method, which checks the X-Requested-With
header for the value 'XMLHttpRequest', which is sent by JavaScript
libraries, such as jQuery.
PHPBB3-9716
The charset tag is useless, because if a charset content-type header is
present it takes precedence. And phpBB always sends such a header.
PHPBB3-10258
* develop-olympus:
[ticket/9859] Changing all phpBB footers to match the new credit line
[ticket/9859] New footer copyright line with registered symbol
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
* naderman/ticket/7057:
[ticket/7057] Use GET for quicksearch and add session id to hidden fields
[ticket/7057] Remove trailing whitespace in functions.php
* develop-olympus:
[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/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.