Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bareos/bareos-webui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/zendframework/zend-loader/src/ClassMapAutoloader.php')
-rw-r--r--vendor/zendframework/zend-loader/src/ClassMapAutoloader.php221
1 files changed, 0 insertions, 221 deletions
diff --git a/vendor/zendframework/zend-loader/src/ClassMapAutoloader.php b/vendor/zendframework/zend-loader/src/ClassMapAutoloader.php
deleted file mode 100644
index a50e1fc..0000000
--- a/vendor/zendframework/zend-loader/src/ClassMapAutoloader.php
+++ /dev/null
@@ -1,221 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Loader;
-
-use Traversable;
-
-// Grab SplAutoloader interface
-require_once __DIR__ . '/SplAutoloader.php';
-
-/**
- * Class-map autoloader
- *
- * Utilizes class-map files to lookup classfile locations.
- */
-class ClassMapAutoloader implements SplAutoloader
-{
- /**
- * Registry of map files that have already been loaded
- * @var array
- */
- protected $mapsLoaded = array();
-
- /**
- * Class name/filename map
- * @var array
- */
- protected $map = array();
-
- /**
- * Constructor
- *
- * Create a new instance, and optionally configure the autoloader.
- *
- * @param null|array|Traversable $options
- */
- public function __construct($options = null)
- {
- if (null !== $options) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Configure the autoloader
- *
- * Proxies to {@link registerAutoloadMaps()}.
- *
- * @param array|Traversable $options
- * @return ClassMapAutoloader
- */
- public function setOptions($options)
- {
- $this->registerAutoloadMaps($options);
- return $this;
- }
-
- /**
- * Register an autoload map
- *
- * An autoload map may be either an associative array, or a file returning
- * an associative array.
- *
- * An autoload map should be an associative array containing
- * classname/file pairs.
- *
- * @param string|array $map
- * @throws Exception\InvalidArgumentException
- * @return ClassMapAutoloader
- */
- public function registerAutoloadMap($map)
- {
- if (is_string($map)) {
- $location = $map;
- if ($this === ($map = $this->loadMapFromFile($location))) {
- return $this;
- }
- }
-
- if (!is_array($map)) {
- require_once __DIR__ . '/Exception/InvalidArgumentException.php';
- throw new Exception\InvalidArgumentException(sprintf(
- 'Map file provided does not return a map. Map file: "%s"',
- (isset($location) && is_string($location) ? $location : 'unexpected type: ' . gettype($map))
- ));
- }
-
- $this->map = $map + $this->map;
-
- if (isset($location)) {
- $this->mapsLoaded[] = $location;
- }
-
- return $this;
- }
-
- /**
- * Register many autoload maps at once
- *
- * @param array $locations
- * @throws Exception\InvalidArgumentException
- * @return ClassMapAutoloader
- */
- public function registerAutoloadMaps($locations)
- {
- if (!is_array($locations) && !($locations instanceof Traversable)) {
- require_once __DIR__ . '/Exception/InvalidArgumentException.php';
- throw new Exception\InvalidArgumentException('Map list must be an array or implement Traversable');
- }
- foreach ($locations as $location) {
- $this->registerAutoloadMap($location);
- }
- return $this;
- }
-
- /**
- * Retrieve current autoload map
- *
- * @return array
- */
- public function getAutoloadMap()
- {
- return $this->map;
- }
-
- /**
- * {@inheritDoc}
- */
- public function autoload($class)
- {
- if (isset($this->map[$class])) {
- require_once $this->map[$class];
-
- return $class;
- }
-
- return false;
- }
-
- /**
- * Register the autoloader with spl_autoload registry
- *
- * @return void
- */
- public function register()
- {
- spl_autoload_register(array($this, 'autoload'), true, true);
- }
-
- /**
- * Load a map from a file
- *
- * If the map has been previously loaded, returns the current instance;
- * otherwise, returns whatever was returned by calling include() on the
- * location.
- *
- * @param string $location
- * @return ClassMapAutoloader|mixed
- * @throws Exception\InvalidArgumentException for nonexistent locations
- */
- protected function loadMapFromFile($location)
- {
- if (!file_exists($location)) {
- require_once __DIR__ . '/Exception/InvalidArgumentException.php';
- throw new Exception\InvalidArgumentException(sprintf(
- 'Map file provided does not exist. Map file: "%s"',
- (is_string($location) ? $location : 'unexpected type: ' . gettype($location))
- ));
- }
-
- if (!$path = static::realPharPath($location)) {
- $path = realpath($location);
- }
-
- if (in_array($path, $this->mapsLoaded)) {
- // Already loaded this map
- return $this;
- }
-
- $map = include $path;
-
- return $map;
- }
-
- /**
- * Resolve the real_path() to a file within a phar.
- *
- * @see https://bugs.php.net/bug.php?id=52769
- * @param string $path
- * @return string
- */
- public static function realPharPath($path)
- {
- if (!preg_match('|^phar:(/{2,3})|', $path, $match)) {
- return;
- }
-
- $prefixLength = 5 + strlen($match[1]);
- $parts = explode('/', str_replace(array('/', '\\'), '/', substr($path, $prefixLength)));
- $parts = array_values(array_filter($parts, function ($p) {
- return ($p !== '' && $p !== '.');
- }));
-
- array_walk($parts, function ($value, $key) use (&$parts) {
- if ($value === '..') {
- unset($parts[$key], $parts[$key-1]);
- $parts = array_values($parts);
- }
- });
-
- if (file_exists($realPath = str_pad('phar:', $prefixLength, '/') . implode('/', $parts))) {
- return $realPath;
- }
- }
-}