All class names have been adjusted to use a phpbb_request prefix,
allowing them to be autoloaded.
Also introduces some improvements to autoloading in general.
PHPBB3-9716
To save users from having to run everything through
utf8_normalize_nfc(), a call is done automatically from within set_var,
which is called by request_var.
PHPBB3-9716
Removed the dependency of the request class test on having an actual
phpbb_type_cast_helper instance, by replacing it with an object mocking
the phpbb_type_cast_helper_interface.
PHPBB3-9716
The request class
- now makes use of the new type cast helper (dependency injection)
- has no static methods anymore.
- now has a constructor argument to leave super globals turned on
Brought back the set_var function in functions.php. It is now a wrapper
around the type cast helper. It creates an instance on the fly.
The request_var wrapper function now has an optional last argument to
inject the request class instance, rather than abusing the $var_name.
PHPBB3-9716
These methods should be available without having to instantiate a request class
object, better separation of concerns. A set_var wrapper around this class no
longer requires a request object at all.
PHPBB3-9716
Just like common.php database_update.php and install/index.php need to
include the request class files and create an instance for use in
request_var.
PHPBB3-9716
If the "dependency injection" mechanism is used there should not be any regular
computation of a result value. request_var has to return immediately.
PHPBB3-9716
It should at all cost be avoided to rely on this global variable.
Instead either use the request_var method (deprecated) or pass the
instance to your function as a parameter or to your object as a
contructor argument or through a setter function.
PHPBB3-9716
The well known request_var function is now a wrapper that calls a method
on a phpbb_request object. The class provides additional functionality.
It can replace all super globals with special objects that throw errors
when being accessed. They still allow isset operations to keep backward
compatibility with isset($_POST['var']) checks. The phpbb_request class
implements the phpbb_request_interface which is available for easy mocking
of input in tests.
PHPBB3-9716
* develop-olympus:
[ticket/9609] Change header() calls setting HTTP status to send_status_line().
[ticket/9613] Slightly update language strings.
[ticket/9613] Fix missing database part for unread posts search load switch.
[ticket/9613] Implement a load switch for unread posts search feature.
[ticket/9785] Allow users to request new passwords when board is disabled.
[ticket/9644] Check $mode before calling user_notification() from submit_post()
* develop-olympus:
[ticket/9820] phpBB Debug Error when trying to post a new topic.
[ticket/9162] BBCode in poll options is broken, when posting without question.
[ticket/9804] Update docs/AUTHORS. Move DavidMJ, add evil<3.
* develop-olympus:
[ticket/9754] Populate S_USER_POSTED variable with correct value in search.php
[ticket/9748] Replace <br /> before converting < and > to their entities.
[ticket/9503] Show 'No subject specified' in 'Posts awaiting approval'.
get_supported_image_types() in includes/functions_posting.php contained
the values of PHP constants hardcoded instead of using the constants.
PHPBB3-7252
fileupload::image_types() contained hardcoded references to values of built
in PHP constants, these have been replaced with the constants instead now.
PHPBB3-7252
This change actually applies to any configruation setting that is a pair
of values one representing the maximum and one minimum. This change enforces
that the maximum value cannot be less than the minimum value.
PHPBB3-8935
* develop-olympus:
[task/git-tools] Change the GNU --lines argument to the POSIX -l
[task/git-tools] Solve dependency on the GNU wc --max-line-length option
[ticket/8944] Patch db_tools to support index length for MySQL4
[ticket/9039] Make mssqlnative.php non-executable
[ticket/8944] Add index length to CREATE INDEX for MySQL4 in database_update
[ticket/9800] Update tracker URL in docs/README.html
* ticket/evil3/8944:
[ticket/8944] Patch db_tools to support index length for MySQL4
[ticket/8944] Add index length to CREATE INDEX for MySQL4 in database_update