!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/multirest.picotech.app/public_html/vendor/egulias/email-validator/src/   drwxr-xr-x
Free 28.55 GB of 117.98 GB (24.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     EmailLexer.php (6.25 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Egulias\EmailValidator;

use 
Doctrine\Common\Lexer\AbstractLexer;

class 
EmailLexer extends AbstractLexer
{
    
//ASCII values
    
const C_DEL              127;
    const 
C_NUL              0;
    const 
S_AT               64;
    const 
S_BACKSLASH        92;
    const 
S_DOT              46;
    const 
S_DQUOTE           34;
    const 
S_SQUOTE           39;
    const 
S_BACKTICK         96;
    const 
S_OPENPARENTHESIS  49;
    const 
S_CLOSEPARENTHESIS 261;
    const 
S_OPENBRACKET      262;
    const 
S_CLOSEBRACKET     263;
    const 
S_HYPHEN           264;
    const 
S_COLON            265;
    const 
S_DOUBLECOLON      266;
    const 
S_SP               267;
    const 
S_HTAB             268;
    const 
S_CR               269;
    const 
S_LF               270;
    const 
S_IPV6TAG          271;
    const 
S_LOWERTHAN        272;
    const 
S_GREATERTHAN      273;
    const 
S_COMMA            274;
    const 
S_SEMICOLON        275;
    const 
S_OPENQBRACKET     276;
    const 
S_CLOSEQBRACKET    277;
    const 
S_SLASH            278;
    const 
S_EMPTY            null;
    const 
GENERIC            300;
    const 
CRLF               301;
    const 
INVALID            302;
    const 
ASCII_INVALID_FROM 127;
    const 
ASCII_INVALID_TO   199;

    
/**
     * US-ASCII visible characters not valid for atext (@link http://tools.ietf.org/html/rfc5322#section-3.2.3)
     *
     * @var array
     */
    
protected $charValue = array(
        
'('    => self::S_OPENPARENTHESIS,
        
')'    => self::S_CLOSEPARENTHESIS,
        
'<'    => self::S_LOWERTHAN,
        
'>'    => self::S_GREATERTHAN,
        
'['    => self::S_OPENBRACKET,
        
']'    => self::S_CLOSEBRACKET,
        
':'    => self::S_COLON,
        
';'    => self::S_SEMICOLON,
        
'@'    => self::S_AT,
        
'\\'   => self::S_BACKSLASH,
        
'/'    => self::S_SLASH,
        
','    => self::S_COMMA,
        
'.'    => self::S_DOT,
        
"'"    => self::S_SQUOTE,
        
"`"    => self::S_BACKTICK,
        
'"'    => self::S_DQUOTE,
        
'-'    => self::S_HYPHEN,
        
'::'   => self::S_DOUBLECOLON,
        
' '    => self::S_SP,
        
"\t"   => self::S_HTAB,
        
"\r"   => self::S_CR,
        
"\n"   => self::S_LF,
        
"\r\n" => self::CRLF,
        
'IPv6' => self::S_IPV6TAG,
        
'{'    => self::S_OPENQBRACKET,
        
'}'    => self::S_CLOSEQBRACKET,
        
''     => self::S_EMPTY,
        
'\0'   => self::C_NUL,
    );

    
/**
     * @var bool
     */
    
protected $hasInvalidTokens false;

    
/**
     * @var array
     *
     * @psalm-var array{value:string, type:null|int, position:int}|array<empty, empty>
     */
    
protected $previous = [];

    
/**
     * The last matched/seen token.
     *
     * @var array
     *
     * @psalm-var array{value:string, type:null|int, position:int}
     */
    
public $token;

    
/**
     * The next token in the input.
     *
     * @var array|null
     */
    
public $lookahead;

    
/**
     * @psalm-var array{value:'', type:null, position:0}
     */
    
private static $nullToken = [
        
'value' => '',
        
'type' => null,
        
'position' => 0,
    ];

    public function 
__construct()
    {
        
$this->previous $this->token self::$nullToken;
        
$this->lookahead null;
    }

    
/**
     * @return void
     */
    
public function reset()
    {
        
$this->hasInvalidTokens false;
        
parent::reset();
        
$this->previous $this->token self::$nullToken;
    }

    
/**
     * @return bool
     */
    
public function hasInvalidTokens()
    {
        return 
$this->hasInvalidTokens;
    }

    
/**
     * @param int $type
     * @throws \UnexpectedValueException
     * @return boolean
     *
     * @psalm-suppress InvalidScalarArgument
     */
    
public function find($type)
    {
        
$search = clone $this;
        
$search->skipUntil($type);

        if (!
$search->lookahead) {
            throw new 
\UnexpectedValueException($type ' not found');
        }
        return 
true;
    }

    
/**
     * getPrevious
     *
     * @return array
     */
    
public function getPrevious()
    {
        return 
$this->previous;
    }

    
/**
     * moveNext
     *
     * @return boolean
     */
    
public function moveNext()
    {
        
$this->previous $this->token;
        
$hasNext parent::moveNext();
        
$this->token $this->token ?: self::$nullToken;

        return 
$hasNext;
    }

    
/**
     * Lexical catchable patterns.
     *
     * @return string[]
     */
    
protected function getCatchablePatterns()
    {
        return array(
            
'[a-zA-Z_]+[46]?'//ASCII and domain literal
            
'[^\x00-\x7F]',  //UTF-8
            
'[0-9]+',
            
'\r\n',
            
'::',
            
'\s+?',
            
'.',
            );
    }

    
/**
     * Lexical non-catchable patterns.
     *
     * @return string[]
     */
    
protected function getNonCatchablePatterns()
    {
        return array(
'[\xA0-\xff]+');
    }

    
/**
     * Retrieve token type. Also processes the token value if necessary.
     *
     * @param string $value
     * @throws \InvalidArgumentException
     * @return integer
     */
    
protected function getType(&$value)
    {
        if (
$this->isNullType($value)) {
            return 
self::C_NUL;
        }

        if (
$this->isValid($value)) {
            return 
$this->charValue[$value];
        }

        if (
$this->isUTF8Invalid($value)) {
            
$this->hasInvalidTokens true;
            return 
self::INVALID;
        }

        return  
self::GENERIC;
    }

    
/**
     * @param string $value
     *
     * @return bool
     */
    
protected function isValid($value)
    {
        if (isset(
$this->charValue[$value])) {
            return 
true;
        }

        return 
false;
    }

    
/**
     * @param string $value
     * @return bool
     */
    
protected function isNullType($value)
    {
        if (
$value === "\0") {
            return 
true;
        }

        return 
false;
    }

    
/**
     * @param string $value
     * @return bool
     */
    
protected function isUTF8Invalid($value)
    {
        if (
preg_match('/\p{Cc}+/u'$value)) {
            return 
true;
        }

        return 
false;
    }

    
/**
     * @return string
     */
    
protected function getModifiers()
    {
        return 
'iu';
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.004 ]--