PHP Code Sniffer

This commit is contained in:
David Garcia 2016-07-24 12:40:50 +01:00
parent 88a3e96733
commit 09eda3df13
16 changed files with 225 additions and 182 deletions

View File

@ -6,18 +6,21 @@ class GenericHTTPError extends \Exception
protected $httpResponseCode; protected $httpResponseCode;
protected $httpResponseBody; protected $httpResponseBody;
public function __construct($message=null, $response_code=null, $response_body=null, $code=0, \Exception $previous=null) { public function __construct($message=null, $response_code=null, $response_body=null, $code=0, \Exception $previous=null)
{
parent::__construct($message, $code, $previous); parent::__construct($message, $code, $previous);
$this->httpResponseCode = $response_code; $this->httpResponseCode = $response_code;
$this->httpResponseBody = $response_body; $this->httpResponseBody = $response_body;
} }
public function getHttpResponseCode() { public function getHttpResponseCode()
{
return $this->httpResponseCode; return $this->httpResponseCode;
} }
public function getHttpResponseBody() { public function getHttpResponseBody()
{
return $this->httpResponseBody; return $this->httpResponseBody;
} }
} }

View File

@ -1,4 +1,6 @@
<?php <?php
namespace Mailgun\Connection\Exceptions; namespace Mailgun\Connection\Exceptions;
class InvalidCredentials extends \Exception{} class InvalidCredentials extends \Exception
{
}

View File

@ -1,4 +1,6 @@
<?php <?php
namespace Mailgun\Connection\Exceptions; namespace Mailgun\Connection\Exceptions;
class MissingEndpoint extends \Exception{} class MissingEndpoint extends \Exception
{
}

View File

@ -1,4 +1,6 @@
<?php <?php
namespace Mailgun\Connection\Exceptions; namespace Mailgun\Connection\Exceptions;
class MissingRequiredParameters extends \Exception{} class MissingRequiredParameters extends \Exception
{
}

View File

@ -1,4 +1,6 @@
<?php <?php
namespace Mailgun\Connection\Exceptions; namespace Mailgun\Connection\Exceptions;
class NoDomainsConfigured extends \Exception{} class NoDomainsConfigured extends \Exception
{
}

View File

