%PDF- %PDF-
Direktori : /home/vacivi36/ava/lib/horde/framework/Horde/Mime/Headers/ |
Current File : /home/vacivi36/ava/lib/horde/framework/Horde/Mime/Headers/AddressesMulti.php |
<?php /** * Copyright 2014-2017 Horde LLC (http://www.horde.org/) * * See the enclosed file LICENSE for license information (LGPL). If you * did not receive this file, see http://www.horde.org/licenses/lgpl21. * * @category Horde * @copyright 2014-2017 Horde LLC * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @package Mime */ /** * This class represents address fields that may appear multiple times in a * message part (i.e. they are independent of each other) (RFC 5322). * * @author Michael Slusarz <slusarz@horde.org> * @category Horde * @copyright 2014-2017 Horde LLC * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @package Mime * @since 2.5.0 */ class Horde_Mime_Headers_AddressesMulti extends Horde_Mime_Headers_Element_Multiple implements Horde_Mime_Headers_Element_Address { /** */ public function __clone() { $copy = array(); foreach ($this->_values as $val) { $copy[] = clone $val; } $this->_values = $copy; } /** */ public function __get($name) { switch ($name) { case 'full_value': case 'value': return array_map('strval', $this->_values); case 'value_single': return strval(reset($this->_values)); } return parent::__get($name); } /** */ public function getAddressList($first = false) { return $first ? reset($this->_values) : $this->_values; } /** */ protected function _setValue($value) { /* @todo Implement with traits */ $rfc822 = new Horde_Mail_Rfc822(); $addr_list = $rfc822->parseAddressList($value); foreach ($addr_list as $ob) { if ($ob instanceof Horde_Mail_Rfc822_Group) { $ob->groupname = $this->_sanityCheck($ob->groupname); } else { $ob->personal = $this->_sanityCheck($ob->personal); } } $this->_values[] = $addr_list; } /** */ public static function getHandles() { return array( // Mail: RFC 5322 (Address that can appear in multiple headers) 'resent-to', 'resent-cc', 'resent-bcc', 'resent-from' ); } /** * @param array $opts See Horde_Mime_Headers_Addresses#doSendEncode(). */ protected function _sendEncode($opts) { return Horde_Mime_Headers_Addresses::doSendEncode( $this->getAddressList(), $opts ); } }