diff options
-rw-r--r-- | program/include/rcube_imap.php | 15 |
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; } |