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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/uploads/script/vendor/symfony/css-selector/Parser/   drwxr-xr-x
Free 13.33 GB of 57.97 GB (23%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\CssSelector\Parser;

use 
Symfony\Component\CssSelector\Exception\InternalErrorException;
use 
Symfony\Component\CssSelector\Exception\SyntaxErrorException;

/**
 * CSS selector token stream.
 *
 * This component is a port of the Python cssselect library,
 * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
 *
 * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
 *
 * @internal
 */
class TokenStream
{
    
/**
     * @var Token[]
     */
    
private $tokens = [];

    
/**
     * @var Token[]
     */
    
private $used = [];

    
/**
     * @var int
     */
    
private $cursor 0;

    
/**
     * @var Token|null
     */
    
private $peeked;

    
/**
     * @var bool
     */
    
private $peeking false;

    
/**
     * Pushes a token.
     *
     * @return $this
     */
    
public function push(Token $token): self
    
{
        
$this->tokens[] = $token;

        return 
$this;
    }

    
/**
     * Freezes stream.
     *
     * @return $this
     */
    
public function freeze(): self
    
{
        return 
$this;
    }

    
/**
     * Returns next token.
     *
     * @throws InternalErrorException If there is no more token
     */
    
public function getNext(): Token
    
{
        if (
$this->peeking) {
            
$this->peeking false;
            
$this->used[] = $this->peeked;

            return 
$this->peeked;
        }

        if (!isset(
$this->tokens[$this->cursor])) {
            throw new 
InternalErrorException('Unexpected token stream end.');
        }

        return 
$this->tokens[$this->cursor++];
    }

    
/**
     * Returns peeked token.
     */
    
public function getPeek(): Token
    
{
        if (!
$this->peeking) {
            
$this->peeked $this->getNext();
            
$this->peeking true;
        }

        return 
$this->peeked;
    }

    
/**
     * Returns used tokens.
     *
     * @return Token[]
     */
    
public function getUsed(): array
    {
        return 
$this->used;
    }

    
/**
     * Returns nex identifier token.
     *
     * @return string The identifier token value
     *
     * @throws SyntaxErrorException If next token is not an identifier
     */
    
public function getNextIdentifier(): string
    
{
        
$next $this->getNext();

        if (!
$next->isIdentifier()) {
            throw 
SyntaxErrorException::unexpectedToken('identifier'$next);
        }

        return 
$next->getValue();
    }

    
/**
     * Returns nex identifier or star delimiter token.
     *
     * @return string|null The identifier token value or null if star found
     *
     * @throws SyntaxErrorException If next token is not an identifier or a star delimiter
     */
    
public function getNextIdentifierOrStar(): ?string
    
{
        
$next $this->getNext();

        if (
$next->isIdentifier()) {
            return 
$next->getValue();
        }

        if (
$next->isDelimiter(['*'])) {
            return 
null;
        }

        throw 
SyntaxErrorException::unexpectedToken('identifier or "*"'$next);
    }

    
/**
     * Skips next whitespace if any.
     */
    
public function skipWhitespace()
    {
        
$peek $this->getPeek();

        if (
$peek->isWhitespace()) {
            
$this->getNext();
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

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