* 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
Fix Bug #53335
Fix wrong unique index fetch for oracle and sqlite
Fix alter column definition for firebird (although the query will fail in these circumstances [primary key] because firebird (again) does not support simple things... although... mssql/oracle having the same "problems", but there you are able to do more advanced queries)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10248 89ea8834-ac86-4346-8a33-228a782c2dd0