acm_memory.php is untested. install/install_convert.php and
includes/functions_convert.php are going to be tested and committed afterwards.
PHPBB3-9519
Since we do not want to limit the updater functionality we only display
a prominent warning when the current board version does not match the
version the update files are meant to update from.
PHPBB3-9140
* 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
* 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
The modules were grouped by left_id so num_modules is always one (hopefully), but the number of rows is the actual value we'd like to know. Removing the GROUP BY resolves the issue.
PHPBB3-9628
* develop-olympus: (21 commits)
[feature/notify_status] Define'd constants for notify_status
[ticket/7782] Send 404 HTTP code when a nonexistent user/forum/topic is requested.
[ticket/9530] The prosilver problem in #9531 exists in subsilver2 editor.js
[ticket/9530] Subsilver2 is missing BBCode-less quotes fallback-option when bbcodes are disabled.
[ticket/9531] BBCode-less quotes fallback-option is missing "Author wrote:" line when quoting from topic-review.
[ticket/9547] Use separate constants for display/enable active topics.
[ticket/9535] Also fix the margin in the install_update.html
[ticket/9535] Fix some more rtl margin issues.
[ticket/9535] Correctly set margin of textarea in ACP > Users signature for RTL languages.
[ticket/9524] IPv6 regex does not match all valid IPv6 addresses starting with ::
[ticket/9510] Unable to copy permissions from and to forums you cannot see
[ticket/9510] Unable to copy permissions from and to forums you cannot see
[ticket/9545] Initial forum should display active topics by default.
[ticket/9546] Also delete bookmarks, when a topic is deleted.
[ticket/9529] Topic review is not showing all selected posts.
[ticket/9528] Also fall back to bbcode-less quotes for PMs, when bbcodes are disabled.
[ticket/9146] Fix double occurring tabindex="6" in prosilver's QR
[ticket/9119] Respect language selection on automated update.
[ticket/8894] Fix JavaScript-Error and hide Quote-Button on topic review if BBCodes are not allowed.
[ticket/9567] Newly registered users group description rewording.
...
The initial forum 'Your first forum' should show topics
(especially the 'Welcome to phpBB3' topic) in the active topics list after
installing phpBB because this is the default setting for new forums
(but not categories).
The default database column value for forum_flags is 32 =
FORUM_FLAG_POST_REVIEW, we therefore have to explicitly set forum_flags to
FORUM_FLAG_POST_REVIEW + FORUM_FLAG_ACTIVE_TOPICS = 48 for this forum.
PHPBB3-9545
* develop-olympus:
[ticket/7717] Localise default extension groups for attachments
[ticket/9598] checkdnsrr() is now available on Windows with PHP 5.3 or later. Change if block order to always call checkdnsrr() if the function is available.
[ticket/9173] No longer limit scope of numbers we store in the config table on
[ticket/9536] Small improvement for query against user/session tables when managing users from the ACP.
[ticket/9526] If an admin changes a user's 'user_allow_viewonline' flag to 'hide me' the admin usually wants that user to be hidden immediately. We therefore have to update his session if one exists.
[ticket/9518] Correctly create new connection on PostgreSQL when new connection is forced.
[ticket/9514] Correctly delete big datasets when deleting a forum including topics/posts on non-MySQL databases.
[ticket/6726] Added localhost/127.0.0.1 note to database server hostname explanation in install language.
[feature/remote_upload-filesize] Also check HTTP content-length before actually starting the file transfer.
[feature/remote_upload-filesize] When transferring files from a remote webserver, abort the transfer as soon as the allowed filesize has been exceeded.
[ticket/9176] Take current board timezone settings into account when setting board date format.
If you were trying to update from 3.0.5 to 3.0.6 but were presented with a dialogue
suggesting to merge the same file over and over take the install/install_update.php
from 3.0.7-RC2 or current svn, and replace your 3.0.5 one with it. It works fine in
3.0.5.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10528 89ea8834-ac86-4346-8a33-228a782c2dd0
If you are using SQL Server, please try to test this new dbal so we can safely include it in 3.0.8. If you
want to try it on a current phpBB version you can apply the latest version of the patch to your board which
you can find attached to the bug tracker ticket (look in the comments for the latest version, the one in the
ticket itself is outdated): http://www.phpbb.com/bugs/phpbb3/ticket.php?ticket_id=57055
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10489 89ea8834-ac86-4346-8a33-228a782c2dd0
To explain what this is about, first a short phpBB code history lesson: ;-)
r9823 originally introduced the usage of our template class for emails. The
messenger class uses set_custom_template() to initialise the template object
which neither disables storedb nor inheritance. These two values are set in
$user->theme rather than inside a particular template instance (quite a design
failure if I may add). Thus the html page that is displayed to the user also
determines these settings for the email templates. This obviously causes
problems because both emails and other custom templates can quite simply not
be stored in the database because the db table only stores the filename, not
the path and requires a template id.
r9839 then generally disabled storedb and template inheritance for custom
templates to fix Bug #40515. This works for custom templates, but not for
emails where lots of template objects are created. In such a situation the
last call to set(_custom)_template() would now determine the values of storedb
and inheritance in _tpl_load. So any page sending emails would neither load
its template from the database nor use template inheritance. The same revision
also introduced orig_tpl_* variables in set_template() which on their own are
very much pointless, but could allow resetting the storedb and inheritance
values if they were used to reset $user->theme just before template execution
in _tpl_load.
In r10150 these orig_tpl_* variables are correctly used to access information
about the template of the page being displayed - contrary to the last template
used - from within the bbcode, fixing Bug #51285. However r10150 also introduces
a pointless $template_mode parameter for set_custom_template(). $template_mode
is really just a boolean flag (value you can be 'template' or an arbitrary other
value) that if it set circumvents the unsetting of storedb and template
inheritance. The very code that had been added to prevent issues with emails and
custom templates. Fixing the problem introduced by r8839 but at the same time
reintroducing the much greater problem from the original implementation of email
templates.
And now an explanation of what I did:
Based on this I have now changed the set_custom_template method to always
disable storedb. It can now properly use inheritance, you simply tell it the
path where the parent template can be found, by default the path is false which
will turn inheritance off. To make this work the template class now always
overwrites $user->theme storedb and inheritance variabbles with orig_tpl_* just
before rendering a template in _tpl_load. This way they are guaranteed to always
contain the value they had at the time set_template/set_custom_template were
called. This fixes [Bug #54505].
In summary, using global state is simply a horrible idea in object oriented
programming. Always Pass values, that an object depends on, as parameters - never
through magic global variables. Following this principle will safe you from a lot
of headaches.
Please test this patch as much as possible to make sure templates still work
properly for you, focus on multiple languages, missing language files, and
custom templates in systems that make use of the template class outside of
phpBB itself.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10460 89ea8834-ac86-4346-8a33-228a782c2dd0