summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-02-05 13:05:25 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-02-05 13:05:25 +0000
commit78cf58c888326be12178848d295aa02c2b0b75c9 (patch)
treeda5cdf516d9e229acca4929dce739c567c53990f
parentcb8ac3f3f1845137e3f515ecc04339aba5ef0def (diff)
- optimise _id2uid(), prevent from array_flip() warnings
git-svn-id: https://svn.roundcube.net/trunk@3251 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/rcube_imap.php15
1 files changed, 6 insertions, 9 deletions
diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php
index 9137ada99..6ab0b6a88 100644
--- a/roundcubemail/program/include/rcube_imap.php
+++ b/roundcubemail/program/include/rcube_imap.php
@@ -3001,15 +3001,12 @@ class rcube_imap
{
if (!$mbox_name)
$mbox_name = $this->mailbox;
-
- $index = array_flip((array)$this->uid_id_map[$mbox_name]);
- if (isset($index[$id]))
- $uid = $index[$id];
- else
- {
- $uid = iil_C_ID2UID($this->conn, $mbox_name, $id);
- $this->uid_id_map[$mbox_name][$uid] = $id;
- }
+
+ if ($uid = array_search($id, (array)$this->uid_id_map[$mbox_name]))
+ return $uid;
+
+ $uid = iil_C_ID2UID($this->conn, $mbox_name, $id);
+ $this->uid_id_map[$mbox_name][$uid] = $id;
return $uid;
}