- Fix: Notifiable-Trait zum User-Model hinzugefuegt (behebt notify()-500er) - Installer: SMTP-Verbindungstest mit EsmtpTransport + Ueberspringen-Link - Admin: Neuer E-Mail-Tab mit SMTP-Konfiguration + Verbindungstest - Admin: Lazy Quill-Initialisierung (nur sichtbare Locale wird geladen) - Uebersetzungen: 17 neue Mail-Keys in allen 6 Sprachen Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
68 lines
1.2 KiB
PHP
Executable File
68 lines
1.2 KiB
PHP
Executable File
<?php
|
|
|
|
namespace Egulias\EmailValidator;
|
|
|
|
use Egulias\EmailValidator\Result\InvalidEmail;
|
|
use Egulias\EmailValidator\Validation\EmailValidation;
|
|
|
|
class EmailValidator
|
|
{
|
|
/**
|
|
* @var EmailLexer
|
|
*/
|
|
private $lexer;
|
|
|
|
/**
|
|
* @var Warning\Warning[]
|
|
*/
|
|
private $warnings = [];
|
|
|
|
/**
|
|
* @var ?InvalidEmail
|
|
*/
|
|
private $error;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->lexer = new EmailLexer();
|
|
}
|
|
|
|
/**
|
|
* @param string $email
|
|
* @param EmailValidation $emailValidation
|
|
* @return bool
|
|
*/
|
|
public function isValid(string $email, EmailValidation $emailValidation)
|
|
{
|
|
$isValid = $emailValidation->isValid($email, $this->lexer);
|
|
$this->warnings = $emailValidation->getWarnings();
|
|
$this->error = $emailValidation->getError();
|
|
|
|
return $isValid;
|
|
}
|
|
|
|
/**
|
|
* @return boolean
|
|
*/
|
|
public function hasWarnings()
|
|
{
|
|
return !empty($this->warnings);
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function getWarnings()
|
|
{
|
|
return $this->warnings;
|
|
}
|
|
|
|
/**
|
|
* @return InvalidEmail|null
|
|
*/
|
|
public function getError()
|
|
{
|
|
return $this->error;
|
|
}
|
|
}
|