!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\Console\CommandLine\Renderer\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.37%)
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:     Default.php (11.87 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

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

/**
 * This file is part of the PEAR Console_CommandLine package.
 *
 * PHP version 5
 *
 * LICENSE: This source file is subject to the MIT license that is available
 * through the world-wide-web at the following URI:
 * http://opensource.org/licenses/mit-license.php
 *
 * @category  Console 
 * @package   Console_CommandLine
 * @author    David JEAN LOUIS <izimobil@gmail.com>
 * @copyright 2007 David JEAN LOUIS
 * @license   http://opensource.org/licenses/mit-license.php MIT License 
 * @version   CVS: $Id$
 * @link      http://pear.php.net/package/Console_CommandLine
 * @since     File available since release 0.1.0
 * @filesource
 */

/**
 * The renderer interface.
 */
require_once 'Console/CommandLine/Renderer.php';

/**
 * Console_CommandLine default renderer.
 *
 * @category  Console
 * @package   Console_CommandLine
 * @author    David JEAN LOUIS <izimobil@gmail.com>
 * @copyright 2007 David JEAN LOUIS
 * @license   http://opensource.org/licenses/mit-license.php MIT License 
 * @version   Release: 1.2.0
 * @link      http://pear.php.net/package/Console_CommandLine
 * @since     Class available since release 0.1.0
 */
class Console_CommandLine_Renderer_Default implements Console_CommandLine_Renderer
{
    
// Properties {{{

    /**
     * Integer that define the max width of the help text.
     *
     * @var integer $line_width Line width
     */
    
public $line_width 75;

    
/**
     * Integer that define the max width of the help text.
     *
     * @var integer $line_width Line width
     */
    
public $options_on_different_lines false;

    
/**
     * An instance of Console_CommandLine.
     *
     * @var Console_CommandLine $parser The parser
     */
    
public $parser false;

    
// }}}
    // __construct() {{{

    /**
     * Constructor.
     *
     * @param object $parser A Console_CommandLine instance
     *
     * @return void
     */
    
public function __construct($parser false
    {
        
$this->parser $parser;
    }

    
// }}}
    // usage() {{{

    /**
     * Returns the full usage message.
     *
     * @return string The usage message
     */
    
public function usage()
    {
        
$ret '';
        if (!empty(
$this->parser->description)) { 
            
$ret .= $this->description() . "\n\n";
        }
        
$ret .= $this->usageLine() . "\n";
        if (
count($this->parser->commands) > 0) {
            
$ret .= $this->commandUsageLine() . "\n";
        }
        if (
count($this->parser->options) > 0) {
            
$ret .= "\n" $this->optionList() . "\n";
        }
        if (
count($this->parser->args) > 0) {
            
$ret .= "\n" $this->argumentList() . "\n";
        }
        if (
count($this->parser->commands) > 0) {
            
$ret .= "\n" $this->commandList() . "\n";
        }
        
$ret .= "\n";
        return 
$ret;
    }
    
// }}}
    // error() {{{

    /**
     * Returns a formatted error message.
     *
     * @param string $error The error message to format
     *
     * @return string The error string
     */
    
public function error($error)
    {
        
$ret 'Error: ' $error "\n";
        if (
$this->parser->add_help_option) {
            
$name $this->name();
            
$ret .= $this->wrap($this->parser->message_provider->get('PROG_HELP_LINE',
                array(
'progname' => $name))) . "\n";
            if (
count($this->parser->commands) > 0) {
                
$ret .= $this->wrap($this->parser->message_provider->get('COMMAND_HELP_LINE',
                    array(
'progname' => $name))) . "\n";
            }
        }
        return 
$ret;
    }

    
// }}}
    // version() {{{

    /**
     * Returns the program version string.
     *
     * @return string The version string
     */
    
public function version()
    {
        return 
$this->parser->message_provider->get('PROG_VERSION_LINE', array(
            
'progname' => $this->name(),
            
'version'  => $this->parser->version
        
)) . "\n";
    }

    
// }}}
    // name() {{{

    /**
     * Returns the full name of the program or the sub command
     *
     * @return string The name of the program
     */
    
protected function name()
    {
        
$name   $this->parser->name;
        
$parent $this->parser->parent;
        while (
$parent) {
            if (
count($parent->options) > 0) {
                
$name '[' 
                    
strtolower($this->parser->message_provider->get('OPTION_WORD',
                          array(
'plural' => 's'))) 
                    . 
'] ' $name;
            }
            
$name $parent->name ' ' $name;
            
$parent $parent->parent;
        }
        return 
$this->wrap($name);
    }

    
// }}}
    // description() {{{

    /**
     * Returns the command line description message.
     *
     * @return string The description message
     */
    
protected function description()
    {
        return 
$this->wrap($this->parser->description);
    }

    
// }}}
    // usageLine() {{{

    /**
     * Returns the command line usage message
     *
     * @return string the usage message
     */
    
protected function usageLine()
    {
        
$usage $this->parser->message_provider->get('USAGE_WORD') . ":\n";
        
$ret   $usage '  ' $this->name();
        if (
count($this->parser->options) > 0) {
            
$ret .= ' [' 
                
strtolower($this->parser->message_provider->get('OPTION_WORD'))
                . 
']';
        }
        if (
count($this->parser->args) > 0) {
            foreach (
$this->parser->args as $name=>$arg) {
                
$arg_str $arg->help_name;
                if (
$arg->multiple) {
                    
$arg_str .= '1 ' $arg->help_name '2 ...';
                }
                if (
$arg->optional) {
                    
$arg_str '[' $arg_str ']';
                }
                
$ret .= ' ' $arg_str;
            }
        }
        return 
$this->columnWrap($ret2);
    }

    
// }}}
    // commandUsageLine() {{{

    /**
     * Returns the command line usage message for subcommands.
     *
     * @return string The usage line
     */
    
protected function commandUsageLine()
    {
        if (
count($this->parser->commands) == 0) {
            return 
'';
        }
        
$ret '  ' $this->name();
        if (
count($this->parser->options) > 0) {
            
$ret .= ' [' 
                
strtolower($this->parser->message_provider->get('OPTION_WORD'))
                . 
']';
        }
        
$ret       .= " <command>";
        
$hasArgs    false;
        
$hasOptions false;
        foreach (
$this->parser->commands as $command) {
            if (!
$hasArgs && count($command->args) > 0) {
                
$hasArgs true;
            }
            if (!
$hasOptions && ($command->add_help_option || 
                
$command->add_version_option || count($command->options) > 0)) {
                
$hasOptions true;
            }
        }
        if (
$hasOptions) {
            
$ret .= ' [options]';
        }
        if (
$hasArgs) {
            
$ret .= ' [args]';
        }
        return 
$this->columnWrap($ret2);
    }

    
// }}}
    // argumentList() {{{

    /**
     * Render the arguments list that will be displayed to the user, you can 
     * override this method if you want to change the look of the list.
     *
     * @return string The formatted argument list
     */
    
protected function argumentList()
    {
        
$col  0;
        
$args = array();
        foreach (
$this->parser->args as $arg) {
            
$argstr '  ' $arg->toString();
            
$args[] = array($argstr$arg->description);
            
$ln     strlen($argstr);
            if (
$col $ln) {
                
$col $ln;
            }
        }
        
$ret $this->parser->message_provider->get('ARGUMENT_WORD') . ":";
        foreach (
$args as $arg) {
            
$text str_pad($arg[0], $col) . '  ' $arg[1];
            
$ret .= "\n" $this->columnWrap($text$col+2);
        }
        return 
$ret;
    }

    
// }}}
    // optionList() {{{

    /**
     * Render the options list that will be displayed to the user, you can 
     * override this method if you want to change the look of the list.
     *
     * @return string The formatted option list
     */
    
protected function optionList()
    {
        
$col     0;
        
$options = array();
        foreach (
$this->parser->options as $option) {
            
$delim    $this->options_on_different_lines "\n" ', ';
            
$optstr   $option->toString($delim);
            
$lines    explode("\n"$optstr);
            
$lines[0] = '  ' $lines[0];
            if (
count($lines) > 1) {
                
$lines[1] = '  ' $lines[1];
                
$ln       strlen($lines[1]);
            } else {
                
$ln strlen($lines[0]);
            }
            
$options[] = array($lines$option->description);
            if (
$col $ln) {
                
$col $ln;
            }
        }
        
$ret $this->parser->message_provider->get('OPTION_WORD') . ":";
        foreach (
$options as $option) {
            if (
count($option[0]) > 1) {
                
$text str_pad($option[0][1], $col) . '  ' $option[1];
                
$pre  $option[0][0] . "\n";
            } else {
                
$text str_pad($option[0][0], $col) . '  ' $option[1];
                
$pre  '';
            }
            
$ret .= "\n" $pre $this->columnWrap($text$col+2);
        }
        return 
$ret;
    }

    
// }}}
    // commandList() {{{

    /**
     * Render the command list that will be displayed to the user, you can 
     * override this method if you want to change the look of the list.
     *
     * @return string The formatted subcommand list
     */
    
protected function commandList()
    {

        
$commands = array();
        
$col      0;
        foreach (
$this->parser->commands as $cmdname=>$command) {
            
$cmdname    '  ' $cmdname;
            
$commands[] = array($cmdname$command->description$command->aliases);
            
$ln         strlen($cmdname);
            if (
$col $ln) {
                
$col $ln;
            }
        }
        
$ret $this->parser->message_provider->get('COMMAND_WORD') . ":";
        foreach (
$commands as $command) {
            
$text str_pad($command[0], $col) . '  ' $command[1];
            if (
$aliasesCount count($command[2])) {
                
$pad '';
                
$text .= ' (';
                
$text .= $aliasesCount 'aliases: ' 'alias: ';
                foreach (
$command[2] as $alias) {
                    
$text .= $pad $alias;
                    
$pad   ', ';
                }
                
$text .= ')';
            }
            
$ret .= "\n" $this->columnWrap($text$col+2);
        }
        return 
$ret;
    }

    
// }}}
    // wrap() {{{

    /**
     * Wraps the text passed to the method.
     *
     * @param string $text The text to wrap
     * @param int    $lw   The column width (defaults to line_width property)
     *
     * @return string The wrapped text
     */
    
protected function wrap($text$lw=null)
    {
        if (
$this->line_width 0) {
            if (
$lw === null) {
                
$lw $this->line_width;
            }
            return 
wordwrap($text$lw"\n"false);
        }
        return 
$text;
    }

    
// }}}
    // columnWrap() {{{

    /**
     * Wraps the text passed to the method at the specified width.
     *
     * @param string $text The text to wrap
     * @param int    $cw   The wrap width
     *
     * @return string The wrapped text
     */
    
protected function columnWrap($text$cw)
    {
        
$tokens explode("\n"$this->wrap($text));
        
$ret    $tokens[0];
        
$chunks $this->wrap(trim(substr($textstrlen($ret))), 
            
$this->line_width $cw);
        
$tokens explode("\n"$chunks);
        foreach (
$tokens as $token) {
            if (!empty(
$token)) {
                
$ret .= "\n" str_repeat(' '$cw) . $token;
            }
        }
        return 
$ret;
    }

    
// }}}
}

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