From 08da5273ebc148c320ae7f2b9ecd2b2b1c1bc5f0 Mon Sep 17 00:00:00 2001 From: roundcube Date: Thu, 5 Jan 2006 00:37:10 +0000 Subject: Optimized loading time; added periodic mail check; added EXPUNGE command git-svn-id: https://svn.roundcube.net/trunk@93 208e9e7b-5314-0410-a742-e7e81cd9613c --- roundcubemail/program/steps/mail/folders.inc | 61 ++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 roundcubemail/program/steps/mail/folders.inc (limited to 'roundcubemail/program/steps/mail/folders.inc') diff --git a/roundcubemail/program/steps/mail/folders.inc b/roundcubemail/program/steps/mail/folders.inc new file mode 100644 index 000000000..e1730ef93 --- /dev/null +++ b/roundcubemail/program/steps/mail/folders.inc @@ -0,0 +1,61 @@ + | + +-----------------------------------------------------------------------+ + + $Id$ + +*/ + +$REMOTE_REQUEST = TRUE; +$mbox = $IMAP->get_mailbox_name(); + + +// send EXPUNGE command +if ($_action=='expunge') + { + $success = $IMAP->expunge(); + + // reload message list if current mailbox + if ($success && $_GET['_reload']) + { + rcube_remote_response('this.clear_message_list();', TRUE); + $_action = 'list'; + return; + } + else + $commands = "// expunged: $success\n"; + } + +// clear mailbox +else if ($_action=='purge') + { + $success = $IMAP->clear_mailbox(); + + if ($success && $_GET['_reload']) + { + $commands = "this.set_env('messagecount', 0);\n"; + $commands .= "this.set_env('pagecount', 0);\n"; + $commands .= sprintf("this.set_rowcount('%s');\n", rcmail_get_messagecount_text()); + $commands .= sprintf("this.set_unread_count('%s', 0);\n", addslashes($mbox)); + } + else + $commands = "// purged: $success"; + } + + + +rcube_remote_response($commands); +?> \ No newline at end of file -- cgit v1.2.3