mirror of
https://github.com/retailcrm/mailgun-php.git
synced 2024-11-22 20:46:03 +03:00
Merge pull request #33 from travelton/PatchAggregator
This patch swaps the aggregator to "PHPAggregator" if files are included...
This commit is contained in:
commit
d8b57132d5
@ -1,3 +1,8 @@
|
|||||||
|
## 1.7 (2014-1-30)
|
||||||
|
|
||||||
|
Bugfixes:
|
||||||
|
- patched bug for attachments related to duplicate aggregator bug in Guzzle (#32 @travelton)
|
||||||
|
|
||||||
## 1.6 (2014-1-13)
|
## 1.6 (2014-1-13)
|
||||||
|
|
||||||
Enhancement:
|
Enhancement:
|
||||||
|
@ -22,11 +22,13 @@ composer and the Mailgun SDK.
|
|||||||
curl -sS https://getcomposer.org/installer | php
|
curl -sS https://getcomposer.org/installer | php
|
||||||
|
|
||||||
# Add Mailgun as a dependency
|
# Add Mailgun as a dependency
|
||||||
php composer.phar require mailgun/mailgun-php:~1.6
|
php composer.phar require mailgun/mailgun-php:~1.7
|
||||||
```
|
```
|
||||||
|
|
||||||
**For shared hosts without SSH access, check out our [Shared Host Instructions](SharedHostInstall.md).**
|
**For shared hosts without SSH access, check out our [Shared Host Instructions](SharedHostInstall.md).**
|
||||||
|
|
||||||
|
**Rather just download the files? [Library Download](https://9f67cbbd1116d8afb399-7760483f5d1e5f28c2d253278a2a5045.ssl.cf2.rackcdn.com/mailgun-php-1.7.zip).**
|
||||||
|
|
||||||
Next, require Composer's autoloader, in your application, to automatically
|
Next, require Composer's autoloader, in your application, to automatically
|
||||||
load the Mailgun SDK in your project:
|
load the Mailgun SDK in your project:
|
||||||
```PHP
|
```PHP
|
||||||
|
@ -11,7 +11,7 @@ Linux / Mac OSX:
|
|||||||
*PHP is typically installed by default, consult your distribution documentation. Instructions from [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-nix).*
|
*PHP is typically installed by default, consult your distribution documentation. Instructions from [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-nix).*
|
||||||
|
|
||||||
1. curl -sS https://getcomposer.org/installer | php
|
1. curl -sS https://getcomposer.org/installer | php
|
||||||
2. php composer.phar require mailgun/mailgun-php:~1.6
|
2. php composer.phar require mailgun/mailgun-php:~1.7
|
||||||
3. The files will be downloaded to your local computer.
|
3. The files will be downloaded to your local computer.
|
||||||
4. Upload the files to your webserver.
|
4. Upload the files to your webserver.
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ Windows:
|
|||||||
*PHP must be installed on your computer, [download](http://windows.php.net/download/0). Instructions from [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-windows).*
|
*PHP must be installed on your computer, [download](http://windows.php.net/download/0). Instructions from [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-windows).*
|
||||||
|
|
||||||
1. Download and run [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe).
|
1. Download and run [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe).
|
||||||
2. Open a Command Prompt and type "php composer require mailgun/mailgun-php:~1.6".
|
2. Open a Command Prompt and type "php composer require mailgun/mailgun-php:~1.7".
|
||||||
3. The files will be downloaded to your local computer.
|
3. The files will be downloaded to your local computer.
|
||||||
4. Upload the files to your webserver.
|
4. Upload the files to your webserver.
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ use Mailgun\MailgunClient;
|
|||||||
|
|
||||||
use Mailgun\Connection\Exceptions\GenericHTTPError;
|
use Mailgun\Connection\Exceptions\GenericHTTPError;
|
||||||
use Guzzle\Http\QueryAggregator\DuplicateAggregator;
|
use Guzzle\Http\QueryAggregator\DuplicateAggregator;
|
||||||
|
use Guzzle\Http\QueryAggregator\PhpAggregator;
|
||||||
use Mailgun\Connection\Exceptions\InvalidCredentials;
|
use Mailgun\Connection\Exceptions\InvalidCredentials;
|
||||||
use Mailgun\Connection\Exceptions\NoDomainsConfigured;
|
use Mailgun\Connection\Exceptions\NoDomainsConfigured;
|
||||||
use Mailgun\Connection\Exceptions\MissingRequiredParameters;
|
use Mailgun\Connection\Exceptions\MissingRequiredParameters;
|
||||||
@ -20,6 +21,7 @@ class RestClient{
|
|||||||
|
|
||||||
private $apiKey;
|
private $apiKey;
|
||||||
protected $mgClient;
|
protected $mgClient;
|
||||||
|
protected $hasFiles = False;
|
||||||
|
|
||||||
public function __construct($apiKey, $apiEndpoint, $apiVersion, $ssl){
|
public function __construct($apiKey, $apiEndpoint, $apiVersion, $ssl){
|
||||||
$this->apiKey = $apiKey;
|
$this->apiKey = $apiKey;
|
||||||
@ -34,11 +36,14 @@ class RestClient{
|
|||||||
$request = $this->mgClient->post($endpointUrl, array(), $postData);
|
$request = $this->mgClient->post($endpointUrl, array(), $postData);
|
||||||
|
|
||||||
if(isset($files["message"])){
|
if(isset($files["message"])){
|
||||||
|
$this->hasFiles = True;
|
||||||
foreach($files as $message){
|
foreach($files as $message){
|
||||||
$request->addPostFile("message", $message);
|
$request->addPostFile("message", $message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($files["attachment"])){
|
if(isset($files["attachment"])){
|
||||||
|
$this->hasFiles = True;
|
||||||
foreach($files["attachment"] as $attachment){
|
foreach($files["attachment"] as $attachment){
|
||||||
// Backward compatibility code
|
// Backward compatibility code
|
||||||
if (is_array($attachment)){
|
if (is_array($attachment)){
|
||||||
@ -51,7 +56,9 @@ class RestClient{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($files["inline"])){
|
if(isset($files["inline"])){
|
||||||
|
$this->hasFiles = True;
|
||||||
foreach($files["inline"] as $inline){
|
foreach($files["inline"] as $inline){
|
||||||
// Backward compatibility code
|
// Backward compatibility code
|
||||||
if (is_array($inline)){
|
if (is_array($inline)){
|
||||||
@ -65,7 +72,20 @@ class RestClient{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$request->getPostFields()->setAggregator(new DuplicateAggregator());
|
/*
|
||||||
|
This block of code is to accommodate for a bug in Guzzle.
|
||||||
|
See https://github.com/guzzle/guzzle/issues/545.
|
||||||
|
It can be removed when Guzzle resolves the issue.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if($this->hasFiles){
|
||||||
|
$request->getPostFields()->setAggregator(new PhpAggregator());
|
||||||
|
}
|
||||||
|
|
||||||
|
else{
|
||||||
|
$request->getPostFields()->setAggregator(new DuplicateAggregator());
|
||||||
|
}
|
||||||
|
|
||||||
$response = $request->send();
|
$response = $request->send();
|
||||||
return $this->responseHandler($response);
|
return $this->responseHandler($response);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?PHP
|
<?PHP
|
||||||
|
|
||||||
const API_USER = "api";
|
const API_USER = "api";
|
||||||
const SDK_VERSION = "1.11";
|
const SDK_VERSION = "1.7";
|
||||||
const SDK_USER_AGENT = "mailgun-sdk-php";
|
const SDK_USER_AGENT = "mailgun-sdk-php";
|
||||||
const RECIPIENT_COUNT_LIMIT = 1000;
|
const RECIPIENT_COUNT_LIMIT = 1000;
|
||||||
const CAMPAIGN_ID_LIMIT = 3;
|
const CAMPAIGN_ID_LIMIT = 3;
|
||||||
|
Loading…
Reference in New Issue
Block a user