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 146 147 148 149 150
<?php
/* --------------------------------------------------------------
EmailContact.inc.php 2015-01-29 gm
Gambio GmbH
http://www.gambio.de
Copyright (c) 2015 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------
*/
MainFactory::load_class('EmailContactInterface');
/**
* Class EmailContact
*
* Represents a contact (sender/recipient) that participates in an email entity.
*
* @category System
* @package Email
* @subpackage Entities
*/
class EmailContact implements EmailContactInterface
{
/**
* E-Mail address.
* @var EmailAddressInterface
*/
protected $emailAddress;
/**
* E-Mail contact type.
* @var ContactTypeInterface
*/
protected $contactType;
/**
* E-Mail contact name.
* @var ContactNameInterface
*/
protected $contactName;
/**
* Constructor
*
* @param EmailAddressInterface $emailAddress (optional) E-Mail address.
* @param ContactNameInterface $contactName (optional) E-Mail contact type.
* @param ContactTypeInterface $contactType (optional) E-Mail contact name.
*/
public function __construct(EmailAddressInterface $emailAddress = null,
ContactTypeInterface $contactType = null,
ContactNameInterface $contactName = null)
{
$this->emailAddress = $emailAddress;
$this->contactType = $contactType;
$this->contactName = $contactName;
}
/**
* Return contact information as a string.
*
* Example Output: 'John Doe <email@address.com>'
*
* @return string Converted string.
*/
public function __toString()
{
$result = array();
if($this->contactName !== null)
{
$result[] = (string)$this->contactName;
}
if($this->emailAddress !== null)
{
$result[] = '<' . (string)$this->emailAddress . '>';
}
return implode(' ', $result);
}
/**
* Returns an email address.
*
* @return string E-Mail address.
*/
public function getEmailAddress()
{
return (string)$this->emailAddress;
}
/**
* Sets an email address.
*
* @param EmailAddressInterface $emailAddress E-Mail address.
*/
public function setEmailAddress(EmailAddressInterface $emailAddress)
{
$this->emailAddress = $emailAddress;
}
/**
* Returns the contact name of an email.
*
* @return string E-Mail contact name.
*/
public function getContactName()
{
return (string)$this->contactName;
}
/**
* Sets the contact name of an email.
*
* @param ContactNameInterface $contactName E-Mail contact name.
*/
public function setContactName(ContactNameInterface $contactName)
{
$this->contactName = $contactName;
}
/**
* Returns the contact type of an email.
*
* @return ContactTypeInterface E-Mail contact type.
*/
public function getContactType()
{
return (string)$this->contactType;
}
/**
* Sets the contact type of an email.
*
* @param ContactTypeInterface $contactType E-Mail contact type.
*/
public function setContactType(ContactTypeInterface $contactType)
{
$this->contactType = $contactType;
}
}