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
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
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
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/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
* 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
Since unread posts search can produce a high server load in certain
circumstances, we implement a switch for ACP "Load settings" to have an option
to disable this type of search.
PHPBB3-9613
* develop-olympus:
[ticket/9117] Wrong redirection after login.
[ticket/9772] Unify permissions for sending email when board_email_form is off
[ticket/7369] CPF date should always render the users selection.
[ticket/7296] Exporting styles to tar creates corrupted archives.
[ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
[ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
[ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
[ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
Sending email via memberlist.php was limited to users having u_sendemail. When
board_email_form is disabled, no such requirement was enforced. This is now
changed.
PHPBB3-9772
CPF render code was incorrectly adding the users timezone offset instead
of removing it to compensate for the addition made in user::format_date().
PHPBB3-7369
* develop-olympus:
[ticket/7260] Don't delete poll if one exists and editing user lacks permission
[ticket/9646] Honor CSS comments in @import statements
* develop-olympus: (57 commits)
Revert "[ticket/7716] Data too long for column 'message_subject'"
[ticket/7716] Data too long for column 'message_subject'
[ticket/9780] Adding unit tests for gen_rand_string().
[ticket/9780] Add length check back to gen_rand_string().
[ticket/7972] Copying topics in the MCP now indexes the new topic.
[ticket/9782] Board disable radio set on when server load high
[ticket/9635] Useless parameter $data['post_time'] in function submit_post.
[ticket/9104] Safari does not display box headers correctly in the ACP.
[ticket/9777] Print error message in pre-commit hook when php is not installed.
[ticket/7716] Data too long for column 'message_subject'
[task/git-tools] Ignore git commit message comments
[task/git-tools] Adjust the hook to enforce that a ticket is always mentioned
[task/git-tools] Vastly expanded commit-msg hook.
[task/git-tools] Beginnings of a syntax checking hook.
[task/git-tools] Append ticket identifier to commit message prior to editing.
[ticket/7332] Redirect users back to post details when performing actions.
[ticket/7332] Collapse post details content down to a maximum of 300px heigh
[ticket/9771] Remove query string parameters that have no name.
[ticket/9760] Remove unrestricted wildcards from search terms.
[ticket/9599] Reimplement phpbb_checkdnsrr() function.
...
Conflicts:
tests/template/template.php