From 01bdfd327c13faecb60ad7aa328557c3f5db3a9b Mon Sep 17 00:00:00 2001 From: alecpl Date: Fri, 29 Oct 2010 10:27:22 +0000 Subject: - Improve performance of clear_mailbox() when skip_deleted=true --- program/include/rcube_imap.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'program/include') diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index a4b18c970..ae53741eb 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -2620,14 +2620,12 @@ class rcube_imap function clear_mailbox($mbox_name=NULL) { $mailbox = !empty($mbox_name) ? $this->mod_mailbox($mbox_name) : $this->mailbox; - $msg_count = $this->_messagecount($mailbox, 'ALL'); - if (!$msg_count) { - return 0; + // SELECT will set messages count for clearFolder() + if ($this->conn->select($mailbox)) { + $cleared = $this->conn->clearFolder($mailbox); } - $cleared = $this->conn->clearFolder($mailbox); - // make sure the message count cache is cleared as well if ($cleared) { $this->clear_message_cache($mailbox.'.msg'); -- cgit v1.2.3