From 2fd975071a43147b054adaa857008f6ae2ee245f Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Fri, 28 Nov 2008 14:03:24 -0500 Subject: [PATCH] Option to check for new mails in all folders (#1484374) --- program/steps/settings/func.inc | 107 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 90 insertions(+), 17 deletions(-) diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 1b399de..6a158b9 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -22,7 +22,6 @@ if (!$OUTPUT->ajax_call) $OUTPUT->set_pagetitle(rcube_label('preferences')); - function rcmail_user_prefs_form($attrib) { global $RCMAIL; @@ -31,7 +30,7 @@ $no_override = is_array($config['dont_override']) ? array_flip($config['dont_override']) : array(); // add some labels to client - rcube_add_label('nopagesizewarning'); + $RCMAIL->output->add_label('nopagesizewarning'); list($form_start, $form_end) = get_form_tags($attrib, 'save-prefs'); unset($attrib['form']); @@ -49,7 +48,7 @@ $select_lang->add(array_values($a_lang), array_keys($a_lang)); $table->add('title', html::label($field_id, Q(rcube_label('language')))); - $table->add(null, $select_lang->show($config['language'])); + $table->add(null, $select_lang->show($RCMAIL->user->language)); } @@ -149,6 +148,13 @@ $table = new html_table(array('cols' => 2)); + if (!isset($no_override['focus_on_new_message'])) { + $field_id = 'rcmfd_focus_on_new_message'; + $input_focus_on_new_message = new html_checkbox(array('name' => '_focus_on_new_message', 'id' => $field_id, 'value' => 1)); + $table->add('title', html::label($field_id, Q(rcube_label('focusonnewmessage')))); + $table->add(null, $input_focus_on_new_message->show($config['focus_on_new_message']?1:0)); + } + // show config parameter for preview pane if (!isset($no_override['preview_pane'])) { $field_id = 'rcmfd_preview'; @@ -167,6 +173,27 @@ $table->add('title', html::label($field_id, Q(rcube_label('mdnrequests')))); $table->add(null, $select_mdn_requests->show($config['mdn_requests'])); + } + + if (!isset($no_override['keep_alive'])) { + $field_id = 'rcmfd_keep_alive'; + $select_keep_alive = new html_select(array('name' => '_keep_alive', 'id' => $field_id)); + + foreach(array(1, 3, 5, 10, 15, 30, 60) as $min) + if((!$config['min_keep_alive'] || $config['min_keep_alive'] <= $min * 60) + && (!$config['session_lifetime'] || $config['session_lifetime'] > $min)) { + $select_keep_alive->add(rcube_label(array('name' => 'keepaliveevery', 'vars' => array('n' => $min))), $min); + } + + $table->add('title', html::label($field_id, Q(rcube_label('keepalive')))); + $table->add(null, $select_keep_alive->show($config['keep_alive']/60)); + } + + if (!isset($no_override['check_all_folders'])) { + $field_id = 'rcmfd_check_all_folders'; + $input_check_all = new html_checkbox(array('name' => '_check_all_folders', 'id' => $field_id, 'value' => 1)); + $table->add('title', html::label($field_id, Q(rcube_label('checkallfolders')))); + $table->add(null, $input_check_all->show($config['check_all_folders']?1:0)); } $out .= html::tag('fieldset', null, html::tag('legend', null, Q(rcube_label('mailboxview'))) . $table->show($attrib)); @@ -225,6 +252,18 @@ $table->add(null, $select_autosave->show($config['draft_autosave'])); } + if (!isset($no_override['mime_param_folding'])) { + $field_id = 'rcmfd_param_folding'; + $select_param_folding = new html_select(array('name' => '_mime_param_folding', 'id' => $field_id)); + $select_param_folding->add(rcube_label('2231folding'), 0); + $select_param_folding->add(rcube_label('miscfolding'), 1); + $select_param_folding->add(rcube_label('2047folding'), 2); + + $table->set_row_attribs('advanced'); + $table->add('title', html::label($field_id, Q(rcube_label('mimeparamfolding')))); + $table->add(null, $select_param_folding->show($config['mime_param_folding'])); + } + $out .= html::tag('fieldset', null, html::tag('legend', null, Q(rcube_label('messagescomposition'))) . $table->show($attrib)); // Configure special folders @@ -234,18 +273,26 @@ $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"))); - + if (!isset($no_override['drafts_mbox'])) { + $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"))); + } + + if (!isset($no_override['sent_mbox'])) { + $table->add('title', Q(rcube_label('sent'))); + $table->add(null, $select->show($config['sent_mbox'], array('name' => "_sent_mbox"))); + } + + if (!isset($no_override['junk_mbox'])) { + $table->add('title', Q(rcube_label('junk'))); + $table->add(null, $select->show($config['junk_mbox'], array('name' => "_junk_mbox"))); + } + + if (!isset($no_override['trash_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)); } @@ -266,6 +313,15 @@ $table->add('title', html::label($field_id, Q(rcube_label('flagfordeletion')))); $table->add(null, $input_flagfordeletion->show($config['flag_for_deletion']?1:0)); } + + // don't show deleted messages + if (!isset($no_override['skip_deleted'])) { + $field_id = 'rcmfd_skip_deleted'; + $input_purge = new html_checkbox(array('name' => '_skip_deleted', 'id' => $field_id, 'value' => 1)); + + $table->add('title', html::label($field_id, Q(rcube_label('skipdeleted')))); + $table->add(null, $input_purge->show($config['skip_deleted']?1:0)); + } // Trash purging on logout if (!isset($no_override['logout_purge'])) { @@ -275,7 +331,7 @@ $table->add('title', html::label($field_id, Q(rcube_label('logoutclear')))); $table->add(null, $input_purge->show($config['logout_purge']?1:0)); } - + // INBOX compacting on logout if (!isset($no_override['logout_expunge'])) { $field_id = 'rcmfd_logout_expunge'; @@ -366,7 +422,24 @@ return $skins; } -$OUTPUT->set_env('multiple_identities', $RCMAIL->config->get('multiple_identities', true)); + +function rcmail_get_email() + { + global $RCMAIL; + + if (strpos($RCMAIL->user->data['username'], '@')) + return $RCMAIL->user->data['username']; + else { + if ($RCMAIL->config->get('virtuser_file')) + $user_email = rcube_user::user2email($RCMAIL->user->data['username']); + + if ($user_email == '') + $user_email = sprintf('%s@%s', $RCMAIL->user->data['username'], + $RCMAIL->config->mail_domain($_SESSION['imap_host'])); + + return $user_email; + } + } // register UI objects $OUTPUT->add_handlers(array( -- Gitblit v1.9.1