%PDF- %PDF- 403WebShell
403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/local/php_interface/lib/Autoloader.php
<?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);
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit