diff options
Diffstat (limited to 'lib/SendGridCompatibility/Email.php')
-rw-r--r-- | lib/SendGridCompatibility/Email.php | 133 |
1 files changed, 43 insertions, 90 deletions
diff --git a/lib/SendGridCompatibility/Email.php b/lib/SendGridCompatibility/Email.php index b375839..5065e1f 100644 --- a/lib/SendGridCompatibility/Email.php +++ b/lib/SendGridCompatibility/Email.php @@ -1,181 +1,146 @@ <?php namespace SparkPost\SendGridCompatibility; -class Email -{ +class Email { public $model; /** * Sets up the model for saving the configuration */ - public function __construct() - { + public function __construct() { $this->model = array(); } /** - * Adds addresses as recipients - * + * adds addresses as recipients * @param string $address * @param string $name optional - * @return \SparkPost\SendGridCompatibility\Email + * @return $this */ - public function addTo($address, $name = null) - { + public function addTo($address, $name = null) { if (!isset($this->model['recipients'])) { $this->model['recipients'] = array(); } - if (isset($name)) { - $address = array('address' => array('email' => $address, 'name' => $name)); + if(isset($name)) { + $address = array('address'=>array('email'=>$address, 'name'=>$name)); } else { - $address = array('address' => array('email' => $address)); + $address = array('address'=>array('email'=>$address)); } array_push($this->model['recipients'], $address); - return $this; } /** - * Explicitly sets a list of addresses - * - * @param array $addresses - * @return \SparkPost\SendGridCompatibility\Email - */ - public function setTos(array $addresses) - { + * explicitly sets a list of addresses + * @param array $addresses + * @return $this + */ + public function setTos(array $addresses) { $this->model['recipients'] = $addresses; - return $this; } /** - * Sets the from address - * + * sets the from address * @param string $address * @return $this */ - public function setFrom($address) - { + public function setFrom($address) { $this->model['from'] = array('email' => $address); - return $this; } /** * Sets the name for the from address - * * @param string $name * @return $this * @throws \Exception */ - public function setFromName($name) - { - if (!isset($this->model['from'])) { + public function setFromName($name) { + if(!isset($this->model['from'])){ throw new \Exception('Must set \'From\' prior to setting \'From Name\'.'); } $this->model['from']['name'] = $name; - return $this; } /** - * Sets the reply to field - * + * sets the reply to field * @param string $address * @return $this */ - public function setReplyTo($address) - { + public function setReplyTo ($address) { $this->model['replyTo'] = $address; - return $this; } /** - * Throws an error because bcc fields are not yet implemented - * + * throws an error because bcc fields are not yet implemented. * @throws \Exception * @param string $address * @return $this */ - public function addBcc($address) - { + public function addBcc($address) { throw new \Exception('Adding bcc recipients is not yet supported, try adding them as a \'to\' address'); } /** - * Sets the subject header - * + * sets the subject header * @param string $subject - * @return \SparkPost\SendGridCompatibility\Email + * @return $this */ - public function setSubject($subject) - { + public function setSubject($subject) { $this->model['subject'] = $subject; - return $this; } /** - * Sets the text body - * + * sets the text body * @param string $text - * @return \SparkPost\SendGridCompatibility\Email + * @return $this */ - public function setText($text) - { + public function setText($text) { $this->model['text'] = $text; - return $this; } /** - * Sets the html body - * + * sets the html body * @param string $html - * @return \SparkPost\SendGridCompatibility\Email + * @return $this */ - public function setHtml($html) - { + public function setHtml($html) { $this->model['html'] = $html; - return $this; } /** * Throws an exception since adding categories is not yet supported - * - * @throws \Exception * @param string $category * @throws \Exception */ - public function addCategory($category) - { + public function addCategory($category) { throw new \Exception('Adding categories is not yet supported'); } /** * Throws an exception since adding attachments is not yet supported - * - * @param mixed $attachment * @throws \Exception + * @param mixed $attachment */ - public function addAttachment($attachment) - { + public function addAttachment($attachment) { throw new \Exception('Adding attachments is not yet supported'); } /** * Adds transmission level substitution data - * * @param string $name * @param mixed $values - * @return \SparkPost\SendGridCompatibility\Email + * @return $this */ - public function addSubstitution($name, $values) - { + public function addSubstitution($name, $values) { if (!isset($this->model['substitutionData'])) { $this->model['substitutionData'] = array(); } @@ -186,46 +151,37 @@ class Email /** * Adds transmission level substitution data - * * @param string $name * @param mixed $values */ - public function addSection($name, $values) - { + public function addSection($name, $values) { $this->addSubstitution($name, $values); } /** * Throws an exception because arguments for third party systems is not supported - * - * @param $key - * @param mixed $value * @throws \Exception + * @param mixed $value */ - public function addUniqueArg($key, $value) - { + public function addUniqueArg($key, $value) { throw new \Exception('Adding Unique Arguments is not yet supported'); } /** * Throws an exception because arguments for third party systems is not supported - * - * @param mixed $values * @throws \Exception + * @param mixed $values */ - public function setUniqueArgs(array $values) - { + public function setUniqueArgs(array $values) { throw new \Exception('Setting Unique Arguments is not yet supported'); } /** * Adds custom headers to the email header - * * @param string $name * @param string $value */ - public function addHeader($name, $value) - { + public function addHeader($name, $value) { if (!isset($this->model['customHeaders'])) { $this->model['customHeaders'] = array(); } @@ -233,14 +189,11 @@ class Email } /** - * Converts this object to a configuration for a SparkPost transmission - * + * converts this object to a configuration for a SparkPost transmission * @return array */ - public function toSparkPostTransmission() - { + public function toSparkPostTransmission() { return $this->model; } } - ?> |