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/9825] Add unit test config and db to gitignore
[ticket/9825] Unit tests: Use sqlite when possible and no test_config exists.
* ticket/bantu/9825:
[ticket/9825] Add unit test config and db to gitignore
[ticket/9825] Unit tests: Use sqlite when possible and no test_config exists.
* 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/9592] Slight adjustments to simplify db test cases
[ticket/9592] Remove test cases for empty IN()
[ticket/9592] Test suite does not run on SQlite
* ticket/evil3/9592:
[ticket/9592] Slight adjustments to simplify db test cases
[ticket/9592] Remove test cases for empty IN()
[ticket/9592] Test suite does not run on SQlite
* 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'.