X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FObject%2FEmail.php;h=96a7ad88cb18f9e3af33d80ac74e7bbe3cf41a03;hb=4e900292344a973a2bbf28634722b60d36f1deb5;hp=4f9c4e7bd94164678e2ad3f63d147a1a5a1743a2;hpb=f2547947c9c699d3075882f46a11d3681bf1f306;p=friendica.git diff --git a/src/Object/Email.php b/src/Object/Email.php index 4f9c4e7bd9..96a7ad88cb 100644 --- a/src/Object/Email.php +++ b/src/Object/Email.php @@ -1,4 +1,23 @@ . + * + */ namespace Friendica\Object; @@ -23,7 +42,7 @@ class Email implements IEmail /** @var string */ private $subject; - /** @var string */ + /** @var string|null */ private $msgHtml; /** @var string */ private $msgText; @@ -117,40 +136,52 @@ class Email implements IEmail } /** - * Returns the current email with a new recipient - * - * @param string $email The email of the recipient - * @param int $uid The (optional) UID of the recipient for further infos - * - * @return static + * {@inheritDoc} */ - public function withRecipient(string $email, int $uid = null) + public function withRecipient(string $address, int $uid = null) { $newEmail = clone $this; - $newEmail->toAddress = $email; + $newEmail->toAddress = $address; $newEmail->toUid = $uid; return $newEmail; } /** - * Creates a new Email instance based on a given prototype - * - * @param static $prototype The base prototype - * @param array $data The delta-data (key must be an existing property) + * {@inheritDoc} + */ + public function withMessage(string $plaintext, string $html = null) + { + $newMail = clone $this; + $newMail->msgText = $plaintext; + $newMail->msgHtml = $html; + + return $newMail; + } + + /** + * Returns the properties of the email as an array * - * @return static The new email instance + * @return array */ - public static function createFromPrototype(Email $prototype, array $data = []) + private function toArray() { - $newMail = clone $prototype; + return get_object_vars($this); + } - foreach ($data as $key => $value) { - if (property_exists($newMail, $key)) { - $newMail->{$key} = $value; - } - } + /** + * @inheritDoc + */ + public function __toString() + { + return json_encode($this->toArray()); + } - return $newMail; + /** + * @inheritDoc + */ + public function jsonSerialize() + { + return $this->toArray(); } }