!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\Provider\   drwxrwxrwx
Free 4.95 GB of 239.26 GB (2.07%)
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:     Repository.php (7.58 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: Repository.php 18951 2009-11-12 16:26:19Z alexander $
 */

/**
 * @see Zend_Tool_Framework_Provider_Signature
 */
require_once 'Zend/Tool/Framework/Provider/Signature.php';

/**
 * @see Zend_Tool_Framework_Registry_EnabledInterface
 */
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.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
 */
class Zend_Tool_Framework_Provider_Repository
    
implements Zend_Tool_Framework_Registry_EnabledInterfaceIteratorAggregateCountable
{

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

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

    
/**
     * @var Zend_Tool_Framework_Provider_Interface[]
     */
    
protected $_unprocessedProviders = array();

    
/**
     * @var Zend_Tool_Framework_Provider_Signature[]
     */
    
protected $_providerSignatures = array();

    
/**
     * @var array Array of Zend_Tool_Framework_Provider_Inteface
     */
    
protected $_providers = array();

    
/**
     * setRegistry()
     *
     * @param Zend_Tool_Framework_Registry_Interface $registry
     * @return unknown
     */
    
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
    {
        
$this->_registry $registry;
        return 
$this;
    }

    
/**
     * Set the ProcessOnAdd flag
     *
     * @param unknown_type $processOnAdd
     * @return unknown
     */
    
public function setProcessOnAdd($processOnAdd true)
    {
        
$this->_processOnAdd = (bool) $processOnAdd;
        return 
$this;
    }

    
/**
     * Add a provider to the repository for processing
     *
     * @param Zend_Tool_Framework_Provider_Interface $provider
     * @return Zend_Tool_Framework_Provider_Repository
     */
    
public function addProvider(Zend_Tool_Framework_Provider_Interface $provider$overwriteExistingProvider false)
    {
        if (
$provider instanceof Zend_Tool_Framework_Registry_EnabledInterface) {
            
$provider->setRegistry($this->_registry);
        }

        if (
method_exists($provider'getName')) {
            
$providerName $provider->getName();
        } else {
            
$providerName $this->_parseName($provider);
        }

        
// if a provider by the given name already exist, and its not set as overwritable, throw exception
        
if (!$overwriteExistingProvider &&
            (
array_key_exists($providerName$this->_unprocessedProviders)
                || 
array_key_exists($providerName$this->_providers)))
        {
            require_once 
'Zend/Tool/Framework/Provider/Exception.php';
            throw new 
Zend_Tool_Framework_Provider_Exception('A provider by the name ' $providerName
                
' is already registered and $overrideExistingProvider is set to false.');
        }

        
$this->_unprocessedProviders[$providerName] = $provider;

        
// if process has already been called, process immediately.
        
if ($this->_processOnAdd) {
            
$this->process();
        }

        return 
$this;
    }

    public function 
hasProvider($providerOrClassName$processedOnly true)
    {
        if (
$providerOrClassName instanceof Zend_Tool_Framework_Provider_Interface) {
            
$targetProviderClassName get_class($providerOrClassName);
        } else {
            
$targetProviderClassName = (string) $providerOrClassName;
        }

        if (!
$processedOnly) {
            foreach (
$this->_unprocessedProviders as $unprocessedProvider) {
                if (
get_class($unprocessedProvider) == $targetProviderClassName) {
                    return 
true;
                }
            }
        }

        foreach (
$this->_providers as $processedProvider) {
            if (
get_class($processedProvider) == $targetProviderClassName) {
                return 
true;
            }
        }

        return 
false;
    }

    
/**
     * Process all of the unprocessed providers
     *
     */
    
public function process()
    {

        
// process all providers in the unprocessedProviders array
        
foreach ($this->_unprocessedProviders as $providerName => $provider) {

            
// create a signature for the provided provider
            
$providerSignature = new Zend_Tool_Framework_Provider_Signature($provider);

            if (
$providerSignature instanceof Zend_Tool_Framework_Registry_EnabledInterface) {
                
$providerSignature->setRegistry($this->_registry);
            }

            
$providerSignature->process();

            
// ensure the name is lowercased for easier searching
            
$providerName strtolower($providerName);

            
// add to the appropraite place
            
$this->_providerSignatures[$providerName] = $providerSignature;
            
$this->_providers[$providerName]          = $providerSignature->getProvider();

            
// remove from unprocessed array
            
unset($this->_unprocessedProviders[$providerName]);
        }

    }

    
/**
     * getProviders() Get all the providers in the repository
     *
     * @return array
     */
    
public function getProviders()
    {
        return 
$this->_providers;
    }

    
/**
     * getProviderSignatures() Get all the provider signatures
     *
     * @return array
     */
    
public function getProviderSignatures()
    {
        return 
$this->_providerSignatures;
    }

    
/**
     * getProvider()
     *
     * @param string $providerName
     * @return Zend_Tool_Framework_Provider_Interface
     */
    
public function getProvider($providerName)
    {
        return 
$this->_providers[strtolower($providerName)];
    }

    
/**
     * getProviderSignature()
     *
     * @param string $providerName
     * @return Zend_Tool_Framework_Provider_Signature
     */
    
public function getProviderSignature($providerName)
    {
        return 
$this->_providerSignatures[strtolower($providerName)];
    }

    
/**
     * count() - return the number of providers
     *
     * @return int
     */
    
public function count()
    {
        return 
count($this->_providers);
    }

    
/**
     * getIterator() - Required by the IteratorAggregate Interface
     *
     * @return ArrayIterator
     */
    
public function getIterator()
    {
        return new 
ArrayIterator($this->getProviders());
    }

    
/**
     * _parseName - internal method to determine the name of an action when one is not explicity provided.
     *
     * @param Zend_Tool_Framework_Action_Interface $action
     * @return string
     */
    
protected function _parseName(Zend_Tool_Framework_Provider_Interface $provider)
    {
        
$className get_class($provider);
        
$providerName substr($classNamestrrpos($className'_')+1);
        if (
substr($providerName, -8) == 'Provider') {
            
$providerName substr($providerName0strlen($providerName)-8);
        }
        return 
$providerName;
    }

}

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