mirror of
https://github.com/retailcrm/mailgun-php.git
synced 2024-11-26 06:46:08 +03:00
* Added php docblocks to functions and member variables.
* Changed constants to use new constant classes. * Changed class docblock to include link to readme file * Moved function descriptions of sendMessage() and verifyWebhookSignature() methods to function docblocks
This commit is contained in:
parent
7fed60d881
commit
4924b597f4
@ -2,36 +2,53 @@
|
|||||||
|
|
||||||
namespace Mailgun;
|
namespace Mailgun;
|
||||||
|
|
||||||
require_once 'Constants/Constants.php';
|
use Mailgun\Constants\ExceptionMessages;
|
||||||
|
|
||||||
use Mailgun\Messages\Messages;
|
|
||||||
use Mailgun\Messages\Exceptions;
|
use Mailgun\Messages\Exceptions;
|
||||||
use Mailgun\Connection\RestClient;
|
use Mailgun\Connection\RestClient;
|
||||||
use Mailgun\Messages\BatchMessage;
|
use Mailgun\Messages\BatchMessage;
|
||||||
use Mailgun\Lists\OptInHandler;
|
use Mailgun\Lists\OptInHandler;
|
||||||
use Mailgun\Messages\MessageBuilder;
|
use Mailgun\Messages\MessageBuilder;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
This class is the base class for the Mailgun SDK.
|
* This class is the base class for the Mailgun SDK.
|
||||||
See the official documentation for usage instructions.
|
* See the official documentation (link below) for usage instructions.
|
||||||
*/
|
*
|
||||||
|
* @link https://github.com/mailgun/mailgun-php/blob/master/README.md
|
||||||
|
*/
|
||||||
class Mailgun{
|
class Mailgun{
|
||||||
protected $workingDomain;
|
|
||||||
|
/**
|
||||||
|
* @var RestClient
|
||||||
|
*/
|
||||||
protected $restClient;
|
protected $restClient;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var null|string
|
||||||
|
*/
|
||||||
protected $apiKey;
|
protected $apiKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string|null $apiKey
|
||||||
|
* @param string $apiEndpoint
|
||||||
|
* @param string $apiVersion
|
||||||
|
* @param bool $ssl
|
||||||
|
*/
|
||||||
public function __construct($apiKey = null, $apiEndpoint = "api.mailgun.net", $apiVersion = "v2", $ssl = true){
|
public function __construct($apiKey = null, $apiEndpoint = "api.mailgun.net", $apiVersion = "v2", $ssl = true){
|
||||||
$this->apiKey = $apiKey;
|
$this->apiKey = $apiKey;
|
||||||
$this->restClient = new RestClient($apiKey, $apiEndpoint, $apiVersion, $ssl);
|
$this->restClient = new RestClient($apiKey, $apiEndpoint, $apiVersion, $ssl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function allows the sending of a fully formed message OR a custom
|
||||||
|
* MIME string. If sending MIME, the string must be passed in to the 3rd
|
||||||
|
* position of the function call.
|
||||||
|
*
|
||||||
|
* @param string $workingDomain
|
||||||
|
* @param array $postData
|
||||||
|
* @param array $postFiles
|
||||||
|
* @throws Exceptions\MissingRequiredMIMEParameters
|
||||||
|
*/
|
||||||
public function sendMessage($workingDomain, $postData, $postFiles = array()){
|
public function sendMessage($workingDomain, $postData, $postFiles = array()){
|
||||||
/*
|
|
||||||
* This function allows the sending of a fully formed message OR a custom
|
|
||||||
* MIME string. If sending MIME, the string must be passed in to the 3rd
|
|
||||||
* position of the function call.
|
|
||||||
*/
|
|
||||||
if(is_array($postFiles)){
|
if(is_array($postFiles)){
|
||||||
return $this->post("$workingDomain/messages", $postData, $postFiles);
|
return $this->post("$workingDomain/messages", $postData, $postFiles);
|
||||||
}
|
}
|
||||||
@ -47,21 +64,24 @@ class Mailgun{
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
throw new Exceptions\MissingRequiredMIMEParameters(EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS);
|
throw new Exceptions\MissingRequiredMIMEParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function checks the signature in a POST request to see if it is
|
||||||
|
* authentic.
|
||||||
|
*
|
||||||
|
* Pass an array of parameters. If you pass nothing, $_POST will be
|
||||||
|
* used instead.
|
||||||
|
*
|
||||||
|
* If this function returns FALSE, you must not process the request.
|
||||||
|
* You should reject the request with status code 403 Forbidden.
|
||||||
|
*
|
||||||
|
* @param array|null $postData
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
public function verifyWebhookSignature($postData = NULL) {
|
public function verifyWebhookSignature($postData = NULL) {
|
||||||
/*
|
|
||||||
* This function checks the signature in a POST request to see if it is
|
|
||||||
* authentic.
|
|
||||||
*
|
|
||||||
* Pass an array of parameters. If you pass nothing, $_POST will be
|
|
||||||
* used instead.
|
|
||||||
*
|
|
||||||
* If this function returns FALSE, you must not process the request.
|
|
||||||
* You should reject the request with status code 403 Forbidden.
|
|
||||||
*/
|
|
||||||
if(is_null($postData)) {
|
if(is_null($postData)) {
|
||||||
$postData = $_POST;
|
$postData = $_POST;
|
||||||
}
|
}
|
||||||
@ -76,30 +96,61 @@ class Mailgun{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $endpointUrl
|
||||||
|
* @param array $postData
|
||||||
|
* @param array $files
|
||||||
|
* @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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $endpointUrl
|
||||||
|
* @param array $queryString
|
||||||
|
* @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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $endpointUrl
|
||||||
|
* @return \stdClass
|
||||||
|
*/
|
||||||
public function delete($endpointUrl){
|
public function delete($endpointUrl){
|
||||||
return $this->restClient->delete($endpointUrl);
|
return $this->restClient->delete($endpointUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $endpointUrl
|
||||||
|
* @param array $putData
|
||||||
|
* @return \stdClass
|
||||||
|
*/
|
||||||
public function put($endpointUrl, $putData){
|
public function put($endpointUrl, $putData){
|
||||||
return $this->restClient->put($endpointUrl, $putData);
|
return $this->restClient->put($endpointUrl, $putData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return MessageBuilder
|
||||||
|
*/
|
||||||
public function MessageBuilder(){
|
public function MessageBuilder(){
|
||||||
return new MessageBuilder();
|
return new MessageBuilder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return OptInHandler
|
||||||
|
*/
|
||||||
public function OptInHandler(){
|
public function OptInHandler(){
|
||||||
return new OptInHandler();
|
return new OptInHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $workingDomain
|
||||||
|
* @param bool $autoSend
|
||||||
|
* @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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user