/usr/share/php/Horde/Mail/Rfc822/Group.php is in php-horde-mail 2.6.3-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | <?php
/**
* Copyright 2012-2016 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (BSD). If you
* did not receive this file, see http://www.horde.org/licenses/bsd.
*
* @category Horde
* @copyright 2012-2016 Horde LLC
* @license http://www.horde.org/licenses/bsd New BSD License
* @package Mail
*/
/**
* Object representation of a RFC 822 group e-mail address.
*
* @author Michael Slusarz <slusarz@horde.org>
* @category Horde
* @copyright 2012-2016 Horde LLC
* @license http://www.horde.org/licenses/bsd New BSD License
* @package Mail
*
* @property string $groupname Groupname (UTF-8).
* @property-read string $groupname_encoded MIME encoded groupname (UTF-8).
* @property-read string $label The shorthand label for this group.
* @property-read boolean $valid Returns true if there is enough information
* in object to create a valid address.
*/
class Horde_Mail_Rfc822_Group
extends Horde_Mail_Rfc822_Object
implements Countable
{
/**
* List of group e-mail address objects.
*
* @var Horde_Mail_Rfc822_GroupList
*/
public $addresses;
/**
* Group name (MIME decoded).
*
* @var string
*/
protected $_groupname = 'Group';
/**
* Constructor.
*
* @param string $groupname If set, used as the group name.
* @param mixed $addresses If a GroupList object, used as the address
* list. Any other non-null value is parsed and
* used as the address list (addresses not
* verified; sub-groups are ignored).
*/
public function __construct($groupname = null, $addresses = null)
{
if (!is_null($groupname)) {
$this->groupname = $groupname;
}
if (is_null($addresses)) {
$this->addresses = new Horde_Mail_Rfc822_GroupList();
} elseif ($addresses instanceof Horde_Mail_Rfc822_GroupList) {
$this->addresses = clone $addresses;
} else {
$rfc822 = new Horde_Mail_Rfc822();
$this->addresses = $rfc822->parseAddressList($addresses, array(
'group' => true
));
}
}
/**
*/
public function __set($name, $value)
{
switch ($name) {
case 'groupname':
$this->_groupname = Horde_Mime::decode($value);
break;
}
}
/**
*/
public function __get($name)
{
switch ($name) {
case 'groupname':
case 'label':
return $this->_groupname;
case 'groupname_encoded':
return Horde_Mime::encode($this->_groupname);
case 'valid':
return (bool)strlen($this->_groupname);
}
}
/**
*/
protected function _writeAddress($opts)
{
$addr = $this->addresses->writeAddress($opts);
$groupname = $this->groupname;
if (!empty($opts['encode'])) {
$groupname = Horde_Mime::encode($groupname, $opts['encode']);
}
if (empty($opts['noquote'])) {
$rfc822 = new Horde_Mail_Rfc822();
$groupname = $rfc822->encode($groupname, 'personal');
}
if (!empty($opts['comment']) && !empty($this->comment)) {
$rfc822 = new Horde_Mail_Rfc822();
foreach ($this->comment as $val) {
$personal .= ' (' . $rfc822->encode($val, 'comment') . ')';
}
}
return ltrim($groupname) . ':' .
(strlen($addr) ? (' ' . $addr) : '') . ';';
}
/**
*/
public function match($ob)
{
return $this->addresses->match($ob);
}
/* Countable methods. */
/**
* Address count.
*
* @return integer The number of addresses.
*/
public function count()
{
return count($this->addresses);
}
}
|