Fix #87 Use PHPMailer to add non-HTML body to mails

This commit is contained in:
Olivier PEREZ 2015-08-18 18:05:43 +02:00
parent 7103cdebff
commit 882203fad8
3 changed files with 184 additions and 143 deletions

View File

@ -1,6 +1,8 @@
<?php <?php
namespace Framadate\Services; namespace Framadate\Services;
use PHPMailer;
class MailService { class MailService {
private $smtp_allowed; private $smtp_allowed;
@ -22,39 +24,40 @@ class MailService {
function send($to, $subject, $body, $msgKey = null) { function send($to, $subject, $body, $msgKey = null) {
if ($this->smtp_allowed == true && $this->canSendMsg($msgKey)) { if ($this->smtp_allowed == true && $this->canSendMsg($msgKey)) {
mb_internal_encoding('UTF-8'); $mail = new PHPMailer(true);
$mail->isSMTP();
// From
$mail->FromName = NOMAPPLICATION;
$mail->From = ADRESSEMAILADMIN;
if ($this->isValidEmail(ADRESSEMAILREPONSEAUTO)) {
$mail->addReplyTo(ADRESSEMAILREPONSEAUTO);
}
// To
$mail->addAddress($to);
// Subject
$mail->Subject = $subject;
// Bodies
$body = $body . ' <br/><br/>' . __('Mail', 'Thanks for your trust.') . ' <br/>' . NOMAPPLICATION . ' <hr/>' . __('Mail', 'FOOTER');
$mail->isHTML(true);
$mail->msgHTML($body, ROOT_DIR, true);
// Build headers // Build headers
$mail->CharSet = 'UTF-8';
$subject = mb_encode_mimeheader(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'), 'UTF-8', 'B', "\n", 9); $mail->addCustomHeader('Auto-Submitted', 'auto-generated');
$mail->addCustomHeader('Return-Path', '<>');
$encoded_app = mb_encode_mimeheader(NOMAPPLICATION, 'UTF-8', 'B', "\n", 6);
$size_encoded_app = (6 + strlen($encoded_app)) % 75;
$size_admin_email = strlen(ADRESSEMAILADMIN);
if (($size_encoded_app + $size_admin_email + 9) > 74) {
$folding = "\n";
} else {
$folding = '';
};
$from = sprintf("From: %s%s <%s>\n", $encoded_app, $folding, ADRESSEMAILADMIN);
$headers = $from;
$headers .= 'Reply-To: ' . ADRESSEMAILREPONSEAUTO . "\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=UTF-8\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Auto-Submitted:auto-generated\n";
$headers .= 'Return-Path: <>';
// Build body
$body = $body . '<br/><br/>' . __('Mail', 'Thanks for your trust.') . '<br/>' . NOMAPPLICATION . '<hr/>' . __('Mail', 'FOOTER');
// Send mail // Send mail
$mail->send();
$this->sendMail($to, $subject, $body, $msgKey, $headers); // Log
$this->logService->log('MAIL', 'Mail sent to: ' . $to . ', key: ' . $msgKey);
// Store the mail sending date
$_SESSION[self::MAILSERVICE_KEY][$msgKey] = time();
} }
} }
@ -69,17 +72,5 @@ class MailService {
return !isset($_SESSION[self::MAILSERVICE_KEY][$msgKey]) || time() - $_SESSION[self::MAILSERVICE_KEY][$msgKey] > self::DELAY_BEFORE_RESEND; return !isset($_SESSION[self::MAILSERVICE_KEY][$msgKey]) || time() - $_SESSION[self::MAILSERVICE_KEY][$msgKey] > self::DELAY_BEFORE_RESEND;
} }
private function sendMail($to, $subject, $body, $msgKey, $headers) {
mail($to, $subject, $body, $headers, '');
// Log
$this->logService->log('MAIL', 'Mail sent to: ' . $to . ', key: ' . $msgKey);
// Store the mail sending date
$_SESSION[self::MAILSERVICE_KEY][$msgKey] = time();
}
} }

View File

@ -11,7 +11,8 @@
"require": { "require": {
"smarty/smarty": "3.1.21", "smarty/smarty": "3.1.21",
"o80/i18n": "dev-develop" "o80/i18n": "dev-develop",
"phpmailer/phpmailer": "~5.2"
}, },
"require-dev": { "require-dev": {

253
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"hash": "0850a63e18c972e762c563d3d4971ea0", "hash": "80025abeaccbfee148a75dd3ff34c19e",
"packages": [ "packages": [
{ {
"name": "o80/i18n", "name": "o80/i18n",
@ -52,6 +52,61 @@
], ],
"time": "2015-05-09 22:08:09" "time": "2015-05-09 22:08:09"
}, },
{
"name": "phpmailer/phpmailer",
"version": "v5.2.10",
"source": {
"type": "git",
"url": "https://github.com/PHPMailer/PHPMailer.git",
"reference": "07005ecbb80d11ec8c0f067bb37e8909cc7fcbb7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/07005ecbb80d11ec8c0f067bb37e8909cc7fcbb7",
"reference": "07005ecbb80d11ec8c0f067bb37e8909cc7fcbb7",
"shasum": ""
},
"require": {
"php": ">=5.0.0"
},
"require-dev": {
"phpdocumentor/phpdocumentor": "*",
"phpunit/phpunit": "4.3.*"
},
"type": "library",
"autoload": {
"classmap": [
"class.phpmailer.php",
"class.smtp.php",
"class.pop3.php",
"extras/EasyPeasyICS.php",
"extras/ntlm_sasl_client.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1"
],
"authors": [
{
"name": "Jim Jagielski",
"email": "jimjag@gmail.com"
},
{
"name": "Marcus Bointon",
"email": "phpmailer@synchromedia.co.uk"
},
{
"name": "Andy Prevost",
"email": "codeworxtech@users.sourceforge.net"
},
{
"name": "Brent R. Matzelle"
}
],
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"time": "2015-05-04 12:37:21"
},
{ {
"name": "smarty/smarty", "name": "smarty/smarty",
"version": "v3.1.21", "version": "v3.1.21",
@ -82,7 +137,7 @@
"libs/sysplugins/smarty_security.php" "libs/sysplugins/smarty_security.php"
] ]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "http://packagist.org/downloads/",
"license": [ "license": [
"LGPL-3.0" "LGPL-3.0"
], ],
@ -111,16 +166,16 @@
"packages-dev": [ "packages-dev": [
{ {
"name": "doctrine/instantiator", "name": "doctrine/instantiator",
"version": "1.0.4", "version": "1.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/instantiator.git", "url": "https://github.com/doctrine/instantiator.git",
"reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
"reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -131,7 +186,7 @@
"ext-pdo": "*", "ext-pdo": "*",
"ext-phar": "*", "ext-phar": "*",
"phpunit/phpunit": "~4.0", "phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "2.0.*@ALPHA" "squizlabs/php_codesniffer": "~2.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -140,8 +195,8 @@
} }
}, },
"autoload": { "autoload": {
"psr-0": { "psr-4": {
"Doctrine\\Instantiator\\": "src" "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@ -161,7 +216,7 @@
"constructor", "constructor",
"instantiate" "instantiate"
], ],
"time": "2014-10-13 12:58:55" "time": "2015-06-14 21:17:01"
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
@ -214,16 +269,16 @@
}, },
{ {
"name": "phpspec/prophecy", "name": "phpspec/prophecy",
"version": "v1.4.1", "version": "v1.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpspec/prophecy.git", "url": "https://github.com/phpspec/prophecy.git",
"reference": "3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373" "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373", "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
"reference": "3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373", "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -270,20 +325,20 @@
"spy", "spy",
"stub" "stub"
], ],
"time": "2015-04-27 22:15:08" "time": "2015-08-13 10:07:40"
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
"version": "2.0.17", "version": "2.2.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "c4e8e7725e351184a76544634855b8a9c405a6e3" "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c4e8e7725e351184a76544634855b8a9c405a6e3", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2d7c03c0e4e080901b8f33b2897b0577be18a13c",
"reference": "c4e8e7725e351184a76544634855b8a9c405a6e3", "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -291,7 +346,7 @@
"phpunit/php-file-iterator": "~1.3", "phpunit/php-file-iterator": "~1.3",
"phpunit/php-text-template": "~1.2", "phpunit/php-text-template": "~1.2",
"phpunit/php-token-stream": "~1.3", "phpunit/php-token-stream": "~1.3",
"sebastian/environment": "~1.0", "sebastian/environment": "^1.3.2",
"sebastian/version": "~1.0" "sebastian/version": "~1.0"
}, },
"require-dev": { "require-dev": {
@ -306,7 +361,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0.x-dev" "dev-master": "2.2.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -332,20 +387,20 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2015-05-25 05:11:59" "time": "2015-08-04 03:42:39"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
"version": "1.4.0", "version": "1.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
"reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -379,20 +434,20 @@
"filesystem", "filesystem",
"iterator" "iterator"
], ],
"time": "2015-04-02 05:19:05" "time": "2015-06-21 13:08:43"
}, },
{ {
"name": "phpunit/php-text-template", "name": "phpunit/php-text-template",
"version": "1.2.0", "version": "1.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git", "url": "https://github.com/sebastianbergmann/php-text-template.git",
"reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
"reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -401,20 +456,17 @@
"type": "library", "type": "library",
"autoload": { "autoload": {
"classmap": [ "classmap": [
"Text/" "src/"
] ]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"include-path": [
""
],
"license": [ "license": [
"BSD-3-Clause" "BSD-3-Clause"
], ],
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de", "email": "sebastian@phpunit.de",
"role": "lead" "role": "lead"
} }
], ],
@ -423,20 +475,20 @@
"keywords": [ "keywords": [
"template" "template"
], ],
"time": "2014-01-30 17:20:04" "time": "2015-06-21 13:50:34"
}, },
{ {
"name": "phpunit/php-timer", "name": "phpunit/php-timer",
"version": "1.0.5", "version": "1.0.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git", "url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
"reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -445,13 +497,10 @@
"type": "library", "type": "library",
"autoload": { "autoload": {
"classmap": [ "classmap": [
"PHP/" "src/"
] ]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"include-path": [
""
],
"license": [ "license": [
"BSD-3-Clause" "BSD-3-Clause"
], ],
@ -467,20 +516,20 @@
"keywords": [ "keywords": [
"timer" "timer"
], ],
"time": "2013-08-02 07:42:54" "time": "2015-06-21 08:01:12"
}, },
{ {
"name": "phpunit/php-token-stream", "name": "phpunit/php-token-stream",
"version": "1.4.1", "version": "1.4.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git", "url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "eab81d02569310739373308137284e0158424330" "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3ab72c62e550370a6cd5dc873e1a04ab57562f5b",
"reference": "eab81d02569310739373308137284e0158424330", "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -516,20 +565,20 @@
"keywords": [ "keywords": [
"tokenizer" "tokenizer"
], ],
"time": "2015-04-08 04:46:07" "time": "2015-08-16 08:51:00"
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "4.6.9", "version": "4.8.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "816d12536a7a032adc3b68737f82cfbbf98b79c1" "reference": "55bf1d6092b0e13a1f26bd5eaffeef3d8ad85ea7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/816d12536a7a032adc3b68737f82cfbbf98b79c1", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/55bf1d6092b0e13a1f26bd5eaffeef3d8ad85ea7",
"reference": "816d12536a7a032adc3b68737f82cfbbf98b79c1", "reference": "55bf1d6092b0e13a1f26bd5eaffeef3d8ad85ea7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -539,15 +588,15 @@
"ext-reflection": "*", "ext-reflection": "*",
"ext-spl": "*", "ext-spl": "*",
"php": ">=5.3.3", "php": ">=5.3.3",
"phpspec/prophecy": "~1.3,>=1.3.1", "phpspec/prophecy": "^1.3.1",
"phpunit/php-code-coverage": "~2.0,>=2.0.11", "phpunit/php-code-coverage": "~2.1",
"phpunit/php-file-iterator": "~1.4", "phpunit/php-file-iterator": "~1.4",
"phpunit/php-text-template": "~1.2", "phpunit/php-text-template": "~1.2",
"phpunit/php-timer": "~1.0", "phpunit/php-timer": ">=1.0.6",
"phpunit/phpunit-mock-objects": "~2.3", "phpunit/phpunit-mock-objects": "~2.3",
"sebastian/comparator": "~1.1", "sebastian/comparator": "~1.1",
"sebastian/diff": "~1.2", "sebastian/diff": "~1.2",
"sebastian/environment": "~1.2", "sebastian/environment": "~1.3",
"sebastian/exporter": "~1.2", "sebastian/exporter": "~1.2",
"sebastian/global-state": "~1.0", "sebastian/global-state": "~1.0",
"sebastian/version": "~1.0", "sebastian/version": "~1.0",
@ -562,7 +611,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "4.6.x-dev" "dev-master": "4.8.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -588,26 +637,27 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2015-05-29 06:00:03" "time": "2015-08-15 04:21:23"
}, },
{ {
"name": "phpunit/phpunit-mock-objects", "name": "phpunit/phpunit-mock-objects",
"version": "2.3.3", "version": "2.3.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "253c005852591fd547fc18cd5b7b43a1ec82d8f7" "reference": "18dfbcb81d05e2296c0bcddd4db96cade75e6f42"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/253c005852591fd547fc18cd5b7b43a1ec82d8f7", "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/18dfbcb81d05e2296c0bcddd4db96cade75e6f42",
"reference": "253c005852591fd547fc18cd5b7b43a1ec82d8f7", "reference": "18dfbcb81d05e2296c0bcddd4db96cade75e6f42",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/instantiator": "~1.0,>=1.0.2", "doctrine/instantiator": "~1.0,>=1.0.2",
"php": ">=5.3.3", "php": ">=5.3.3",
"phpunit/php-text-template": "~1.2" "phpunit/php-text-template": "~1.2",
"sebastian/exporter": "~1.2"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~4.4" "phpunit/phpunit": "~4.4"
@ -643,20 +693,20 @@
"mock", "mock",
"xunit" "xunit"
], ],
"time": "2015-05-29 05:19:18" "time": "2015-07-10 06:54:24"
}, },
{ {
"name": "sebastian/comparator", "name": "sebastian/comparator",
"version": "1.1.1", "version": "1.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git", "url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "1dd8869519a225f7f2b9eb663e225298fade819e" "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
"reference": "1dd8869519a225f7f2b9eb663e225298fade819e", "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -670,7 +720,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.1.x-dev" "dev-master": "1.2.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -707,7 +757,7 @@
"compare", "compare",
"equality" "equality"
], ],
"time": "2015-01-29 16:28:08" "time": "2015-07-26 15:48:44"
}, },
{ {
"name": "sebastian/diff", "name": "sebastian/diff",
@ -763,16 +813,16 @@
}, },
{ {
"name": "sebastian/environment", "name": "sebastian/environment",
"version": "1.2.2", "version": "1.3.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/environment.git", "url": "https://github.com/sebastianbergmann/environment.git",
"reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44",
"reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -809,20 +859,20 @@
"environment", "environment",
"hhvm" "hhvm"
], ],
"time": "2015-01-01 10:01:08" "time": "2015-08-03 06:14:51"
}, },
{ {
"name": "sebastian/exporter", "name": "sebastian/exporter",
"version": "1.2.0", "version": "1.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git", "url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "84839970d05254c73cde183a721c7af13aede943" "reference": "7ae5513327cb536431847bcc0c10edba2701064e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e",
"reference": "84839970d05254c73cde183a721c7af13aede943", "reference": "7ae5513327cb536431847bcc0c10edba2701064e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -875,7 +925,7 @@
"export", "export",
"exporter" "exporter"
], ],
"time": "2015-01-27 07:23:06" "time": "2015-06-21 07:55:53"
}, },
{ {
"name": "sebastian/global-state", "name": "sebastian/global-state",
@ -930,16 +980,16 @@
}, },
{ {
"name": "sebastian/recursion-context", "name": "sebastian/recursion-context",
"version": "1.0.0", "version": "1.0.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git", "url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "3989662bbb30a29d20d9faa04a846af79b276252" "reference": "994d4a811bafe801fb06dccbee797863ba2792ba"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba",
"reference": "3989662bbb30a29d20d9faa04a846af79b276252", "reference": "994d4a811bafe801fb06dccbee797863ba2792ba",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -979,20 +1029,20 @@
], ],
"description": "Provides functionality to recursively process PHP variables", "description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context", "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"time": "2015-01-24 09:48:32" "time": "2015-06-21 08:04:50"
}, },
{ {
"name": "sebastian/version", "name": "sebastian/version",
"version": "1.0.5", "version": "1.0.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/version.git", "url": "https://github.com/sebastianbergmann/version.git",
"reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
"reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
"shasum": "" "shasum": ""
}, },
"type": "library", "type": "library",
@ -1014,25 +1064,24 @@
], ],
"description": "Library that helps with managing the version number of Git-hosted PHP projects", "description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version", "homepage": "https://github.com/sebastianbergmann/version",
"time": "2015-02-24 06:35:25" "time": "2015-06-21 13:59:46"
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v2.6.8", "version": "v2.7.3",
"target-dir": "Symfony/Component/Yaml",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/Yaml.git", "url": "https://github.com/symfony/Yaml.git",
"reference": "f157ab074e453ecd4c0fa775f721f6e67a99d9e2" "reference": "71340e996171474a53f3d29111d046be4ad8a0ff"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/f157ab074e453ecd4c0fa775f721f6e67a99d9e2", "url": "https://api.github.com/repos/symfony/Yaml/zipball/71340e996171474a53f3d29111d046be4ad8a0ff",
"reference": "f157ab074e453ecd4c0fa775f721f6e67a99d9e2", "reference": "71340e996171474a53f3d29111d046be4ad8a0ff",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.3" "php": ">=5.3.9"
}, },
"require-dev": { "require-dev": {
"symfony/phpunit-bridge": "~2.7" "symfony/phpunit-bridge": "~2.7"
@ -1040,11 +1089,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.6-dev" "dev-master": "2.7-dev"
} }
}, },
"autoload": { "autoload": {
"psr-0": { "psr-4": {
"Symfony\\Component\\Yaml\\": "" "Symfony\\Component\\Yaml\\": ""
} }
}, },
@ -1064,7 +1113,7 @@
], ],
"description": "Symfony Yaml Component", "description": "Symfony Yaml Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2015-05-02 15:18:45" "time": "2015-07-28 14:07:07"
} }
], ],
"aliases": [], "aliases": [],