!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\   drwxrwxrwx
Free 4.08 GB of 39.52 GB (10.32%)
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:     Beautifier.php (10.61 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
 * XML_Beautifier
 *
 * XML Beautifier package
 *
 * PHP versions 4 and 5
 *
 * LICENSE:
 *
 * Copyright (c) 2003-2008 Stephan Schmidt <schst@php.net>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *    * Redistributions of source code must retain the above copyright
 *      notice, this list of conditions and the following disclaimer.
 *    * Redistributions in binary form must reproduce the above copyright
 *      notice, this list of conditions and the following disclaimer in the
 *      documentation and/or other materials provided with the distribution.
 *    * The name of the author may not be used to endorse or promote products
 *      derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * @category  XML
 * @package   XML_Beautifier
 * @author    Stephan Schmidt <schst@php.net>
 * @copyright 2003-2008 Stephan Schmidt <schst@php.net>
 * @license   http://opensource.org/licenses/bsd-license New BSD License
 * @version   CVS: $Id: Beautifier.php 265438 2008-08-24 19:44:14Z ashnazg $
 * @link      http://pear.php.net/package/XML_Beautifier
 */


/**
 * define include path constant
 */
if (!defined('XML_BEAUTIFIER_INCLUDE_PATH')) {
    
define('XML_BEAUTIFIER_INCLUDE_PATH''XML/Beautifier');
}

/**
 * element is empty
 */
define('XML_BEAUTIFIER_EMPTY'0);

/**
 * CData
 */
define('XML_BEAUTIFIER_CDATA'1);

/**
 * XML element
 */
define('XML_BEAUTIFIER_ELEMENT'2);

/**
 * processing instruction
 */
define('XML_BEAUTIFIER_PI'4);

/**
 * entity
 */
define('XML_BEAUTIFIER_ENTITY'8);

/**
 * comment
 */
define('XML_BEAUTIFIER_COMMENT'16);

/**
 * XML declaration
 */
define('XML_BEAUTIFIER_XML_DECLARATION'32);

/**
 * doctype declaration
 */
define('XML_BEAUTIFIER_DT_DECLARATION'64);

/**
 * cdata section
 */
define('XML_BEAUTIFIER_CDATA_SECTION'128);

/**
 * default
 */
define('XML_BEAUTIFIER_DEFAULT'256);

/**
 * overwrite the original file
 */
define('XML_BEAUTIFIER_OVERWRITE', -1);

/**
 * could not write to output file
 */
define('XML_BEAUTIFIER_ERROR_NO_OUTPUT_FILE'151);

/**
 * could not load renderer
 */
define('XML_BEAUTIFIER_ERROR_UNKNOWN_RENDERER'152);

/**
 * XML_Beautifier is a class that adds linebreaks and
 * indentation to your XML files. It can be used on XML
 * that looks ugly (e.g. any generated XML) to transform it 
 * to a nicely looking XML that can be read by humans.
 *
 * It removes unnecessary whitespace and adds indentation
 * depending on the nesting level.
 *
 * It is able to treat tags, data, processing instructions
 * comments, external entities and the XML prologue.
 *
 * XML_Beautifier is using XML_Beautifier_Tokenizer to parse an XML
 * document with a SAX based parser and builds tokens of tags, comments,
 * entities, data, etc.
 * These tokens will be serialized and indented by a renderer 
 * with your indent string.
 *
 * Example 1: Formatting a file
 * <code>
 * require_once 'XML/Beautifier.php';
 * $fmt = new XML_Beautifier();
 * $result = $fmt->formatFile('oldFile.xml', 'newFile.xml');
 * </code>
 *
 * Example 2: Formatting a string
 * <code>
 * require_once 'XML/Beautifier.php';
 * $xml = '<root><foo   bar = "pear"/></root>';
 * $fmt = new XML_Beautifier();
 * $result = $fmt->formatString($xml);
 * </code>
 *
 * @category  XML
 * @package   XML_Beautifier
 * @author    Stephan Schmidt <schst@php.net>
 * @copyright 2003-2008 Stephan Schmidt <schst@php.net>
 * @license   http://opensource.org/licenses/bsd-license New BSD License
 * @version   Release: @package_version@
 * @link      http://pear.php.net/package/XML_Beautifier
 */
class XML_Beautifier
{
    
/**
     * default options for the output format
     * @var    array
     * @access private
     */
     
var $_defaultOptions = array(
         
"removeLineBreaks"   => true,
         
"removeLeadingSpace" => true,       // not implemented, yet
         
"indent"             => "    ",
         
"linebreak"          => "\n",
         
"caseFolding"        => false,
         
"caseFoldingTo"      => "uppercase",
         
"normalizeComments"  => false,
         
"maxCommentLine"     => -1,
         
"multilineTags"      => false
      
);

    
/**
     * options for the output format
     * @var    array
     * @access private
     */
     
var $_options = array();
    
    
/**
     * Constructor
     *
     * This is only used to specify the options of the
     * beautifying process.
     *
     * @param array $options options that override default options
     *
     * @access public
     */   
    
function XML_Beautifier($options = array())
    {
        
$this->_options array_merge($this->_defaultOptions$options);
        
$this->folding  false;
    }

    
/**
     * reset all options to default options
     *
     * @return void
     * @access public
     * @see setOption(), XML_Beautifier(), setOptions()
     */
    
function resetOptions()
    {
        
$this->_options $this->_defaultOptions;
    }

    
/**
     * set an option
     *
     * You can use this method if you do not want 
     * to set all options in the constructor
     *
     * @param string $name  option name
     * @param mixed  $value option value
     *
     * @return void
     * @access public
     * @see resetOptions(), XML_Beautifier(), setOptions()
     */
    
function setOption($name$value)
    {
        
$this->_options[$name] = $value;
    }
    
    
/**
     * set several options at once
     *
     * You can use this method if you do not want 
     * to set all options in the constructor
     *
     * @param array $options an options array
     *
     * @return void
     * @access   public
     * @see      resetOptions(), XML_Beautifier()
     */
    
function setOptions($options)
    {
        
$this->_options array_merge($this->_options$options);
    }

    
/**
     * format a file or URL
     *
     * @param string $file     filename
     * @param mixed  $newFile  filename for beautified XML file 
     *                         (if none is given, the XML string 
     *                         will be returned).
     *                         if you want overwrite the original file, 
     *                         use XML_BEAUTIFIER_OVERWRITE
     * @param string $renderer Renderer to use, 
     *                         default is the plain xml renderer
     *
     * @return mixed XML string of no file should be written, 
     *               true if file could be written
     * @access public
     * @throws PEAR_Error
     * @uses _loadRenderer() to load the desired renderer
     * @todo PEAR CS - should require_once be include_once?
     */   
    
function formatFile($file$newFile null$renderer "Plain")
    {
        if (
$newFile == XML_BEAUTIFIER_OVERWRITE) {
            
$newFile $file;
        }

        
/**
         * Split the document into tokens
         * using the XML_Tokenizer
         */
        
require_once XML_BEAUTIFIER_INCLUDE_PATH '/Tokenizer.php';
        
$tokenizer = new XML_Beautifier_Tokenizer();
        
        
$tokens $tokenizer->tokenize($filetrue);

        if (
PEAR::isError($tokens)) {
            return 
$tokens;
        }
        
        
$renderer $this->_loadRenderer($renderer$this->_options);

        if (
PEAR::isError($renderer)) {
            return 
$renderer;
        }
        
        
$xml $renderer->serialize($tokens);
        
        if (
$newFile == null) {
            return 
$xml;
        }
        
        
$fp = @fopen($newFile"w");
        if (!
$fp) {
            return 
PEAR::raiseError("Could not write to output file"
                
XML_BEAUTIFIER_ERROR_NO_OUTPUT_FILE);
        }
        
        
flock($fpLOCK_EX);
        
fwrite($fp$xml);
        
flock($fpLOCK_UN);
        
fclose($fp);
        return 
true;
    }

    
/**
     * format an XML string
     *
     * @param string $string   XML
     * @param string $renderer the renderer type
     *
     * @return string formatted XML string
     * @access public
     * @throws PEAR_Error
     * @todo PEAR CS - should require_once be include_once?
     */   
    
function formatString($string$renderer "Plain")
    {
        
/**
         * Split the document into tokens
         * using the XML_Tokenizer
         */
        
require_once XML_BEAUTIFIER_INCLUDE_PATH '/Tokenizer.php';
        
$tokenizer = new XML_Beautifier_Tokenizer();
        
        
$tokens $tokenizer->tokenize($stringfalse);

        if (
PEAR::isError($tokens)) {
            return 
$tokens;
        }

        
$renderer $this->_loadRenderer($renderer$this->_options);

        if (
PEAR::isError($renderer)) {
            return 
$renderer;
        }
        
        
$xml $renderer->serialize($tokens);
        
        return 
$xml;
    }

    
/**
     * load a renderer
     *
     * Renderers are used to serialize the XML tokens back 
     * to an XML string.
     *
     * Renderers are located in the XML/Beautifier/Renderer directory.
     *
     * NOTE:  the "@" error suppression is used in this method
     *
     * @param string $name    name of the renderer
     * @param array  $options options for the renderer
     *
     * @return object renderer
     * @access private
     * @throws PEAR_Error
     */
    
function &_loadRenderer($name$options = array())
    {
        
$file  XML_BEAUTIFIER_INCLUDE_PATH "/Renderer/$name.php";
        
$class "XML_Beautifier_Renderer_$name";

        @include_once 
$file;
        if (!
class_exists($class)) {
            return 
PEAR::raiseError("Could not load renderer."
                
XML_BEAUTIFIER_ERROR_UNKNOWN_RENDERER);
        }

        
$renderer = &new $class($options);
        
        return 
$renderer;        
    }
    
    
/**
     * return API version
     *
     * @access   public
     * @static
     * @return   string  $version API version
     */
    
function apiVersion()
    {
        return 
"1.0";
    }
}
?>

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