!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:     RSS.php (10.21 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 fdm=marker:

/**
 * XML RSS parser
 *
 * PHP version 4
 *
 * @category XML
 * @package  XML_RSS
 * @author   Martin Jansen <mj@php.net>
 * @license  PHP License http://php.net/license
 * @version  SVN: $Id: RSS.php 310689 2011-05-01 17:54:48Z kguest $
 * @link     http://pear.php.net/package/XML_RSS
 */

require_once 'XML/Parser.php';

/**
 * RSS parser class.
 *
 * This class is a parser for Resource Description Framework (RDF) Site
 * Summary (RSS) documents. For more information on RSS see the
 * website of the RSS working group (http://www.purl.org/rss/).
 *
 * @category XML
 * @package  XML_RSS
 * @author   Martin Jansen <mj@php.net>
 * @license  PHP License http://php.net/license
 * @link     http://pear.php.net/package/XML_RSS
 */
class XML_RSS extends XML_Parser
{
    
// {{{ properties

    /**
     * @var string
     */
    
var $insideTag '';

    
/**
     * @var array
     */
    
var $insideTagStack = array();

    
/**
     * @var string
     */
    
var $activeTag '';

    
/**
     * @var array
     */
    
var $channel = array();

    
/**
     * @var array
     */
    
var $items = array();

    
/**
     * @var array
     */
    
var $item = array();

    
/**
     * @var array
     */
    
var $image = array();

    
/**
     * @var array
     */
    
var $textinput = array();

    
/**
     * @var array
     */
    
var $textinputs = array();

    
/**
     * @var array
     */
    
var $attribs;

    
/**
     * @var array
     */
    
var $parentTags = array('CHANNEL''ITEM''IMAGE''TEXTINPUT');

    
/**
     * @var array
     */
    
var $channelTags = array(
        
'TITLE''LINK''DESCRIPTION''IMAGE',
        
'ITEMS''TEXTINPUT''LANGUAGE''COPYRIGHT',
        
'MANAGINGEditor''WEBMASTER''PUBDATE''LASTBUILDDATE',
        
'CATEGORY''GENERATOR''DOCS''CLOUD''TTL',
        
'RATING'
    
);

    
/**
     * @var array
     */
    
var $itemTags = array(
        
'TITLE''LINK''DESCRIPTION''PUBDATE''AUTHOR''CATEGORY',
        
'COMMENTS''ENCLOSURE''GUID''SOURCE',
        
'CONTENT:ENCODED'
    
);

    
/**
     * @var array
     */
    
var $imageTags = array('TITLE''URL''LINK''WIDTH''HEIGHT');


    var 
$textinputTags = array('TITLE''DESCRIPTION''NAME''LINK');

    
/**
     * List of allowed module tags
     *
     * Currently supported:
     *
     *   Dublin Core Metadata
     *   blogChannel RSS module
     *   CreativeCommons
     *   Content
     *   Syndication
     *   Trackback
     *   GeoCoding
     *   Media
     *   iTunes
     *
     * @var array
     */
    
var $moduleTags = array(
        
'DC:TITLE''DC:CREATOR''DC:SUBJECT''DC:DESCRIPTION',
        
'DC:PUBLISHER''DC:CONTRIBUTOR''DC:DATE''DC:TYPE',
        
'DC:FORMAT''DC:IDENTIFIER''DC:SOURCE''DC:LANGUAGE',
        
'DC:RELATION''DC:COVERAGE''DC:RIGHTS',
        
'BLOGCHANNEL:BLOGROLL''BLOGCHANNEL:MYSUBSCRIPTIONS',
        
'BLOGCHANNEL:BLINK''BLOGCHANNEL:CHANGES',
        
'CREATIVECOMMONS:LICENSE''CC:LICENSE''CONTENT:ENCODED',
        
'SY:UPDATEPERIOD''SY:UPDATEFREQUENCY''SY:UPDATEBASE',
        
'TRACKBACK:PING''GEO:LAT''GEO:LONG',
        
'MEDIA:GROUP''MEDIA:CONTENT''MEDIA:ADULT',
        
'MEDIA:RATING''MEDIA:TITLE''MEDIA:DESCRIPTION',
        
'MEDIA:KEYWORDS''MEDIA:THUMBNAIL''MEDIA:CATEGORY',
        
'MEDIA:HASH''MEDIA:PLAYER''MEDIA:CREDIT',
        
'MEDIA:COPYRIGHT''MEDIA:TEXT''MEDIA:RESTRICTION',
        
'ITUNES:AUTHOR''ITUNES:BLOCK''ITUNES:CATEGORY',
        
'ITUNES:DURATION''ITUNES:EXPLICIT''ITUNES:IMAGE',
        
'ITUNES:KEYWORDS''ITUNES:NEW-FEED-URL''ITUNES:OWNER',
        
'ITUNES:PUBDATE''ITUNES:SUBTITLE''ITUNES:SUMMARY'
    
);

    
/**
     * @var array
     */
    
var $last = array();

    
// }}}
    // {{{ Constructor

    /**
     * Constructor
     *
     * @param mixed  $handle File pointer, name of the RSS file, or an RSS string.
     * @param string $srcenc Source charset encoding, use null (default)
     *                       to use default encoding (ISO-8859-1)
     * @param string $tgtenc Target charset encoding, use null (default)
     *                       to use default encoding (ISO-8859-1)
     *
     * @return void
     * @access public
     */
    
function XML_RSS($handle ''$srcenc null$tgtenc null)
    {
        if (
$srcenc === null && $tgtenc === null) {
            
$this->XML_Parser();
        } else {
            
$this->XML_Parser($srcenc'event'$tgtenc);
        }

        
$this->setInput($handle);

        if (
$handle == '') {
            
$this->raiseError('No input passed.');
        }
    }

    
// }}}
    // {{{ startHandler()

    /**
     * Start element handler for XML parser
     *
     * @param object $parser  XML parser object
     * @param string $element XML element
     * @param array  $attribs Attributes of XML tag
     *
     * @return void
     * @access private
     */
    
function startHandler($parser$element$attribs)
    {
        if (
substr($element04) == "RSS:") {
            
$element substr($element4);
        }

        switch (
$element) {
        case 
'CHANNEL':
        case 
'ITEM':
        case 
'IMAGE':
        case 
'TEXTINPUT':
            
$this->insideTag $element;
            
array_push($this->insideTagStack$element);
            break;
        
        case 
'ENCLOSURE' :
            
$this->attribs $attribs;
            break;
            
        default:
            
$this->activeTag $element;
        }
    }

    
// }}}
    // {{{ endHandler()

    /**
     * End element handler for XML parser
     *
     * If the end of <item>, <channel>, <image> or <textinput>
     * is reached, this method updates the structure array
     * $this->struct[] and adds the field "type" to this array,
     * that defines the type of the current field.
     *
     * @param object $parser  XML parser object
     * @param string $element Name of element that ends
     *
     * @return void
     * @access private
     */
    
function endHandler($parser$element)
    {
        if (
substr($element04) == "RSS:") {
            
$element substr($element4);
        }

        if (
$element == $this->insideTag) {
            
array_pop($this->insideTagStack);
            
$this->insideTag end($this->insideTagStack);

            
$this->struct[] = array_merge(
                array(
'type' => strtolower($element)),
                
$this->last
            
);
        }

        if (
$element == 'ITEM') {
            
$this->items[] = $this->item;
            
$this->item '';
        }

        if (
$element == 'IMAGE') {
            
$this->images[] = $this->image;
            
$this->image '';
        }

        if (
$element == 'TEXTINPUT') {
            
$this->textinputs $this->textinput;
            
$this->textinput '';
        }

        if (
$element == 'ENCLOSURE') {
            if (!isset(
$this->item['enclosures'])) {
                
$this->item['enclosures'] = array();
            }

            
$this->item['enclosures'][] = array_change_key_case(
                
$this->attribsCASE_LOWER
            
);
            
$this->attribs = array();
        }

        
$this->activeTag '';
    }

    
// }}}
    // {{{ cdataHandler()

    /**
     * Handler for character data
     *
     * @param object $parser XML parser object
     * @param string $cdata  CDATA
     *
     * @return void
     * @access private
     */
    
function cdataHandler($parser$cdata)
    {
        if (
in_array($this->insideTag$this->parentTags)) {
            
$tagName strtolower($this->insideTag);
            
$var $this->{$tagName 'Tags'};

            if (
in_array($this->activeTag$var)
                || 
in_array($this->activeTag$this->moduleTags)
            ) {
                
$this->_add(
                    
$tagNamestrtolower($this->activeTag),
                    
$cdata
                
);
            }

        }
    }

    
// }}}
    // {{{ defaultHandler()

    /**
     * Default handler for XML parser
     *
     * @param object $parser XML parser object
     * @param string $cdata  CDATA
     *
     * @return void
     * @access private
     */
    
function defaultHandler($parser$cdata)
    {
        return;
    }

    
// }}}
    // {{{ _add()

    /**
     * Add element to internal result sets
     *
     * @param string $type  Name of the result set
     * @param string $field Fieldname
     * @param string $value Value
     *
     * @return void
     * @access private
     * @see    cdataHandler
     */
    
function _add($type$field$value)
    {
        if (
$field == 'category') {
            
$this->{$type}[$field][] = $value;
        } else if (empty(
$this->{$type}) || empty($this->{$type}[$field])) {
            
$this->{$type}[$field] = $value;
        } else {
            
$this->{$type}[$field] .= $value;
        }

        
$this->last $this->{$type};
    }

    
// }}}
    // {{{ getStructure()

    /**
     * Get complete structure of RSS file
     *
     * @return array
     * @access public
     */
    
function getStructure()
    {
        return (array)
$this->struct;
    }

    
// }}}
    // {{{ getchannelInfo()

    /**
     * Get general information about current channel
     *
     * This method returns an array containing the information
     * that has been extracted from the <channel>-tag while parsing
     * the RSS file.
     *
     * @return array
     * @access public
     */
    
function getChannelInfo()
    {
        return (array)
$this->channel;
    }

    
// }}}
    // {{{ getItems()

    /**
     * Get items from RSS file
     *
     * This method returns an array containing the set of items
     * that are provided by the RSS file.
     *
     * @return array
     * @access public
     */
    
function getItems()
    {
        return (array)
$this->items;
    }

    
// }}}
    // {{{ getImages()

    /**
     * Get images from RSS file
     *
     * This method returns an array containing the set of images
     * that are provided by the RSS file.
     *
     * @return array
     * @access public
     */
    
function getImages()
    {
        return (array)
$this->images;
    }

    
// }}}
    // {{{ getTextinputs()

    /**
     * Get text input fields from RSS file
     *
     * @return array
     * @access public
     */
    
function getTextinputs()
    {
        return (array)
$this->textinputs;
    }

    
// }}}

}
?>

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