summaryrefslogtreecommitdiff
path: root/Postman/Postman-Mail/Zend-1.12.10/Mime
diff options
context:
space:
mode:
Diffstat (limited to 'Postman/Postman-Mail/Zend-1.12.10/Mime')
-rw-r--r--Postman/Postman-Mail/Zend-1.12.10/Mime/Decode.php276
-rw-r--r--Postman/Postman-Mail/Zend-1.12.10/Mime/Exception.php36
-rw-r--r--Postman/Postman-Mail/Zend-1.12.10/Mime/Message.php305
-rw-r--r--Postman/Postman-Mail/Zend-1.12.10/Mime/Part.php333
4 files changed, 0 insertions, 950 deletions
diff --git a/Postman/Postman-Mail/Zend-1.12.10/Mime/Decode.php b/Postman/Postman-Mail/Zend-1.12.10/Mime/Decode.php
deleted file mode 100644
index 5fd17bd..0000000
--- a/Postman/Postman-Mail/Zend-1.12.10/Mime/Decode.php
+++ /dev/null
@@ -1,276 +0,0 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category Zend
- * @package Postman_Zend_Mime
- * @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$
- */
-
-/**
- * @see Postman_Zend_Mime
- */
-require_once 'Zend/Mime.php';
-
-/**
- * @category Zend
- * @package Postman_Zend_Mime
- * @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 Postman_Zend_Mime_Decode
-{
- /**
- * Explode MIME multipart string into seperate parts
- *
- * Parts consist of the header and the body of each MIME part.
- *
- * @param string $body raw body of message
- * @param string $boundary boundary as found in content-type
- * @return array parts with content of each part, empty if no parts found
- * @throws Postman_Zend_Exception
- */
- public static function splitMime($body, $boundary)
- {
- // TODO: we're ignoring \r for now - is this function fast enough and is it safe to asume noone needs \r?
- $body = str_replace("\r", '', $body);
-
- $start = 0;
- $res = array();
- // find every mime part limiter and cut out the
- // string before it.
- // the part before the first boundary string is discarded:
- $p = strpos($body, '--' . $boundary . "\n", $start);
- if ($p === false) {
- // no parts found!
- return array();
- }
-
- // position after first boundary line
- $start = $p + 3 + strlen($boundary);
-
- while (($p = strpos($body, '--' . $boundary . "\n", $start)) !== false) {
- $res[] = substr($body, $start, $p-$start);
- $start = $p + 3 + strlen($boundary);
- }
-
- // no more parts, find end boundary
- $p = strpos($body, '--' . $boundary . '--', $start);
- if ($p === false) {
- throw new Postman_Zend_Exception('Not a valid Mime Message: End Missing');
- }
-
- // the remaining part also needs to be parsed:
- $res[] = substr($body, $start, $p - $start);
-
- return $res;
- }
-
- /**
- * decodes a mime encoded String and returns a
- * struct of parts with header and body
- *
- * @param string $message raw message content
- * @param string $boundary boundary as found in content-type
- * @param string $EOL EOL string; defaults to {@link Postman_Zend_Mime::LINEEND}
- * @return array|null parts as array('header' => array(name => value), 'body' => content), null if no parts found
- * @throws Postman_Zend_Exception
- */
- public static function splitMessageStruct(
- $message, $boundary, $EOL = Postman_Zend_Mime::LINEEND
- )
- {
- $parts = self::splitMime($message, $boundary);
- if (count($parts) <= 0) {
- return null;
- }
- $result = array();
- foreach ($parts as $part) {
- self::splitMessage($part, $headers, $body, $EOL);
- $result[] = array(
- 'header' => $headers,
- 'body' => $body
- );
- }
-
- return $result;
- }
-
- /**
- * split a message in header and body part, if no header or an
- * invalid header is found $headers is empty
- *
- * The charset of the returned headers depend on your iconv settings.
- *
- * @param string $message raw message with header and optional content
- * @param array $headers output param, array with headers as array(name => value)
- * @param string $body output param, content of message
- * @param string $EOL EOL string; defaults to {@link Postman_Zend_Mime::LINEEND}
- * @return null
- */
- public static function splitMessage(
- $message, &$headers, &$body, $EOL = Postman_Zend_Mime::LINEEND
- )
- {
- // check for valid header at first line
- $firstline = strtok($message, "\n");
- if (!preg_match('%^[^\s]+[^:]*:%', $firstline)) {
- $headers = array();
- // TODO: we're ignoring \r for now - is this function fast enough and is it safe to asume noone needs \r?
- $body = str_replace(
- array(
- "\r",
- "\n"
- ), array(
- '',
- $EOL
- ), $message
- );
-
- return;
- }
-
- // find an empty line between headers and body
- // default is set new line
- if (strpos($message, $EOL . $EOL)) {
- list($headers, $body) = explode($EOL . $EOL, $message, 2);
- // next is the standard new line
- } else {
- if ($EOL != "\r\n" && strpos($message, "\r\n\r\n")) {
- list($headers, $body) = explode("\r\n\r\n", $message, 2);
- // next is the other "standard" new line
- } else {
- if ($EOL != "\n" && strpos($message, "\n\n")) {
- list($headers, $body) = explode("\n\n", $message, 2);
- // at last resort find anything that looks like a new line
- } else {
- @list($headers, $body) =
- @preg_split("%([\r\n]+)\\1%U", $message, 2);
- }
- }
- }
-
- $headers = iconv_mime_decode_headers(
- $headers, ICONV_MIME_DECODE_CONTINUE_ON_ERROR
- );
-
- if ($headers === false) {
- // an error occurs during the decoding
- return;
- }
-
- // normalize header names
- foreach ($headers as $name => $header) {
- $lower = strtolower($name);
- if ($lower == $name) {
- continue;
- }
- unset($headers[$name]);
- if (!isset($headers[$lower])) {
- $headers[$lower] = $header;
- continue;
- }
- if (is_array($headers[$lower])) {
- $headers[$lower][] = $header;
- continue;
- }
- $headers[$lower] = array(
- $headers[$lower],
- $header
- );
- }
- }
-
- /**
- * split a content type in its different parts
- *
- * @param string $type content-type
- * @param string $wantedPart the wanted part, else an array with all parts is returned
- * @return string|array wanted part or all parts as array('type' => content-type, partname => value)
- */
- public static function splitContentType($type, $wantedPart = null)
- {
- return self::splitHeaderField($type, $wantedPart, 'type');
- }
-
- /**
- * split a header field like content type in its different parts
- *
- * @param string $field
- * @param string $wantedPart the wanted part, else an array with all parts is returned
- * @param int|string $firstName key name for the first part
- * @throws Postman_Zend_Exception
- * @return string|array wanted part or all parts as array($firstName => firstPart, partname => value)
- */
- public static function splitHeaderField(
- $field, $wantedPart = null, $firstName = 0
- )
- {
- $wantedPart = strtolower($wantedPart);
- $firstName = strtolower($firstName);
-
- // special case - a bit optimized
- if ($firstName === $wantedPart) {
- $field = strtok($field, ';');
-
- return $field[0] == '"' ? substr($field, 1, -1) : $field;
- }
-
- $field = $firstName . '=' . $field;
- if (!preg_match_all('%([^=\s]+)\s*=\s*("[^"]+"|[^;]+)(;\s*|$)%', $field, $matches)) {
- throw new Postman_Zend_Exception('not a valid header field');
- }
-
- if ($wantedPart) {
- foreach ($matches[1] as $key => $name) {
- if (strcasecmp($name, $wantedPart)) {
- continue;
- }
- if ($matches[2][$key][0] != '"') {
- return $matches[2][$key];
- }
-
- return substr($matches[2][$key], 1, -1);
- }
-
- return null;
- }
-
- $split = array();
- foreach ($matches[1] as $key => $name) {
- $name = strtolower($name);
- if ($matches[2][$key][0] == '"') {
- $split[$name] = substr($matches[2][$key], 1, -1);
- } else {
- $split[$name] = $matches[2][$key];
- }
- }
-
- return $split;
- }
-
- /**
- * decode a quoted printable encoded string
- *
- * The charset of the returned string depends on your iconv settings.
- *
- * @param string $string Encoded string
- * @return string Decoded string
- */
- public static function decodeQuotedPrintable($string)
- {
- return quoted_printable_decode($string);
- }
-}
diff --git a/Postman/Postman-Mail/Zend-1.12.10/Mime/Exception.php b/Postman/Postman-Mail/Zend-1.12.10/Mime/Exception.php
deleted file mode 100644
index e8f3b00..0000000
--- a/Postman/Postman-Mail/Zend-1.12.10/Mime/Exception.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category Zend
- * @package Postman_Zend_Mime
- * @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$
- */
-
-/**
- * Postman_Zend_Exception
- */
-require_once 'Zend/Exception.php';
-
-/**
- * @category Zend
- * @package Postman_Zend_Mime
- * @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 Postman_Zend_Mime_Exception extends Postman_Zend_Exception
-{
-}
-
diff --git a/Postman/Postman-Mail/Zend-1.12.10/Mime/Message.php b/Postman/Postman-Mail/Zend-1.12.10/Mime/Message.php
deleted file mode 100644
index e5783fb..0000000
--- a/Postman/Postman-Mail/Zend-1.12.10/Mime/Message.php
+++ /dev/null
@@ -1,305 +0,0 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category Zend
- * @package Postman_Zend_Mime
- * @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$
- */
-
-/**
- * Postman_Zend_Mime
- */
-// require_once 'Zend/Mime.php';
-
-/**
- * Postman_Zend_Mime_Part
- */
-// require_once 'Zend/Mime/Part.php';
-
-/**
- * @category Zend
- * @package Postman_Zend_Mime
- * @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 Postman_Zend_Mime_Message
-{
- /**
- * The Postman_Zend_Mime_Parts of the message
- *
- * @var array
- */
- protected $_parts = array();
-
- /**
- * The Postman_Zend_Mime object for the message
- *
- * @var Postman_Zend_Mime|null
- */
- protected $_mime = null;
-
- /**
- * Returns the list of all Postman_Zend_Mime_Parts in the message
- *
- * @return array of Postman_Zend_Mime_Part
- */
- public function getParts()
- {
- return $this->_parts;
- }
-
- /**
- * Sets the given array of Postman_Zend_Mime_Parts as the array for the message
- *
- * @param array $parts
- */
- public function setParts($parts)
- {
- $this->_parts = $parts;
- }
-
- /**
- * Append a new Postman_Zend_Mime_Part to the current message
- *
- * @param Postman_Zend_Mime_Part $part
- */
- public function addPart(Postman_Zend_Mime_Part $part)
- {
- /**
- * @todo check for duplicate object handle
- */
- $this->_parts[] = $part;
- }
-
- /**
- * Check if message needs to be sent as multipart
- * MIME message or if it has only one part.
- *
- * @return boolean
- */
- public function isMultiPart()
- {
- return (count($this->_parts) > 1);
- }
-
- /**
- * Set Postman_Zend_Mime object for the message
- *
- * This can be used to set the boundary specifically or to use a subclass of
- * Postman_Zend_Mime for generating the boundary.
- *
- * @param Postman_Zend_Mime $mime
- */
- public function setMime(Postman_Zend_Mime $mime)
- {
- $this->_mime = $mime;
- }
-
- /**
- * Returns the Postman_Zend_Mime object in use by the message
- *
- * If the object was not present, it is created and returned. Can be used to
- * determine the boundary used in this message.
- *
- * @return Postman_Zend_Mime
- */
- public function getMime()
- {
- if ($this->_mime === null) {
- $this->_mime = new Postman_Zend_Mime();
- }
-
- return $this->_mime;
- }
-
- /**
- * Generate MIME-compliant message from the current configuration
- *
- * This can be a multipart message if more than one MIME part was added. If
- * only one part is present, the content of this part is returned. If no
- * part had been added, an empty string is returned.
- *
- * Parts are seperated by the mime boundary as defined in Postman_Zend_Mime. If
- * {@link setMime()} has been called before this method, the Postman_Zend_Mime
- * object set by this call will be used. Otherwise, a new Postman_Zend_Mime object
- * is generated and used.
- *
- * @param string $EOL EOL string; defaults to {@link Postman_Zend_Mime::LINEEND}
- * @return string
- */
- public function generateMessage($EOL = Postman_Zend_Mime::LINEEND)
- {
- if (!$this->isMultiPart()) {
- $body = array_shift($this->_parts);
- $body = $body->getContent($EOL);
- } else {
- $mime = $this->getMime();
-
- $boundaryLine = $mime->boundaryLine($EOL);
- $body = 'This is a message in Mime Format. If you see this, '
- . "your mail reader does not support this format." . $EOL;
-
- foreach (array_keys($this->_parts) as $p) {
- $body .= $boundaryLine
- . $this->getPartHeaders($p, $EOL)
- . $EOL
- . $this->getPartContent($p, $EOL);
- }
-
- $body .= $mime->mimeEnd($EOL);
- }
-
- return trim($body);
- }
-
- /**
- * Get the headers of a given part as an array
- *
- * @param int $partnum
- * @return array
- */
- public function getPartHeadersArray($partnum)
- {
- return $this->_parts[$partnum]->getHeadersArray();
- }
-
- /**
- * Get the headers of a given part as a string
- *
- * @param int $partnum
- * @param string $EOL
- * @return string
- */
- public function getPartHeaders($partnum, $EOL = Postman_Zend_Mime::LINEEND)
- {
- return $this->_parts[$partnum]->getHeaders($EOL);
- }
-
- /**
- * Get the (encoded) content of a given part as a string
- *
- * @param int $partnum
- * @param string $EOL
- * @return string
- */
- public function getPartContent($partnum, $EOL = Postman_Zend_Mime::LINEEND)
- {
- return $this->_parts[$partnum]->getContent($EOL);
- }
-
- /**
- * Explode MIME multipart string into seperate parts
- *
- * Parts consist of the header and the body of each MIME part.
- *
- * @param string $body
- * @param string $boundary
- * @throws Postman_Zend_Exception
- * @return array
- */
- protected static function _disassembleMime($body, $boundary)
- {
- $start = 0;
- $res = array();
- // find every mime part limiter and cut out the
- // string before it.
- // the part before the first boundary string is discarded:
- $p = strpos($body, '--' . $boundary . "\n", $start);
- if ($p === false) {
- // no parts found!
- return array();
- }
-
- // position after first boundary line
- $start = $p + 3 + strlen($boundary);
-
- while (($p = strpos($body, '--' . $boundary . "\n", $start))
- !== false) {
- $res[] = substr($body, $start, $p - $start);
- $start = $p + 3 + strlen($boundary);
- }
-
- // no more parts, find end boundary
- $p = strpos($body, '--' . $boundary . '--', $start);
- if ($p === false) {
- throw new Postman_Zend_Exception('Not a valid Mime Message: End Missing');
- }
-
- // the remaining part also needs to be parsed:
- $res[] = substr($body, $start, $p - $start);
-
- return $res;
- }
-
- /**
- * Decodes a MIME encoded string and returns a Postman_Zend_Mime_Message object with
- * all the MIME parts set according to the given string
- *
- * @param string $message
- * @param string $boundary
- * @param string $EOL EOL string; defaults to {@link Postman_Zend_Mime::LINEEND}
- * @throws Postman_Zend_Exception
- * @return Postman_Zend_Mime_Message
- */
- public static function createFromMessage(
- $message, $boundary, $EOL = Postman_Zend_Mime::LINEEND
- )
- {
- require_once 'Zend/Mime/Decode.php';
- $parts = Postman_Zend_Mime_Decode::splitMessageStruct($message, $boundary, $EOL);
-
- $res = new self();
- foreach ($parts as $part) {
- // now we build a new MimePart for the current Message Part:
- $newPart = new Postman_Zend_Mime_Part($part['body']);
- foreach ($part['header'] as $key => $value) {
- /**
- * @todo check for characterset and filename
- */
- switch (strtolower($key)) {
- case 'content-type':
- $newPart->type = $value;
- break;
- case 'content-transfer-encoding':
- $newPart->encoding = $value;
- break;
- case 'content-id':
- $newPart->id = trim($value, '<>');
- break;
- case 'content-disposition':
- $newPart->disposition = $value;
- break;
- case 'content-description':
- $newPart->description = $value;
- break;
- case 'content-location':
- $newPart->location = $value;
- break;
- case 'content-language':
- $newPart->language = $value;
- break;
- default:
- throw new Postman_Zend_Exception(
- 'Unknown header ignored for MimePart:' . $key
- );
- }
- }
- $res->addPart($newPart);
- }
-
- return $res;
- }
-}
diff --git a/Postman/Postman-Mail/Zend-1.12.10/Mime/Part.php b/Postman/Postman-Mail/Zend-1.12.10/Mime/Part.php
deleted file mode 100644
index 9051c28..0000000
--- a/Postman/Postman-Mail/Zend-1.12.10/Mime/Part.php
+++ /dev/null
@@ -1,333 +0,0 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category Zend
- * @package Postman_Zend_Mime
- * @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$
- */
-
-/**
- * Postman_Zend_Mime
- */
-// require_once 'Zend/Mime.php';
-
-/**
- * Class representing a MIME part.
- *
- * @category Zend
- * @package Postman_Zend_Mime
- * @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 Postman_Zend_Mime_Part
-{
-
- /**
- * Type
- *
- * @var string
- */
- public $type = Postman_Zend_Mime::TYPE_OCTETSTREAM;
-
- /**
- * Encoding
- *
- * @var string
- */
- public $encoding = Postman_Zend_Mime::ENCODING_8BIT;
-
- /**
- * ID
- *
- * @var string
- */
- public $id;
-
- /**
- * Disposition
- *
- * @var string
- */
- public $disposition;
-
- /**
- * Filename
- *
- * @var string
- */
- public $filename;
-
- /**
- * Description
- *
- * @var string
- */
- public $description;
-
- /**
- * Character set
- *
- * @var string
- */
- public $charset;
-
- /**
- * Boundary
- *
- * @var string
- */
- public $boundary;
-
- /**
- * Location
- *
- * @var string
- */
- public $location;
-
- /**
- * Language
- *
- * @var string
- */
- public $language;
-
- /**
- * Content
- *
- * @var mixed
- */
- protected $_content;
-
- /**
- * @var bool
- */
- protected $_isStream = false;
-
- /**
- * create a new Mime Part.
- * The (unencoded) content of the Part as passed
- * as a string or stream
- *
- * @param mixed $content String or Stream containing the content
- */
- public function __construct($content)
- {
- $this->_content = $content;
- if (is_resource($content)) {
- $this->_isStream = true;
- }
- }
-
- /**
- * @todo setters/getters
- * @todo error checking for setting $type
- * @todo error checking for setting $encoding
- */
-
- /**
- * check if this part can be read as a stream.
- * if true, getEncodedStream can be called, otherwise
- * only getContent can be used to fetch the encoded
- * content of the part
- *
- * @return bool
- */
- public function isStream()
- {
- return $this->_isStream;
- }
-
- /**
- * if this was created with a stream, return a filtered stream for
- * reading the content. very useful for large file attachments.
- *
- * @return mixed Stream
- * @throws Postman_Zend_Mime_Exception if not a stream or unable to append filter
- */
- public function getEncodedStream()
- {
- if (!$this->_isStream) {
- require_once 'Zend/Mime/Exception.php';
- throw new Postman_Zend_Mime_Exception(
- 'Attempt to get a stream from a string part'
- );
- }
-
- //stream_filter_remove(); // ??? is that right?
- switch ($this->encoding) {
- case Postman_Zend_Mime::ENCODING_QUOTEDPRINTABLE:
- $filter = stream_filter_append(
- $this->_content,
- 'convert.quoted-printable-encode',
- STREAM_FILTER_READ,
- array(
- 'line-length' => 76,
- 'line-break-chars' => Postman_Zend_Mime::LINEEND
- )
- );
- if (!is_resource($filter)) {
- require_once 'Zend/Mime/Exception.php';
- throw new Postman_Zend_Mime_Exception(
- 'Failed to append quoted-printable filter'
- );
- }
- break;
-
- case Postman_Zend_Mime::ENCODING_BASE64:
- $filter = stream_filter_append(
- $this->_content,
- 'convert.base64-encode',
- STREAM_FILTER_READ,
- array(
- 'line-length' => 76,
- 'line-break-chars' => Postman_Zend_Mime::LINEEND
- )
- );
- if (!is_resource($filter)) {
- require_once 'Zend/Mime/Exception.php';
- throw new Postman_Zend_Mime_Exception(
- 'Failed to append base64 filter'
- );
- }
- break;
-
- default:
- }
-
- return $this->_content;
- }
-
- /**
- * Get the Content of the current Mime Part in the given encoding.
- *
- * @param string $EOL Line end; defaults to {@link Postman_Zend_Mime::LINEEND}
- * @throws Postman_Zend_Mime_Exception
- * @return string
- */
- public function getContent($EOL = Postman_Zend_Mime::LINEEND)
- {
- if ($this->_isStream) {
- return stream_get_contents($this->getEncodedStream());
- } else {
- return Postman_Zend_Mime::encode($this->_content, $this->encoding, $EOL);
- }
- }
-
- /**
- * Get the RAW unencoded content from this part
- *
- * @return string
- */
- public function getRawContent()
- {
- if ($this->_isStream) {
- return stream_get_contents($this->_content);
- } else {
- return $this->_content;
- }
- }
-
- /**
- * Create and return the array of headers for this MIME part
- *
- * @param string $EOL Line end; defaults to {@link Postman_Zend_Mime::LINEEND}
- * @return array
- */
- public function getHeadersArray($EOL = Postman_Zend_Mime::LINEEND)
- {
- $headers = array();
-
- $contentType = $this->type;
- if ($this->charset) {
- $contentType .= '; charset=' . $this->charset;
- }
-
- if ($this->boundary) {
- $contentType .= ';' . $EOL
- . " boundary=\"" . $this->boundary . '"';
- }
-
- $headers[] = array(
- 'Content-Type',
- $contentType
- );
-
- if ($this->encoding) {
- $headers[] = array(
- 'Content-Transfer-Encoding',
- $this->encoding
- );
- }
-
- if ($this->id) {
- $headers[] = array(
- 'Content-ID',
- '<' . $this->id . '>'
- );
- }
-
- if ($this->disposition) {
- $disposition = $this->disposition;
- if ($this->filename) {
- $disposition .= '; filename="' . $this->filename . '"';
- }
- $headers[] = array(
- 'Content-Disposition',
- $disposition
- );
- }
-
- if ($this->description) {
- $headers[] = array(
- 'Content-Description',
- $this->description
- );
- }
-
- if ($this->location) {
- $headers[] = array(
- 'Content-Location',
- $this->location
- );
- }
-
- if ($this->language) {
- $headers[] = array(
- 'Content-Language',
- $this->language
- );
- }
-
- return $headers;
- }
-
- /**
- * Return the headers for this part as a string
- *
- * @param string $EOL Line end; defaults to {@link Postman_Zend_Mime::LINEEND}
- * @return string
- */
- public function getHeaders($EOL = Postman_Zend_Mime::LINEEND)
- {
- $res = '';
- foreach ($this->getHeadersArray($EOL) as $header) {
- $res .= $header[0] . ': ' . $header[1] . $EOL;
- }
-
- return $res;
- }
-}