diff options
Diffstat (limited to 'External/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php')
-rwxr-xr-x | External/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/External/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php b/External/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php new file mode 100755 index 0000000..0a8a100 --- /dev/null +++ b/External/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php @@ -0,0 +1,126 @@ +<?php + +/* + * This file is part of SwiftMailer. + * (c) 2004-2009 Chris Corbyn + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +//@require 'Swift/Mime/Headers/AbstractHeader.php'; +//@require 'Swift/RfcComplianceException.php'; + +/** + * A Path Header in Swift Mailer, such a Return-Path. + * @package Swift + * @subpackage Mime + * @author Chris Corbyn + */ +class Swift_Mime_Headers_PathHeader extends Swift_Mime_Headers_AbstractHeader +{ + + /** + * The address in this Header (if specified). + * @var string + * @access private + */ + private $_address; + + /** + * Creates a new PathHeader with the given $name. + * @param string $name + */ + public function __construct($name) + { + $this->setFieldName($name); + $this->initializeGrammar(); + } + + /** + * Get the type of Header that this instance represents. + * @return int + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + */ + public function getFieldType() + { + return self::TYPE_PATH; + } + + /** + * Set the model for the field body. + * This method takes a string for an address. + * @param string $model + * @throws Swift_RfcComplianceException + */ + public function setFieldBodyModel($model) + { + $this->setAddress($model); + } + + /** + * Get the model for the field body. + * This method returns a string email address. + * @return mixed + */ + public function getFieldBodyModel() + { + return $this->getAddress(); + } + + /** + * Set the Address which should appear in this Header. + * @param string $address + * @throws Swift_RfcComplianceException + */ + public function setAddress($address) + { + if (is_null($address)) + { + $this->_address = null; + } + elseif ('' == $address + || preg_match('/^' . $this->getGrammar('addr-spec') . '$/D', $address)) + { + $this->_address = $address; + } + else + { + throw new Swift_RfcComplianceException( + 'Address set in PathHeader does not comply with addr-spec of RFC 2822.' + ); + } + $this->setCachedValue(null); + } + + /** + * Get the address which is used in this Header (if any). + * Null is returned if no address is set. + * @return string + */ + public function getAddress() + { + return $this->_address; + } + + /** + * Get the string value of the body in this Header. + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@link toString()} for that). + * @return string + * @see toString() + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) + { + if (isset($this->_address)) + { + $this->setCachedValue('<' . $this->_address . '>'); + } + } + return $this->getCachedValue(); + } + +} |