From 5c253dd59e536b53fc3dfd660c78eb0d7842527c Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sat, 02 Apr 2016 03:09:43 -0400 Subject: [PATCH] Fix so SPECIAL-USE assignments are forced only until user sets special folders (#4782) --- CHANGELOG | 1 + program/lib/Roundcube/rcube_imap.php | 6 ++++++ program/steps/settings/save_prefs.inc | 2 ++ 3 files changed, 9 insertions(+), 0 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index d1958b1..aa8c3f3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -30,6 +30,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.2-beta ---------------- diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php index 5f532a5..80acdf2 100644 --- a/program/lib/Roundcube/rcube_imap.php +++ b/program/lib/Roundcube/rcube_imap.php @@ -3304,6 +3304,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']); diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index 4657454..8a9407d 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -124,6 +124,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) { -- Gitblit v1.9.1