diff options
Diffstat (limited to 'libs/Zend/Mime/Part.php')
-rw-r--r-- | libs/Zend/Mime/Part.php | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/libs/Zend/Mime/Part.php b/libs/Zend/Mime/Part.php deleted file mode 100644 index 4a8ce688df..0000000000 --- a/libs/Zend/Mime/Part.php +++ /dev/null @@ -1,230 +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 Zend_Mime - * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - * @version $Id: Part.php 23775 2011-03-01 17:25:24Z ralph $ - */ - -/** - * Zend_Mime - */ -// require_once 'Zend/Mime.php'; - -/** - * Class representing a MIME part. - * - * @category Zend - * @package Zend_Mime - * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -class Zend_Mime_Part { - - public $type = Zend_Mime::TYPE_OCTETSTREAM; - public $encoding = Zend_Mime::ENCODING_8BIT; - public $id; - public $disposition; - public $filename; - public $description; - public $charset; - public $boundary; - public $location; - public $language; - protected $_content; - 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 stream - * @throws 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 Zend_Mime_Exception('Attempt to get a stream from a string part'); - } - - //stream_filter_remove(); // ??? is that right? - switch ($this->encoding) { - case Zend_Mime::ENCODING_QUOTEDPRINTABLE: - $filter = stream_filter_append( - $this->_content, - 'convert.quoted-printable-encode', - STREAM_FILTER_READ, - array( - 'line-length' => 76, - 'line-break-chars' => Zend_Mime::LINEEND - ) - ); - if (!is_resource($filter)) { - // require_once 'Zend/Mime/Exception.php'; - throw new Zend_Mime_Exception('Failed to append quoted-printable filter'); - } - break; - case Zend_Mime::ENCODING_BASE64: - $filter = stream_filter_append( - $this->_content, - 'convert.base64-encode', - STREAM_FILTER_READ, - array( - 'line-length' => 76, - 'line-break-chars' => Zend_Mime::LINEEND - ) - ); - if (!is_resource($filter)) { - // require_once 'Zend/Mime/Exception.php'; - throw new 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. - * - * @return String - */ - public function getContent($EOL = Zend_Mime::LINEEND) - { - if ($this->_isStream) { - return stream_get_contents($this->getEncodedStream()); - } else { - return 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 - * - * @access public - * @return array - */ - public function getHeadersArray($EOL = 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 - * - * @return String - */ - public function getHeaders($EOL = Zend_Mime::LINEEND) - { - $res = ''; - foreach ($this->getHeadersArray($EOL) as $header) { - $res .= $header[0] . ': ' . $header[1] . $EOL; - } - - return $res; - } -} |