[ticket/9665] Allow preview of signature when it is the string "0".
Since only the SIGNATURE_PREVIEW parameter is evaluated in the templates
<!-- IF SIGNATURE_PREVIEW --> will not allow the signature to be "0".
<!-- IF SIGNATURE_PREVIEW != '' --> however does allow "0".
PHPBB3-9665
PHPBB3-9783
[ticket/9135] Fix report-icon for moderators in PM folders.
There was a S_TOPIC_REPORTED switch in the template of prosilver, which should indicate whether the PM is reported. But the variable was neither filled, nor named correctly. Now it is filled with a boolean and a link to the report is displayed for permitted users.
PHPBB3-9135
PHPBB3-9783
* 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
* 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