@ -21,6 +21,7 @@ class RestClient
{ {
/** /**
* Your API key * Your API key
*
* @var string * @var string
*/ */
private $apiKey; private $apiKey;
@ -37,12 +38,14 @@ class RestClient
/** /**
* The version of the API to use * The version of the API to use
*
* @var string * @var string
*/ */
protected $apiVersion = 'v2'; protected $apiVersion = 'v2';
/** /**
* If we should use SSL or not * If we should use SSL or not
*
* @var bool * @var bool
*/ */
protected $sslEnabled = true; protected $sslEnabled = true;

View File

@ -4,7 +4,8 @@
namespace Mailgun\Constants; namespace Mailgun\Constants;
class Api { class Api
{
const API_USER = "api"; const API_USER = "api";
const SDK_VERSION = "1.7"; const SDK_VERSION = "1.7";
const SDK_USER_AGENT = "mailgun-sdk-php"; const SDK_USER_AGENT = "mailgun-sdk-php";

View File

@ -4,7 +4,8 @@
namespace Mailgun\Constants; namespace Mailgun\Constants;
class ExceptionMessages { class ExceptionMessages
{
const EXCEPTION_INVALID_CREDENTIALS = "Your credentials are incorrect."; const EXCEPTION_INVALID_CREDENTIALS = "Your credentials are incorrect.";
const EXCEPTION_GENERIC_HTTP_ERROR = "An HTTP Error has occurred! Check your network connection and try again."; const EXCEPTION_GENERIC_HTTP_ERROR = "An HTTP Error has occurred! Check your network connection and try again.";
const EXCEPTION_MISSING_REQUIRED_PARAMETERS = "The parameters passed to the API were invalid. Check your inputs!"; const EXCEPTION_MISSING_REQUIRED_PARAMETERS = "The parameters passed to the API were invalid. Check your inputs!";

View File

@ -12,7 +12,8 @@ use Mailgun\Messages\Expcetions\InvalidParameterType;
* *
* @link https://github.com/mailgun/mailgun-php/blob/master/src/Mailgun/Lists/README.md * @link https://github.com/mailgun/mailgun-php/blob/master/src/Mailgun/Lists/README.md
*/ */
class OptInHandler{ class OptInHandler
{
/** /**
* @param string $mailingList * @param string $mailingList
@ -20,7 +21,8 @@ class OptInHandler{
* @param string $recipientAddress * @param string $recipientAddress
* @return string * @return string
*/ */
public function generateHash($mailingList, $secretAppId, $recipientAddress){ public function generateHash($mailingList, $secretAppId, $recipientAddress)
{
$innerPayload = array('r' => $recipientAddress, 'l' => $mailingList); $innerPayload = array('r' => $recipientAddress, 'l' => $mailingList);
$encodedInnerPayload = base64_encode(json_encode($innerPayload)); $encodedInnerPayload = base64_encode(json_encode($innerPayload));
@ -35,7 +37,8 @@ class OptInHandler{
* @param string $uniqueHash * @param string $uniqueHash
* @return array|bool * @return array|bool
*/ */
public function validateHash($secretAppId, $uniqueHash){ public function validateHash($secretAppId, $uniqueHash)
{
$decodedOuterPayload = json_decode(base64_decode(urldecode($uniqueHash)), true); $decodedOuterPayload = json_decode(base64_decode(urldecode($uniqueHash)), true);
$decodedHash = $decodedOuterPayload['h']; $decodedHash = $decodedOuterPayload['h'];
@ -44,7 +47,7 @@ class OptInHandler{
$decodedInnerPayload = json_decode(base64_decode($innerPayload), true); $decodedInnerPayload = json_decode(base64_decode($innerPayload), true);
$computedInnerHash = hash_hmac("sha1", $innerPayload, $secretAppId); $computedInnerHash = hash_hmac("sha1", $innerPayload, $secretAppId);
if($computedInnerHash == $decodedHash){ if($computedInnerHash == $decodedHash) {
return array('recipientAddress' => $decodedInnerPayload['r'], 'mailingList' => $decodedInnerPayload['l']); return array('recipientAddress' => $decodedInnerPayload['r'], 'mailingList' => $decodedInnerPayload['l']);
} }

View File

@ -16,7 +16,8 @@ use Mailgun\Messages\MessageBuilder;
* *
* @link https://github.com/mailgun/mailgun-php/blob/master/README.md * @link https://github.com/mailgun/mailgun-php/blob/master/README.md
*/ */
class Mailgun{ class Mailgun
{
/** /**
* @var RestClient * @var RestClient
@ -53,11 +54,12 @@ class Mailgun{
* @return \stdClass * @return \stdClass
* @throws Exceptions\MissingRequiredMIMEParameters * @throws Exceptions\MissingRequiredMIMEParameters
*/ */
public function sendMessage($workingDomain, $postData, $postFiles = array()){ public function sendMessage($workingDomain, $postData, $postFiles = array())
if(is_array($postFiles)){ {
if(is_array($postFiles)) {
return $this->post("$workingDomain/messages", $postData, $postFiles); return $this->post("$workingDomain/messages", $postData, $postFiles);
} }
else if(is_string($postFiles)){ else if(is_string($postFiles)) {
$tempFile = tempnam(sys_get_temp_dir(), "MG_TMP_MIME"); $tempFile = tempnam(sys_get_temp_dir(), "MG_TMP_MIME");
$fileHandle = fopen($tempFile, "w"); $fileHandle = fopen($tempFile, "w");
@ -86,7 +88,8 @@ class Mailgun{
* @param array|null $postData * @param array|null $postData
* @return bool * @return bool
*/ */
public function verifyWebhookSignature($postData = NULL) { public function verifyWebhookSignature($postData = null)
{
if($postData === null) { if($postData === null) {
$postData = $_POST; $postData = $_POST;
} }
@ -110,7 +113,8 @@ class Mailgun{
* @param array $files * @param array $files
* @return \stdClass * @return \stdClass
*/ */
public function post($endpointUrl, $postData = array(), $files = array()){ public function post($endpointUrl, $postData = array(), $files = array())
{
return $this->restClient->post($endpointUrl, $postData, $files); return $this->restClient->post($endpointUrl, $postData, $files);
} }
@ -119,7 +123,8 @@ class Mailgun{
* @param array $queryString * @param array $queryString
* @return \stdClass * @return \stdClass
*/ */
public function get($endpointUrl, $queryString = array()){ public function get($endpointUrl, $queryString = array())
{
return $this->restClient->get($endpointUrl, $queryString); return $this->restClient->get($endpointUrl, $queryString);
} }
@ -127,7 +132,8 @@ class Mailgun{
* @param string $endpointUrl * @param string $endpointUrl
* @return \stdClass * @return \stdClass
*/ */
public function delete($endpointUrl){ public function delete($endpointUrl)
{
return $this->restClient->delete($endpointUrl); return $this->restClient->delete($endpointUrl);
} }
@ -136,7 +142,8 @@ class Mailgun{
* @param array $putData * @param array $putData
* @return \stdClass * @return \stdClass
*/ */
public function put($endpointUrl, $putData){ public function put($endpointUrl, $putData)
{
return $this->restClient->put($endpointUrl, $putData); return $this->restClient->put($endpointUrl, $putData);
} }
@ -167,14 +174,16 @@ class Mailgun{
/** /**
* @return MessageBuilder * @return MessageBuilder
*/ */
public function MessageBuilder(){ public function MessageBuilder()
{
return new MessageBuilder(); return new MessageBuilder();
} }
/** /**
* @return OptInHandler * @return OptInHandler
*/ */
public function OptInHandler(){ public function OptInHandler()
{
return new OptInHandler(); return new OptInHandler();
} }
@ -183,7 +192,8 @@ class Mailgun{
* @param bool $autoSend * @param bool $autoSend
* @return BatchMessage * @return BatchMessage
*/ */
public function BatchMessage($workingDomain, $autoSend = true){ public function BatchMessage($workingDomain, $autoSend = true)
{
return new BatchMessage($this->restClient, $workingDomain, $autoSend); return new BatchMessage($this->restClient, $workingDomain, $autoSend);
} }
} }

View File

@ -13,7 +13,8 @@ use Mailgun\Messages\Exceptions\MissingRequiredMIMEParameters;
* *
* @link https://github.com/mailgun/mailgun-php/blob/master/src/Mailgun/Messages/README.md * @link https://github.com/mailgun/mailgun-php/blob/master/src/Mailgun/Messages/README.md
*/ */
class BatchMessage extends MessageBuilder{ class BatchMessage extends MessageBuilder
{
/** /**
* @var array * @var array
@ -50,7 +51,8 @@ class BatchMessage extends MessageBuilder{
* @param string $workingDomain * @param string $workingDomain
* @param boolean $autoSend * @param boolean $autoSend
*/ */
public function __construct($restClient, $workingDomain, $autoSend){ public function __construct($restClient, $workingDomain, $autoSend)
{
$this->batchRecipientAttributes = array(); $this->batchRecipientAttributes = array();
$this->autoSend = $autoSend; $this->autoSend = $autoSend;
$this->restClient = $restClient; $this->restClient = $restClient;
@ -65,10 +67,11 @@ class BatchMessage extends MessageBuilder{
* @throws MissingRequiredMIMEParameters * @throws MissingRequiredMIMEParameters
* @throws TooManyParameters * @throws TooManyParameters
*/ */
protected function addRecipient($headerName, $address, $variables){ protected function addRecipient($headerName, $address, $variables)
if(array_key_exists($headerName, $this->counters['recipients'])){ {
if($this->counters['recipients'][$headerName] == Api::RECIPIENT_COUNT_LIMIT){ if(array_key_exists($headerName, $this->counters['recipients'])) {
if($this->autoSend == false){ if($this->counters['recipients'][$headerName] == Api::RECIPIENT_COUNT_LIMIT) {
if($this->autoSend == false) {
throw new TooManyParameters(ExceptionMessages::TOO_MANY_RECIPIENTS); throw new TooManyParameters(ExceptionMessages::TOO_MANY_RECIPIENTS);
} }
$this->sendMessage(); $this->sendMessage();
@ -77,19 +80,19 @@ class BatchMessage extends MessageBuilder{
$compiledAddress = $this->parseAddress($address, $variables); $compiledAddress = $this->parseAddress($address, $variables);
if(isset($this->message[$headerName])){ if(isset($this->message[$headerName])) {
array_push($this->message[$headerName], $compiledAddress); array_push($this->message[$headerName], $compiledAddress);
} }
elseif($headerName == "h:reply-to"){ elseif($headerName == "h:reply-to") {
$this->message[$headerName] = $compiledAddress; $this->message[$headerName] = $compiledAddress;
} }
else{ else{
$this->message[$headerName] = array($compiledAddress); $this->message[$headerName] = array($compiledAddress);
} }
if(array_key_exists($headerName, $this->counters['recipients'])){ if(array_key_exists($headerName, $this->counters['recipients'])) {
$this->counters['recipients'][$headerName] += 1; $this->counters['recipients'][$headerName] += 1;
if(!array_key_exists("id", $variables)){ if(!array_key_exists("id", $variables)) {
$variables['id'] = $this->counters['recipients'][$headerName]; $variables['id'] = $this->counters['recipients'][$headerName];
} }
} }
@ -101,21 +104,22 @@ class BatchMessage extends MessageBuilder{
* @param array $files * @param array $files
* @throws MissingRequiredMIMEParameters * @throws MissingRequiredMIMEParameters
*/ */
public function sendMessage($message = array(), $files = array()){ public function sendMessage($message = array(), $files = array())
if(count($message) < 1){ {
if(count($message) < 1) {
$message = $this->message; $message = $this->message;
$files = $this->files; $files = $this->files;
} }
if(!array_key_exists("from", $message)){ if(!array_key_exists("from", $message)) {
throw new MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS); throw new MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS);
} }
elseif(!array_key_exists("to", $message)){ elseif(!array_key_exists("to", $message)) {
throw new MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS); throw new MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS);
} }
elseif(!array_key_exists("subject", $message)){ elseif(!array_key_exists("subject", $message)) {
throw new MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS); throw new MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS);
} }
elseif((!array_key_exists("text", $message) && !array_key_exists("html", $message))){ elseif((!array_key_exists("text", $message) && !array_key_exists("html", $message))) {
throw new MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS); throw new MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS);
} }
else{ else{
@ -133,14 +137,16 @@ class BatchMessage extends MessageBuilder{
/** /**
* @throws MissingRequiredMIMEParameters * @throws MissingRequiredMIMEParameters
*/ */
public function finalize(){ public function finalize()
{
$this->sendMessage(); $this->sendMessage();
} }
/** /**
* @return string[] * @return string[]
*/ */
public function getMessageIds(){ public function getMessageIds()
{
return $this->messageIds; return $this->messageIds;
} }
} }

View File

@ -1,4 +1,6 @@
<?php <?php
namespace Mailgun\Messages\Exceptions; namespace Mailgun\Messages\Exceptions;
class InvalidParameter extends \Exception{} class InvalidParameter extends \Exception
{
}

View File

@ -1,4 +1,6 @@
<?php <?php
namespace Mailgun\Messages\Exceptions; namespace Mailgun\Messages\Exceptions;
class InvalidParameterType extends \Exception{} class InvalidParameterType extends \Exception
{
}

View File

@ -1,4 +1,6 @@
<?php <?php
namespace Mailgun\Messages\Exceptions; namespace Mailgun\Messages\Exceptions;
class MissingRequiredMIMEParameters extends \Exception{} class MissingRequiredMIMEParameters extends \Exception
{
}

View File

@ -1,4 +1,6 @@
<?php <?php
namespace Mailgun\Messages\Exceptions; namespace Mailgun\Messages\Exceptions;
class TooManyParameters extends \Exception{} class TooManyParameters extends \Exception
{
}