summaryrefslogtreecommitdiff
path: root/program/steps
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps')
-rw-r--r--program/steps/settings/func.inc26
-rw-r--r--program/steps/settings/save_prefs.inc4
2 files changed, 28 insertions, 2 deletions
diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index c5f97b25e..1b4481881 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -213,9 +213,9 @@ function rcmail_user_prefs_form($attrib)
$table->add(null, $input_htmleditor->show($config['htmleditor']?1:0));
}
- if (!empty($config['drafts_mbox']) && !isset($no_override['draft_autosave'])) {
+ if (!isset($no_override['draft_autosave'])) {
$field_id = 'rcmfd_autosave';
- $select_autosave = new html_select(array('name' => '_draft_autosave', 'id' => $field_id));
+ $select_autosave = new html_select(array('name' => '_draft_autosave', 'id' => $field_id, 'disabled' => empty($config['drafts_mbox'])));
$select_autosave->add(rcube_label('never'), 0);
foreach (array(3, 5, 10) as $i => $min)
$select_autosave->add(rcube_label(array('name' => 'everynminutes', 'vars' => array('n' => $min))), $min*60);
@@ -226,6 +226,28 @@ function rcmail_user_prefs_form($attrib)
$out .= html::tag('fieldset', null, html::tag('legend', null, Q(rcube_label('messagescomposition'))) . $table->show($attrib));
+ // Configure special folders
+ if (!isset($no_override['folders'])) {
+ $RCMAIL->imap_init(true);
+ $select = rcmail_mailbox_select(array('noselection' => '---'));
+
+ $table = new html_table(array('cols' => 2));
+
+ $table->add('title', Q(rcube_label('drafts')));
+ $table->add(null, $select->show($config['drafts_mbox'], array('name' => "_drafts_mbox", 'onchange' => "document.getElementById('rcmfd_autosave').disabled=this.selectedIndex==0")));
+
+ $table->add('title', Q(rcube_label('sent')));
+ $table->add(null, $select->show($config['sent_mbox'], array('name' => "_sent_mbox")));
+
+ $table->add('title', Q(rcube_label('junk')));
+ $table->add(null, $select->show($config['junk_mbox'], array('name' => "_junk_mbox")));
+
+ $table->add('title', Q(rcube_label('trash')));
+ $table->add(null, $select->show($config['trash_mbox'], array('name' => "_trash_mbox")));
+
+ $out .= html::tag('fieldset', null, html::tag('legend', null, Q(rcube_label('specialfolders'))) . $table->show($attrib));
+ }
+
$table = new html_table(array('cols' => 2));
if (!isset($no_override['read_when_deleted'])) {
diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index 750b33bf0..ccd6e5f7b 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -36,6 +36,10 @@ $a_user_prefs = array(
'draft_autosave' => isset($_POST['_draft_autosave']) ? intval($_POST['_draft_autosave']) : 0,
'mdn_requests' => isset($_POST['_mdn_requests']) ? intval($_POST['_mdn_requests']) : 0,
'skin' => isset($_POST['_skin']) ? get_input_value('_skin', RCUBE_INPUT_POST) : $CONFIG['skin'],
+ 'drafts_mbox' => get_input_value('_drafts_mbox', RCUBE_INPUT_POST),
+ 'sent_mbox' => get_input_value('_sent_mbox', RCUBE_INPUT_POST),
+ 'junk_mbox' => get_input_value('_junk_mbox', RCUBE_INPUT_POST),
+ 'trash_mbox' => get_input_value('_trash_mbox', RCUBE_INPUT_POST),
);
// don't override these parameters