| | |
| | | { |
| | | 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*'])) |
| | |
| | | else if (!empty($part->d_parameters['filename*0'])) { |
| | | $i = 0; |
| | | while (isset($part->d_parameters['filename*'.$i])) { |
| | | $i++; |
| | | $filename_mime .= $part->d_parameters['filename*'.$i]; |
| | | } |
| | | $i++; |
| | | } |
| | | // some servers (eg. dovecot-1.x) have no support for parameter value continuations |
| | | // we must fetch and parse headers "manually" |
| | | //TODO: fetching headers for a second time is not effecient, this code should be moved somewhere earlier --tensor |
| | |
| | | else if (!empty($part->d_parameters['filename*0*'])) { |
| | | $i = 0; |
| | | while (isset($part->d_parameters['filename*'.$i.'*'])) { |
| | | $i++; |
| | | $filename_encoded .= $part->d_parameters['filename*'.$i.'*']; |
| | | $i++; |
| | | } |
| | | if ($i<2) { |
| | | $headers = iil_C_FetchPartHeader($this->conn, $this->mailbox, $this->_msg_id, $part->mime_id); |
| | |
| | | else if (!empty($part->ctype_parameters['name*0'])) { |
| | | $i = 0; |
| | | while (isset($part->ctype_parameters['name*'.$i])) { |
| | | $i++; |
| | | $filename_mime .= $part->ctype_parameters['name*'.$i]; |
| | | $i++; |
| | | } |
| | | if ($i<2) { |
| | | $headers = iil_C_FetchPartHeader($this->conn, $this->mailbox, $this->_msg_id, $part->mime_id); |
| | |
| | | else if (!empty($part->ctype_parameters['name*0*'])) { |
| | | $i = 0; |
| | | while (isset($part->ctype_parameters['name*'.$i.'*'])) { |
| | | $i++; |
| | | $filename_encoded .= $part->ctype_parameters['name*'.$i.'*']; |
| | | $i++; |
| | | } |
| | | if ($i<2) { |
| | | $headers = iil_C_FetchPartHeader($this->conn, $this->mailbox, $this->_msg_id, $part->mime_id); |
| | |
| | | } |
| | | } |
| | | } |
| | | // 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']; |
| | |
| | | $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) |