Example #1
0
 /**
  * @param int    $uid       Message UID
  * @param string $mbox_name Mailbox name
  * @return int Message (sequence) ID
  * @access private
  */
 private function _uid2id($uid, $mbox_name = NULL)
 {
     if (!strlen($mbox_name)) {
         $mbox_name = $this->mailbox;
     }
     if (!isset($this->uid_id_map[$mbox_name][$uid])) {
         if (!($id = $this->get_cache_uid2id($mbox_name . '.msg', $uid))) {
             $id = $this->conn->UID2ID($mbox_name, $uid);
         }
         $this->uid_id_map[$mbox_name][$uid] = $id;
     }
     return $this->uid_id_map[$mbox_name][$uid];
 }
Example #2
0
 /**
  * Finds message sequence ID for specified UID
  *
  * @param int    $uid      Message UID
  * @param string $mailbox  Mailbox name
  * @param bool   $force    True to skip cache
  *
  * @return int Message (sequence) ID
  */
 function uid2id($uid, $mailbox = null, $force = false)
 {
     if (!strlen($mailbox)) {
         $mailbox = $this->mailbox;
     }
     if (!empty($this->uid_id_map[$mailbox][$uid])) {
         return $this->uid_id_map[$mailbox][$uid];
     }
     if (!$force && ($mcache = $this->get_mcache_engine())) {
         $id = $mcache->uid2id($mailbox, $uid);
     }
     if (empty($id)) {
         $id = $this->conn->UID2ID($mailbox, $uid);
     }
     $this->uid_id_map[$mailbox][$uid] = $id;
     return $id;
 }