Fix checking for new mail (#1485794)

release-0.6
thomascube 15 years ago
parent ff519ed8c2
commit 5e9a566101

@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
- Fix checking for new mail: now checks unseen count of inbox (#1485794)
- Improve performance by avoiding unnecessary updates to the session table (#1486325)
- Fix invalid <font> tags which cause HTML message rendering problems (#1486521)
- Fix CVE-2010-0464: Disable DNS prefetching (#1486449)

@ -4321,16 +4321,18 @@ function rcube_webmail()
};
// send periodic request to check for recent messages
this.check_for_recent = function(setbusy)
this.check_for_recent = function(refresh)
{
if (this.busy)
return;
if (setbusy)
this.set_busy(true, 'checkingmail');
var addurl = '_t=' + (new Date().getTime());
if (refresh) {
this.set_busy(true, 'checkingmail');
addurl += '&_refresh=1';
}
if (this.gui_objects.messagelist)
addurl += '&_list=1';
if (this.gui_objects.quotadisplay)

@ -22,6 +22,17 @@
$a_mailboxes = $IMAP->list_mailboxes();
$check_all = (bool)$RCMAIL->config->get('check_all_folders');
// check if unread count of INBOX changed and refresh message list if so
if (!empty($_GET['_refresh'])) {
$unread_count = $IMAP->messagecount('INBOX', 'UNSEEN', TRUE);
if ($unread_count > $_SESSION['unseen_count']['INBOX']) {
$OUTPUT->command('set_unread_count', 'INBOX', $unread_count, true);
$OUTPUT->command('list_mailbox', 'INBOX', 1); // let the client switch to INBOX and get the message list
$OUTPUT->send();
}
}
// check recent/unseen counts for all mailboxes
foreach ($a_mailboxes as $mbox_name) {
if ($mbox_name == $IMAP->get_mailbox_name()) {
if ($recent_count = $IMAP->messagecount(NULL, 'RECENT', TRUE)) {

Loading…
Cancel
Save