| | |
| | | } |
| | | else |
| | | $a_messages = iil_C_Search($this->conn, $mailbox, ($charset ? "CHARSET $charset " : '') . $criteria); |
| | | |
| | | // clean message list (there might be some empty entries) |
| | | if (is_array($a_messages)) |
| | | { |
| | | foreach ($a_messages as $i => $val) |
| | | if (empty($val)) |
| | | unset($a_messages[$i]); |
| | | } |
| | | |
| | | // update messagecount cache ? |
| | | // $a_mailbox_cache = get_cache('messagecount'); |
| | |
| | | |
| | | // write structure to cache |
| | | if ($this->caching_enabled) |
| | | $this->add_message_cache($cache_key, $msg_id, $headers, $struct); |
| | | $this->add_message_cache($cache_key, $this->_msg_id, $headers, $struct); |
| | | } |
| | | |
| | | return $struct; |
| | |
| | | { |
| | | $structure_str = iil_C_FetchStructureString($this->conn, $this->mailbox, $uid, true); |
| | | $structure = iml_GetRawStructureArray($structure_str); |
| | | // error or message not found |
| | | if (empty($structure)) |
| | | return false; |
| | | |
| | | $part_type = iml_GetPartTypeCode($structure, $part); |
| | | $o_part = new rcube_message_part; |
| | | $o_part->ctype_primary = $part_type==0 ? 'text' : ($part_type==2 ? 'message' : 'other'); |
| | |
| | | |
| | | $body = iil_C_HandlePartBody($this->conn, $this->mailbox, $uid, true, $part, |
| | | $o_part->encoding, $print, $fp); |
| | | |
| | | |
| | | if ($fp || $print) |
| | | return true; |
| | | |
| | |
| | | $key, |
| | | $index, |
| | | $headers->uid, |
| | | (string)rc_substr($this->db->encode($this->decode_header($headers->subject, TRUE)), 0, 128), |
| | | (string)rc_substr($this->db->encode($this->decode_header($headers->from, TRUE)), 0, 128), |
| | | (string)rc_substr($this->db->encode($this->decode_header($headers->to, TRUE)), 0, 128), |
| | | (string)rc_substr($this->db->encode($this->decode_header($headers->cc, TRUE)), 0, 128), |
| | | (string)mb_substr($this->db->encode($this->decode_header($headers->subject, TRUE)), 0, 128), |
| | | (string)mb_substr($this->db->encode($this->decode_header($headers->from, TRUE)), 0, 128), |
| | | (string)mb_substr($this->db->encode($this->decode_header($headers->to, TRUE)), 0, 128), |
| | | (string)mb_substr($this->db->encode($this->decode_header($headers->cc, TRUE)), 0, 128), |
| | | (int)$headers->size, |
| | | serialize($this->db->encode(clone $headers)), |
| | | is_object($struct) ? serialize($this->db->encode(clone $struct)) : NULL |
| | |
| | | if (($p = array_search(strtolower($folder), $this->default_folders_lc)) !== false && !$a_defaults[$p]) |
| | | $a_defaults[$p] = $folder; |
| | | else |
| | | $folders[$folder] = rc_strtolower(rcube_charset_convert($folder, 'UTF7-IMAP')); |
| | | $folders[$folder] = mb_strtolower(rcube_charset_convert($folder, 'UTF7-IMAP')); |
| | | } |
| | | |
| | | // sort folders and place defaults on the top |