summaryrefslogtreecommitdiffstats
path: root/lib/SendGridCompatibility/Email.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/SendGridCompatibility/Email.php')
-rw-r--r--lib/SendGridCompatibility/Email.php149
1 files changed, 98 insertions, 51 deletions
diff --git a/lib/SendGridCompatibility/Email.php b/lib/SendGridCompatibility/Email.php
index 251b7f2..b375839 100644
--- a/lib/SendGridCompatibility/Email.php
+++ b/lib/SendGridCompatibility/Email.php
@@ -1,146 +1,181 @@
<?php
namespace SparkPost\SendGridCompatibility;
-class Email {
+class Email
+{
public $model;
-
/**
- * @desc Sets up the model for saving the configuration
+ * Sets up the model for saving the configuration
*/
- public function __construct() {
+ public function __construct()
+ {
$this->model = array();
}
/**
- * @desc adds addresses as recipients
+ * Adds addresses as recipients
+ *
* @param string $address
* @param string $name optional
* @return \SparkPost\SendGridCompatibility\Email
*/
- 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;
}
/**
- * @desc 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 \SparkPost\SendGridCompatibility\Email
+ */
+ public function setTos(array $addresses)
+ {
$this->model['recipients'] = $addresses;
+
return $this;
}
/**
- * @desc sets the from address
+ * Sets the from address
+ *
* @param string $address
- * @return \MessageSystems\SendGridCompatibility\Email
+ * @return $this
*/
- public function setFrom($address) {
+ public function setFrom($address)
+ {
$this->model['from'] = array('email' => $address);
+
return $this;
}
/**
- * @desc sets the name for the from address
+ * 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;
}
/**
- * @desc sets the reply to field
+ * Sets the reply to field
+ *
* @param string $address
- * @return \MessageSystems\SendGridCompatibility\Email
+ * @return $this
*/
- public function setReplyTo ($address) {
+ public function setReplyTo($address)
+ {
$this->model['replyTo'] = $address;
+
return $this;
}
/**
- * @desc 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 \MessageSystems\SendGridCompatibility\Email
+ * @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');
}
/**
- * @desc sets the subject header
+ * Sets the subject header
+ *
* @param string $subject
* @return \SparkPost\SendGridCompatibility\Email
*/
- public function setSubject($subject) {
+ public function setSubject($subject)
+ {
$this->model['subject'] = $subject;
+
return $this;
}
/**
- * @desc sets the text body
+ * Sets the text body
+ *
* @param string $text
* @return \SparkPost\SendGridCompatibility\Email
*/
- public function setText($text) {
+ public function setText($text)
+ {
$this->model['text'] = $text;
+
return $this;
}
/**
- * @desc sets the html body
+ * Sets the html body
+ *
* @param string $html
* @return \SparkPost\SendGridCompatibility\Email
*/
- public function setHtml($html) {
+ public function setHtml($html)
+ {
$this->model['html'] = $html;
+
return $this;
}
/**
- * @desc Throws an exception since adding categories is not yet supported
+ * 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');
}
/**
- * @desc Throws an exception since adding attachments is not yet supported
- * @throws Exception
+ * Throws an exception since adding attachments is not yet supported
+ *
* @param mixed $attachment
+ * @throws \Exception
*/
- public function addAttachment($attachment) {
+ public function addAttachment($attachment)
+ {
throw new \Exception('Adding attachments is not yet supported');
}
/**
- * @desc Adds transmission level substitution data
+ * Adds transmission level substitution data
+ *
* @param string $name
* @param mixed $values
* @return \SparkPost\SendGridCompatibility\Email
*/
- public function addSubstitution($name, $values) {
+ public function addSubstitution($name, $values)
+ {
if (!isset($this->model['substitutionData'])) {
$this->model['substitutionData'] = array();
}
@@ -150,38 +185,47 @@ class Email {
}
/**
- * @desc Adds transmission level substitution data
+ * 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);
}
/**
- * @desc Throws an exception because arguments for third party systems is not supported
- * @throws Exception
+ * Throws an exception because arguments for third party systems is not supported
+ *
+ * @param $key
* @param mixed $value
+ * @throws \Exception
*/
- public function addUniqueArg($key, $value) {
+ public function addUniqueArg($key, $value)
+ {
throw new \Exception('Adding Unique Arguments is not yet supported');
}
/**
- * @desc Throws an exception because arguments for third party systems is not supported
- * @throws Exception
+ * Throws an exception because arguments for third party systems is not supported
+ *
* @param mixed $values
+ * @throws \Exception
*/
- public function setUniqueArgs(array $values) {
+ public function setUniqueArgs(array $values)
+ {
throw new \Exception('Setting Unique Arguments is not yet supported');
}
/**
- * @desc Adds custom headers to the email header
+ * 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();
}
@@ -189,11 +233,14 @@ class Email {
}
/**
- * @desc 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;
}
}
+
?>