* develop-olympus:
[ticket/9531] BBCode-less quotes fallback-option is missing "Author wrote:"
[ticket/9012] Adjust shadow topic title to the title at the time it was moved.
Conflicts:
phpBB/styles/subsilver2/template/editor.js
phpBB/styles/subsilver2/template/posting_topic_review.html
phpBB/styles/subsilver2/template/ucp_pm_history.html
When quoting from the topic-review the statement "Author wrote:" is missing. The fix for this was not complete: Now it's backwards compatibile and uses the LA_ for the language variables.
PHPBB3-9531
Moved topics which have their title changed in the new forum will now show the
old title in the original viewforum instead of the new title.
PHPBB3-9012
* develop-olympus:
[ticket/9637] Do not cache SQL server version in all cases
[ticket/9629] Allow style.php to retrieve its session ID from cookies
[ticket/9678] Flash attachments are not displayed in subsilver2.
[ticket/9677] Subsilver2 is missing the bbcode-helpline for inline-attachments.
[ticket/9650] Do not allow banning the anonymous user by username
Conflicts:
phpBB/styles/subsilver2/template/attachment.html
phpBB/styles/subsilver2/template/posting_buttons.html
Because the existing cache is global, there is no way to differentiate between
each of two databases which may be two different DBAL objects pointing to
servers with wildly different versions of an RDBMS. phpBB only has this
situation in the UCF, thus only one file changed outside the DBAL. I have
added a second optional parameter, $use_cache to each of the implementations
of dbal::sql_server_info()
PHPBB3-9637
style.php takes a session ID to ensure it gets the right language for a user,
but that session ID is always passed in GET. This allows change allows the SID
to be read from the cookie, and theoretically makes it friendlier for caching
engines like Varnish.
PHPBB3-9629
whois.arin.net does currently not refer to other servers (using ReferralServer)
when queried for an IPv6 address. whois.sixxs.net however works in this case.
This also adds '.' to the hostname to make sure we're querying the dns root.
PHPBB3-9534
The template tests disable NOTICEs for the duration of template execution since
the current version of the template engine does not generate sufficiently clean
code. The error level is reset aftwards, however that part is skipped when
trigger_error is called which is converted into a regular exception by PHPUnit
and passed down until caught. Such exceptions are now caught to reset the error
level, and then the exception is rethrown.
This uncovered another issue in the template tests which only passed because
NOTICEs were unintentionally disabled at this point. assign_display is also
required to operate without NOTICEs. The respective code has been added around
its callee as well. However no handling of exceptions takes place there. If
another test checking for errors in that function is ever added similar catch
logic will have to be added there.
PHPBB3-9701
* develop-olympus:
[ticket/9704] Fix minor typo in coding guidelines.
[ticket/9690] Add forthcoming Bing Bot to list of recognized bots
[ticket/9451] Add optional $can_upload parameter to avatar_process_user().
[ticket/9593] A readme file for unit tests and running unit tests.
[ticket/9570] Changed "system" to "guest" timezone in ACP, added explanation.
[ticket/9589] Added sample nginx configuration file for phpbb.
* develop-olympus:
[ticket/9712] Future dates can be formatted as 'less than one minute ago'
[ticket/9659] Signature options in set_user_options
[ticket/9703] Correct database leak where deleting user did not rm some PM data
[ticket/9697] Backlink broken when the select parent forum does not exist.
[ticket/9695] Correct the improper display of user input in mcp_ban.php
[ticket/9628] _add_module 'after'-parameter does not work correctly.
[ticket/9578] ACP Posting tab is missing "Post settings" module.
The autoloader is registered in install without caching, since caching is set
up during installation. This provides the same functionality, performance is
not a concern during installation anyway.
In common.php the autoloader is instantiated after the cache is initialised and
is started with the standard cache backend used for other cached values.
A few places in the code using class_exists had to be updated to explicitly
avoid autoloading, since they are used to check whether a file needs to be
included which does not (yet) follow the naming scheme the autoloader follows.
PHPBB3-9682
phpBB class name lookups follow these rules:
- All classes are prefixed with phpbb_
- All classes reside in includes/ or a subdirectory thereof
- Directories must not contain underscores
- The class name is separated into parts by underscores, the parts
are checked from first to last, until one is found which is not
a directory, all remaining parts make up the file name. If no parts
are left, the last directory name is used.
Examples:
directory structure:
includes/
class_name.php
dir/
class_name.php
dir.php
subdir/
class_name.php
lookups:
phpbb_class_name -> includes/class_name.php
phpbb_dir_class_name -> includes/dir/class_name.php
phpbb_dir -> includes/dir/dir.php
phpbb_dir_subdir_class_name -> includes/dir/subdir/class_name.php
Optionally the class can be supplied with a cache instance, either in the
constructor or via set_cache() at a later time. This allows for the lookups to
be cached, so the directories do not have to be traveresed on every request.
This makes it necessary for the cache and its dependency to continue to be
loaded the old way - without autoloading.
The code will not be changed to use autoloading, but it will rather only be
used for new classes where applicable.
PHPBB3-9682
* task/coding-guidelines:
[task/coding-guidelines] Class member qualifier guidelines
[task/coding-guidelines] Added a section about class names.
[task/coding-guidelines] Coding guideline update: Class names, eval, VCS, EOF