annotate vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@18 1 <?php
Chris@18 2
Chris@18 3 namespace Egulias\EmailValidator\Validation;
Chris@18 4
Chris@18 5 use Egulias\EmailValidator\EmailLexer;
Chris@18 6 use Egulias\EmailValidator\Exception\InvalidEmail;
Chris@18 7 use Egulias\EmailValidator\Validation\Error\SpoofEmail;
Chris@18 8 use \Spoofchecker;
Chris@18 9
Chris@18 10 class SpoofCheckValidation implements EmailValidation
Chris@18 11 {
Chris@18 12 /**
Chris@18 13 * @var InvalidEmail
Chris@18 14 */
Chris@18 15 private $error;
Chris@18 16
Chris@18 17 public function __construct()
Chris@18 18 {
Chris@18 19 if (!extension_loaded('intl')) {
Chris@18 20 throw new \LogicException(sprintf('The %s class requires the Intl extension.', __CLASS__));
Chris@18 21 }
Chris@18 22 }
Chris@18 23
Chris@18 24 public function isValid($email, EmailLexer $emailLexer)
Chris@18 25 {
Chris@18 26 $checker = new Spoofchecker();
Chris@18 27 $checker->setChecks(Spoofchecker::SINGLE_SCRIPT);
Chris@18 28
Chris@18 29 if ($checker->isSuspicious($email)) {
Chris@18 30 $this->error = new SpoofEmail();
Chris@18 31 }
Chris@18 32
Chris@18 33 return $this->error === null;
Chris@18 34 }
Chris@18 35
Chris@18 36 public function getError()
Chris@18 37 {
Chris@18 38 return $this->error;
Chris@18 39 }
Chris@18 40
Chris@18 41 public function getWarnings()
Chris@18 42 {
Chris@18 43 return [];
Chris@18 44 }
Chris@18 45 }