summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2012-05-17 18:59:19 +0200
committerThomas Bruederli <thomas@roundcube.net>2012-05-17 18:59:19 +0200
commit9603477e958e231c14e57380a1861454da17c2a0 (patch)
tree74f6c0b5500a8fcd473c21d7efa6c7c08e581d67
parent3983f50635ccf2a25a8bbb2c938f082a83c209d3 (diff)
parenteebd4476fc9bba486068df1da5ef118e7a57439a (diff)
Merge branch 'master' of github.com:roundcube/roundcubemail
-rw-r--r--program/include/rcube_mime.php8
-rw-r--r--program/lib/Mail/mime.php15
-rw-r--r--program/lib/Mail/mimePart.php10
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':