!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:\dmz\php\pear\XML\RPC\   drwxrwxrwx
Free 4.13 GB of 39.52 GB (10.45%)
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:     Dump.php (5.21 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
 * Function and class to dump XML_RPC_Value objects in a nice way
 *
 * Should be helpful as a normal var_dump(..) displays all internals which
 * doesn't really give you an overview due to too much information.
 *
 * @category   Web Services
 * @package    XML_RPC
 * @author     Christian Weiske <cweiske@php.net>
 * @license    http://www.php.net/license/3_01.txt  PHP License
 * @version    SVN: $Id: Dump.php 300962 2010-07-03 02:24:24Z danielc $
 * @link       http://pear.php.net/package/XML_RPC
 */


/**
 * Pull in the XML_RPC class
 */
require_once 'XML/RPC.php';


/**
 * Generates the dump of the XML_RPC_Value and echoes it
 *
 * @param object $value  the XML_RPC_Value object to dump
 *
 * @return void
 */
function XML_RPC_Dump($value)
{
    
$dumper = new XML_RPC_Dump();
    echo 
$dumper->generateDump($value);
}


/**
 * Class which generates a dump of a XML_RPC_Value object
 *
 * @category   Web Services
 * @package    XML_RPC
 * @author     Christian Weiske <cweiske@php.net>
 * @license    http://www.php.net/license/3_01.txt  PHP License
 * @version    Release: @package_version@
 * @link       http://pear.php.net/package/XML_RPC
 */
class XML_RPC_Dump
{
    
/**
     * The indentation array cache
     * @var array
     */
    
var $arIndent      = array();

    
/**
     * The spaces used for indenting the XML
     * @var string
     */
    
var $strBaseIndent '    ';

    
/**
     * Returns the dump in XML format without printing it out
     *
     * @param object $value   the XML_RPC_Value object to dump
     * @param int    $nLevel  the level of indentation
     *
     * @return string  the dump
     */
    
function generateDump($value$nLevel 0)
    {
        if (!
is_object($value) || strtolower(get_class($value)) != 'xml_rpc_value') {
            require_once 
'PEAR.php';
            
PEAR::raiseError('Tried to dump non-XML_RPC_Value variable' "\r\n",
                             
0PEAR_ERROR_PRINT);
            if (
is_object($value)) {
                
$strType get_class($value);
            } else {
                
$strType gettype($value);
            }
            return 
$this->getIndent($nLevel) . 'NOT A XML_RPC_Value: '
                   
$strType "\r\n";
        }

        switch (
$value->kindOf()) {
        case 
'struct':
            
$ret $this->genStruct($value$nLevel);
            break;
        case 
'array':
            
$ret $this->genArray($value$nLevel);
            break;
        case 
'scalar':
            
$ret $this->genScalar($value->scalarval(), $nLevel);
            break;
        default:
            require_once 
'PEAR.php';
            
PEAR::raiseError('Illegal type "' $value->kindOf()
                             . 
'" in XML_RPC_Value' "\r\n"0,
                             
PEAR_ERROR_PRINT);
        }

        return 
$ret;
    }

    
/**
     * Returns the scalar value dump
     *
     * @param object $value   the scalar XML_RPC_Value object to dump
     * @param int    $nLevel  the level of indentation
     *
     * @return string  Dumped version of the scalar value
     */
    
function genScalar($value$nLevel)
    {
        if (
gettype($value) == 'object') {
            
$strClass ' ' get_class($value);
        } else {
            
$strClass '';
        }
        return 
$this->getIndent($nLevel) . gettype($value) . $strClass
               
' ' $value "\r\n";
    }

    
/**
     * Returns the dump of a struct
     *
     * @param object $value   the struct XML_RPC_Value object to dump
     * @param int    $nLevel  the level of indentation
     *
     * @return string  Dumped version of the scalar value
     */
    
function genStruct($value$nLevel)
    {
        
$value->structreset();
        
$strOutput $this->getIndent($nLevel) . 'struct' "\r\n";
        while (list(
$key$keyval) = $value->structeach()) {
            
$strOutput .= $this->getIndent($nLevel 1) . $key "\r\n";
            
$strOutput .= $this->generateDump($keyval$nLevel 2);
        }
        return 
$strOutput;
    }

    
/**
     * Returns the dump of an array
     *
     * @param object $value   the array XML_RPC_Value object to dump
     * @param int    $nLevel  the level of indentation
     *
     * @return string  Dumped version of the scalar value
     */
    
function genArray($value$nLevel)
    {
        
$nSize     $value->arraysize();
        
$strOutput $this->getIndent($nLevel) . 'array' "\r\n";
        for(
$nA 0$nA $nSize$nA++) {
            
$strOutput .= $this->getIndent($nLevel 1) . $nA "\r\n";
            
$strOutput .= $this->generateDump($value->arraymem($nA),
                                              
$nLevel 2);
        }
        return 
$strOutput;
    }

    
/**
     * Returns the indent for a specific level and caches it for faster use
     *
     * @param int $nLevel  the level
     *
     * @return string  the indented string
     */
    
function getIndent($nLevel)
    {
        if (!isset(
$this->arIndent[$nLevel])) {
            
$this->arIndent[$nLevel] = str_repeat($this->strBaseIndent$nLevel);
        }
        return 
$this->arIndent[$nLevel];
    }
}

/*
 * Local variables:
 * tab-width: 4
 * c-basic-offset: 4
 * c-hanging-comment-ender-p: nil
 * End:
 */

?>

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