%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.227.107.147 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/local/php_interface/lib/ |
Upload File : |
<?php namespace LocalLib; use Bitrix\Main\Loader; use LocalLib\Helpers\StringHelper; Autoloader::register(); Loader::includeModule('iblock'); Loader::includeModule('highloadblock'); Loader::includeModule('catalog'); Loader::includeModule('sale'); class Autoloader{ private static $root; private static $arCmpLibs = []; public static function register() { self::$root = dirname(__FILE__); if (function_exists('__autoload')) { spl_autoload_register('__autoload'); } return spl_autoload_register(array('\LocalLib\Autoloader', 'load')); } public static function registerComponentLib($cmpDir) { if(!is_string($cmpDir) || empty($cmpDir) || !is_dir($cmpDir)){ return; } $arDir = explode(DIRECTORY_SEPARATOR, $cmpDir); if (empty($arDir) || !is_array($arDir)) { return; } $arDir = array_reverse($arDir); if($arDir[2] !== 'components'){ return; } $ns = StringHelper::camelize((string)$arDir[1]); if (empty($ns)) { return; } $cmp = StringHelper::camelize((string)$arDir[0]); if (empty($cmp)) { return; } self::$arCmpLibs['LocalComponents\\'.$ns.'\\'.$cmp.'\Lib'] = $cmpDir.DIRECTORY_SEPARATOR.'lib'; } public static function load($className){ if (!is_string($className) || class_exists($className,false)) { return false; } $className = ltrim($className, "\\"); $arClassName = explode('\\', $className); if($arClassName[0] === 'LocalLib'){ return self::loadFromMainDir($arClassName); }elseif($arClassName[0] === 'LocalComponents'){ return self::loadFromCmpDir( $arClassName, self::$arCmpLibs[$arClassName[0].'\\'.$arClassName[1].'\\'.$arClassName[2].'\\'.$arClassName[3]] ); } return false; } private static function loadFromMainDir($arClassName) { $classFilePath = self::$root; unset($arClassName[0]); $classFilePath .= DIRECTORY_SEPARATOR.implode(DIRECTORY_SEPARATOR, $arClassName); $classFilePath .= '.php'; if ((file_exists($classFilePath) === false) || (is_readable($classFilePath) === false)) { return false; } require_once($classFilePath); } private static function loadFromCmpDir($arClassName, $classFilePath) { if($arClassName[3] !== 'Lib'){ return false; } unset($arClassName[0],$arClassName[1],$arClassName[2],$arClassName[3]); $classFilePath .= DIRECTORY_SEPARATOR.implode(DIRECTORY_SEPARATOR, $arClassName); $classFilePath .= '.php'; if ((file_exists($classFilePath) === false) || (is_readable($classFilePath) === false)) { return false; } require_once($classFilePath); } }