summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2010-02-05 13:05:25 +0000
committeralecpl <alec@alec.pl>2010-02-05 13:05:25 +0000
commitf6b145d5612f7605b36deee8858565611126bee8 (patch)
tree21fcbd629377675db1d7df57e8a27899ab87f208
parentb620493a4bfdfdabc055b7d8cffa4af432e96977 (diff)
- optimise _id2uid(), prevent from array_flip() warnings
-rw-r--r--program/include/rcube_imap.php15
1 files changed, 6 insertions, 9 deletions
diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 9137ada99..6ab0b6a88 100644
--- a/program/include/rcube_imap.php
+++ b/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;
}