mirror of
https://github.com/retailcrm/mailgun-php.git
synced 2025-02-06 08:19:25 +03:00
PHP Code Sniffer
This commit is contained in:
parent
88a3e96733
commit
09eda3df13
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Mailgun\Connection\Exceptions;
|
namespace Mailgun\Connection\Exceptions;
|
||||||
|
|
||||||
class InvalidCredentials extends \Exception{}
|
class InvalidCredentials extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Mailgun\Connection\Exceptions;
|
namespace Mailgun\Connection\Exceptions;
|
||||||
|
|
||||||
class MissingEndpoint extends \Exception{}
|
class MissingEndpoint extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Mailgun\Connection\Exceptions;
|
namespace Mailgun\Connection\Exceptions;
|
||||||
|
|
||||||
class MissingRequiredParameters extends \Exception{}
|
class MissingRequiredParameters extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Mailgun\Connection\Exceptions;
|
namespace Mailgun\Connection\Exceptions;
|
||||||
|
|
||||||
class NoDomainsConfigured extends \Exception{}
|
class NoDomainsConfigured extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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";
|
||||||
|
@ -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!";
|
||||||
|
@ -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']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Mailgun\Messages\Exceptions;
|
namespace Mailgun\Messages\Exceptions;
|
||||||
|
|
||||||
class InvalidParameter extends \Exception{}
|
class InvalidParameter extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Mailgun\Messages\Exceptions;
|
namespace Mailgun\Messages\Exceptions;
|
||||||
|
|
||||||
class InvalidParameterType extends \Exception{}
|
class InvalidParameterType extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Mailgun\Messages\Exceptions;
|
namespace Mailgun\Messages\Exceptions;
|
||||||
|
|
||||||
class MissingRequiredMIMEParameters extends \Exception{}
|
class MissingRequiredMIMEParameters extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Mailgun\Messages\Exceptions;
|
namespace Mailgun\Messages\Exceptions;
|
||||||
|
|
||||||
class TooManyParameters extends \Exception{}
|
class TooManyParameters extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user