summaryrefslogtreecommitdiff
path: root/program/steps/settings
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps/settings')
-rw-r--r--program/steps/settings/folders.inc17
-rw-r--r--program/steps/settings/func.inc1
-rw-r--r--program/steps/settings/save_prefs.inc2
3 files changed, 16 insertions, 4 deletions
diff --git a/program/steps/settings/folders.inc b/program/steps/settings/folders.inc
index 7ae4fb35d..3494ba99a 100644
--- a/program/steps/settings/folders.inc
+++ b/program/steps/settings/folders.inc
@@ -42,8 +42,16 @@ if ($RCMAIL->action == 'subscribe')
}
}
- if ($result)
+ if ($result) {
+ // Handle subscription of protected folder (#1487656)
+ if ($CONFIG['protect_default_folders'] == true
+ && in_array($mbox, $CONFIG['default_imap_folders'])
+ ) {
+ $OUTPUT->command('disable_subscription', $mbox);
+ }
+
$OUTPUT->show_message('foldersubscribed', 'confirmation');
+ }
else
rcmail_display_server_error('errorsaving');
}
@@ -294,13 +302,16 @@ function rcube_subscription_form($attrib)
$noselect = in_array('\\Noselect', $opts);
}
+ $disabled = (($protected && $subscribed) || $noselect);
+
$table->add_row(array('id' => 'rcmrow'.$idx, 'class' => join(' ', $classes)));
$table->add('name', $display_folder);
$table->add('subscribed', $checkbox_subscribe->show(($subscribed ? $folder_utf8 : ''),
- array('value' => $folder_utf8, 'disabled' => ($protected || $noselect) ? 'disabled' : '')));
+ array('value' => $folder_utf8, 'disabled' => $disabled ? 'disabled' : '')));
- $a_js_folders['rcmrow'.$idx] = array($folder_utf8, Q($display_folder), $protected || $folder['virtual']);
+ $a_js_folders['rcmrow'.$idx] = array($folder_utf8,
+ Q($display_folder), $protected || $folder['virtual']);
}
$RCMAIL->plugins->exec_hook('folders_list', array('table' => $table));
diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index fb48e926b..3a3d690bf 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -756,7 +756,6 @@ function rcmail_get_skins()
return $skins;
}
-
// register UI objects
$OUTPUT->add_handlers(array(
'prefsframe' => 'rcmail_preferences_frame',
diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index 265c37e90..feeb18341 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -129,6 +129,8 @@ switch ($CURR_SECTION)
if (isset($CONFIG['max_pagesize']) && ($a_user_prefs['pagesize'] > $CONFIG['max_pagesize']))
$a_user_prefs['pagesize'] = (int) $CONFIG['max_pagesize'];
+ $a_user_prefs['timezone'] = $_SESSION['timezone'] = (string) $a_user_prefs['timezone'];
+
break;
case 'mailbox':