⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.72
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-pear
/
pear
/
php
/
Horde
/
Edit File: Autoloader.php
<?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 */ /** * Horde autoloader implementation. * * Manages an application's class name to file name mapping conventions. One or * more class-to-filename mappers are defined, and are searched in LIFO order. * * @author Bob Mckee <bmckee@bywires.com> * @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 { /** * List of callback methods. * * @var array */ private $_callbacks = array(); /** * List of classpath mappers. * * @var array */ private $_mappers = array(); /** * Register the autoloader with PHP (in a way to play well with as many * configurations as possible). */ public function registerAutoloader() { spl_autoload_register(array($this, 'loadClass')); if (function_exists('__autoload')) { spl_autoload_register('__autoload'); } } /** * Loads a class into the current environment by classname. * * @param string $className Classname to load. * * @return boolean True if the class was successfully loaded. */ public function loadClass($className) { if (($path = $this->mapToPath($className)) && $this->_include($path)) { $className = $this->_lower($className); if (isset($this->_callbacks[$className])) { call_user_func($this->_callbacks[$className]); } return true; } return false; } /** * Adds a class path mapper to the beginning of the queue. * * @param Horde_Autoloader_ClassPathMapper $mapper A mapper object. * * @return Horde_Autoloader This instance. */ public function addClassPathMapper(Horde_Autoloader_ClassPathMapper $mapper) { array_unshift($this->_mappers, $mapper); return $this; } /** * Add a callback to run when a class is loaded through loadClass(). * * @param string $class The classname. * @param mixed $callback The callback to run when the class is loaded. */ public function addCallback($class, $callback) { $this->_callbacks[$this->_lower($class)] = $callback; } /** * Search registered mappers in LIFO order. * * @param string $className Classname to load. * * @return mixed Pathname to class, or null if not found. */ public function mapToPath($className) { foreach ($this->_mappers as $mapper) { if (($path = $mapper->mapToPath($className)) && $this->_fileExists($path)) { return $path; } } return null; } /** * Include a file. * * @param string $path Pathname of file to include. * * @return boolean Success. */ protected function _include($path) { return (bool)include $path; } /** * Does a file exist? * * @param string $path Pathname of file to check. * * @return boolean Does file exist? */ protected function _fileExists($path) { return file_exists($path); } /** * Locale independant strtolower() implementation. * * @param string $string The string to convert to lowercase. * * @return string The lowercased string, based on ASCII encoding. */ protected function _lower($string) { $language = setlocale(LC_CTYPE, 0); setlocale(LC_CTYPE, 'C'); $string = strtolower($string); setlocale(LC_CTYPE, $language); return $string; } }
Simpan