summaryrefslogtreecommitdiffstats
path: root/lib/SendGridCompatibility
diff options
context:
space:
mode:
authorJason Rhodes <jason.matthew.rhodes@gmail.com>2016-05-03 22:10:04 -0400
committerRichard Leland <rich@richleland.com>2016-05-03 22:10:04 -0400
commitd4c3a89c103e551a3cd71d20f36414095158365b (patch)
tree86ff4277800b41e1cf9def71b1753d53c0b25def /lib/SendGridCompatibility
parentd96d825aa138af92628ec7311c05e9659917ba79 (diff)
downloadphp-sparkpost-d4c3a89c103e551a3cd71d20f36414095158365b.zip
php-sparkpost-d4c3a89c103e551a3cd71d20f36414095158365b.tar.gz
php-sparkpost-d4c3a89c103e551a3cd71d20f36414095158365b.tar.bz2
Add php-cs-fixer as composer script and make initial fix-style run
* Add php-cs-fixer as composer script * Make initial fix-style run * Fix indentation on all files * Add editorconfig file
Diffstat (limited to 'lib/SendGridCompatibility')
-rw-r--r--lib/SendGridCompatibility/Email.php450
-rw-r--r--lib/SendGridCompatibility/SendGrid.php31
2 files changed, 272 insertions, 209 deletions
diff --git a/lib/SendGridCompatibility/Email.php b/lib/SendGridCompatibility/Email.php
index 5065e1f..3ca2466 100644
--- a/lib/SendGridCompatibility/Email.php
+++ b/lib/SendGridCompatibility/Email.php
@@ -1,199 +1,259 @@
<?php
+
namespace SparkPost\SendGridCompatibility;
-class Email {
- public $model;
-
- /**
- * Sets up the model for saving the configuration
- */
- public function __construct() {
- $this->model = array();
- }
-
- /**
- * adds addresses as recipients
- * @param string $address
- * @param string $name optional
- * @return $this
- */
- 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));
- } else {
- $address = array('address'=>array('email'=>$address));
- }
-
- array_push($this->model['recipients'], $address);
- return $this;
- }
-
- /**
- * 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
- * @param string $address
- * @return $this
- */
- 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'])){
- throw new \Exception('Must set \'From\' prior to setting \'From Name\'.');
- }
- $this->model['from']['name'] = $name;
- return $this;
- }
-
- /**
- * sets the reply to field
- * @param string $address
- * @return $this
- */
- public function setReplyTo ($address) {
- $this->model['replyTo'] = $address;
- return $this;
- }
-
- /**
- * throws an error because bcc fields are not yet implemented.
- * @throws \Exception
- * @param string $address
- * @return $this
- */
- 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
- * @param string $subject
- * @return $this
- */
- public function setSubject($subject) {
- $this->model['subject'] = $subject;
- return $this;
- }
-
- /**
- * sets the text body
- * @param string $text
- * @return $this
- */
- public function setText($text) {
- $this->model['text'] = $text;
- return $this;
- }
-
- /**
- * sets the html body
- * @param string $html
- * @return $this
- */
- public function setHtml($html) {
- $this->model['html'] = $html;
- return $this;
- }
-
- /**
- * Throws an exception since adding categories is not yet supported
- * @param string $category
- * @throws \Exception
- */
- public function addCategory($category) {
- throw new \Exception('Adding categories is not yet supported');
- }
-
- /**
- * Throws an exception since adding attachments is not yet supported
- * @throws \Exception
- * @param mixed $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 $this
- */
- public function addSubstitution($name, $values) {
- if (!isset($this->model['substitutionData'])) {
- $this->model['substitutionData'] = array();
- }
- $this->model['substitutionData'][$name] = $values;
-
- return $this;
- }
-
- /**
- * Adds transmission level substitution data
- * @param string $name
- * @param mixed $values
- */
- public function addSection($name, $values) {
- $this->addSubstitution($name, $values);
- }
-
- /**
- * Throws an exception because arguments for third party systems is not supported
- * @throws \Exception
- * @param mixed $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
- * @throws \Exception
- * @param mixed $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) {
- if (!isset($this->model['customHeaders'])) {
- $this->model['customHeaders'] = array();
- }
- $this->model['customHeaders'][$name] = $value;
- }
-
- /**
- * converts this object to a configuration for a SparkPost transmission
- * @return array
- */
- public function toSparkPostTransmission() {
- return $this->model;
- }
+class Email
+{
+ public $model;
+
+ /**
+ * Sets up the model for saving the configuration.
+ */
+ public function __construct()
+ {
+ $this->model = array();
+ }
+
+ /**
+ * adds addresses as recipients.
+ *
+ * @param string $address
+ * @param string $name optional
+ *
+ * @return $this
+ */
+ 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));
+ } else {
+ $address = array('address' => array('email' => $address));
+ }
+
+ array_push($this->model['recipients'], $address);
+
+ return $this;
+ }
+
+ /**
+ * 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.
+ *
+ * @param string $address
+ *
+ * @return $this
+ */
+ 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'])) {
+ throw new \Exception('Must set \'From\' prior to setting \'From Name\'.');
+ }
+ $this->model['from']['name'] = $name;
+
+ return $this;
+ }
+
+ /**
+ * sets the reply to field.
+ *
+ * @param string $address
+ *
+ * @return $this
+ */
+ public function setReplyTo($address)
+ {
+ $this->model['replyTo'] = $address;
+
+ return $this;
+ }
+
+ /**
+ * throws an error because bcc fields are not yet implemented.
+ *
+ * @throws \Exception
+ *
+ * @param string $address
+ *
+ * @return $this
+ */
+ 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.
+ *
+ * @param string $subject
+ *
+ * @return $this
+ */
+ public function setSubject($subject)
+ {
+ $this->model['subject'] = $subject;
+
+ return $this;
+ }
+
+ /**
+ * sets the text body.
+ *
+ * @param string $text
+ *
+ * @return $this
+ */
+ public function setText($text)
+ {
+ $this->model['text'] = $text;
+
+ return $this;
+ }
+
+ /**
+ * sets the html body.
+ *
+ * @param string $html
+ *
+ * @return $this
+ */
+ public function setHtml($html)
+ {
+ $this->model['html'] = $html;
+
+ return $this;
+ }
+
+ /**
+ * Throws an exception since adding categories is not yet supported.
+ *
+ * @param string $category
+ *
+ * @throws \Exception
+ */
+ public function addCategory($category)
+ {
+ throw new \Exception('Adding categories is not yet supported');
+ }
+
+ /**
+ * Throws an exception since adding attachments is not yet supported.
+ *
+ * @throws \Exception
+ *
+ * @param mixed $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 $this
+ */
+ public function addSubstitution($name, $values)
+ {
+ if (!isset($this->model['substitutionData'])) {
+ $this->model['substitutionData'] = array();
+ }
+ $this->model['substitutionData'][$name] = $values;
+
+ return $this;
+ }
+
+ /**
+ * Adds transmission level substitution data.
+ *
+ * @param string $name
+ * @param mixed $values
+ */
+ public function addSection($name, $values)
+ {
+ $this->addSubstitution($name, $values);
+ }
+
+ /**
+ * Throws an exception because arguments for third party systems is not supported.
+ *
+ * @throws \Exception
+ *
+ * @param mixed $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.
+ *
+ * @throws \Exception
+ *
+ * @param mixed $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)
+ {
+ if (!isset($this->model['customHeaders'])) {
+ $this->model['customHeaders'] = array();
+ }
+ $this->model['customHeaders'][$name] = $value;
+ }
+
+ /**
+ * converts this object to a configuration for a SparkPost transmission.
+ *
+ * @return array
+ */
+ public function toSparkPostTransmission()
+ {
+ return $this->model;
+ }
}
-?>
diff --git a/lib/SendGridCompatibility/SendGrid.php b/lib/SendGridCompatibility/SendGrid.php
index 1671e6b..c5e84c1 100644
--- a/lib/SendGridCompatibility/SendGrid.php
+++ b/lib/SendGridCompatibility/SendGrid.php
@@ -1,23 +1,26 @@
<?php
+
namespace SparkPost\SendGridCompatibility;
use SparkPost\SparkPost;
-class SendGrid{
- private $sparky;
+class SendGrid
+{
+ private $sparky;
- public function __construct($username, $password, $options = null, $httpAdapter) {
- //username isn't used in our system
- $opts = array('key'=>$password);
- if (!is_null($options)) {
- $opts = array_merge($opts, $options);
- }
+ public function __construct($username, $password, $options = null, $httpAdapter)
+ {
+ //username isn't used in our system
+ $opts = array('key' => $password);
+ if (!is_null($options)) {
+ $opts = array_merge($opts, $options);
+ }
- $this->sparky = new SparkPost($httpAdapter, $opts);
- }
+ $this->sparky = new SparkPost($httpAdapter, $opts);
+ }
- public function send(Email $email) {
- $this->sparky->transmission->send($email->toSparkPostTransmission());
- }
+ public function send(Email $email)
+ {
+ $this->sparky->transmission->send($email->toSparkPostTransmission());
+ }
}
-?>