From fe2f0be4352ba0bc213a2c6d4dfcbbddea1a551c Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 21 Aug 2012 10:50:14 +0200 Subject: Fix possible PHP warning, read default_folders using config->get() to support deprecated option name (default_imap_folders) --- program/steps/settings/folders.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/program/steps/settings/folders.inc b/program/steps/settings/folders.inc index 2691a6e26..1031fc136 100644 --- a/program/steps/settings/folders.inc +++ b/program/steps/settings/folders.inc @@ -44,8 +44,8 @@ if ($RCMAIL->action == 'subscribe') if ($result) { // Handle subscription of protected folder (#1487656) - if ($CONFIG['protect_default_folders'] == true - && in_array($mbox, $CONFIG['default_folders']) + if ($RCMAIL->config->get('protect_default_folders') + && in_array($mbox, (array)$RCMAIL->config->get('default_folders')) ) { $OUTPUT->command('disable_subscription', $mbox); } -- cgit v1.2.3 From 9cb76ad3c2ebcf6f75053de2e686390470dce7ba Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 21 Aug 2012 11:22:23 +0200 Subject: Fix so subscribed non-existing/non-accessible shared folder can be unsubscribed --- CHANGELOG | 1 + program/steps/settings/folders.inc | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 65b2dcbc8..6a7b2143b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix so subscribed non-existing/non-accessible shared folder can be unsubscribed - Rewritten test scripts for PHPUnit - Add new DB abstraction layer based on PHP PDO, supporting SQLite3 (#1488332) - Removed PEAR::MDB2 package diff --git a/program/steps/settings/folders.inc b/program/steps/settings/folders.inc index 1031fc136..2c2cbdcc2 100644 --- a/program/steps/settings/folders.inc +++ b/program/steps/settings/folders.inc @@ -321,8 +321,8 @@ function rcube_subscription_form($attrib) } } } - // check if the folder is shared, then disable subscription option on it - if (!$disabled && $folder['virtual'] && !empty($namespace)) { + // check if the folder is shared, then disable subscription option on it (if not subscribed already) + if (!$disabled && !$subscribed && $folder['virtual'] && !empty($namespace)) { $tmp_ns = array_merge((array)$namespace['other'], (array)$namespace['shared']); foreach ($tmp_ns as $item) { if (strpos($folder['id'], $item[0]) === 0) { -- cgit v1.2.3