Merge branch 'master' of github.com:roundcube/roundcubemail
| | |
| | | CHANGELOG Roundcube Webmail |
| | | =========================== |
| | | |
| | | - Fix downloading binary files with (wrong) text/* content-type (#1489267) |
| | | - Fix rewrite rule in .htaccess (#1489240) |
| | | - Fix detecting Turkish language in ISO-8859-9 encoding (#1489252) |
| | | - Fix identity-selection using Return-Path headers (#1489241) |
| | |
| | | /** |
| | | * Fetch message body of a specific message from the server |
| | | * |
| | | * @param int $uid Message UID |
| | | * @param string $part Part number |
| | | * @param rcube_message_part $o_part Part object created by get_structure() |
| | | * @param mixed $print True to print part, ressource to write part contents in |
| | | * @param resource $fp File pointer to save the message part |
| | | * @param boolean $skip_charset_conv Disables charset conversion |
| | | * @param int $max_bytes Only read this number of bytes |
| | | * @param int Message UID |
| | | * @param string Part number |
| | | * @param rcube_message_part Part object created by get_structure() |
| | | * @param mixed True to print part, resource to write part contents in |
| | | * @param resource File pointer to save the message part |
| | | * @param boolean Disables charset conversion |
| | | * @param int Only read this number of bytes |
| | | * @param boolean Enables formatting of text/* parts bodies |
| | | * |
| | | * @return string Message/part body if not printed |
| | | */ |
| | | public function get_message_part($uid, $part=1, $o_part=NULL, $print=NULL, $fp=NULL, $skip_charset_conv=false, $max_bytes=0) |
| | | public function get_message_part($uid, $part=1, $o_part=NULL, $print=NULL, $fp=NULL, $skip_charset_conv=false, $max_bytes=0, $formatted=true) |
| | | { |
| | | if (!$this->check_connection()) { |
| | | return null; |
| | |
| | | } |
| | | |
| | | if ($o_part && $o_part->size) { |
| | | $formatted = $formatted && $o_part->ctype_primary == 'text'; |
| | | $body = $this->conn->handlePartBody($this->folder, $uid, true, |
| | | $part ? $part : 'TEXT', $o_part->encoding, $print, $fp, $o_part->ctype_primary == 'text', $max_bytes); |
| | | $part ? $part : 'TEXT', $o_part->encoding, $print, $fp, $formatted, $max_bytes); |
| | | } |
| | | |
| | | if ($fp || $print) { |
| | |
| | | * @param resource $fp File pointer to save the message part |
| | | * @param boolean $skip_charset_conv Disables charset conversion |
| | | * @param int $max_bytes Only read this number of bytes |
| | | * @param boolean $formatted Enables formatting of text/* parts bodies |
| | | * |
| | | * @return string Part content |
| | | */ |
| | | public function get_part_content($mime_id, $fp = null, $skip_charset_conv = false, $max_bytes = 0) |
| | | public function get_part_content($mime_id, $fp = null, $skip_charset_conv = false, $max_bytes = 0, $formatted = true) |
| | | { |
| | | if ($part = $this->mime_parts[$mime_id]) { |
| | | // stored in message structure (winmail/inline-uuencode) |
| | |
| | | // get from IMAP |
| | | $this->storage->set_folder($this->folder); |
| | | |
| | | return $this->storage->get_message_part($this->uid, $mime_id, $part, NULL, $fp, $skip_charset_conv, $max_bytes); |
| | | return $this->storage->get_message_part($this->uid, $mime_id, $part, |
| | | NULL, $fp, $skip_charset_conv, $max_bytes, $formatted); |
| | | } |
| | | } |
| | | |
| | |
| | | header("Content-Length: $size"); |
| | | } |
| | | |
| | | $sent = $RCMAIL->storage->get_message_part($MESSAGE->uid, $part->mime_id, $part, true); |
| | | // 8th argument disables re-formatting of text/* parts (#1489267) |
| | | $sent = $RCMAIL->storage->get_message_part($MESSAGE->uid, $part->mime_id, $part, true, null, false, 0, false); |
| | | } |
| | | } |
| | | |