| | |
| | | if ($this->caching_enabled) |
| | | $this->add_message_cache($cache_key, $msg_id, $headers, $struct); |
| | | } |
| | | |
| | | |
| | | return $struct; |
| | | } |
| | | |
| | |
| | | { |
| | | if (!empty($part->d_parameters['filename'])) |
| | | $filename_mime = $part->d_parameters['filename']; |
| | | else if (!empty($part->ctype_parameters['name'])) |
| | | $filename_mime = $part->ctype_parameters['name']; |
| | | else if (!empty($part->d_parameters['filename*'])) |
| | | $filename_encoded = $part->d_parameters['filename*']; |
| | | else if (!empty($part->ctype_parameters['name*'])) |
| | |
| | | } |
| | | } |
| | | } |
| | | // read 'name' after rfc2231 parameters as it may contains truncated filename (from Thunderbird) |
| | | else if (!empty($part->ctype_parameters['name'])) |
| | | $filename_mime = $part->ctype_parameters['name']; |
| | | // Content-Disposition |
| | | else if (!empty($part->headers['content-description'])) |
| | | $filename_mime = $part->headers['content-description']; |
| | |
| | | } |
| | | else if (!empty($filename_encoded)) { |
| | | // decode filename according to RFC 2231, Section 4 |
| | | list($filename_charset,, $filename_urlencoded) = split('\'', $filename_encoded); |
| | | $part->filename = rcube_charset_convert(urldecode($filename_urlencoded), $filename_charset); |
| | | if (preg_match("/^([^']*)'[^']*'(.*)$/", $filename_encoded, $fmatches)) { |
| | | $filename_charset = $fmatches[1]; |
| | | $filename_encoded = $fmatches[2]; |
| | | } |
| | | $part->filename = rcube_charset_convert(urldecode($filename_encoded), $filename_charset); |
| | | } |
| | | } |
| | | |
| | |
| | | $mailbox = $this->_mod_mailbox($mbox_name); |
| | | |
| | | // make sure mailbox exists |
| | | if (in_array($mailbox, $this->_list_mailboxes())) |
| | | if (($mailbox == 'INBOX') || in_array($mailbox, $this->_list_mailboxes())) |
| | | $saved = iil_C_Append($this->conn, $mailbox, $message); |
| | | |
| | | if ($saved) |