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
* develop-olympus:
[ticket/9653] Valid XHTML with code BBCode in subsilver2 viewtopic signatures
[ticket/9656] Remove @ from phpinfo() to get correct error_reporting value.
[ticket/9665] Allow preview of signature when it is the string "0".
[ticket/9112] Make sure current user can see most active forum/topic.
[ticket/9655] Pass E_USER_WARNING, so it doesn't look like a successful action.
[ticket/9643] Only split $port from $sqlserver, if it's not an IPv6 address.
Conflicts:
phpBB/styles/subsilver2/template/ucp_profile_signature.html
phpBB/styles/subsilver2/template/viewtopic_body.html
This reverts Oracle support to the state it was in prior to phpBB 3.0.6. That is, storage of long strings works again (e.g. posts > 4 KB), but the database backup/restore functionality is broken. We feel that the ability to store long strings is more important than the DB restore, since Oracle 10g itself provides tools for backing up databases.
PHPBB3-9132
including posts.
The function delete_topic_shadows() had to be reimplemented.
It was there but it was completly broken and hasn't been used at all.
PHPBB3-9167
Due to an oversight, the default group was not properly checked in the user_add function. This fix corrects the check. No other changes are needed because they go direct to the database, this one used an array in memory.
PHPBB3-9633
* develop-olympus:
[ticket/9094] Hide "Copy permissions" message, when permissions were copied.
[ticket/9135] Fix report-icon for moderators in PM folders.
[ticket/8936] Subsilver2 missing reply-to-all feature.
[ticket/7782] Return 404 HTTP status code for nonexistent attachments.
[ticket/7782] Added spaces.
[ticket/7782] Added phpdoc comment for send_status_line function.
[ticket/7782] Send status line using refactored download/file.php logic.
[ticket/8792] Add LDAP_SEARCH_FAILED string for when ldap_search() fails.
When creating a forum, you afterwards read "Forum created successfully. Now you are able to set permissions for this forum.", also when you already copied the permissions from another forum.
PHPBB3-9094
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
Introduce new function gen_rand_string_friendly() for user friendly random
strings like passwords and captcha codes. Strings generated by
gen_rand_string_friendly() will not contain the characters 0 and O.
By adding a new function we can increase the entropy of strings
generated by gen_rand_string() by putting 0 and O back in.
PHPBB3-9612
No longer use LDAP_NO_SERVER_CONNECTION in case ldap_search() fails.
Add and use LDAP_SEARCH_FAILED instead, so users can tell the difference
between ldap_connect() failing and ldap_search() failing.
PHPBB3-8792