Aleksander Machniak
2016-04-02 473dc0b86d6e1790945d48d6d5161b04e14575b8
Fix so SPECIAL-USE assignments are forced only until user sets special folders (#4782)

The old behaviour where SPECIAL-USE has always a prio can be bringed back
by setting lock_special_folders=false and adding it to dont_override.
3 files modified
9 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_imap.php 6 ●●●●● patch | view | raw | blame | history
program/steps/settings/save_prefs.inc 2 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -15,6 +15,7 @@
- Protect download urls against CSRF using unique request tokens (#1490642)
- newmail_notifier: Refactor desktop notifications
- Fix so contactlist_fields option can be set via config file
- Fix so SPECIAL-USE assignments are forced only until user sets special folders (#4782)
RELEASE 1.1.4
-------------
program/lib/Roundcube/rcube_imap.php
@@ -3295,6 +3295,12 @@
    public function get_special_folders($forced = false)
    {
        $result = parent::get_special_folders();
        $rcube  = rcube::get_instance();
        // Lock SPECIAL-USE after user preferences change (#4782)
        if ($rcube->config->get('lock_special_folders')) {
            return $result;
        }
        if (isset($this->icache['special-use'])) {
            return array_merge($result, $this->icache['special-use']);
program/steps/settings/save_prefs.inc
@@ -123,6 +123,8 @@
case 'folders':
    $a_user_prefs = array(
        'show_real_foldernames' => isset($_POST['_show_real_foldernames']) ? true : false,
        // stop using SPECIAL-USE (#4782)
        'lock_special_folders'  => !in_array('lock_special_folders', (array) $CONFIG['dont_override']),
    );
    foreach (rcube_storage::$folder_types as $type) {