mirror of
https://bitbucket.org/jsuto/piler.git
synced 2025-06-12 23:37:02 +02:00
Fixed issue #705
Change-Id: I602a88d24c2a482e6bebb5d6d7f4830843afec42 Signed-off-by: SJ <sj@acts.hu>
This commit is contained in:
@ -14,9 +14,9 @@
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Mail
|
||||
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Part.php 24759 2012-05-05 02:58:55Z adamlundrigan $
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
|
||||
@ -25,6 +25,16 @@
|
||||
*/
|
||||
require_once 'Zend/Mime/Decode.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Mail_Header_HeaderName
|
||||
*/
|
||||
require_once 'Zend/Mail/Header/HeaderName.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Mail_Header_HeaderValue
|
||||
*/
|
||||
require_once 'Zend/Mail/Header/HeaderValue.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Mail_Part_Interface
|
||||
*/
|
||||
@ -34,7 +44,7 @@ require_once 'Zend/Mail/Part/Interface.php';
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Mail
|
||||
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Mail_Part implements RecursiveIterator, Zend_Mail_Part_Interface
|
||||
@ -134,17 +144,19 @@ class Zend_Mail_Part implements RecursiveIterator, Zend_Mail_Part_Interface
|
||||
}
|
||||
|
||||
if (isset($params['raw'])) {
|
||||
Zend_Mime_Decode::splitMessage($params['raw'], $this->_headers, $this->_content);
|
||||
Zend_Mime_Decode::splitMessage($params['raw'], $this->_headers, $this->_content, "\r\n");
|
||||
} else if (isset($params['headers'])) {
|
||||
if (is_array($params['headers'])) {
|
||||
$this->_headers = $params['headers'];
|
||||
$this->_validateHeaders($this->_headers);
|
||||
} else {
|
||||
if (!empty($params['noToplines'])) {
|
||||
Zend_Mime_Decode::splitMessage($params['headers'], $this->_headers, $null);
|
||||
Zend_Mime_Decode::splitMessage($params['headers'], $this->_headers, $null, "\r\n");
|
||||
} else {
|
||||
Zend_Mime_Decode::splitMessage($params['headers'], $this->_headers, $this->_topLines);
|
||||
Zend_Mime_Decode::splitMessage($params['headers'], $this->_headers, $this->_topLines, "\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($params['content'])) {
|
||||
$this->_content = $params['content'];
|
||||
}
|
||||
@ -566,4 +578,26 @@ class Zend_Mail_Part implements RecursiveIterator, Zend_Mail_Part_Interface
|
||||
$this->countParts();
|
||||
$this->_iterationPos = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensure headers do not contain invalid characters
|
||||
*
|
||||
* @param array $headers
|
||||
* @param bool $assertNames
|
||||
*/
|
||||
protected function _validateHeaders(array $headers, $assertNames = true)
|
||||
{
|
||||
foreach ($headers as $name => $value) {
|
||||
if ($assertNames) {
|
||||
Zend_Mail_Header_HeaderName::assertValid($name);
|
||||
}
|
||||
|
||||
if (is_array($value)) {
|
||||
$this->_validateHeaders($value, false);
|
||||
continue;
|
||||
}
|
||||
|
||||
Zend_Mail_Header_HeaderValue::assertValid($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user