annotate vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.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
rev   line source
Chris@5 1 <?php
Chris@5 2
Chris@5 3 namespace Egulias\EmailValidator\Validation;
Chris@5 4
Chris@5 5 use Egulias\EmailValidator\EmailLexer;
Chris@5 6 use Egulias\EmailValidator\EmailParser;
Chris@5 7 use Egulias\EmailValidator\Exception\InvalidEmail;
Chris@5 8
Chris@5 9 class RFCValidation implements EmailValidation
Chris@5 10 {
Chris@5 11 /**
Chris@5 12 * @var EmailParser
Chris@5 13 */
Chris@5 14 private $parser;
Chris@5 15
Chris@5 16 /**
Chris@5 17 * @var array
Chris@5 18 */
Chris@5 19 private $warnings = [];
Chris@5 20
Chris@5 21 /**
Chris@5 22 * @var InvalidEmail
Chris@5 23 */
Chris@5 24 private $error;
Chris@5 25
Chris@5 26 public function isValid($email, EmailLexer $emailLexer)
Chris@5 27 {
Chris@5 28 $this->parser = new EmailParser($emailLexer);
Chris@5 29 try {
Chris@5 30 $this->parser->parse((string)$email);
Chris@5 31 } catch (InvalidEmail $invalid) {
Chris@5 32 $this->error = $invalid;
Chris@5 33 return false;
Chris@5 34 }
Chris@5 35
Chris@5 36 $this->warnings = $this->parser->getWarnings();
Chris@5 37 return true;
Chris@5 38 }
Chris@5 39
Chris@5 40 public function getError()
Chris@5 41 {
Chris@5 42 return $this->error;
Chris@5 43 }
Chris@5 44
Chris@5 45 public function getWarnings()
Chris@5 46 {
Chris@5 47 return $this->warnings;
Chris@5 48 }
Chris@5 49 }