diff vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php	Thu May 09 15:34:47 2019 +0100
@@ -0,0 +1,45 @@
+<?php
+
+namespace Egulias\EmailValidator\Validation;
+
+use Egulias\EmailValidator\EmailLexer;
+use Egulias\EmailValidator\Exception\InvalidEmail;
+use Egulias\EmailValidator\Validation\Error\SpoofEmail;
+use \Spoofchecker;
+
+class SpoofCheckValidation 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)
+    {
+        $checker = new Spoofchecker();
+        $checker->setChecks(Spoofchecker::SINGLE_SCRIPT);
+
+        if ($checker->isSuspicious($email)) {
+            $this->error = new SpoofEmail();
+        }
+
+        return $this->error === null;
+    }
+
+    public function getError()
+    {
+        return $this->error;
+    }
+
+    public function getWarnings()
+    {
+        return [];
+    }
+}