diff options
| author | roundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2006-01-05 00:37:10 +0000 |
|---|---|---|
| committer | roundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2006-01-05 00:37:10 +0000 |
| commit | 08da5273ebc148c320ae7f2b9ecd2b2b1c1bc5f0 (patch) | |
| tree | 31be5d19550ab52a439bc399d215a1a5581fba97 /roundcubemail/program/steps/mail/check_recent.inc | |
| parent | e786e636683429a4c57dbea03b4e35007a593371 (diff) | |
Optimized loading time; added periodic mail check; added EXPUNGE command
git-svn-id: https://svn.roundcube.net/trunk@93 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps/mail/check_recent.inc')
| -rw-r--r-- | roundcubemail/program/steps/mail/check_recent.inc | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/roundcubemail/program/steps/mail/check_recent.inc b/roundcubemail/program/steps/mail/check_recent.inc new file mode 100644 index 000000000..fbf8871f9 --- /dev/null +++ b/roundcubemail/program/steps/mail/check_recent.inc @@ -0,0 +1,47 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | program/steps/mail/check_recent.inc | + | | + | This file is part of the RoundCube Webmail client | + | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | Licensed under the GNU GPL | + | | + | PURPOSE: | + | Check for recent messages | + | | + +-----------------------------------------------------------------------+ + | Author: Thomas Bruederli <roundcube@gmail.com> | + +-----------------------------------------------------------------------+ + + $Id$ + +*/ + +$REMOTE_REQUEST = TRUE; +$mbox = $IMAP->get_mailbox_name(); + +if ($recent_count = $IMAP->messagecount(NULL, 'RECENT')) + { + $count = $IMAP->messagecount(); + $unread_count = $IMAP->messagecount(NULL, 'UNSEEN'); + + $commands = sprintf("this.set_unread_count('%s', %d, true);\n", addslashes($mbox), $unread_count); + $commands .= sprintf("this.set_env('messagecount', %d);\n", $count); + $commands .= sprintf("this.set_rowcount('%s');\n", rcmail_get_messagecount_text()); + + // add new message headers to list + $a_headers = array(); + for ($i=$recent_count, $id=$count-$recent_count+1; $i>0; $i--, $id++) + $a_headers[] = $IMAP->get_headers($id, NULL, FALSE); + + $commands .= rcmail_js_message_list($a_headers, TRUE); + } + +if (strtoupper($mbox)!='INBOX' && $IMAP->messagecount('INBOX', 'RECENT')) + $commands = sprintf("this.set_unread_count('INBOX', %d);\n", $IMAP->messagecount('INBOX', 'UNSEEN')); + + +rcube_remote_response($commands); +?>
\ No newline at end of file |
