summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-10-27 06:53:11 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-10-27 06:53:11 +0000
commit0a196253e923035cd5fff230c3f8fea29bcc2350 (patch)
tree199574e9aabae0d42a3113b377c38a74b94cb03e /roundcubemail/program/include
parent756be8ec4ecb039474f33a79e1810f022c70e7d9 (diff)
- Improve performance of rcube_imap_generic::countMessages() using STATUS instead of SELECT
git-svn-id: https://svn.roundcube.net/trunk@4143 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include')
-rw-r--r--roundcubemail/program/include/rcube_imap_generic.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/roundcubemail/program/include/rcube_imap_generic.php b/roundcubemail/program/include/rcube_imap_generic.php
index 41240a2d1..2171e5d5d 100644
--- a/roundcubemail/program/include/rcube_imap_generic.php
+++ b/roundcubemail/program/include/rcube_imap_generic.php
@@ -944,11 +944,16 @@ class rcube_imap_generic
$this->selected = '';
}
- $this->select($mailbox);
if ($this->selected == $mailbox) {
return $this->data['EXISTS'];
}
+ // Try STATUS, should be faster
+ $counts = $this->status($mailbox, array('MESSAGES'));
+ if (is_array($counts)) {
+ return (int) $counts['MESSAGES'];
+ }
+
return false;
}