summaryrefslogtreecommitdiff
path: root/roundcubemail/program/steps/mail/folders.inc
diff options
context:
space:
mode:
authorroundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-01-05 00:37:10 +0000
committerroundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-01-05 00:37:10 +0000
commit08da5273ebc148c320ae7f2b9ecd2b2b1c1bc5f0 (patch)
tree31be5d19550ab52a439bc399d215a1a5581fba97 /roundcubemail/program/steps/mail/folders.inc
parente786e636683429a4c57dbea03b4e35007a593371 (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/folders.inc')
-rw-r--r--roundcubemail/program/steps/mail/folders.inc61
1 files changed, 61 insertions, 0 deletions
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 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | program/steps/mail/folders.inc |
+ | |
+ | This file is part of the RoundCube Webmail client |
+ | Copyright (C) 2005, RoundCube Dev. - Switzerland |
+ | Licensed under the GNU GPL |
+ | |
+ | PURPOSE: |
+ | Implement folder operations line EXPUNGE and Clear |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Thomas Bruederli <roundcube@gmail.com> |
+ +-----------------------------------------------------------------------+
+
+ $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