diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-05-30 17:08:30 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-05-30 17:08:30 +0000 |
| commit | 61ff791ab6c7e4da2894740e9972b8b6bb49d2b2 (patch) | |
| tree | ac1046c75c5edd33a7c9d1797048ab0e6c53da16 /roundcubemail/program | |
| parent | cdd6e7fdd14a2e55307ea3974821bad204296997 (diff) | |
- fixed headers prefetching
git-svn-id: https://svn.roundcube.net/trunk@2577 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program')
| -rw-r--r-- | roundcubemail/program/include/rcube_imap.php | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php index c6ff12575..1e2ac0059 100644 --- a/roundcubemail/program/include/rcube_imap.php +++ b/roundcubemail/program/include/rcube_imap.php @@ -1156,7 +1156,7 @@ class rcube_imap { $struct = new rcube_message_part; $struct->mime_id = empty($parent) ? (string)$count : "$parent.$count"; - + // multipart if (is_array($part[0])) { @@ -1178,18 +1178,19 @@ class rcube_imap // fetch message headers if message/rfc822 or named part (could contain Content-Location header) if (strtolower($part[$i][0]) == 'message' || (in_array('name', (array)$part[$i][2]) && (empty($part[$i][3]) || $part[$i][3]=='NIL'))) { - $part_headers[] = $struct->mime_id ? $struct->mime_id.'.'.$i+1 : $i+1; + $part_headers[] = $struct->mime_id ? $struct->mime_id.'.'.($i+1) : $i+1; } - + // pre-fetch headers of all parts (in one command for better performance) if ($part_headers) $part_headers = iil_C_FetchMIMEHeaders($this->conn, $this->mailbox, $this->_msg_id, $part_headers); $struct->parts = array(); for ($i=0, $count=0; $i<count($part); $i++) - if (is_array($part[$i]) && count($part[$i]) > 3) + if (is_array($part[$i]) && count($part[$i]) > 3) { $struct->parts[] = $this->_structure_part($part[$i], ++$count, $struct->mime_id, - $part_headers[$struct->mime_id ? $struck->mime_id.'.'.$i+1 : $i+1]); + $part_headers[$struct->mime_id ? $struct->mime_id.'.'.($i+1) : $i+1]); + } return $struct; } |
