!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)

E:\xampp\xampp\php\PEAR\PEAR\Info\   drwxrwxrwx
Free 7.26 GB of 239.26 GB (3.03%)
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:     Cli.php (14.03 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * CLI Script to generate text phpinfo() style PEAR information
 *
 * PHP versions 4 and 5
 *
 * LICENSE: This source file is subject to version 3.01 of the PHP license
 * that is available through the world-wide-web at the following URI:
 * http://www.php.net/license/3_01.txt.  If you did not receive a copy of
 * the PHP License and are unable to obtain it through the web, please
 * send a note to license@php.net so we can mail you a copy immediately.
 *
 * @category PEAR
 * @package  PEAR_Info
 * @author   Laurent Laville <pear@laurent-laville.org>
 * @license  http://www.php.net/license/3_01.txt  PHP License 3.01
 * @version  CVS: $Id: Cli.php,v 1.4 2009/01/07 21:52:44 farell Exp $
 * @link     http://pear.php.net/package/PEAR_Info
 * @since    File available since Release 1.8.0
 */

require_once 'PEAR/Info.php';
require_once 
'Console/Getargs.php';

/**
 * CLI Script to display information about your PEAR installation
 *
 * <code>
 * <?php
 *     require_once 'PEAR/Info/Cli.php';
 *     $cli = new PEAR_Info_Cli();
 *     $cli->run();
 * ?>
 * </code>
 *
 * @category PEAR
 * @package  PEAR_Info
 * @author   Laurent Laville <pear@laurent-laville.org>
 * @license  http://www.php.net/license/3_01.txt  PHP License 3.01
 * @version  Release: 1.9.2
 * @link     http://pear.php.net/package/PEAR_Info
 * @since    Class available since Release 1.8.0
 */

class PEAR_Info_Cli extends PEAR_Info
{
    
/**
     * @var    array    Current CLI Flags
     * @since  1.8.0
     */
    
var $opts = array();

    
/**
     * @var    string   error message
     * @since  1.8.0
     */
    
var $error;

    
/**
     * @var    object   Console_Getargs instance
     * @since  1.8.0
     */
    
var $args;


    
/**
     * ZE2 Constructor
     *
     * @since  1.8.0
     */
    
function __construct()
    {
        
$this->opts = array(
            
'php-dir' =>
                array(
'short' => 'pd',
                      
'desc'  => 'PEAR directory',
                      
'default' => '',
                      
'min'   => 'max' => 1),
            
'usr-cfg' =>
                array(
'short' => 'uc',
                      
'desc' => 'User Configuration File',
                      
'default' => '',
                      
'min'   => 'max' => 1),
            
'sys-cfg' =>
                array(
'short' => 'sc',
                      
'desc' => 'System Configuration File',
                      
'default' => '',
                      
'min'   => 'max' => 1),
            
'http-proxy' =>
                array(
'short' => 'hp',
                      
'desc' => 'HTTP Proxy Server Address',
                      
'default' => '',
                      
'min'   => 'max' => 1),
            
'all' =>
                array(
'short'   => 'a',
                      
'desc'    => 'Display informations for installed packages',
                      
'default' => PEAR_INFO_ALL,
                      
'min'     => 'max' => 1),
            
'allchannels' =>
                array(
'short' => 'A',
                      
'desc'  => 'List packages from all channels, '
                               
'not just the default one',
                      
'max'   => 0),
            
'channel' =>
                array(
'short'   => 'c',
                      
'desc'    => 'Specify which channel',
                      
'default' => '',
                      
'min'     => 'max' => 1),
            
'version' =>
                array(
'short' => 'V',
                      
'desc'  => 'Print version information',
                      
'max'   => 0),
            
'help' =>
                array(
'short' => 'h',
                      
'desc'  => 'Show this help',
                      
'max'   => 0),
        );
        
$this->args = & Console_Getargs::factory($this->opts);
        if (
PEAR::isError($this->args)) {
            if (
$this->args->getCode() === CONSOLE_GETARGS_HELP) {
                
$this->error '';
            } else {
                
$this->error $this->args->getMessage();
            }
            return;
        }

        
$options = array('channels' => array('pear.php.net'),
                         
'resume' => PEAR_INFO_ALL);

        
// php-dir
        
if ($this->args->isDefined('pd')) {
            
$pear_dir $this->args->getValue('pd');
        } else {
            
$pear_dir '';
        }

        
// usr-cfg
        
if ($this->args->isDefined('uc')) {
            
$user_file $this->args->getValue('uc');
            if (!
file_exists($user_file)) {
                
$this->error 'Failed opening PEAR user configuration file "'
                     
$user_file
                     
'". Please check your spelling and try again.';
                return;
            }
        } else {
            
$user_file '';
        }

        
// sys-cfg
        
if ($this->args->isDefined('sc')) {
            
$system_file $this->args->getValue('sc');
            if (!
file_exists($system_file)) {
                
$this->error 'Failed opening PEAR system configuration file "'
                     
$system_file
                     
'". Please check your spelling and try again.';
                return;
            }
        } else {
            
$system_file '';
        }

        
// http-proxy
        
if ($this->args->isDefined('hp')) {
            
$proxy $this->args->getValue('hp');
            
$res   PEAR_Info::setProxy($proxy);
            if (
$res === false) {
                
$this->error 'Failed define Proxy Server Address.'
                     
' Please check your spelling and try again.';
                return;
            }
        }

        
// all
        
if ($this->args->isDefined('a')) {
            
$a $this->args->getValue('a');
            if (
is_numeric($a)) {
                
$options['resume'] = intval($a);
            } else {
                
$this->error "No valid 'resume' option for argument all."
                     
' Please check your spelling and try again.';
                return;
            }
        }

        
// allchannels
        
$A $this->args->getValue('A');
        if (isset(
$A)) {
            
$options['channels'] = array();
        }

        
// channel
        
if ($this->args->isDefined('c')) {
            
$chan $this->args->getValue('c');
            if (
is_string($chan)) {
                
$options['channels'] = explode(','$chan);
            } else {
                
$this->error 'No valid channel list provided.'
                     
' Please check your spelling and try again.';
                return;
            }
        }

        
// version
        
$V $this->args->getValue('V');
        if (isset(
$V)) {
            
$this->error 'PEAR_Info (cli) version 1.9.2'
                         
' (http://pear.php.net/package/PEAR_Info)';
            return;
        }

        
parent::__construct($pear_dir$user_file$system_file$options);
    }

    
/**
     * ZE1 PHP4 Compatible Constructor
     *
     * @since  1.8.0
     */
    
function PEAR_Info_Cli()
    {
        
$this->__construct();
    }

    
/**
     * Run the CLI Script
     *
     * @return void
     * @access public
     * @since  1.8.0
     */
    
function run()
    {
        if (isset(
$this->error)) {
            if (
strpos($this->error'PEAR_Info') === false) {
                
$this->_printUsage($this->error);
            } else {
                
// when Version asked, do not print help usage
                
echo $this->error;
            }
            return;
        }

        
$table      0;
        
$skip_table 0;
        
$tdeps      false;
        
$td         '';
        
$lines      explode("\n"$this->info);

        foreach (
$lines as $line) {
            
$line trim($line);
            if (
strlen($line) == && $tdeps === false) {
                
// skip blank line

            
} elseif ($line == '<br />') {
                
// skip

            
} elseif (substr($line06) == '<a id=') {
                
// skip package anchor

            
} elseif (substr($line04) == '<h1>') {
                
// skip PEAR credits link

            
} elseif (substr($line04) == '<h2>') {
                if (
substr($line410) == '<a id="top') {
                    
// skip anchors
                    
$skip_table 1;
                } else {
                    
$td strip_tags($line);
                    echo 
PHP_EOL $td PHP_EOL;
                }

            } elseif (
$skip_table == && $line == '<table>') {
                echo 
PHP_EOL;
                
$table++;

            } elseif (
$line == '</table>') {
                
$skip_table 0;
                if (
$tdeps) {
                    
$td PHP_EOL implode(PHP_EOL$deps);
                }
                
$tdeps false;

            } elseif (
$skip_table == && $line == '<tr>') {
                
$tr_class '';

            } elseif (
$skip_table == && substr($line03) == '<tr') {
                
$tr_class substr($line111);
                if (
$tr_class == 'w') {
                    
$tdeps true;
                    
$tr_w  = array();
                    
$w     0;
                } elseif (
$tr_class == 'h') {
                    
$td '';
                } else {
                    
$td = array('''');
                }

            } elseif (
$skip_table == && $line == '</tr>' && $tr_class != '') {
                if (
$tr_class == 'h') {
                    
$td explode(' '$td);
                }
                if (isset(
$td_v)) {
                    
$td $td_v;
                }
                if (
$tdeps) {
                    if (
$tr_w[0] != 'Required') {
                        if (
$tr_w[1] == 'PHP') {
                            
$td $tr_w[1] .' '$tr_w[3] .' '$tr_w[4];
                        } else {
                            if (
$tr_w[3] == 'has' || $tr_w[3] == 'not') {
                                
$td $tr_w[3] .' '$tr_w[2] .' '$tr_w[1] .' '.
                                      
$tr_w[4];
                            } else {
                                
$td strip_tags($tr_w[2]) .' '$tr_w[1] .' '.
                                      
$tr_w[3] .' '$tr_w[4];
                            }
                            if (
$tr_w[0] == 'No') {
                                
$td .= ' (optional)';
                            }
                        }
                        
$deps[] = ' - ' $td;
                    }
                    
$w 0;
                } else {
                    if (isset(
$td_c) && count($td_c) > 0) {
                        echo 
$td[0] . ' => ' PHP_EOL;
                        echo 
$td_c[0] . PHP_EOL;
                        echo 
$td_c[1] . PHP_EOL;
                    } else {
                        echo 
$td[0] . ' => ' $td[1] . PHP_EOL;
                    }
                }

            } elseif (
$skip_table == && $line == '</td>') {
                if (isset(
$td_v)) {
                    if (empty(
$td_v[0])) {
                        
$td_v[0] = $td;
                        
$td      '';
                    } else {
                        
$td_v[1] = $td;
                    }
                }

            } elseif (
$skip_table == && $line == '<td>') {
                
// skip

            
} elseif ($skip_table == && substr($line03) == '<td') {
                if (
$tr_class == 'h') {
                    
$td '';

                } elseif (
$tr_class == 'v') {
                    if (
$line == '<td class="e">') {
                        
$td_v = array('''');
                        
$td   '';
                    } else {
                        unset(
$td_v);
                        
preg_match('`\<td(.*)\>(.*)\</td\>`'$line$matches);
                        if (empty(
$matches[2])) {
                            
$td_c = array();
                            if (
substr($line08) == '<td><dl>') {
                                
preg_match('`\<td\>\<dl\>\<dt\>(.*)\</dt\>(.*)\<dt\>(.*)\</dt\>(.*)\</dl\>\</td\>`'$line$matches);
                                
$td_c[0] = ' - '.$matches[1];
                                
$td_c[1] = ' - '.$matches[3];
                                
$dd_user $matches[2];
                                
$dd_sys  $matches[4];
                                
preg_match('`\<dd class="cfg_(.*)"\>(.*)\</dd\>`'$dd_user$matches);
                                
$td_c[0] .= strtoupper($matches[1]).' => '.$matches[2];
                                
preg_match('`\<dd class="cfg_(.*)"\>(.*)\</dd\>`'$dd_sys$matches);
                                
$td_c[1] .= strtoupper($matches[1]).' => '.$matches[2];
                            } else {
                                
$td[1] = strip_tags($matches[0]);
                            }
                        } else {
                            if (empty(
$matches[1])) {
                                
$td[1] = strip_tags($matches[2]);
                            } else {
                                
$td[0] = $matches[2];
                            }
                        }
                    }
                }

            } else {
                if (
$tdeps) {
                    
$tr_w[$w] = $line;
                    
$w++;
                } else {
                    if (
$line == '<table class="d">') {
                        
$deps = array();
                    } else {
                        
$line strip_tags($line);
                        
$td  .= $line;
                    }
                }
            }
        }
    }

    
/**
     * Show full help information
     *
     * @param string $footer (optional) page footer content
     *
     * @return void
     * @access private
     */
    
function _printUsage($footer '')
    {
        
$header 'Usage: '
            
basename($_SERVER['SCRIPT_NAME']) . " [options]\n\n";
        echo 
Console_Getargs::getHelp($this->opts$header,
            
"\n$footer\n"782)."\n";
    }
}
?>

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