!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/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/   drwxr-xr-x
Free 13.32 GB of 57.97 GB (22.98%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace PhpOffice\PhpSpreadsheet\Reader\Xlsx;

use 
PhpOffice\PhpSpreadsheet\Style\Conditional;
use 
PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
use 
SimpleXMLElement;

class 
ConditionalStyles
{
    private 
$worksheet;

    private 
$worksheetXml;

    private 
$dxfs;

    public function 
__construct(Worksheet $workSheetSimpleXMLElement $worksheetXml, array $dxfs = [])
    {
        
$this->worksheet $workSheet;
        
$this->worksheetXml $worksheetXml;
        
$this->dxfs $dxfs;
    }

    public function 
load(): void
    
{
        
$this->setConditionalStyles(
            
$this->worksheet,
            
$this->readConditionalStyles($this->worksheetXml)
        );
    }

    private function 
readConditionalStyles($xmlSheet)
    {
        
$conditionals = [];
        foreach (
$xmlSheet->conditionalFormatting as $conditional) {
            foreach (
$conditional->cfRule as $cfRule) {
                if (
                    ((string) 
$cfRule['type'] == Conditional::CONDITION_NONE
                    
|| (string) $cfRule['type'] == Conditional::CONDITION_CELLIS
                    
|| (string) $cfRule['type'] == Conditional::CONDITION_CONTAINSTEXT
                    
|| (string) $cfRule['type'] == Conditional::CONDITION_CONTAINSBLANKS
                    
|| (string) $cfRule['type'] == Conditional::CONDITION_NOTCONTAINSBLANKS
                    
|| (string) $cfRule['type'] == Conditional::CONDITION_EXPRESSION)
                    && isset(
$this->dxfs[(int) ($cfRule['dxfId'])])
                ) {
                    
$conditionals[(string) $conditional['sqref']][(int) ($cfRule['priority'])] = $cfRule;
                }
            }
        }

        return 
$conditionals;
    }

    private function 
setConditionalStyles(Worksheet $worksheet, array $conditionals): void
    
{
        foreach (
$conditionals as $ref => $cfRules) {
            
ksort($cfRules);
            
$conditionalStyles $this->readStyleRules($cfRules);

            
// Extract all cell references in $ref
            
$cellBlocks explode(' 'str_replace('$'''strtoupper($ref)));
            foreach (
$cellBlocks as $cellBlock) {
                
$worksheet->getStyle($cellBlock)->setConditionalStyles($conditionalStyles);
            }
        }
    }

    private function 
readStyleRules($cfRules)
    {
        
$conditionalStyles = [];
        foreach (
$cfRules as $cfRule) {
            
$objConditional = new Conditional();
            
$objConditional->setConditionType((string) $cfRule['type']);
            
$objConditional->setOperatorType((string) $cfRule['operator']);

            if ((string) 
$cfRule['text'] != '') {
                
$objConditional->setText((string) $cfRule['text']);
            }

            if (isset(
$cfRule['stopIfTrue']) && (int) $cfRule['stopIfTrue'] === 1) {
                
$objConditional->setStopIfTrue(true);
            }

            if (
count($cfRule->formula) > 1) {
                foreach (
$cfRule->formula as $formula) {
                    
$objConditional->addCondition((string) $formula);
                }
            } else {
                
$objConditional->addCondition((string) $cfRule->formula);
            }
            
$objConditional->setStyle(clone $this->dxfs[(int) ($cfRule['dxfId'])]);
            
$conditionalStyles[] = $objConditional;
        }

        return 
$conditionalStyles;
    }
}

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