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


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

namespace PhpOffice\PhpSpreadsheet\Writer\Ods;

use 
PhpOffice\PhpSpreadsheet\Cell\CellAddress;
use 
PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use 
PhpOffice\PhpSpreadsheet\Shared\XMLWriter;
use 
PhpOffice\PhpSpreadsheet\Spreadsheet;
use 
PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;

class 
Settings extends WriterPart
{
    
/**
     * Write settings.xml to XML format.
     *
     * @return string XML Output
     */
    
public function write(): string
    
{
        if (
$this->getParentWriter()->getUseDiskCaching()) {
            
$objWriter = new XMLWriter(XMLWriter::STORAGE_DISK$this->getParentWriter()->getDiskCachingDirectory());
        } else {
            
$objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
        }

        
// XML header
        
$objWriter->startDocument('1.0''UTF-8');

        
// Settings
        
$objWriter->startElement('office:document-settings');
        
$objWriter->writeAttribute('xmlns:office''urn:oasis:names:tc:opendocument:xmlns:office:1.0');
        
$objWriter->writeAttribute('xmlns:xlink''http://www.w3.org/1999/xlink');
        
$objWriter->writeAttribute('xmlns:config''urn:oasis:names:tc:opendocument:xmlns:config:1.0');
        
$objWriter->writeAttribute('xmlns:ooo''http://openoffice.org/2004/office');
        
$objWriter->writeAttribute('office:version''1.2');

        
$objWriter->startElement('office:settings');
        
$objWriter->startElement('config:config-item-set');
        
$objWriter->writeAttribute('config:name''ooo:view-settings');
        
$objWriter->startElement('config:config-item-map-indexed');
        
$objWriter->writeAttribute('config:name''Views');
        
$objWriter->startElement('config:config-item-map-entry');
        
$spreadsheet $this->getParentWriter()->getSpreadsheet();

        
$objWriter->startElement('config:config-item');
        
$objWriter->writeAttribute('config:name''ViewId');
        
$objWriter->writeAttribute('config:type''string');
        
$objWriter->text('view1');
        
$objWriter->endElement(); // ViewId
        
$objWriter->startElement('config:config-item-map-named');

        
$this->writeAllWorksheetSettings($objWriter$spreadsheet);

        
$wstitle $spreadsheet->getActiveSheet()->getTitle();
        
$objWriter->startElement('config:config-item');
        
$objWriter->writeAttribute('config:name''ActiveTable');
        
$objWriter->writeAttribute('config:type''string');
        
$objWriter->text($wstitle);
        
$objWriter->endElement(); // config:config-item ActiveTable

        
$objWriter->endElement(); // config:config-item-map-entry
        
$objWriter->endElement(); // config:config-item-map-indexed Views
        
$objWriter->endElement(); // config:config-item-set ooo:view-settings
        
$objWriter->startElement('config:config-item-set');
        
$objWriter->writeAttribute('config:name''ooo:configuration-settings');
        
$objWriter->endElement(); // config:config-item-set ooo:configuration-settings
        
$objWriter->endElement(); // office:settings
        
$objWriter->endElement(); // office:document-settings

        
return $objWriter->getData();
    }

    private function 
writeAllWorksheetSettings(XMLWriter $objWriterSpreadsheet $spreadsheet): void
    
{
        
$objWriter->writeAttribute('config:name''Tables');

        foreach (
$spreadsheet->getWorksheetIterator() as $worksheet) {
            
$this->writeWorksheetSettings($objWriter$worksheet);
        }

        
$objWriter->endElement(); // config:config-item-map-entry Tables
    
}

    private function 
writeWorksheetSettings(XMLWriter $objWriterWorksheet $worksheet): void
    
{
        
$objWriter->startElement('config:config-item-map-entry');
        
$objWriter->writeAttribute('config:name'$worksheet->getTitle());

        
$this->writeSelectedCells($objWriter$worksheet);
        if (
$worksheet->getFreezePane() !== null) {
            
$this->writeFreezePane($objWriter$worksheet);
        }

        
$objWriter->endElement(); // config:config-item-map-entry Worksheet
    
}

    private function 
writeSelectedCells(XMLWriter $objWriterWorksheet $worksheet): void
    
{
        
$selected $worksheet->getSelectedCells();
        if (
preg_match('/^([a-z]+)([0-9]+)/i'$selected$matches) === 1) {
            
$colSel Coordinate::columnIndexFromString($matches[1]) - 1;
            
$rowSel = (int) $matches[2] - 1;
            
$objWriter->startElement('config:config-item');
            
$objWriter->writeAttribute('config:name''CursorPositionX');
            
$objWriter->writeAttribute('config:type''int');
            
$objWriter->text((string) $colSel);
            
$objWriter->endElement();
            
$objWriter->startElement('config:config-item');
            
$objWriter->writeAttribute('config:name''CursorPositionY');
            
$objWriter->writeAttribute('config:type''int');
            
$objWriter->text((string) $rowSel);
            
$objWriter->endElement();
        }
    }

    private function 
writeSplitValue(XMLWriter $objWriterstring $splitModestring $typestring $value): void
    
{
        
$objWriter->startElement('config:config-item');
        
$objWriter->writeAttribute('config:name'$splitMode);
        
$objWriter->writeAttribute('config:type'$type);
        
$objWriter->text($value);
        
$objWriter->endElement();
    }

    private function 
writeFreezePane(XMLWriter $objWriterWorksheet $worksheet): void
    
{
        
$freezePane CellAddress::fromCellAddress($worksheet->getFreezePane());
        if (
$freezePane->cellAddress() === 'A1') {
            return;
        }

        
$columnId $freezePane->columnId();
        
$columnName $freezePane->columnName();
        
$row $freezePane->rowId();

        
$this->writeSplitValue($objWriter'HorizontalSplitMode''short''2');
        
$this->writeSplitValue($objWriter'HorizontalSplitPosition''int', (string) ($columnId 1));
        
$this->writeSplitValue($objWriter'PositionLeft''short''0');
        
$this->writeSplitValue($objWriter'PositionRight''short', (string) ($columnId 1));

        for (
$column 'A'$column !== $columnName; ++$column) {
            
$worksheet->getColumnDimension($column)->setAutoSize(true);
        }

        
$this->writeSplitValue($objWriter'VerticalSplitMode''short''2');
        
$this->writeSplitValue($objWriter'VerticalSplitPosition''int', (string) ($row 1));
        
$this->writeSplitValue($objWriter'PositionTop''short''0');
        
$this->writeSplitValue($objWriter'PositionBottom''short', (string) ($row 1));

        
$this->writeSplitValue($objWriter'ActiveSplitRange''short''3');
    }
}

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