diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2012-05-17 18:59:19 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2012-05-17 18:59:19 +0200 |
commit | 9603477e958e231c14e57380a1861454da17c2a0 (patch) | |
tree | 74f6c0b5500a8fcd473c21d7efa6c7c08e581d67 | |
parent | 3983f50635ccf2a25a8bbb2c938f082a83c209d3 (diff) | |
parent | eebd4476fc9bba486068df1da5ef118e7a57439a (diff) |
Merge branch 'master' of github.com:roundcube/roundcubemail
-rw-r--r-- | program/include/rcube_mime.php | 8 | ||||
-rw-r--r-- | program/lib/Mail/mime.php | 15 | ||||
-rw-r--r-- | program/lib/Mail/mimePart.php | 10 |
3 files changed, 23 insertions, 10 deletions
diff --git a/program/include/rcube_mime.php b/program/include/rcube_mime.php index 64ce67d5f..864d25599 100644 --- a/program/include/rcube_mime.php +++ b/program/include/rcube_mime.php @@ -214,7 +214,7 @@ class rcube_mime // Append everything that is before the text to be decoded if ($start != $pos) { $substr = substr($input, $start, $pos-$start); - $out .= rcube_charset_convert($substr, $default_charset); + $out .= rcube_charset::convert($substr, $default_charset); $start = $pos; } $start += $length; @@ -255,13 +255,13 @@ class rcube_mime $text = quoted_printable_decode($text); } - $out .= rcube_charset_convert($text, $charset); + $out .= rcube_charset::convert($text, $charset); $tmp = array(); } // add the last part of the input string if ($start != strlen($input)) { - $out .= rcube_charset_convert(substr($input, $start), $default_charset); + $out .= rcube_charset::convert(substr($input, $start), $default_charset); } // return the results @@ -269,7 +269,7 @@ class rcube_mime } // no encoding information, use fallback - return rcube_charset_convert($input, $default_charset); + return rcube_charset::convert($input, $default_charset); } diff --git a/program/lib/Mail/mime.php b/program/lib/Mail/mime.php index cc72f5b29..a7dfa6d0c 100644 --- a/program/lib/Mail/mime.php +++ b/program/lib/Mail/mime.php @@ -48,7 +48,7 @@ * @author Aleksander Machniak <alec@php.net> * @copyright 2003-2006 PEAR <pear-group@php.net> * @license http://www.opensource.org/licenses/bsd-license.php BSD License - * @version CVS: $Id$ + * @version 1.8.4 * @link http://pear.php.net/package/Mail_mime * * This class is based on HTML Mime Mail class from @@ -89,7 +89,7 @@ require_once 'Mail/mimePart.php'; * @author Sean Coates <sean@php.net> * @copyright 2003-2006 PEAR <pear-group@php.net> * @license http://www.opensource.org/licenses/bsd-license.php BSD License - * @version Release: @package_version@ + * @version Release: 1.8.4 * @link http://pear.php.net/package/Mail_mime */ class Mail_mime @@ -387,6 +387,7 @@ class Mail_mime * @param string $description Content-Description header * @param string $h_charset The character set of the headers e.g. filename * If not specified, $charset will be used + * @param array $add_headers Additional part headers * * @return mixed True on success or PEAR_Error object * @access public @@ -403,7 +404,8 @@ class Mail_mime $n_encoding = null, $f_encoding = null, $description = '', - $h_charset = null + $h_charset = null, + $add_headers = array() ) { $bodyfile = null; @@ -442,6 +444,7 @@ class Mail_mime 'location' => $location, 'disposition' => $disposition, 'description' => $description, + 'add_headers' => $add_headers, 'name_encoding' => $n_encoding, 'filename_encoding' => $f_encoding, 'headers_charset' => $h_charset, @@ -680,6 +683,9 @@ class Mail_mime if (!empty($value['description'])) { $params['description'] = $value['description']; } + if (is_array($value['add_headers'])) { + $params['headers'] = $value['add_headers']; + } $ret = $obj->addSubpart($value['body'], $params); return $ret; @@ -1319,7 +1325,8 @@ class Mail_mime */ function encodeHeader($name, $value, $charset, $encoding) { - return Mail_mimePart::encodeHeader( + $mime_part = new Mail_mimePart; + return $mime_part->encodeHeader( $name, $value, $charset, $encoding, $this->_build_params['eol'] ); } diff --git a/program/lib/Mail/mimePart.php b/program/lib/Mail/mimePart.php index 821990ee0..f3cd98e6d 100644 --- a/program/lib/Mail/mimePart.php +++ b/program/lib/Mail/mimePart.php @@ -48,7 +48,7 @@ * @author Aleksander Machniak <alec@php.net> * @copyright 2003-2006 PEAR <pear-group@php.net> * @license http://www.opensource.org/licenses/bsd-license.php BSD License - * @version CVS: $Id$ + * @version 1.8.4 * @link http://pear.php.net/package/Mail_mime */ @@ -70,7 +70,7 @@ * @author Aleksander Machniak <alec@php.net> * @copyright 2003-2006 PEAR <pear-group@php.net> * @license http://www.opensource.org/licenses/bsd-license.php BSD License - * @version Release: @package_version@ + * @version Release: 1.8.4 * @link http://pear.php.net/package/Mail_mime */ class Mail_mimePart @@ -156,6 +156,7 @@ class Mail_mimePart * headers_charset - Charset of the headers e.g. filename, description. * If not set, 'charset' will be used * eol - End of line sequence. Default: "\r\n" + * headers - Hash array with additional part headers * body_file - Location of file with part's body (instead of $body) * * @access public @@ -168,6 +169,11 @@ class Mail_mimePart $this->_eol = MAIL_MIMEPART_CRLF; } + // Additional part headers + if (!empty($params['headers']) && is_array($params['headers'])) { + $headers = $params['headers']; + } + foreach ($params as $key => $value) { switch ($key) { case 'encoding': |