diff options
author | thomascube <thomas@roundcube.net> | 2008-11-28 19:03:24 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2008-11-28 19:03:24 +0000 |
commit | 2fd975071a43147b054adaa857008f6ae2ee245f (patch) | |
tree | 71f60d8580ddff8656296e63c00fa86899b8db42 /program/steps | |
parent | 41b43ba00e9110e6f415014382e11af7fe381fcb (diff) |
Option to check for new mails in all folders (#1484374)
Diffstat (limited to 'program/steps')
-rw-r--r-- | program/steps/mail/check_recent.inc | 26 | ||||
-rw-r--r-- | program/steps/settings/func.inc | 9 | ||||
-rw-r--r-- | program/steps/settings/save_prefs.inc | 1 |
3 files changed, 20 insertions, 16 deletions
diff --git a/program/steps/mail/check_recent.inc b/program/steps/mail/check_recent.inc index 07313c156..35c15a2db 100644 --- a/program/steps/mail/check_recent.inc +++ b/program/steps/mail/check_recent.inc @@ -5,7 +5,7 @@ | program/steps/mail/check_recent.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2008, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -20,13 +20,11 @@ */ $a_mailboxes = $IMAP->list_mailboxes(); +$check_all = (bool)$RCMAIL->config->get('check_all_folders'); -foreach ($a_mailboxes as $mbox_name) - { - if ($mbox_name == $IMAP->get_mailbox_name()) - { - if ($recent_count = $IMAP->messagecount(NULL, 'RECENT', TRUE)) - { +foreach ($a_mailboxes as $mbox_name) { + if ($mbox_name == $IMAP->get_mailbox_name()) { + if ($recent_count = $IMAP->messagecount(NULL, 'RECENT', TRUE)) { // refresh saved search set if (($search_request = get_input_value('_search', RCUBE_INPUT_GPC)) && $IMAP->search_set) $_SESSION['search'][$search_request] = $IMAP->refresh_search(); @@ -47,7 +45,7 @@ foreach ($a_mailboxes as $mbox_name) // add new message headers to list $a_headers = array(); for ($i=$recent_count, $id=$count_all-$recent_count+1; $i>0; $i--, $id++) - { + { // skip message if it does not match the current search if (!$IMAP->in_searchset($id)) continue; @@ -55,17 +53,15 @@ foreach ($a_mailboxes as $mbox_name) $header = $IMAP->get_headers($id, NULL, FALSE); if ($header->recent) $a_headers[] = $header; - } + } rcmail_js_message_list($a_headers, TRUE); - } - } - else - { - if ($IMAP->messagecount($mbox_name, 'RECENT')) - $OUTPUT->command('set_unread_count', $mbox_name, $IMAP->messagecount($mbox_name, 'UNSEEN')); } } + else if ($IMAP->messagecount($mbox_name, 'RECENT', $check_all)) { + $OUTPUT->command('set_unread_count', $mbox_name, $IMAP->messagecount($mbox_name, 'UNSEEN', $check_all)); + } +} $OUTPUT->send(); diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 980108ad9..6a158b9e9 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -181,7 +181,7 @@ function rcmail_user_prefs_form($attrib) 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)) { + && (!$config['session_lifetime'] || $config['session_lifetime'] > $min)) { $select_keep_alive->add(rcube_label(array('name' => 'keepaliveevery', 'vars' => array('n' => $min))), $min); } @@ -189,6 +189,13 @@ function rcmail_user_prefs_form($attrib) $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)); $table = new html_table(array('cols' => 2)); diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index debd345e3..023ffff36 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -38,6 +38,7 @@ $a_user_prefs = array( 'logout_expunge' => isset($_POST['_logout_expunge']) ? TRUE : FALSE, 'draft_autosave' => isset($_POST['_draft_autosave']) ? intval($_POST['_draft_autosave']) : 0, 'keep_alive' => isset($_POST['_keep_alive']) ? intval($_POST['_keep_alive'])*60 : $CONFIG['keep_alive'], + 'check_all_folders' => isset($_POST['_check_all_folders']) ? TRUE : FALSE, 'mime_param_folding' => isset($_POST['_mime_param_folding']) ? intval($_POST['_mime_param_folding']) : 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'], |