/framework/vendor/zend/Zend/Mail/Message.php
PHP | 112 lines | 37 code | 10 blank | 65 comment | 5 complexity | 63c730a1a3707d501ee5332cf7528953 MD5 | raw file
1<?php 2/** 3 * Zend Framework 4 * 5 * LICENSE 6 * 7 * This source file is subject to the new BSD license that is bundled 8 * with this package in the file LICENSE.txt. 9 * It is also available through the world-wide-web at this URL: 10 * http://framework.zend.com/license/new-bsd 11 * If you did not receive a copy of the license and are unable to 12 * obtain it through the world-wide-web, please send an email 13 * to license@zend.com so we can send you a copy immediately. 14 * 15 * @category Zend 16 * @package Zend_Mail 17 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) 18 * @license http://framework.zend.com/license/new-bsd New BSD License 19 * @version $Id: Message.php 20096 2010-01-06 02:05:09Z bkarwin $ 20 */ 21 22 23/** 24 * Zend_Mail_Part 25 */ 26require_once 'Zend/Mail/Part.php'; 27 28/** 29 * Zend_Mail_Message_Interface 30 */ 31require_once 'Zend/Mail/Message/Interface.php'; 32 33/** 34 * @category Zend 35 * @package Zend_Mail 36 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) 37 * @license http://framework.zend.com/license/new-bsd New BSD License 38 */ 39class Zend_Mail_Message extends Zend_Mail_Part implements Zend_Mail_Message_Interface 40{ 41 /** 42 * flags for this message 43 * @var array 44 */ 45 protected $_flags = array(); 46 47 /** 48 * Public constructor 49 * 50 * In addition to the parameters of Zend_Mail_Part::__construct() this constructor supports: 51 * - file filename or file handle of a file with raw message content 52 * - flags array with flags for message, keys are ignored, use constants defined in Zend_Mail_Storage 53 * 54 * @param string $rawMessage full message with or without headers 55 * @throws Zend_Mail_Exception 56 */ 57 public function __construct(array $params) 58 { 59 if (isset($params['file'])) { 60 if (!is_resource($params['file'])) { 61 $params['raw'] = @file_get_contents($params['file']); 62 if ($params['raw'] === false) { 63 /** 64 * @see Zend_Mail_Exception 65 */ 66 require_once 'Zend/Mail/Exception.php'; 67 throw new Zend_Mail_Exception('could not open file'); 68 } 69 } else { 70 $params['raw'] = stream_get_contents($params['file']); 71 } 72 } 73 74 if (!empty($params['flags'])) { 75 // set key and value to the same value for easy lookup 76 $this->_flags = array_combine($params['flags'], $params['flags']); 77 } 78 79 parent::__construct($params); 80 } 81 82 /** 83 * return toplines as found after headers 84 * 85 * @return string toplines 86 */ 87 public function getTopLines() 88 { 89 return $this->_topLines; 90 } 91 92 /** 93 * check if flag is set 94 * 95 * @param mixed $flag a flag name, use constants defined in Zend_Mail_Storage 96 * @return bool true if set, otherwise false 97 */ 98 public function hasFlag($flag) 99 { 100 return isset($this->_flags[$flag]); 101 } 102 103 /** 104 * get all set flags 105 * 106 * @return array array with flags, key and value are the same for easy lookup 107 */ 108 public function getFlags() 109 { 110 return $this->_flags; 111 } 112}