/usr/share/php/Horde/Autoloader/ClassPathMapper/Prefix.php is in php-horde-autoloader 2.1.2-3ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <?php
/**
* Copyright 2008-2016 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
* @category Horde
* @copyright 2008-2016 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Autoloader
*/
/**
* Provides a classmapper that implements generic pattern for different
* mapping types within the application directory.
*
* @author Chuck Hagenbuch <chuck@horde.org>
* @category Horde
* @copyright 2008-2016 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Autoloader
*/
class Horde_Autoloader_ClassPathMapper_Prefix
implements Horde_Autoloader_ClassPathMapper
{
/**
* Include path.
*
* @var string
*/
private $_includePath;
/**
* PCRE pattern to match in class.
*
* @var string
*/
private $_pattern;
/**
* Constructor
*
* @param string $pattern PCRE pattern.
* @param string $includePath Include path.
*/
public function __construct($pattern, $includePath)
{
$this->_includePath = $includePath;
$this->_pattern = $pattern;
}
/**
*/
public function mapToPath($className)
{
if (!preg_match($this->_pattern, $className, $matches, PREG_OFFSET_CAPTURE)) {
return false;
}
return (strcasecmp($matches[0][0], $className) === 0)
? $this->_includePath . '/' . $className . '.php'
: str_replace(array('\\', '_'), '/', substr($className, 0, $matches[0][1])) .
$this->_includePath . '/' .
str_replace(array('\\', '_'), '/', substr($className, $matches[0][1] + strlen($matches[0][0]))) .
'.php';
}
}
|