!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/home/mnnews/public_html/login/phpmyadmin/libraries/tcpdf/include/   drwxr-xr-x
Free 2.06 GB of 27.03 GB (7.62%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     tcpdf_images.php (11.2 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//============================================================+
// File name   : tcpdf_images.php
// Version     : 1.0.005
// Begin       : 2002-08-03
// Last Update : 2014-11-15
// Author      : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
// License     : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
// -------------------------------------------------------------------
// Copyright (C) 2002-2014 Nicola Asuni - Tecnick.com LTD
//
// This file is part of TCPDF software library.
//
// TCPDF is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// TCPDF is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the License
// along with TCPDF. If not, see
// <http://www.tecnick.com/pagefiles/tcpdf/LICENSE.TXT>.
//
// See LICENSE.TXT file for more information.
// -------------------------------------------------------------------
//
// Description :
//   Static image methods used by the TCPDF class.
//
//============================================================+

/**
* @file
* This is a PHP class that contains static image methods for the TCPDF class.<br>
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.005
*/

/**
* @class TCPDF_IMAGES
* Static image methods used by the TCPDF class.
* @package com.tecnick.tcpdf
* @brief PHP class for generating PDF documents without requiring external extensions.
* @version 1.0.005
* @author Nicola Asuni - info@tecnick.com
*/
class TCPDF_IMAGES {

    
/**
     * Array of hinheritable SVG properties.
     * @since 5.0.000 (2010-05-02)
     * @public static
     */
    
public static $svginheritprop = array('clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cursor', 'direction', 'display', 'fill', 'fill-opacity', 'fill-rule', 'font', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'image-rendering', 'kerning', 'letter-spacing', 'marker', 'marker-end', 'marker-mid', 'marker-start', 'pointer-events', 'shape-rendering', 'stroke', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-rendering', 'visibility', 'word-spacing', 'writing-mode');

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    /**
     * Return the image type given the file name or array returned by getimagesize() function.
     * @param $imgfile (string) image file name
     * @param $iminfo (array) array of image information returned by getimagesize() function.
     * @return string image type
     * @since 4.8.017 (2009-11-27)
     * @public static
     */
    
public static function getImageFileType($imgfile, $iminfo=array()) {
        
$type = '';
        if (isset(
$iminfo['mime']) AND !empty($iminfo['mime'])) {
            
$mime = explode('/', $iminfo['mime']);
            if ((
count($mime) > 1) AND ($mime[0] == 'image') AND (!empty($mime[1]))) {
                
$type = strtolower(trim($mime[1]));
            }
        }
        if (empty(
$type)) {
            
$fileinfo = pathinfo($imgfile);
            if (isset(
$fileinfo['extension']) AND (!TCPDF_STATIC::empty_string($fileinfo['extension']))) {
                
$type = strtolower(trim($fileinfo['extension']));
            }
        }
        if (
$type == 'jpg') {
            
$type = 'jpeg';
        }
        return
$type;
    }

    
/**
     * Set the transparency for the given GD image.
     * @param $new_image (image) GD image object
     * @param $image (image) GD image object.
     * return GD image object.
     * @since 4.9.016 (2010-04-20)
     * @public static
     */
    
public static function setGDImageTransparency($new_image, $image) {
        
// default transparency color (white)
        
$tcol = array('red' => 255, 'green' => 255, 'blue' => 255);
        
// transparency index
        
$tid = imagecolortransparent($image);
        
$palletsize = imagecolorstotal($image);
        if ((
$tid >= 0) AND ($tid < $palletsize)) {
            
// get the colors for the transparency index
            
$tcol = imagecolorsforindex($image, $tid);
        }
        
$tid = imagecolorallocate($new_image, $tcol['red'], $tcol['green'], $tcol['blue']);
        
imagefill($new_image, 0, 0, $tid);
        
imagecolortransparent($new_image, $tid);
        return
$new_image;
    }

    
/**
     * Convert the loaded image to a PNG and then return a structure for the PDF creator.
     * This function requires GD library and write access to the directory defined on K_PATH_CACHE constant.
     * @param $image (image) Image object.
     * @param $tempfile (string) Temporary file name.
     * return image PNG image object.
     * @since 4.9.016 (2010-04-20)
     * @public static
     */
    
public static function _toPNG($image, $tempfile) {
        
// turn off interlaced mode
        
imageinterlace($image, 0);
        
// create temporary PNG image
        
imagepng($image, $tempfile);
        
// remove image from memory
        
imagedestroy($image);
        
// get PNG image data
        
$retvars = self::_parsepng($tempfile);
        
// tidy up by removing temporary image
        
unlink($tempfile);
        return
$retvars;
    }

    
/**
     * Convert the loaded image to a JPEG and then return a structure for the PDF creator.
     * This function requires GD library and write access to the directory defined on K_PATH_CACHE constant.
     * @param $image (image) Image object.
     * @param $quality (int) JPEG quality.
     * @param $tempfile (string) Temporary file name.
     * return image JPEG image object.
     * @public static
     */
    
public static function _toJPEG($image, $quality, $tempfile) {
        
imagejpeg($image, $tempfile, $quality);
        
imagedestroy($image);
        
$retvars = self::_parsejpeg($tempfile);
        
// tidy up by removing temporary image
        
unlink($tempfile);
        return
$retvars;
    }

    
/**
     * Extract info from a JPEG file without using the GD library.
     * @param $file (string) image file to parse
     * @return array structure containing the image data
     * @public static
     */
    
public static function _parsejpeg($file) {
        
// check if is a local file
        
if (!@file_exists($file)) {
            
// try to encode spaces on filename
            
$tfile = str_replace(' ', '%20', $file);
            if (@
file_exists($tfile)) {
                
$file = $tfile;
            }
        }
        
$a = getimagesize($file);
        if (empty(
$a)) {
            
//Missing or incorrect image file
            
return false;
        }
        if (
$a[2] != 2) {
            
// Not a JPEG file
            
return false;
        }
        
// bits per pixel
        
$bpc = isset($a['bits']) ? intval($a['bits']) : 8;
        
// number of image channels
        
if (!isset($a['channels'])) {
            
$channels = 3;
        } else {
            
$channels = intval($a['channels']);
        }
        
// default colour space
        
switch ($channels) {
            case
1: {
                
$colspace = 'DeviceGray';
                break;
            }
            case
3: {
                
$colspace = 'DeviceRGB';
                break;
            }
            case
4: {
                
$colspace = 'DeviceCMYK';
                break;
            }
            default: {
                
$channels = 3;
                
$colspace = 'DeviceRGB';
                break;
            }
        }
        
// get file content
        
$data = file_get_contents($file);
        
// check for embedded ICC profile
        
$icc = array();
        
$offset = 0;
        while ((
$pos = strpos($data, "ICC_PROFILE\0", $offset)) !== false) {
            
// get ICC sequence length
            
$length = (TCPDF_STATIC::_getUSHORT($data, ($pos - 2)) - 16);
            
// marker sequence number
            
$msn = max(1, ord($data[($pos + 12)]));
            
// number of markers (total of APP2 used)
            
$nom = max(1, ord($data[($pos + 13)]));
            
// get sequence segment
            
$icc[($msn - 1)] = substr($data, ($pos + 14), $length);
            
// move forward to next sequence
            
$offset = ($pos + 14 + $length);
        }
        
// order and compact ICC segments
        
if (count($icc) > 0) {
            
ksort($icc);
            
$icc = implode('', $icc);
            if ((
ord($icc[36]) != 0x61) OR (ord($icc[37]) != 0x63) OR (ord($icc[38]) != 0x73) OR (ord($icc[39]) != 0x70)) {
                
// invalid ICC profile
                
$icc = false;
            }
        } else {
            
$icc = false;
        }
        return array(
'w' => $a[0], 'h' => $a[1], 'ch' => $channels, 'icc' => $icc, 'cs' => $colspace, 'bpc' => $bpc, 'f' => 'DCTDecode', 'data' => $data);
    }

    
/**
     * Extract info from a PNG file without using the GD library.
     * @param $file (string) image file to parse
     * @return array structure containing the image data
     * @public static
     */
    
public static function _parsepng($file) {
        
$f = @fopen($file, 'rb');
        if (
$f === false) {
            
// Can't open image file
            
return false;
        }
        
//Check signature
        
if (fread($f, 8) != chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) {
            
// Not a PNG file
            
return false;
        }
        
//Read header chunk
        
fread($f, 4);
        if (
fread($f, 4) != 'IHDR') {
            
//Incorrect PNG file
            
return false;
        }
        
$w = TCPDF_STATIC::_freadint($f);
        
$h = TCPDF_STATIC::_freadint($f);
        
$bpc = ord(fread($f, 1));
        
$ct = ord(fread($f, 1));
        if (
$ct == 0) {
            
$colspace = 'DeviceGray';
        } elseif (
$ct == 2) {
            
$colspace = 'DeviceRGB';
        } elseif (
$ct == 3) {
            
$colspace = 'Indexed';
        } else {
            
// alpha channel
            
fclose($f);
            return
'pngalpha';
        }
        if (
ord(fread($f, 1)) != 0) {
            
// Unknown compression method
            
fclose($f);
            return
false;
        }
        if (
ord(fread($f, 1)) != 0) {
            
// Unknown filter method
            
fclose($f);
            return
false;
        }
        if (
ord(fread($f, 1)) != 0) {
            
// Interlacing not supported
            
fclose($f);
            return
false;
        }
        
fread($f, 4);
        
$channels = ($ct == 2 ? 3 : 1);
        
$parms = '/DecodeParms << /Predictor 15 /Colors '.$channels.' /BitsPerComponent '.$bpc.' /Columns '.$w.' >>';
        
//Scan chunks looking for palette, transparency and image data
        
$pal = '';
        
$trns = '';
        
$data = '';
        
$icc = false;
        do {
            
$n = TCPDF_STATIC::_freadint($f);
            
$type = fread($f, 4);
            if (
$type == 'PLTE') {
                
// read palette
                
$pal = TCPDF_STATIC::rfread($f, $n);
                
fread($f, 4);
            } elseif (
$type == 'tRNS') {
                
// read transparency info
                
$t = TCPDF_STATIC::rfread($f, $n);
                if (
$ct == 0) { // DeviceGray
                    
$trns = array(ord($t[1]));
                } elseif (
$ct == 2) { // DeviceRGB
                    
$trns = array(ord($t[1]), ord($t[3]), ord($t[5]));
                } else {
// Indexed
                    
if ($n > 0) {
                        
$trns = array();
                        for (
$i = 0; $i < $n; ++ $i) {
                            
$trns[] = ord($t{$i});
                        }
                    }
                }
                
fread($f, 4);
            } elseif (
$type == 'IDAT') {
                
// read image data block
                
$data .= TCPDF_STATIC::rfread($f, $n);
                
fread($f, 4);
            } elseif (
$type == 'iCCP') {
                
// skip profile name
                
$len = 0;
                while ((
ord(fread($f, 1)) != 0) AND ($len < 80)) {
                    ++
$len;
                }
                
// get compression method
                
if (ord(fread($f, 1)) != 0) {
                    
// Unknown filter method
                    
fclose($f);
                    return
false;
                }
                
// read ICC Color Profile
                
$icc = TCPDF_STATIC::rfread($f, ($n - $len - 2));
                
// decompress profile
                
$icc = gzuncompress($icc);
                
fread($f, 4);
            } elseif (
$type == 'IEND') {
                break;
            } else {
                
TCPDF_STATIC::rfread($f, $n + 4);
            }
        } while (
$n);
        if ((
$colspace == 'Indexed') AND (empty($pal))) {
            
// Missing palette
            
fclose($f);
            return
false;
        }
        
fclose($f);
        return array(
'w' => $w, 'h' => $h, 'ch' => $channels, 'icc' => $icc, 'cs' => $colspace, 'bpc' => $bpc, 'f' => 'FlateDecode', 'parms' => $parms, 'pal' => $pal, 'trns' => $trns, 'data' => $data);
    }

}
// END OF TCPDF_IMAGES CLASS

//============================================================+
// END OF FILE
//============================================================+

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0052 ]--