!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/Worksheet/Table/   drwxr-xr-x
Free 13.09 GB of 57.97 GB (22.58%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace PhpOffice\PhpSpreadsheet\Worksheet\Table;

use 
PhpOffice\PhpSpreadsheet\Cell\DataType;
use 
PhpOffice\PhpSpreadsheet\Shared\StringHelper;
use 
PhpOffice\PhpSpreadsheet\Spreadsheet;
use 
PhpOffice\PhpSpreadsheet\Worksheet\Table;
use 
PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;

class 
Column
{
    
/**
     * Table Column Index.
     *
     * @var string
     */
    
private $columnIndex '';

    
/**
     * Show Filter Button.
     *
     * @var bool
     */
    
private $showFilterButton true;

    
/**
     * Total Row Label.
     *
     * @var string
     */
    
private $totalsRowLabel;

    
/**
     * Total Row Function.
     *
     * @var string
     */
    
private $totalsRowFunction;

    
/**
     * Total Row Formula.
     *
     * @var string
     */
    
private $totalsRowFormula;

    
/**
     * Column Formula.
     *
     * @var string
     */
    
private $columnFormula;

    
/**
     * Table.
     *
     * @var null|Table
     */
    
private $table;

    
/**
     * Create a new Column.
     *
     * @param string $column Column (e.g. A)
     * @param Table $table Table for this column
     */
    
public function __construct($column, ?Table $table null)
    {
        
$this->columnIndex $column;
        
$this->table $table;
    }

    
/**
     * Get Table column index as string eg: 'A'.
     */
    
public function getColumnIndex(): string
    
{
        return 
$this->columnIndex;
    }

    
/**
     * Set Table column index as string eg: 'A'.
     *
     * @param string $column Column (e.g. A)
     */
    
public function setColumnIndex($column): self
    
{
        
// Uppercase coordinate
        
$column strtoupper($column);
        if (
$this->table !== null) {
            
$this->table->isColumnInRange($column);
        }

        
$this->columnIndex $column;

        return 
$this;
    }

    
/**
     * Get show Filter Button.
     */
    
public function getShowFilterButton(): bool
    
{
        return 
$this->showFilterButton;
    }

    
/**
     * Set show Filter Button.
     */
    
public function setShowFilterButton(bool $showFilterButton): self
    
{
        
$this->showFilterButton $showFilterButton;

        return 
$this;
    }

    
/**
     * Get total Row Label.
     */
    
public function getTotalsRowLabel(): ?string
    
{
        return 
$this->totalsRowLabel;
    }

    
/**
     * Set total Row Label.
     */
    
public function setTotalsRowLabel(string $totalsRowLabel): self
    
{
        
$this->totalsRowLabel $totalsRowLabel;

        return 
$this;
    }

    
/**
     * Get total Row Function.
     */
    
public function getTotalsRowFunction(): ?string
    
{
        return 
$this->totalsRowFunction;
    }

    
/**
     * Set total Row Function.
     */
    
public function setTotalsRowFunction(string $totalsRowFunction): self
    
{
        
$this->totalsRowFunction $totalsRowFunction;

        return 
$this;
    }

    
/**
     * Get total Row Formula.
     */
    
public function getTotalsRowFormula(): ?string
    
{
        return 
$this->totalsRowFormula;
    }

    
/**
     * Set total Row Formula.
     */
    
public function setTotalsRowFormula(string $totalsRowFormula): self
    
{
        
$this->totalsRowFormula $totalsRowFormula;

        return 
$this;
    }

    
/**
     * Get column Formula.
     */
    
public function getColumnFormula(): ?string
    
{
        return 
$this->columnFormula;
    }

    
/**
     * Set column Formula.
     */
    
public function setColumnFormula(string $columnFormula): self
    
{
        
$this->columnFormula $columnFormula;

        return 
$this;
    }

    
/**
     * Get this Column's Table.
     */
    
public function getTable(): ?Table
    
{
        return 
$this->table;
    }

    
/**
     * Set this Column's Table.
     */
    
public function setTable(?Table $table null): self
    
{
        
$this->table $table;

        return 
$this;
    }

    public static function 
updateStructuredReferences(?Worksheet $workSheet, ?string $oldTitle, ?string $newTitle): void
    
{
        if (
$workSheet === null || $oldTitle === null || $oldTitle === '' || $newTitle === null) {
            return;
        }

        
// Remember that table headings are case-insensitive
        
if (StringHelper::strToLower($oldTitle) !== StringHelper::strToLower($newTitle)) {
            
// We need to check all formula cells that might contain Structured References that refer
            //    to this column, and update those formulae to reference the new column text
            
$spreadsheet $workSheet->getParentOrThrow();
            foreach (
$spreadsheet->getWorksheetIterator() as $sheet) {
                
self::updateStructuredReferencesInCells($sheet$oldTitle$newTitle);
            }
            
self::updateStructuredReferencesInNamedFormulae($spreadsheet$oldTitle$newTitle);
        }
    }

    private static function 
updateStructuredReferencesInCells(Worksheet $worksheetstring $oldTitlestring $newTitle): void
    
{
        
$pattern '/\[(@?)' preg_quote($oldTitle) . '\]/mui';

        foreach (
$worksheet->getCoordinates(false) as $coordinate) {
            
$cell $worksheet->getCell($coordinate);
            if (
$cell->getDataType() === DataType::TYPE_FORMULA) {
                
$formula $cell->getValue();
                if (
preg_match($pattern$formula) === 1) {
                    
$formula preg_replace($pattern"[$1{$newTitle}]"$formula);
                    
$cell->setValueExplicit($formulaDataType::TYPE_FORMULA);
                }
            }
        }
    }

    private static function 
updateStructuredReferencesInNamedFormulae(Spreadsheet $spreadsheetstring $oldTitlestring $newTitle): void
    
{
        
$pattern '/\[(@?)' preg_quote($oldTitle) . '\]/mui';

        foreach (
$spreadsheet->getNamedFormulae() as $namedFormula) {
            
$formula $namedFormula->getValue();
            if (
preg_match($pattern$formula) === 1) {
                
$formula preg_replace($pattern"[$1{$newTitle}]"$formula);
                
$namedFormula->setValue($formula); // @phpstan-ignore-line
            
}
        }
    }
}

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