Updated gulp composer task and files.
This commit is contained in:
parent
bda091449c
commit
7b682e5c16
10 changed files with 342 additions and 534 deletions
|
@ -22,7 +22,7 @@ gulp.task('composer', function() {
|
||||||
'!vendor/**/demo{,/**}',
|
'!vendor/**/demo{,/**}',
|
||||||
'!vendor/**/{demo,docs,examples,test,tests,extras,language}{,/**}',
|
'!vendor/**/{demo,docs,examples,test,tests,extras,language}{,/**}',
|
||||||
'!vendor/**/{composer.json,composer.lock,.gitignore}',
|
'!vendor/**/{composer.json,composer.lock,.gitignore}',
|
||||||
'!vendor/**/{*.yml,*.md}',
|
'!vendor/**/{*.yml,*.md,*phpunit*,*.mdown}',
|
||||||
'!vendor/bin{,/**}',
|
'!vendor/bin{,/**}',
|
||||||
'!vendor/codeigniter{,/**}',
|
'!vendor/codeigniter{,/**}',
|
||||||
'!vendor/doctrine{,/**}',
|
'!vendor/doctrine{,/**}',
|
||||||
|
|
2
src/vendor/autoload.php
vendored
2
src/vendor/autoload.php
vendored
|
@ -4,4 +4,4 @@
|
||||||
|
|
||||||
require_once __DIR__ . '/composer/autoload_real.php';
|
require_once __DIR__ . '/composer/autoload_real.php';
|
||||||
|
|
||||||
return ComposerAutoloaderInit9c38908245762ba05608594a95bb6a4f::getLoader();
|
return ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420::getLoader();
|
||||||
|
|
8
src/vendor/composer/autoload_real.php
vendored
8
src/vendor/composer/autoload_real.php
vendored
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
// autoload_real.php @generated by Composer
|
// autoload_real.php @generated by Composer
|
||||||
|
|
||||||
class ComposerAutoloaderInit9c38908245762ba05608594a95bb6a4f
|
class ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420
|
||||||
{
|
{
|
||||||
private static $loader;
|
private static $loader;
|
||||||
|
|
||||||
|
@ -19,15 +19,15 @@ class ComposerAutoloaderInit9c38908245762ba05608594a95bb6a4f
|
||||||
return self::$loader;
|
return self::$loader;
|
||||||
}
|
}
|
||||||
|
|
||||||
spl_autoload_register(array('ComposerAutoloaderInit9c38908245762ba05608594a95bb6a4f', 'loadClassLoader'), true, true);
|
spl_autoload_register(array('ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420', 'loadClassLoader'), true, true);
|
||||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||||
spl_autoload_unregister(array('ComposerAutoloaderInit9c38908245762ba05608594a95bb6a4f', 'loadClassLoader'));
|
spl_autoload_unregister(array('ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420', 'loadClassLoader'));
|
||||||
|
|
||||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||||
if ($useStaticLoader) {
|
if ($useStaticLoader) {
|
||||||
require_once __DIR__ . '/autoload_static.php';
|
require_once __DIR__ . '/autoload_static.php';
|
||||||
|
|
||||||
call_user_func(\Composer\Autoload\ComposerStaticInit9c38908245762ba05608594a95bb6a4f::getInitializer($loader));
|
call_user_func(\Composer\Autoload\ComposerStaticInit27b185dd281c9a16e18aefb1c9e2d420::getInitializer($loader));
|
||||||
} else {
|
} else {
|
||||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||||
foreach ($map as $namespace => $path) {
|
foreach ($map as $namespace => $path) {
|
||||||
|
|
10
src/vendor/composer/autoload_static.php
vendored
10
src/vendor/composer/autoload_static.php
vendored
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
namespace Composer\Autoload;
|
namespace Composer\Autoload;
|
||||||
|
|
||||||
class ComposerStaticInit474a11d06cb14c38be47d5068b37f3b3
|
class ComposerStaticInit27b185dd281c9a16e18aefb1c9e2d420
|
||||||
{
|
{
|
||||||
public static $prefixLengthsPsr4 = array (
|
public static $prefixLengthsPsr4 = array (
|
||||||
'p' =>
|
'p' =>
|
||||||
|
@ -539,10 +539,10 @@ class ComposerStaticInit474a11d06cb14c38be47d5068b37f3b3
|
||||||
public static function getInitializer(ClassLoader $loader)
|
public static function getInitializer(ClassLoader $loader)
|
||||||
{
|
{
|
||||||
return \Closure::bind(function () use ($loader) {
|
return \Closure::bind(function () use ($loader) {
|
||||||
$loader->prefixLengthsPsr4 = ComposerStaticInit474a11d06cb14c38be47d5068b37f3b3::$prefixLengthsPsr4;
|
$loader->prefixLengthsPsr4 = ComposerStaticInit27b185dd281c9a16e18aefb1c9e2d420::$prefixLengthsPsr4;
|
||||||
$loader->prefixDirsPsr4 = ComposerStaticInit474a11d06cb14c38be47d5068b37f3b3::$prefixDirsPsr4;
|
$loader->prefixDirsPsr4 = ComposerStaticInit27b185dd281c9a16e18aefb1c9e2d420::$prefixDirsPsr4;
|
||||||
$loader->prefixesPsr0 = ComposerStaticInit474a11d06cb14c38be47d5068b37f3b3::$prefixesPsr0;
|
$loader->prefixesPsr0 = ComposerStaticInit27b185dd281c9a16e18aefb1c9e2d420::$prefixesPsr0;
|
||||||
$loader->classMap = ComposerStaticInit474a11d06cb14c38be47d5068b37f3b3::$classMap;
|
$loader->classMap = ComposerStaticInit27b185dd281c9a16e18aefb1c9e2d420::$classMap;
|
||||||
|
|
||||||
}, null, ClassLoader::class);
|
}, null, ClassLoader::class);
|
||||||
}
|
}
|
||||||
|
|
557
src/vendor/composer/installed.json
vendored
557
src/vendor/composer/installed.json
vendored
|
@ -51,46 +51,30 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpmailer/phpmailer",
|
"name": "phpmailer/phpmailer",
|
||||||
"version": "v5.2.23",
|
"version": "v5.2.16",
|
||||||
"version_normalized": "5.2.23.0",
|
"version_normalized": "5.2.16.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/PHPMailer/PHPMailer.git",
|
"url": "https://github.com/PHPMailer/PHPMailer.git",
|
||||||
"reference": "7115df4a6f76281109ebe352900c42403b728bb4"
|
"reference": "1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/7115df4a6f76281109ebe352900c42403b728bb4",
|
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a",
|
||||||
"reference": "7115df4a6f76281109ebe352900c42403b728bb4",
|
"reference": "1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.0.0"
|
"php": ">=5.0.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/annotations": "1.2.*",
|
"phpdocumentor/phpdocumentor": "*",
|
||||||
"jms/serializer": "0.16.*",
|
"phpunit/phpunit": "4.7.*"
|
||||||
"phpdocumentor/phpdocumentor": "2.*",
|
|
||||||
"phpunit/phpunit": "4.8.*",
|
|
||||||
"symfony/debug": "2.8.*",
|
|
||||||
"symfony/filesystem": "2.8.*",
|
|
||||||
"symfony/translation": "2.8.*",
|
|
||||||
"symfony/yaml": "2.8.*",
|
|
||||||
"zendframework/zend-cache": "2.5.1",
|
|
||||||
"zendframework/zend-config": "2.5.1",
|
|
||||||
"zendframework/zend-eventmanager": "2.5.1",
|
|
||||||
"zendframework/zend-filter": "2.5.1",
|
|
||||||
"zendframework/zend-i18n": "2.5.1",
|
|
||||||
"zendframework/zend-json": "2.5.1",
|
|
||||||
"zendframework/zend-math": "2.5.1",
|
|
||||||
"zendframework/zend-serializer": "2.5.*",
|
|
||||||
"zendframework/zend-servicemanager": "2.5.*",
|
|
||||||
"zendframework/zend-stdlib": "2.5.1"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"league/oauth2-google": "Needed for Google XOAUTH2 authentication"
|
"league/oauth2-google": "Needed for Google XOAUTH2 authentication"
|
||||||
},
|
},
|
||||||
"time": "2017-03-15T19:32:56+00:00",
|
"time": "2016-06-06T09:09:37+00:00",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"installation-source": "dist",
|
"installation-source": "dist",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -129,30 +113,29 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "codeigniter/framework",
|
"name": "codeigniter/framework",
|
||||||
"version": "3.1.4",
|
"version": "3.1.2",
|
||||||
"version_normalized": "3.1.4.0",
|
"version_normalized": "3.1.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/bcit-ci/CodeIgniter.git",
|
"url": "https://github.com/bcit-ci/CodeIgniter.git",
|
||||||
"reference": "873608df8be83420474e3cf9fc749a8ed12a6c09"
|
"reference": "2afa6b6b58a73fa26a7a93045ccb1fc8a087a141"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/873608df8be83420474e3cf9fc749a8ed12a6c09",
|
"url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/2afa6b6b58a73fa26a7a93045ccb1fc8a087a141",
|
||||||
"reference": "873608df8be83420474e3cf9fc749a8ed12a6c09",
|
"reference": "2afa6b6b58a73fa26a7a93045ccb1fc8a087a141",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.2.4"
|
"php": ">=5.2.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"mikey179/vfsstream": "1.1.*",
|
"mikey179/vfsstream": "1.1.*"
|
||||||
"phpunit/phpunit": "4.* || 5.*"
|
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
|
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
|
||||||
},
|
},
|
||||||
"time": "2017-03-20T15:51:08+00:00",
|
"time": "2016-10-28T15:13:14+00:00",
|
||||||
"type": "project",
|
"type": "project",
|
||||||
"installation-source": "dist",
|
"installation-source": "dist",
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
@ -162,6 +145,261 @@
|
||||||
"description": "The CodeIgniter framework",
|
"description": "The CodeIgniter framework",
|
||||||
"homepage": "https://codeigniter.com"
|
"homepage": "https://codeigniter.com"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "webmozart/assert",
|
||||||
|
"version": "1.1.0",
|
||||||
|
"version_normalized": "1.1.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/webmozart/assert.git",
|
||||||
|
"reference": "bb2d123231c095735130cc8f6d31385a44c7b308"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/webmozart/assert/zipball/bb2d123231c095735130cc8f6d31385a44c7b308",
|
||||||
|
"reference": "bb2d123231c095735130cc8f6d31385a44c7b308",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^5.3.3|^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.6",
|
||||||
|
"sebastian/version": "^1.0.1"
|
||||||
|
},
|
||||||
|
"time": "2016-08-09T15:02:57+00:00",
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.2-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"installation-source": "dist",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Webmozart\\Assert\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Bernhard Schussek",
|
||||||
|
"email": "bschussek@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Assertions to validate method input/output with nice error messages.",
|
||||||
|
"keywords": [
|
||||||
|
"assert",
|
||||||
|
"check",
|
||||||
|
"validate"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "phpdocumentor/reflection-common",
|
||||||
|
"version": "1.0",
|
||||||
|
"version_normalized": "1.0.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
|
||||||
|
"reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
|
||||||
|
"reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.5"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.6"
|
||||||
|
},
|
||||||
|
"time": "2015-12-27T11:43:31+00:00",
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"installation-source": "dist",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"phpDocumentor\\Reflection\\": [
|
||||||
|
"src"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Jaap van Otterdijk",
|
||||||
|
"email": "opensource@ijaap.nl"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common reflection classes used by phpdocumentor to reflect the code structure",
|
||||||
|
"homepage": "http://www.phpdoc.org",
|
||||||
|
"keywords": [
|
||||||
|
"FQSEN",
|
||||||
|
"phpDocumentor",
|
||||||
|
"phpdoc",
|
||||||
|
"reflection",
|
||||||
|
"static analysis"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "phpdocumentor/type-resolver",
|
||||||
|
"version": "0.2",
|
||||||
|
"version_normalized": "0.2.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
||||||
|
"reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443",
|
||||||
|
"reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.5",
|
||||||
|
"phpdocumentor/reflection-common": "^1.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"mockery/mockery": "^0.9.4",
|
||||||
|
"phpunit/phpunit": "^5.2||^4.8.24"
|
||||||
|
},
|
||||||
|
"time": "2016-06-10T07:14:17+00:00",
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"installation-source": "dist",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"phpDocumentor\\Reflection\\": [
|
||||||
|
"src/"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Mike van Riel",
|
||||||
|
"email": "me@mikevanriel.com"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "phpdocumentor/reflection-docblock",
|
||||||
|
"version": "3.1.1",
|
||||||
|
"version_normalized": "3.1.1.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||||
|
"reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e",
|
||||||
|
"reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.5",
|
||||||
|
"phpdocumentor/reflection-common": "^1.0@dev",
|
||||||
|
"phpdocumentor/type-resolver": "^0.2.0",
|
||||||
|
"webmozart/assert": "^1.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"mockery/mockery": "^0.9.4",
|
||||||
|
"phpunit/phpunit": "^4.4"
|
||||||
|
},
|
||||||
|
"time": "2016-09-30T07:12:33+00:00",
|
||||||
|
"type": "library",
|
||||||
|
"installation-source": "dist",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"phpDocumentor\\Reflection\\": [
|
||||||
|
"src/"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Mike van Riel",
|
||||||
|
"email": "me@mikevanriel.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "phpunit/php-token-stream",
|
||||||
|
"version": "1.4.8",
|
||||||
|
"version_normalized": "1.4.8.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
||||||
|
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
|
||||||
|
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-tokenizer": "*",
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "~4.2"
|
||||||
|
},
|
||||||
|
"time": "2015-09-15T10:49:45+00:00",
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"installation-source": "dist",
|
||||||
|
"autoload": {
|
||||||
|
"classmap": [
|
||||||
|
"src/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Sebastian Bergmann",
|
||||||
|
"email": "sebastian@phpunit.de"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Wrapper around PHP's tokenizer extension.",
|
||||||
|
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
|
||||||
|
"keywords": [
|
||||||
|
"tokenizer"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/yaml",
|
"name": "symfony/yaml",
|
||||||
"version": "v3.1.6",
|
"version": "v3.1.6",
|
||||||
|
@ -1001,57 +1239,6 @@
|
||||||
"description": "Looks up which function or method a line of code belongs to",
|
"description": "Looks up which function or method a line of code belongs to",
|
||||||
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/"
|
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "phpunit/php-token-stream",
|
|
||||||
"version": "1.4.8",
|
|
||||||
"version_normalized": "1.4.8.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
|
||||||
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
|
|
||||||
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"ext-tokenizer": "*",
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "~4.2"
|
|
||||||
},
|
|
||||||
"time": "2015-09-15T10:49:45+00:00",
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "1.4-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"installation-source": "dist",
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"src/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"BSD-3-Clause"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Sebastian Bergmann",
|
|
||||||
"email": "sebastian@phpunit.de"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Wrapper around PHP's tokenizer extension.",
|
|
||||||
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
|
|
||||||
"keywords": [
|
|
||||||
"tokenizer"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-code-coverage",
|
"name": "phpunit/php-code-coverage",
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
|
@ -1117,210 +1304,6 @@
|
||||||
"xunit"
|
"xunit"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "webmozart/assert",
|
|
||||||
"version": "1.1.0",
|
|
||||||
"version_normalized": "1.1.0.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/webmozart/assert.git",
|
|
||||||
"reference": "bb2d123231c095735130cc8f6d31385a44c7b308"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/webmozart/assert/zipball/bb2d123231c095735130cc8f6d31385a44c7b308",
|
|
||||||
"reference": "bb2d123231c095735130cc8f6d31385a44c7b308",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^5.3.3|^7.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "^4.6",
|
|
||||||
"sebastian/version": "^1.0.1"
|
|
||||||
},
|
|
||||||
"time": "2016-08-09T15:02:57+00:00",
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "1.2-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"installation-source": "dist",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Webmozart\\Assert\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Bernhard Schussek",
|
|
||||||
"email": "bschussek@gmail.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Assertions to validate method input/output with nice error messages.",
|
|
||||||
"keywords": [
|
|
||||||
"assert",
|
|
||||||
"check",
|
|
||||||
"validate"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "phpdocumentor/reflection-common",
|
|
||||||
"version": "1.0",
|
|
||||||
"version_normalized": "1.0.0.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
|
|
||||||
"reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
|
|
||||||
"reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.5"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "^4.6"
|
|
||||||
},
|
|
||||||
"time": "2015-12-27T11:43:31+00:00",
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "1.0.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"installation-source": "dist",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"phpDocumentor\\Reflection\\": [
|
|
||||||
"src"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Jaap van Otterdijk",
|
|
||||||
"email": "opensource@ijaap.nl"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Common reflection classes used by phpdocumentor to reflect the code structure",
|
|
||||||
"homepage": "http://www.phpdoc.org",
|
|
||||||
"keywords": [
|
|
||||||
"FQSEN",
|
|
||||||
"phpDocumentor",
|
|
||||||
"phpdoc",
|
|
||||||
"reflection",
|
|
||||||
"static analysis"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "phpdocumentor/type-resolver",
|
|
||||||
"version": "0.2",
|
|
||||||
"version_normalized": "0.2.0.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
|
||||||
"reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443",
|
|
||||||
"reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.5",
|
|
||||||
"phpdocumentor/reflection-common": "^1.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"mockery/mockery": "^0.9.4",
|
|
||||||
"phpunit/phpunit": "^5.2||^4.8.24"
|
|
||||||
},
|
|
||||||
"time": "2016-06-10T07:14:17+00:00",
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "1.0.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"installation-source": "dist",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"phpDocumentor\\Reflection\\": [
|
|
||||||
"src/"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Mike van Riel",
|
|
||||||
"email": "me@mikevanriel.com"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "phpdocumentor/reflection-docblock",
|
|
||||||
"version": "3.1.1",
|
|
||||||
"version_normalized": "3.1.1.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
|
||||||
"reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e",
|
|
||||||
"reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.5",
|
|
||||||
"phpdocumentor/reflection-common": "^1.0@dev",
|
|
||||||
"phpdocumentor/type-resolver": "^0.2.0",
|
|
||||||
"webmozart/assert": "^1.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"mockery/mockery": "^0.9.4",
|
|
||||||
"phpunit/phpunit": "^4.4"
|
|
||||||
},
|
|
||||||
"time": "2016-09-30T07:12:33+00:00",
|
|
||||||
"type": "library",
|
|
||||||
"installation-source": "dist",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"phpDocumentor\\Reflection\\": [
|
|
||||||
"src/"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Mike van Riel",
|
|
||||||
"email": "me@mikevanriel.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "phpspec/prophecy",
|
"name": "phpspec/prophecy",
|
||||||
"version": "v1.6.1",
|
"version": "v1.6.1",
|
||||||
|
|
2
src/vendor/phpmailer/phpmailer/VERSION
vendored
2
src/vendor/phpmailer/phpmailer/VERSION
vendored
|
@ -1 +1 @@
|
||||||
5.2.23
|
5.2.16
|
187
src/vendor/phpmailer/phpmailer/class.phpmailer.php
vendored
187
src/vendor/phpmailer/phpmailer/class.phpmailer.php
vendored
|
@ -31,7 +31,7 @@ class PHPMailer
|
||||||
* The PHPMailer Version number.
|
* The PHPMailer Version number.
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $Version = '5.2.23';
|
public $Version = '5.2.16';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Email priority.
|
* Email priority.
|
||||||
|
@ -201,9 +201,6 @@ class PHPMailer
|
||||||
/**
|
/**
|
||||||
* An ID to be used in the Message-ID header.
|
* An ID to be used in the Message-ID header.
|
||||||
* If empty, a unique id will be generated.
|
* If empty, a unique id will be generated.
|
||||||
* You can set your own, but it must be in the format "<id@domain>",
|
|
||||||
* as defined in RFC5322 section 3.6.4 or it will be ignored.
|
|
||||||
* @see https://tools.ietf.org/html/rfc5322#section-3.6.4
|
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $MessageID = '';
|
public $MessageID = '';
|
||||||
|
@ -423,13 +420,6 @@ class PHPMailer
|
||||||
*/
|
*/
|
||||||
public $DKIM_private = '';
|
public $DKIM_private = '';
|
||||||
|
|
||||||
/**
|
|
||||||
* DKIM private key string.
|
|
||||||
* If set, takes precedence over `$DKIM_private`.
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
public $DKIM_private_string = '';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback Action function name.
|
* Callback Action function name.
|
||||||
*
|
*
|
||||||
|
@ -691,16 +681,16 @@ class PHPMailer
|
||||||
} else {
|
} else {
|
||||||
$subject = $this->encodeHeader($this->secureHeader($subject));
|
$subject = $this->encodeHeader($this->secureHeader($subject));
|
||||||
}
|
}
|
||||||
|
//Can't use additional_parameters in safe_mode
|
||||||
//Can't use additional_parameters in safe_mode, calling mail() with null params breaks
|
|
||||||
//@link http://php.net/manual/en/function.mail.php
|
//@link http://php.net/manual/en/function.mail.php
|
||||||
if (ini_get('safe_mode') or !$this->UseSendmailOptions or is_null($params)) {
|
if (ini_get('safe_mode') or !$this->UseSendmailOptions) {
|
||||||
$result = @mail($to, $subject, $body, $header);
|
$result = @mail($to, $subject, $body, $header);
|
||||||
} else {
|
} else {
|
||||||
$result = @mail($to, $subject, $body, $header, $params);
|
$result = @mail($to, $subject, $body, $header, $params);
|
||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Output debugging info via user-defined method.
|
* Output debugging info via user-defined method.
|
||||||
* Only generates output if SMTP debug output is enabled (@see SMTP::$do_debug).
|
* Only generates output if SMTP debug output is enabled (@see SMTP::$do_debug).
|
||||||
|
@ -1294,11 +1284,9 @@ class PHPMailer
|
||||||
|
|
||||||
// Sign with DKIM if enabled
|
// Sign with DKIM if enabled
|
||||||
if (!empty($this->DKIM_domain)
|
if (!empty($this->DKIM_domain)
|
||||||
|
&& !empty($this->DKIM_private)
|
||||||
&& !empty($this->DKIM_selector)
|
&& !empty($this->DKIM_selector)
|
||||||
&& (!empty($this->DKIM_private_string)
|
&& file_exists($this->DKIM_private)) {
|
||||||
|| (!empty($this->DKIM_private) && file_exists($this->DKIM_private))
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
$header_dkim = $this->DKIM_Add(
|
$header_dkim = $this->DKIM_Add(
|
||||||
$this->MIMEHeader . $this->mailHeader,
|
$this->MIMEHeader . $this->mailHeader,
|
||||||
$this->encodeHeader($this->secureHeader($this->Subject)),
|
$this->encodeHeader($this->secureHeader($this->Subject)),
|
||||||
|
@ -1364,24 +1352,19 @@ class PHPMailer
|
||||||
*/
|
*/
|
||||||
protected function sendmailSend($header, $body)
|
protected function sendmailSend($header, $body)
|
||||||
{
|
{
|
||||||
// CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
|
if ($this->Sender != '') {
|
||||||
if (!empty($this->Sender) and self::isShellSafe($this->Sender)) {
|
|
||||||
if ($this->Mailer == 'qmail') {
|
if ($this->Mailer == 'qmail') {
|
||||||
$sendmailFmt = '%s -f%s';
|
$sendmail = sprintf('%s -f%s', escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
|
||||||
} else {
|
} else {
|
||||||
$sendmailFmt = '%s -oi -f%s -t';
|
$sendmail = sprintf('%s -oi -f%s -t', escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($this->Mailer == 'qmail') {
|
if ($this->Mailer == 'qmail') {
|
||||||
$sendmailFmt = '%s';
|
$sendmail = sprintf('%s', escapeshellcmd($this->Sendmail));
|
||||||
} else {
|
} else {
|
||||||
$sendmailFmt = '%s -oi -t';
|
$sendmail = sprintf('%s -oi -t', escapeshellcmd($this->Sendmail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: If possible, this should be changed to escapeshellarg. Needs thorough testing.
|
|
||||||
$sendmail = sprintf($sendmailFmt, escapeshellcmd($this->Sendmail), $this->Sender);
|
|
||||||
|
|
||||||
if ($this->SingleTo) {
|
if ($this->SingleTo) {
|
||||||
foreach ($this->SingleToArray as $toAddr) {
|
foreach ($this->SingleToArray as $toAddr) {
|
||||||
if (!@$mail = popen($sendmail, 'w')) {
|
if (!@$mail = popen($sendmail, 'w')) {
|
||||||
|
@ -1427,40 +1410,6 @@ class PHPMailer
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Fix CVE-2016-10033 and CVE-2016-10045 by disallowing potentially unsafe shell characters.
|
|
||||||
*
|
|
||||||
* Note that escapeshellarg and escapeshellcmd are inadequate for our purposes, especially on Windows.
|
|
||||||
* @param string $string The string to be validated
|
|
||||||
* @see https://github.com/PHPMailer/PHPMailer/issues/924 CVE-2016-10045 bug report
|
|
||||||
* @access protected
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
protected static function isShellSafe($string)
|
|
||||||
{
|
|
||||||
// Future-proof
|
|
||||||
if (escapeshellcmd($string) !== $string
|
|
||||||
or !in_array(escapeshellarg($string), array("'$string'", "\"$string\""))
|
|
||||||
) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$length = strlen($string);
|
|
||||||
|
|
||||||
for ($i = 0; $i < $length; $i++) {
|
|
||||||
$c = $string[$i];
|
|
||||||
|
|
||||||
// All other characters have a special meaning in at least one common shell, including = and +.
|
|
||||||
// Full stop (.) has a special meaning in cmd.exe, but its impact should be negligible here.
|
|
||||||
// Note that this does permit non-Latin alphanumeric characters based on the current locale.
|
|
||||||
if (!ctype_alnum($c) && strpos('@_-.', $c) === false) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send mail using the PHP mail() function.
|
* Send mail using the PHP mail() function.
|
||||||
* @param string $header The message headers
|
* @param string $header The message headers
|
||||||
|
@ -1480,13 +1429,10 @@ class PHPMailer
|
||||||
|
|
||||||
$params = null;
|
$params = null;
|
||||||
//This sets the SMTP envelope sender which gets turned into a return-path header by the receiver
|
//This sets the SMTP envelope sender which gets turned into a return-path header by the receiver
|
||||||
if (!empty($this->Sender) and $this->validateAddress($this->Sender)) {
|
if (!empty($this->Sender)) {
|
||||||
// CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
|
$params = sprintf('-f%s', $this->Sender);
|
||||||
if (self::isShellSafe($this->Sender)) {
|
|
||||||
$params = sprintf('-f%s', $this->Sender);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!empty($this->Sender) and !ini_get('safe_mode') and $this->validateAddress($this->Sender)) {
|
if ($this->Sender != '' and !ini_get('safe_mode')) {
|
||||||
$old_from = ini_get('sendmail_from');
|
$old_from = ini_get('sendmail_from');
|
||||||
ini_set('sendmail_from', $this->Sender);
|
ini_set('sendmail_from', $this->Sender);
|
||||||
}
|
}
|
||||||
|
@ -1540,10 +1486,10 @@ class PHPMailer
|
||||||
if (!$this->smtpConnect($this->SMTPOptions)) {
|
if (!$this->smtpConnect($this->SMTPOptions)) {
|
||||||
throw new phpmailerException($this->lang('smtp_connect_failed'), self::STOP_CRITICAL);
|
throw new phpmailerException($this->lang('smtp_connect_failed'), self::STOP_CRITICAL);
|
||||||
}
|
}
|
||||||
if (!empty($this->Sender) and $this->validateAddress($this->Sender)) {
|
if ('' == $this->Sender) {
|
||||||
$smtp_from = $this->Sender;
|
|
||||||
} else {
|
|
||||||
$smtp_from = $this->From;
|
$smtp_from = $this->From;
|
||||||
|
} else {
|
||||||
|
$smtp_from = $this->Sender;
|
||||||
}
|
}
|
||||||
if (!$this->smtp->mail($smtp_from)) {
|
if (!$this->smtp->mail($smtp_from)) {
|
||||||
$this->setError($this->lang('from_failed') . $smtp_from . ' : ' . implode(',', $this->smtp->getError()));
|
$this->setError($this->lang('from_failed') . $smtp_from . ' : ' . implode(',', $this->smtp->getError()));
|
||||||
|
@ -1735,19 +1681,6 @@ class PHPMailer
|
||||||
*/
|
*/
|
||||||
public function setLanguage($langcode = 'en', $lang_path = '')
|
public function setLanguage($langcode = 'en', $lang_path = '')
|
||||||
{
|
{
|
||||||
// Backwards compatibility for renamed language codes
|
|
||||||
$renamed_langcodes = array(
|
|
||||||
'br' => 'pt_br',
|
|
||||||
'cz' => 'cs',
|
|
||||||
'dk' => 'da',
|
|
||||||
'no' => 'nb',
|
|
||||||
'se' => 'sv',
|
|
||||||
);
|
|
||||||
|
|
||||||
if (isset($renamed_langcodes[$langcode])) {
|
|
||||||
$langcode = $renamed_langcodes[$langcode];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Define full set of translatable strings in English
|
// Define full set of translatable strings in English
|
||||||
$PHPMAILER_LANG = array(
|
$PHPMAILER_LANG = array(
|
||||||
'authenticate' => 'SMTP Error: Could not authenticate.',
|
'authenticate' => 'SMTP Error: Could not authenticate.',
|
||||||
|
@ -1774,10 +1707,6 @@ class PHPMailer
|
||||||
// Calculate an absolute path so it can work if CWD is not here
|
// Calculate an absolute path so it can work if CWD is not here
|
||||||
$lang_path = dirname(__FILE__). DIRECTORY_SEPARATOR . 'language'. DIRECTORY_SEPARATOR;
|
$lang_path = dirname(__FILE__). DIRECTORY_SEPARATOR . 'language'. DIRECTORY_SEPARATOR;
|
||||||
}
|
}
|
||||||
//Validate $langcode
|
|
||||||
if (!preg_match('/^[a-z]{2}(?:_[a-zA-Z]{2})?$/', $langcode)) {
|
|
||||||
$langcode = 'en';
|
|
||||||
}
|
|
||||||
$foundlang = true;
|
$foundlang = true;
|
||||||
$lang_file = $lang_path . 'phpmailer.lang-' . $langcode . '.php';
|
$lang_file = $lang_path . 'phpmailer.lang-' . $langcode . '.php';
|
||||||
// There is no English translation file
|
// There is no English translation file
|
||||||
|
@ -2071,8 +2000,6 @@ class PHPMailer
|
||||||
$result .= $this->headerLine('Subject', $this->encodeHeader($this->secureHeader($this->Subject)));
|
$result .= $this->headerLine('Subject', $this->encodeHeader($this->secureHeader($this->Subject)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only allow a custom message ID if it conforms to RFC 5322 section 3.6.4
|
|
||||||
// https://tools.ietf.org/html/rfc5322#section-3.6.4
|
|
||||||
if ('' != $this->MessageID and preg_match('/^<.*@.*>$/', $this->MessageID)) {
|
if ('' != $this->MessageID and preg_match('/^<.*@.*>$/', $this->MessageID)) {
|
||||||
$this->lastMessageID = $this->MessageID;
|
$this->lastMessageID = $this->MessageID;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2178,14 +2105,6 @@ class PHPMailer
|
||||||
return rtrim($this->MIMEHeader . $this->mailHeader, "\n\r") . self::CRLF . self::CRLF . $this->MIMEBody;
|
return rtrim($this->MIMEHeader . $this->mailHeader, "\n\r") . self::CRLF . self::CRLF . $this->MIMEBody;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Create unique ID
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
protected function generateId() {
|
|
||||||
return md5(uniqid(time()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assemble the message body.
|
* Assemble the message body.
|
||||||
* Returns an empty string on failure.
|
* Returns an empty string on failure.
|
||||||
|
@ -2197,7 +2116,7 @@ class PHPMailer
|
||||||
{
|
{
|
||||||
$body = '';
|
$body = '';
|
||||||
//Create unique IDs and preset boundaries
|
//Create unique IDs and preset boundaries
|
||||||
$this->uniqueid = $this->generateId();
|
$this->uniqueid = md5(uniqid(time()));
|
||||||
$this->boundary[1] = 'b1_' . $this->uniqueid;
|
$this->boundary[1] = 'b1_' . $this->uniqueid;
|
||||||
$this->boundary[2] = 'b2_' . $this->uniqueid;
|
$this->boundary[2] = 'b2_' . $this->uniqueid;
|
||||||
$this->boundary[3] = 'b3_' . $this->uniqueid;
|
$this->boundary[3] = 'b3_' . $this->uniqueid;
|
||||||
|
@ -2492,7 +2411,6 @@ class PHPMailer
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add an attachment from a path on the filesystem.
|
* Add an attachment from a path on the filesystem.
|
||||||
* Never use a user-supplied path to a file!
|
|
||||||
* Returns false if the file could not be found or read.
|
* Returns false if the file could not be found or read.
|
||||||
* @param string $path Path to the attachment.
|
* @param string $path Path to the attachment.
|
||||||
* @param string $name Overrides the attachment name.
|
* @param string $name Overrides the attachment name.
|
||||||
|
@ -3018,7 +2936,6 @@ class PHPMailer
|
||||||
* displayed inline with the message, not just attached for download.
|
* displayed inline with the message, not just attached for download.
|
||||||
* This is used in HTML messages that embed the images
|
* This is used in HTML messages that embed the images
|
||||||
* the HTML refers to using the $cid value.
|
* the HTML refers to using the $cid value.
|
||||||
* Never use a user-supplied path to a file!
|
|
||||||
* @param string $path Path to the attachment.
|
* @param string $path Path to the attachment.
|
||||||
* @param string $cid Content ID of the attachment; Use this to reference
|
* @param string $cid Content ID of the attachment; Use this to reference
|
||||||
* the content when using an embedded image in HTML.
|
* the content when using an embedded image in HTML.
|
||||||
|
@ -3379,29 +3296,21 @@ class PHPMailer
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a message body from an HTML string.
|
* Create a message from an HTML string.
|
||||||
* Automatically inlines images and creates a plain-text version by converting the HTML,
|
* Automatically makes modifications for inline images and backgrounds
|
||||||
* overwriting any existing values in Body and AltBody.
|
* and creates a plain-text version by converting the HTML.
|
||||||
* Do not source $message content from user input!
|
* Overwrites any existing values in $this->Body and $this->AltBody
|
||||||
* $basedir is prepended when handling relative URLs, e.g. <img src="/images/a.png"> and must not be empty
|
|
||||||
* will look for an image file in $basedir/images/a.png and convert it to inline.
|
|
||||||
* If you don't provide a $basedir, relative paths will be left untouched (and thus probably break in email)
|
|
||||||
* If you don't want to apply these transformations to your HTML, just set Body and AltBody directly.
|
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $message HTML message string
|
* @param string $message HTML message string
|
||||||
* @param string $basedir Absolute path to a base directory to prepend to relative paths to images
|
* @param string $basedir baseline directory for path
|
||||||
* @param boolean|callable $advanced Whether to use the internal HTML to text converter
|
* @param boolean|callable $advanced Whether to use the internal HTML to text converter
|
||||||
* or your own custom converter @see PHPMailer::html2text()
|
* or your own custom converter @see PHPMailer::html2text()
|
||||||
* @return string $message The transformed message Body
|
* @return string $message
|
||||||
*/
|
*/
|
||||||
public function msgHTML($message, $basedir = '', $advanced = false)
|
public function msgHTML($message, $basedir = '', $advanced = false)
|
||||||
{
|
{
|
||||||
preg_match_all('/(src|background)=["\'](.*)["\']/Ui', $message, $images);
|
preg_match_all('/(src|background)=["\'](.*)["\']/Ui', $message, $images);
|
||||||
if (array_key_exists(2, $images)) {
|
if (array_key_exists(2, $images)) {
|
||||||
if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
|
|
||||||
// Ensure $basedir has a trailing /
|
|
||||||
$basedir .= '/';
|
|
||||||
}
|
|
||||||
foreach ($images[2] as $imgindex => $url) {
|
foreach ($images[2] as $imgindex => $url) {
|
||||||
// Convert data URIs into embedded images
|
// Convert data URIs into embedded images
|
||||||
if (preg_match('#^data:(image[^;,]*)(;base64)?,#', $url, $match)) {
|
if (preg_match('#^data:(image[^;,]*)(;base64)?,#', $url, $match)) {
|
||||||
|
@ -3419,24 +3328,18 @@ class PHPMailer
|
||||||
$message
|
$message
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
continue;
|
} elseif (substr($url, 0, 4) !== 'cid:' && !preg_match('#^[a-z][a-z0-9+.-]*://#i', $url)) {
|
||||||
}
|
// Do not change urls for absolute images (thanks to corvuscorax)
|
||||||
if (
|
|
||||||
// Only process relative URLs if a basedir is provided (i.e. no absolute local paths)
|
|
||||||
!empty($basedir)
|
|
||||||
// Ignore URLs containing parent dir traversal (..)
|
|
||||||
&& (strpos($url, '..') === false)
|
|
||||||
// Do not change urls that are already inline images
|
// Do not change urls that are already inline images
|
||||||
&& substr($url, 0, 4) !== 'cid:'
|
|
||||||
// Do not change absolute URLs, including anonymous protocol
|
|
||||||
&& !preg_match('#^[a-z][a-z0-9+.-]*:?//#i', $url)
|
|
||||||
) {
|
|
||||||
$filename = basename($url);
|
$filename = basename($url);
|
||||||
$directory = dirname($url);
|
$directory = dirname($url);
|
||||||
if ($directory == '.') {
|
if ($directory == '.') {
|
||||||
$directory = '';
|
$directory = '';
|
||||||
}
|
}
|
||||||
$cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2
|
$cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2
|
||||||
|
if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
|
||||||
|
$basedir .= '/';
|
||||||
|
}
|
||||||
if (strlen($directory) > 1 && substr($directory, -1) != '/') {
|
if (strlen($directory) > 1 && substr($directory, -1) != '/') {
|
||||||
$directory .= '/';
|
$directory .= '/';
|
||||||
}
|
}
|
||||||
|
@ -3472,7 +3375,7 @@ class PHPMailer
|
||||||
* Convert an HTML string into plain text.
|
* Convert an HTML string into plain text.
|
||||||
* This is used by msgHTML().
|
* This is used by msgHTML().
|
||||||
* Note - older versions of this function used a bundled advanced converter
|
* Note - older versions of this function used a bundled advanced converter
|
||||||
* which was been removed for license reasons in #232.
|
* which was been removed for license reasons in #232
|
||||||
* Example usage:
|
* Example usage:
|
||||||
* <code>
|
* <code>
|
||||||
* // Use default conversion
|
* // Use default conversion
|
||||||
|
@ -3772,7 +3675,7 @@ class PHPMailer
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $signHeader
|
* @param string $signHeader
|
||||||
* @throws phpmailerException
|
* @throws phpmailerException
|
||||||
* @return string The DKIM signature value
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function DKIM_Sign($signHeader)
|
public function DKIM_Sign($signHeader)
|
||||||
{
|
{
|
||||||
|
@ -3782,33 +3685,15 @@ class PHPMailer
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
$privKeyStr = !empty($this->DKIM_private_string) ? $this->DKIM_private_string : file_get_contents($this->DKIM_private);
|
$privKeyStr = file_get_contents($this->DKIM_private);
|
||||||
if ('' != $this->DKIM_passphrase) {
|
if ($this->DKIM_passphrase != '') {
|
||||||
$privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase);
|
$privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase);
|
||||||
} else {
|
} else {
|
||||||
$privKey = openssl_pkey_get_private($privKeyStr);
|
$privKey = openssl_pkey_get_private($privKeyStr);
|
||||||
}
|
}
|
||||||
//Workaround for missing digest algorithms in old PHP & OpenSSL versions
|
if (openssl_sign($signHeader, $signature, $privKey, 'sha256WithRSAEncryption')) { //sha1WithRSAEncryption
|
||||||
//@link http://stackoverflow.com/a/11117338/333340
|
openssl_pkey_free($privKey);
|
||||||
if (version_compare(PHP_VERSION, '5.3.0') >= 0 and
|
return base64_encode($signature);
|
||||||
in_array('sha256WithRSAEncryption', openssl_get_md_methods(true))) {
|
|
||||||
if (openssl_sign($signHeader, $signature, $privKey, 'sha256WithRSAEncryption')) {
|
|
||||||
openssl_pkey_free($privKey);
|
|
||||||
return base64_encode($signature);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$pinfo = openssl_pkey_get_details($privKey);
|
|
||||||
$hash = hash('sha256', $signHeader);
|
|
||||||
//'Magic' constant for SHA256 from RFC3447
|
|
||||||
//@link https://tools.ietf.org/html/rfc3447#page-43
|
|
||||||
$t = '3031300d060960864801650304020105000420' . $hash;
|
|
||||||
$pslen = $pinfo['bits'] / 8 - (strlen($t) / 2 + 3);
|
|
||||||
$eb = pack('H*', '0001' . str_repeat('FF', $pslen) . '00' . $t);
|
|
||||||
|
|
||||||
if (openssl_private_encrypt($eb, $signature, $privKey, OPENSSL_NO_PADDING)) {
|
|
||||||
openssl_pkey_free($privKey);
|
|
||||||
return base64_encode($signature);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
openssl_pkey_free($privKey);
|
openssl_pkey_free($privKey);
|
||||||
return '';
|
return '';
|
||||||
|
|
|
@ -80,7 +80,6 @@ class PHPMailerOAuth extends PHPMailer
|
||||||
* @uses SMTP
|
* @uses SMTP
|
||||||
* @access public
|
* @access public
|
||||||
* @return bool
|
* @return bool
|
||||||
* @throws phpmailerException
|
|
||||||
*/
|
*/
|
||||||
public function smtpConnect($options = array())
|
public function smtpConnect($options = array())
|
||||||
{
|
{
|
||||||
|
|
|
@ -34,7 +34,7 @@ class POP3
|
||||||
* @var string
|
* @var string
|
||||||
* @access public
|
* @access public
|
||||||
*/
|
*/
|
||||||
public $Version = '5.2.23';
|
public $Version = '5.2.16';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default POP3 port number.
|
* Default POP3 port number.
|
||||||
|
|
105
src/vendor/phpmailer/phpmailer/class.smtp.php
vendored
105
src/vendor/phpmailer/phpmailer/class.smtp.php
vendored
|
@ -30,7 +30,7 @@ class SMTP
|
||||||
* The PHPMailer SMTP version number.
|
* The PHPMailer SMTP version number.
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
const VERSION = '5.2.23';
|
const VERSION = '5.2.16';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SMTP line break constant.
|
* SMTP line break constant.
|
||||||
|
@ -81,7 +81,7 @@ class SMTP
|
||||||
* @deprecated Use the `VERSION` constant instead
|
* @deprecated Use the `VERSION` constant instead
|
||||||
* @see SMTP::VERSION
|
* @see SMTP::VERSION
|
||||||
*/
|
*/
|
||||||
public $Version = '5.2.23';
|
public $Version = '5.2.16';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SMTP server port number.
|
* SMTP server port number.
|
||||||
|
@ -150,17 +150,6 @@ class SMTP
|
||||||
*/
|
*/
|
||||||
public $Timelimit = 300;
|
public $Timelimit = 300;
|
||||||
|
|
||||||
/**
|
|
||||||
* @var array patterns to extract smtp transaction id from smtp reply
|
|
||||||
* Only first capture group will be use, use non-capturing group to deal with it
|
|
||||||
* Extend this class to override this property to fulfil your needs.
|
|
||||||
*/
|
|
||||||
protected $smtp_transaction_id_patterns = array(
|
|
||||||
'exim' => '/[0-9]{3} OK id=(.*)/',
|
|
||||||
'sendmail' => '/[0-9]{3} 2.0.0 (.*) Message/',
|
|
||||||
'postfix' => '/[0-9]{3} 2.0.0 Ok: queued as (.*)/'
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The socket for the server connection.
|
* The socket for the server connection.
|
||||||
* @var resource
|
* @var resource
|
||||||
|
@ -217,7 +206,7 @@ class SMTP
|
||||||
}
|
}
|
||||||
//Avoid clash with built-in function names
|
//Avoid clash with built-in function names
|
||||||
if (!in_array($this->Debugoutput, array('error_log', 'html', 'echo')) and is_callable($this->Debugoutput)) {
|
if (!in_array($this->Debugoutput, array('error_log', 'html', 'echo')) and is_callable($this->Debugoutput)) {
|
||||||
call_user_func($this->Debugoutput, $str, $level);
|
call_user_func($this->Debugoutput, $str, $this->do_debug);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
switch ($this->Debugoutput) {
|
switch ($this->Debugoutput) {
|
||||||
|
@ -231,7 +220,8 @@ class SMTP
|
||||||
preg_replace('/[\r\n]+/', '', $str),
|
preg_replace('/[\r\n]+/', '', $str),
|
||||||
ENT_QUOTES,
|
ENT_QUOTES,
|
||||||
'UTF-8'
|
'UTF-8'
|
||||||
) . "<br>\n";
|
)
|
||||||
|
. "<br>\n";
|
||||||
break;
|
break;
|
||||||
case 'echo':
|
case 'echo':
|
||||||
default:
|
default:
|
||||||
|
@ -241,7 +231,7 @@ class SMTP
|
||||||
"\n",
|
"\n",
|
||||||
"\n \t ",
|
"\n \t ",
|
||||||
trim($str)
|
trim($str)
|
||||||
) . "\n";
|
)."\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -275,16 +265,15 @@ class SMTP
|
||||||
}
|
}
|
||||||
// Connect to the SMTP server
|
// Connect to the SMTP server
|
||||||
$this->edebug(
|
$this->edebug(
|
||||||
"Connection: opening to $host:$port, timeout=$timeout, options=" .
|
"Connection: opening to $host:$port, timeout=$timeout, options=".var_export($options, true),
|
||||||
var_export($options, true),
|
|
||||||
self::DEBUG_CONNECTION
|
self::DEBUG_CONNECTION
|
||||||
);
|
);
|
||||||
$errno = 0;
|
$errno = 0;
|
||||||
$errstr = '';
|
$errstr = '';
|
||||||
if ($streamok) {
|
if ($streamok) {
|
||||||
$socket_context = stream_context_create($options);
|
$socket_context = stream_context_create($options);
|
||||||
set_error_handler(array($this, 'errorHandler'));
|
//Suppress errors; connection failures are handled at a higher level
|
||||||
$this->smtp_conn = stream_socket_client(
|
$this->smtp_conn = @stream_socket_client(
|
||||||
$host . ":" . $port,
|
$host . ":" . $port,
|
||||||
$errno,
|
$errno,
|
||||||
$errstr,
|
$errstr,
|
||||||
|
@ -292,14 +281,12 @@ class SMTP
|
||||||
STREAM_CLIENT_CONNECT,
|
STREAM_CLIENT_CONNECT,
|
||||||
$socket_context
|
$socket_context
|
||||||
);
|
);
|
||||||
restore_error_handler();
|
|
||||||
} else {
|
} else {
|
||||||
//Fall back to fsockopen which should work in more places, but is missing some features
|
//Fall back to fsockopen which should work in more places, but is missing some features
|
||||||
$this->edebug(
|
$this->edebug(
|
||||||
"Connection: stream_socket_client not available, falling back to fsockopen",
|
"Connection: stream_socket_client not available, falling back to fsockopen",
|
||||||
self::DEBUG_CONNECTION
|
self::DEBUG_CONNECTION
|
||||||
);
|
);
|
||||||
set_error_handler(array($this, 'errorHandler'));
|
|
||||||
$this->smtp_conn = fsockopen(
|
$this->smtp_conn = fsockopen(
|
||||||
$host,
|
$host,
|
||||||
$port,
|
$port,
|
||||||
|
@ -307,7 +294,6 @@ class SMTP
|
||||||
$errstr,
|
$errstr,
|
||||||
$timeout
|
$timeout
|
||||||
);
|
);
|
||||||
restore_error_handler();
|
|
||||||
}
|
}
|
||||||
// Verify we connected properly
|
// Verify we connected properly
|
||||||
if (!is_resource($this->smtp_conn)) {
|
if (!is_resource($this->smtp_conn)) {
|
||||||
|
@ -362,14 +348,14 @@ class SMTP
|
||||||
}
|
}
|
||||||
|
|
||||||
// Begin encrypted connection
|
// Begin encrypted connection
|
||||||
set_error_handler(array($this, 'errorHandler'));
|
if (!stream_socket_enable_crypto(
|
||||||
$crypto_ok = stream_socket_enable_crypto(
|
|
||||||
$this->smtp_conn,
|
$this->smtp_conn,
|
||||||
true,
|
true,
|
||||||
$crypto_method
|
$crypto_method
|
||||||
);
|
)) {
|
||||||
restore_error_handler();
|
return false;
|
||||||
return $crypto_ok;
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -398,7 +384,8 @@ class SMTP
|
||||||
}
|
}
|
||||||
|
|
||||||
if (array_key_exists('EHLO', $this->server_caps)) {
|
if (array_key_exists('EHLO', $this->server_caps)) {
|
||||||
// SMTP extensions are available; try to find a proper authentication method
|
// SMTP extensions are available. Let's try to find a proper authentication method
|
||||||
|
|
||||||
if (!array_key_exists('AUTH', $this->server_caps)) {
|
if (!array_key_exists('AUTH', $this->server_caps)) {
|
||||||
$this->setError('Authentication is not allowed at this stage');
|
$this->setError('Authentication is not allowed at this stage');
|
||||||
// 'at this stage' means that auth may be allowed after the stage changes
|
// 'at this stage' means that auth may be allowed after the stage changes
|
||||||
|
@ -423,7 +410,7 @@ class SMTP
|
||||||
$this->setError('No supported authentication methods found');
|
$this->setError('No supported authentication methods found');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
self::edebug('Auth method selected: ' . $authtype, self::DEBUG_LOWLEVEL);
|
self::edebug('Auth method selected: '.$authtype, self::DEBUG_LOWLEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!in_array($authtype, $this->server_caps['AUTH'])) {
|
if (!in_array($authtype, $this->server_caps['AUTH'])) {
|
||||||
|
@ -487,7 +474,7 @@ class SMTP
|
||||||
$temp = new stdClass;
|
$temp = new stdClass;
|
||||||
$ntlm_client = new ntlm_sasl_client_class;
|
$ntlm_client = new ntlm_sasl_client_class;
|
||||||
//Check that functions are available
|
//Check that functions are available
|
||||||
if (!$ntlm_client->initialize($temp)) {
|
if (!$ntlm_client->Initialize($temp)) {
|
||||||
$this->setError($temp->error);
|
$this->setError($temp->error);
|
||||||
$this->edebug(
|
$this->edebug(
|
||||||
'You need to enable some modules in your php.ini file: '
|
'You need to enable some modules in your php.ini file: '
|
||||||
|
@ -497,7 +484,7 @@ class SMTP
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//msg1
|
//msg1
|
||||||
$msg1 = $ntlm_client->typeMsg1($realm, $workstation); //msg1
|
$msg1 = $ntlm_client->TypeMsg1($realm, $workstation); //msg1
|
||||||
|
|
||||||
if (!$this->sendCommand(
|
if (!$this->sendCommand(
|
||||||
'AUTH NTLM',
|
'AUTH NTLM',
|
||||||
|
@ -516,7 +503,7 @@ class SMTP
|
||||||
$password
|
$password
|
||||||
);
|
);
|
||||||
//msg3
|
//msg3
|
||||||
$msg3 = $ntlm_client->typeMsg3(
|
$msg3 = $ntlm_client->TypeMsg3(
|
||||||
$ntlm_res,
|
$ntlm_res,
|
||||||
$username,
|
$username,
|
||||||
$realm,
|
$realm,
|
||||||
|
@ -549,7 +536,7 @@ class SMTP
|
||||||
* Works like hash_hmac('md5', $data, $key)
|
* Works like hash_hmac('md5', $data, $key)
|
||||||
* in case that function is not available
|
* in case that function is not available
|
||||||
* @param string $data The data to hash
|
* @param string $data The data to hash
|
||||||
* @param string $key The key to hash with
|
* @param string $key The key to hash with
|
||||||
* @access protected
|
* @access protected
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
|
@ -892,8 +879,7 @@ class SMTP
|
||||||
$code_ex = (count($matches) > 2 ? $matches[2] : null);
|
$code_ex = (count($matches) > 2 ? $matches[2] : null);
|
||||||
// Cut off error code from each response line
|
// Cut off error code from each response line
|
||||||
$detail = preg_replace(
|
$detail = preg_replace(
|
||||||
"/{$code}[ -]" .
|
"/{$code}[ -]".($code_ex ? str_replace('.', '\\.', $code_ex).' ' : '')."/m",
|
||||||
($code_ex ? str_replace('.', '\\.', $code_ex) . ' ' : '') . "/m",
|
|
||||||
'',
|
'',
|
||||||
$this->last_reply
|
$this->last_reply
|
||||||
);
|
);
|
||||||
|
@ -1105,7 +1091,7 @@ class SMTP
|
||||||
// Now check if reads took too long
|
// Now check if reads took too long
|
||||||
if ($endtime and time() > $endtime) {
|
if ($endtime and time() > $endtime) {
|
||||||
$this->edebug(
|
$this->edebug(
|
||||||
'SMTP -> get_lines(): timelimit reached (' .
|
'SMTP -> get_lines(): timelimit reached ('.
|
||||||
$this->Timelimit . ' sec)',
|
$this->Timelimit . ' sec)',
|
||||||
self::DEBUG_LOWLEVEL
|
self::DEBUG_LOWLEVEL
|
||||||
);
|
);
|
||||||
|
@ -1203,49 +1189,4 @@ class SMTP
|
||||||
{
|
{
|
||||||
return $this->Timeout;
|
return $this->Timeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Reports an error number and string.
|
|
||||||
* @param integer $errno The error number returned by PHP.
|
|
||||||
* @param string $errmsg The error message returned by PHP.
|
|
||||||
* @param string $errfile The file the error occurred in
|
|
||||||
* @param integer $errline The line number the error occurred on
|
|
||||||
*/
|
|
||||||
protected function errorHandler($errno, $errmsg, $errfile = '', $errline = 0)
|
|
||||||
{
|
|
||||||
$notice = 'Connection failed.';
|
|
||||||
$this->setError(
|
|
||||||
$notice,
|
|
||||||
$errno,
|
|
||||||
$errmsg
|
|
||||||
);
|
|
||||||
$this->edebug(
|
|
||||||
$notice . ' Error #' . $errno . ': ' . $errmsg . " [$errfile line $errline]",
|
|
||||||
self::DEBUG_CONNECTION
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Will return the ID of the last smtp transaction based on a list of patterns provided
|
|
||||||
* in SMTP::$smtp_transaction_id_patterns.
|
|
||||||
* If no reply has been received yet, it will return null.
|
|
||||||
* If no pattern has been matched, it will return false.
|
|
||||||
* @return bool|null|string
|
|
||||||
*/
|
|
||||||
public function getLastTransactionID()
|
|
||||||
{
|
|
||||||
$reply = $this->getLastReply();
|
|
||||||
|
|
||||||
if (empty($reply)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($this->smtp_transaction_id_patterns as $smtp_transaction_id_pattern) {
|
|
||||||
if (preg_match($smtp_transaction_id_pattern, $reply, $matches)) {
|
|
||||||
return $matches[1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue