!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/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/   drwxr-xr-x
Free 13.01 GB of 57.97 GB (22.44%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

/*
 * This file is part of SwiftMailer.
 * (c) 2004-2009 Chris Corbyn
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * A CharacterStream implementation which stores characters in an internal array.
 *
 * @author     Xavier De Cock <xdecock@gmail.com>
 */
class Swift_CharacterStream_NgCharacterStream implements Swift_CharacterStream
{
    
/**
     * The char reader (lazy-loaded) for the current charset.
     *
     * @var Swift_CharacterReader
     */
    
private $charReader;

    
/**
     * A factory for creating CharacterReader instances.
     *
     * @var Swift_CharacterReaderFactory
     */
    
private $charReaderFactory;

    
/**
     * The character set this stream is using.
     *
     * @var string
     */
    
private $charset;

    
/**
     * The data's stored as-is.
     *
     * @var string
     */
    
private $datas '';

    
/**
     * Number of bytes in the stream.
     *
     * @var int
     */
    
private $datasSize 0;

    
/**
     * Map.
     *
     * @var mixed
     */
    
private $map;

    
/**
     * Map Type.
     *
     * @var int
     */
    
private $mapType 0;

    
/**
     * Number of characters in the stream.
     *
     * @var int
     */
    
private $charCount 0;

    
/**
     * Position in the stream.
     *
     * @var int
     */
    
private $currentPos 0;

    
/**
     * Constructor.
     *
     * @param string $charset
     */
    
public function __construct(Swift_CharacterReaderFactory $factory$charset)
    {
        
$this->setCharacterReaderFactory($factory);
        
$this->setCharacterSet($charset);
    }

    
/* -- Changing parameters of the stream -- */

    /**
     * Set the character set used in this CharacterStream.
     *
     * @param string $charset
     */
    
public function setCharacterSet($charset)
    {
        
$this->charset $charset;
        
$this->charReader null;
        
$this->mapType 0;
    }

    
/**
     * Set the CharacterReaderFactory for multi charset support.
     */
    
public function setCharacterReaderFactory(Swift_CharacterReaderFactory $factory)
    {
        
$this->charReaderFactory $factory;
    }

    
/**
     * @see Swift_CharacterStream::flushContents()
     */
    
public function flushContents()
    {
        
$this->datas null;
        
$this->map null;
        
$this->charCount 0;
        
$this->currentPos 0;
        
$this->datasSize 0;
    }

    
/**
     * @see Swift_CharacterStream::importByteStream()
     */
    
public function importByteStream(Swift_OutputByteStream $os)
    {
        
$this->flushContents();
        
$blocks 512;
        
$os->setReadPointer(0);
        while (
false !== ($read $os->read($blocks))) {
            
$this->write($read);
        }
    }

    
/**
     * @see Swift_CharacterStream::importString()
     *
     * @param string $string
     */
    
public function importString($string)
    {
        
$this->flushContents();
        
$this->write($string);
    }

    
/**
     * @see Swift_CharacterStream::read()
     *
     * @param int $length
     *
     * @return string
     */
    
public function read($length)
    {
        if (
$this->currentPos >= $this->charCount) {
            return 
false;
        }
        
$ret false;
        
$length = ($this->currentPos $length $this->charCount) ? $this->charCount $this->currentPos $length;
        switch (
$this->mapType) {
            case 
Swift_CharacterReader::MAP_TYPE_FIXED_LEN:
                
$len $length $this->map;
                
$ret substr($this->datas,
                        
$this->currentPos $this->map,
                        
$len);
                
$this->currentPos += $length;
                break;

            case 
Swift_CharacterReader::MAP_TYPE_INVALID:
                
$ret '';
                for (; 
$this->currentPos $length; ++$this->currentPos) {
                    if (isset(
$this->map[$this->currentPos])) {
                        
$ret .= '?';
                    } else {
                        
$ret .= $this->datas[$this->currentPos];
                    }
                }
                break;

            case 
Swift_CharacterReader::MAP_TYPE_POSITIONS:
                
$end $this->currentPos $length;
                
$end $end $this->charCount $this->charCount $end;
                
$ret '';
                
$start 0;
                if (
$this->currentPos 0) {
                    
$start $this->map['p'][$this->currentPos 1];
                }
                
$to $start;
                for (; 
$this->currentPos $end; ++$this->currentPos) {
                    if (isset(
$this->map['i'][$this->currentPos])) {
                        
$ret .= substr($this->datas$start$to $start).'?';
                        
$start $this->map['p'][$this->currentPos];
                    } else {
                        
$to $this->map['p'][$this->currentPos];
                    }
                }
                
$ret .= substr($this->datas$start$to $start);
                break;
        }

        return 
$ret;
    }

    
/**
     * @see Swift_CharacterStream::readBytes()
     *
     * @param int $length
     *
     * @return int[]
     */
    
public function readBytes($length)
    {
        
$read $this->read($length);
        if (
false !== $read) {
            
$ret array_map('ord'str_split($read1));

            return 
$ret;
        }

        return 
false;
    }

    
/**
     * @see Swift_CharacterStream::setPointer()
     *
     * @param int $charOffset
     */
    
public function setPointer($charOffset)
    {
        if (
$this->charCount $charOffset) {
            
$charOffset $this->charCount;
        }
        
$this->currentPos $charOffset;
    }

    
/**
     * @see Swift_CharacterStream::write()
     *
     * @param string $chars
     */
    
public function write($chars)
    {
        if (!isset(
$this->charReader)) {
            
$this->charReader $this->charReaderFactory->getReaderFor(
                
$this->charset);
            
$this->map = [];
            
$this->mapType $this->charReader->getMapType();
        }
        
$ignored '';
        
$this->datas .= $chars;
        
$this->charCount += $this->charReader->getCharPositions(substr($this->datas$this->datasSize), $this->datasSize$this->map$ignored);
        if (
false !== $ignored) {
            
$this->datasSize \strlen($this->datas) - \strlen($ignored);
        } else {
            
$this->datasSize \strlen($this->datas);
        }
    }
}

:: 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.0097 ]--