Compare commits

..

4 Commits

Author SHA1 Message Date
SAMUEL NELA 0578b32b30 Added autoload-dev (#178) 2018-09-25 22:47:26 +02:00
Tom Sommer 54859fabea INTL_IDNA_VARIANT_UTS46 is not supported on all systems (#173)
* INTL_IDNA_VARIANT_UTS46 is not supported on all systems

Fall back to INTL_IDNA_VARIANT_2003 if INTL_IDNA_VARIANT_UTS46 is not found.

* Fix syntax error

* Update DNSCheckValidation.php
2018-08-16 22:49:45 +02:00
Tom Sommer 135444003f Correctly check for intl extension in SpoofCheck (#174) 2018-08-13 14:43:59 +02:00
Tom Sommer 9dde0df1e3 DNSCheckValidation requires the Intl extension (#175)
* DNSCheckValidation requires the Intl extension as well

* Check for Intl extension in DNSCheckValidation
2018-08-13 14:43:24 +02:00
4 changed files with 19 additions and 3 deletions
@@ -18,6 +18,13 @@ class DNSCheckValidation implements EmailValidation
* @var InvalidEmail
*/
private $error;
public function __construct()
{
if (!extension_loaded('intl')) {
throw new \LogicException(sprintf('The %s class requires the Intl extension.', __CLASS__));
}
}
public function isValid($email, EmailLexer $emailLexer)
{
@@ -44,7 +51,11 @@ class DNSCheckValidation implements EmailValidation
protected function checkDNS($host)
{
$host = rtrim(idn_to_ascii($host, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46), '.') . '.';
$variant = INTL_IDNA_VARIANT_2003;
if ( defined('INTL_IDNA_VARIANT_UTS46') ) {
$variant = INTL_IDNA_VARIANT_UTS46;
}
$host = rtrim(idn_to_ascii($host, IDNA_DEFAULT, $variant), '.') . '.';
$Aresult = true;
$MXresult = checkdnsrr($host, 'MX');
@@ -16,7 +16,7 @@ class SpoofCheckValidation implements EmailValidation
public function __construct()
{
if (!class_exists(Spoofchecker::class)) {
if (!extension_loaded('intl')) {
throw new \LogicException(sprintf('The %s class requires the Intl extension.', __CLASS__));
}
}
+1 -1
View File
@@ -6,7 +6,7 @@ With the help of [PHPStorm](https://www.jetbrains.com/phpstorm/)
## Requirements ##
* [Composer](https://getcomposer.org) is required for installation
* [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) validation requires that your PHP system have the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl)
* [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system have the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl)
## Installation ##
+5
View File
@@ -35,5 +35,10 @@
"psr-4": {
"Egulias\\EmailValidator\\": "EmailValidator"
}
},
"autoload-dev": {
"psr-4": {
"Egulias\\Tests\\": "test"
}
}
}