!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)

/var/www/html/main_file/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/   drwxr-xr-x
Free 13.19 GB of 57.97 GB (22.75%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace PhpOffice\PhpSpreadsheet\Cell;

use 
PhpOffice\PhpSpreadsheet\Exception;
use 
PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;

class 
CellAddress
{
    
/**
     * @var ?Worksheet
     */
    
protected $worksheet;

    
/**
     * @var string
     */
    
protected $cellAddress;

    
/**
     * @var string
     */
    
protected $columnName;

    
/**
     * @var int
     */
    
protected $columnId;

    
/**
     * @var int
     */
    
protected $rowId;

    public function 
__construct(string $cellAddress, ?Worksheet $worksheet null)
    {
        
$this->cellAddress str_replace('$'''$cellAddress);
        [
$this->columnId$this->rowId$this->columnName] = Coordinate::indexesFromString($this->cellAddress);
        
$this->worksheet $worksheet;
    }

    
/**
     * @param mixed $columnId
     * @param mixed $rowId
     */
    
private static function validateColumnAndRow($columnId$rowId): void
    
{
        if (!
is_numeric($columnId) || $columnId <= || !is_numeric($rowId) || $rowId <= 0) {
            throw new 
Exception('Row and Column Ids must be positive integer values');
        }
    }

    
/**
     * @param mixed $columnId
     * @param mixed $rowId
     */
    
public static function fromColumnAndRow($columnId$rowId, ?Worksheet $worksheet null): self
    
{
        
self::validateColumnAndRow($columnId$rowId);

        
/** @phpstan-ignore-next-line */
        
return new static(Coordinate::stringFromColumnIndex($columnId) . ((string) $rowId), $worksheet);
    }

    public static function 
fromColumnRowArray(array $array, ?Worksheet $worksheet null): self
    
{
        [
$columnId$rowId] = $array;

        return static::
fromColumnAndRow($columnId$rowId$worksheet);
    }

    
/**
     * @param mixed $cellAddress
     */
    
public static function fromCellAddress($cellAddress, ?Worksheet $worksheet null): self
    
{
        
/** @phpstan-ignore-next-line */
        
return new static($cellAddress$worksheet);
    }

    
/**
     * The returned address string will contain the worksheet name as well, if available,
     *     (ie. if a Worksheet was provided to the constructor).
     *     e.g. "'Mark''s Worksheet'!C5".
     */
    
public function fullCellAddress(): string
    
{
        if (
$this->worksheet !== null) {
            
$title str_replace("'""''"$this->worksheet->getTitle());

            return 
"'{$title}'!{$this->cellAddress}";
        }

        return 
$this->cellAddress;
    }

    public function 
worksheet(): ?Worksheet
    
{
        return 
$this->worksheet;
    }

    
/**
     * The returned address string will contain just the column/row address,
     *     (even if a Worksheet was provided to the constructor).
     *     e.g. "C5".
     */
    
public function cellAddress(): string
    
{
        return 
$this->cellAddress;
    }

    public function 
rowId(): int
    
{
        return 
$this->rowId;
    }

    public function 
columnId(): int
    
{
        return 
$this->columnId;
    }

    public function 
columnName(): string
    
{
        return 
$this->columnName;
    }

    public function 
nextRow(int $offset 1): self
    
{
        
$newRowId $this->rowId $offset;
        if (
$newRowId 1) {
            
$newRowId 1;
        }

        return static::
fromColumnAndRow($this->columnId$newRowId);
    }

    public function 
previousRow(int $offset 1): self
    
{
        return 
$this->nextRow($offset);
    }

    public function 
nextColumn(int $offset 1): self
    
{
        
$newColumnId $this->columnId $offset;
        if (
$newColumnId 1) {
            
$newColumnId 1;
        }

        return static::
fromColumnAndRow($newColumnId$this->rowId);
    }

    public function 
previousColumn(int $offset 1): self
    
{
        return 
$this->nextColumn($offset);
    }

    
/**
     * The returned address string will contain the worksheet name as well, if available,
     *     (ie. if a Worksheet was provided to the constructor).
     *     e.g. "'Mark''s Worksheet'!C5".
     */
    
public function __toString()
    {
        return 
$this->fullCellAddress();
    }
}

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