!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:\cumbreclima\wp-content\plugins\wordpress-seo\vendor\xrstf\composer-php52\lib\xrstf\Composer52\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.35%)
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:     ClassLoader.php (6.1 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
 *
 * This file is released under the terms of the MIT license. You can find the
 * complete text in the attached LICENSE file or online at:
 *
 * http://www.opensource.org/licenses/mit-license.php
 *
 * --------------------------------------------------------------------------
 *
 * 99% of this is copied as-is from the original Composer source code and is
 * released under MIT license as well. Copyright goes to:
 *
 * - Fabien Potencier <fabien@symfony.com>
 * - Jordi Boggiano <j.boggiano@seld.be>
 */

class xrstf_Composer52_ClassLoader {
    private 
$prefixes              = array();
    private 
$fallbackDirs          = array();
    private 
$useIncludePath        false;
    private 
$classMap              = array();
    private 
$classMapAuthoratative false;
    private 
$allowUnderscore       false;

    
/**
     * @param boolean $flag  true to allow class names with a leading underscore, false to disable
     */
    
public function setAllowUnderscore($flag) {
        
$this->allowUnderscore = (boolean) $flag;
    }

    
/**
     * @return array
     */
    
public function getPrefixes() {
        return 
$this->prefixes;
    }

    
/**
     * Turns off searching the prefix and fallback directories for classes
     * that have not been registered with the class map.
     *
     * @param bool $classMapAuthoratative
     */
    
public function setClassMapAuthoritative($classMapAuthoratative) {
        
$this->classMapAuthoratative $classMapAuthoratative;
    }

    
/**
     * Should class lookup fail if not found in the current class map?
     *
     * @return bool
     */
    
public function getClassMapAuthoratative() {
        return 
$this->classMapAuthoratative;
    }

    
/**
     * @return array
     */
    
public function getFallbackDirs() {
        return 
$this->fallbackDirs;
    }

    
/**
     * @return array
     */
    
public function getClassMap() {
        return 
$this->classMap;
    }

    
/**
     * @param array $classMap  class to filename map
     */
    
public function addClassMap(array $classMap) {
        if (
$this->classMap) {
            
$this->classMap array_merge($this->classMap$classMap);
        }
        else {
            
$this->classMap $classMap;
        }
    }

    
/**
     * Registers a set of classes, merging with any others previously set.
     *
     * @param string       $prefix   the classes prefix
     * @param array|string $paths    the location(s) of the classes
     * @param bool         $prepend  prepend the location(s)
     */
    
public function add($prefix$paths$prepend false) {
        if (!
$prefix) {
            if (
$prepend) {
                
$this->fallbackDirs array_merge(
                    (array) 
$paths,
                    
$this->fallbackDirs
                
);
            }
            else {
                
$this->fallbackDirs array_merge(
                    
$this->fallbackDirs,
                    (array) 
$paths
                
);
            }

            return;
        }

        if (!isset(
$this->prefixes[$prefix])) {
            
$this->prefixes[$prefix] = (array) $paths;
            return;
        }

        if (
$prepend) {
            
$this->prefixes[$prefix] = array_merge(
                (array) 
$paths,
                
$this->prefixes[$prefix]
            );
        }
        else {
            
$this->prefixes[$prefix] = array_merge(
                
$this->prefixes[$prefix],
                (array) 
$paths
            
);
        }
    }

    
/**
     * Registers a set of classes, replacing any others previously set.
     *
     * @param string       $prefix  the classes prefix
     * @param array|string $paths   the location(s) of the classes
     */
    
public function set($prefix$paths) {
        if (!
$prefix) {
            
$this->fallbackDirs = (array) $paths;
            return;
        }

        
$this->prefixes[$prefix] = (array) $paths;
    }

    
/**
     * Turns on searching the include path for class files.
     *
     * @param bool $useIncludePath
     */
    
public function setUseIncludePath($useIncludePath) {
        
$this->useIncludePath $useIncludePath;
    }

    
/**
     * Can be used to check if the autoloader uses the include path to check
     * for classes.
     *
     * @return bool
     */
    
public function getUseIncludePath() {
        return 
$this->useIncludePath;
    }

    
/**
     * Registers this instance as an autoloader.
     */
    
public function register() {
        
spl_autoload_register(array($this'loadClass'), true);
    }

    
/**
     * Unregisters this instance as an autoloader.
     */
    
public function unregister() {
        
spl_autoload_unregister(array($this'loadClass'));
    }

    
/**
     * Loads the given class or interface.
     *
     * @param  string $class  the name of the class
     * @return bool|null      true, if loaded
     */
    
public function loadClass($class) {
        if (
$file $this->findFile($class)) {
            include 
$file;
            return 
true;
        }
    }

    
/**
     * Finds the path to the file where the class is defined.
     *
     * @param  string $class  the name of the class
     * @return string|null    the path, if found
     */
    
public function findFile($class) {
        if (
'\\' === $class[0]) {
            
$class substr($class1);
        }

        if (isset(
$this->classMap[$class])) {
            return 
$this->classMap[$class];
        }
        elseif (
$this->classMapAuthoratative) {
            return 
false;
        }

        
$classPath $this->getClassPath($class);

        foreach (
$this->prefixes as $prefix => $dirs) {
            if (
=== strpos($class$prefix)) {
                foreach (
$dirs as $dir) {
                    if (
file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
                        return 
$dir.DIRECTORY_SEPARATOR.$classPath;
                    }
                }
            }
        }

        foreach (
$this->fallbackDirs as $dir) {
            if (
file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
                return 
$dir.DIRECTORY_SEPARATOR.$classPath;
            }
        }

        if (
$this->useIncludePath && $file self::resolveIncludePath($classPath)) {
            return 
$file;
        }

        return 
$this->classMap[$class] = false;
    }

    private function 
getClassPath($class) {
        if (
false !== $pos strrpos($class'\\')) {
            
// namespaced class name
            
$classPath str_replace('\\'DIRECTORY_SEPARATORsubstr($class0$pos)).DIRECTORY_SEPARATOR;
            
$className substr($class$pos 1);
        }
        else {
            
// PEAR-like class name
            
$classPath null;
            
$className $class;
        }

        
$className str_replace('_'DIRECTORY_SEPARATOR$className);

        
// restore the prefix
        
if ($this->allowUnderscore && DIRECTORY_SEPARATOR === $className[0]) {
            
$className[0] = '_';
        }

        
$classPath .= $className.'.php';

        return 
$classPath;
    }

    public static function 
resolveIncludePath($classPath) {
        
$paths explode(PATH_SEPARATORget_include_path());

        foreach (
$paths as $path) {
            
$path rtrim($path'/\\');

            if (
$file file_exists($path.DIRECTORY_SEPARATOR.$file)) {
                return 
$file;
            }
        }

        return 
false;
    }
}

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