!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\Tool\Framework\Client\   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:     Abstract.php (10.86 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_Tool
 * @subpackage Framework
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $Id: Abstract.php 18951 2009-11-12 16:26:19Z alexander $
 */

/**
 * @see Zend_Tool_Framework_Registry_EnabledInterface
 */
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';

/**
 * @see Zend_Tool_Framework_Registry
 */
require_once 'Zend/Tool/Framework/Registry.php';


/**
 * @category   Zend
 * @package    Zend_Tool
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
abstract class Zend_Tool_Framework_Client_Abstract implements Zend_Tool_Framework_Registry_EnabledInterface
{

    
/**
     * @var Zend_Tool_Framework_Registry
     */
    
protected $_registry null;

    
/**
     * @var callback|null
     */
    
protected $_interactiveCallback null;

    
/**
     * @var bool
     */
    
protected $_isInitialized false;

    
/**
     * @var Zend_Log
     */
    
protected $_debugLogger null;

    public function 
__construct($options = array())
    {
        if (
$options) {
            
$this->setOptions($options);
        }
    }

    public function 
setOptions(Array $options)
    {
        foreach (
$options as $optionName => $optionValue) {
            
$setMethodName 'set' $optionName;
            if (
method_exists($this$setMethodName)) {
                
$this->{$setMethodName}($optionValue);
            }
        }
    }

    
/**
     * getName() - Return the client name which can be used to
     * query the manifest if need be.
     *
     * @return string The client name
     */
    
abstract public function getName();

    
/**
     * initialized() - This will initialize the client for use
     *
     */
    
public function initialize()
    {
        
// if its already initialized, no need to initialize again
        
if ($this->_isInitialized) {
            return;
        }

        
// this might look goofy, but this is setting up the
        // registry for dependency injection into the client
        
$registry = new Zend_Tool_Framework_Registry();
        
$registry->setClient($this);

        
// NOTE: at this moment, $this->_registry should contain
        // the registry object

        // run any preInit
        
$this->_preInit();

        
// setup the debug log
        
if (!$this->_debugLogger instanceof Zend_Log) {
            require_once 
'Zend/Log.php';
            require_once 
'Zend/Log/Writer/Null.php';
            
$this->_debugLogger = new Zend_Log(new Zend_Log_Writer_Null());
        }

        
// let the loader load, then the repositories process whats been loaded
        
$this->_registry->getLoader()->load();

        
// process the action repository
        
$this->_registry->getActionRepository()->process();

        
// process the provider repository
        
$this->_registry->getProviderRepository()->process();

        
// process the manifest repository
        
$this->_registry->getManifestRepository()->process();

        if (
$this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
            require_once 
'Zend/Tool/Framework/Client/Interactive/InputHandler.php';
        }

        if (
$this instanceof Zend_Tool_Framework_Client_Interactive_OutputInterface) {
            
$this->_registry->getResponse()->setContentCallback(array($this'handleInteractiveOutput'));
        }

    }


    
/**
     * This method should be implemented by the client implementation to
     * construct and set custom inflectors, request and response objects.
     */
    
protected function _preInit()
    {
    }

    
/**
     * This method *must* be implemented by the client implementation to
     * parse out and setup the request objects action, provider and parameter
     * information.
     */
    
abstract protected function _preDispatch();

    
/**
     * This method should be implemented by the client implementation to
     * take the output of the response object and return it (in an client
     * specific way) back to the Tooling Client.
     */
    
protected function _postDispatch()
    {
    }

    
/**
     * setRegistry() - Required by the Zend_Tool_Framework_Registry_EnabledInterface
     * interface which ensures proper registry dependency resolution
     *
     * @param Zend_Tool_Framework_Registry_Interface $registry
     * @return Zend_Tool_Framework_Client_Abstract
     */
    
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
    {
        
$this->_registry $registry;
        return 
$this;
    }

    
/**
     * hasInteractiveInput() - Convienence method for determining if this
     * client can handle interactive input, and thus be able to run the
     * promptInteractiveInput
     *
     * @return bool
     */
    
public function hasInteractiveInput()
    {
        return (
$this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface);
    }

    public function 
promptInteractiveInput($inputRequest)
    {
        if (!
$this->hasInteractiveInput()) {
            require_once 
'Zend/Tool/Framework/Client/Exception.php';
            throw new 
Zend_Tool_Framework_Client_Exception('promptInteractive() cannot be called on a non-interactive client.');
        }

        
$inputHandler = new Zend_Tool_Framework_Client_Interactive_InputHandler();
        
$inputHandler->setClient($this);
        
$inputHandler->setInputRequest($inputRequest);
        return 
$inputHandler->handle();

    }

    
/**
     * This method should be called in order to "handle" a Tooling Client
     * request that has come to the client that has been implemented.
     */
    
public function dispatch()
    {
        
$this->initialize();

        try {

            
$this->_preDispatch();

            if (
$this->_registry->getRequest()->isDispatchable()) {

                if (
$this->_registry->getRequest()->getActionName() == null) {
                    require_once 
'Zend/Tool/Framework/Client/Exception.php';
                    throw new 
Zend_Tool_Framework_Client_Exception('Client failed to setup the action name.');
                }

                if (
$this->_registry->getRequest()->getProviderName() == null) {
                    require_once 
'Zend/Tool/Framework/Client/Exception.php';
                    throw new 
Zend_Tool_Framework_Client_Exception('Client failed to setup the provider name.');
                }

                
$this->_handleDispatch();

            }

        } catch (
Exception $exception) {
            
$this->_registry->getResponse()->setException($exception);
        }

        
$this->_postDispatch();
    }

    public function 
convertToClientNaming($string)
    {
        return 
$string;
    }

    public function 
convertFromClientNaming($string)
    {
        return 
$string;
    }

    protected function 
_handleDispatch()
    {
        
// get the provider repository
        
$providerRepository $this->_registry->getProviderRepository();

        
$request $this->_registry->getRequest();

        
// get the dispatchable provider signature
        
$providerSignature $providerRepository->getProviderSignature($request->getProviderName());

        
// get the actual provider
        
$provider $providerSignature->getProvider();

        
// ensure that we can pretend if this is a pretend request
        
if ($request->isPretend() && (!$provider instanceof Zend_Tool_Framework_Provider_Pretendable)) {
            require_once 
'Zend/Tool/Framework/Client/Exception.php';
            throw new 
Zend_Tool_Framework_Client_Exception('Dispatcher error - provider does not support pretend');
        }

        
// get the action name
        
$actionName $this->_registry->getRequest()->getActionName();

        if (!
$actionableMethod $providerSignature->getActionableMethodByActionName($actionName)) {
            require_once 
'Zend/Tool/Framework/Client/Exception.php';
            throw new 
Zend_Tool_Framework_Client_Exception('Dispatcher error - actionable method not found');
        }

        
// get the actual method and param information
        
$methodName       $actionableMethod['methodName'];
        
$methodParameters $actionableMethod['parameterInfo'];

        
// get the provider params
        
$requestParameters $this->_registry->getRequest()->getProviderParameters();

        
// @todo This seems hackish, determine if there is a better way
        
$callParameters = array();
        foreach (
$methodParameters as $methodParameterName => $methodParameterValue) {
            if (!
array_key_exists($methodParameterName$requestParameters) && $methodParameterValue['optional'] == false) {
                if (
$this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
                    
$promptSting $this->getMissingParameterPromptString($provider$actionableMethod['action'], $methodParameterValue['name']);
                    
$parameterPromptValue $this->promptInteractiveInput($promptSting)->getContent();
                    if (
$parameterPromptValue == null) {
                        require_once 
'Zend/Tool/Framework/Client/Exception.php';
                        throw new 
Zend_Tool_Framework_Client_Exception('Value supplied for required parameter "' $methodParameterValue['name'] . '" is empty');
                    }
                    
$callParameters[] = $parameterPromptValue;
                } else {
                    require_once 
'Zend/Tool/Framework/Client/Exception.php';
                    throw new 
Zend_Tool_Framework_Client_Exception('A required parameter "' $methodParameterValue['name'] . '" was not supplied.');
                }
            } else {
                
$callParameters[] = (array_key_exists($methodParameterName$requestParameters)) ? $requestParameters[$methodParameterName] : $methodParameterValue['default'];
            }
        }

        if ((
$specialtyName $this->_registry->getRequest()->getSpecialtyName()) != '_Global') {
            
$methodName .= $specialtyName;
        }

        if (
method_exists($provider$methodName)) {
            
call_user_func_array(array($provider$methodName), $callParameters);
        } elseif (
method_exists($provider$methodName 'Action')) {
            
call_user_func_array(array($provider$methodName 'Action'), $callParameters);
        } else {
            require_once 
'Zend/Tool/Framework/Client/Exception.php';
            throw new 
Zend_Tool_Framework_Client_Exception('Not a supported method.');
        }
    }

}

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