- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/delivery/services/automatic.php
- Класс: BitrixSaleDeliveryServicesAutomatic
- Вызов: Automatic::initHandlers
static function initHandlers()
{
static $isHandlerInited = false;
if($isHandlerInited)
return true;
$arPathList = array( // list of valid services include files paths (security)
BitrixMainConfigOption::get('sale', 'delivery_handles_custom_path', BX_PERSONAL_ROOT.'/php_interface/include/sale_delivery/'),
"/bitrix/modules/sale/delivery/",
);
$arLoadedHandlers = array();
foreach ($arPathList as $basePath)
{
if (file_exists($_SERVER["DOCUMENT_ROOT"].$basePath) && is_dir($_SERVER["DOCUMENT_ROOT"].$basePath))
{
$handle = @opendir($_SERVER["DOCUMENT_ROOT"].$basePath);
while(($filename = readdir($handle)) !== false)
{
if($filename == "." || $filename == ".." || in_array($filename, $arLoadedHandlers))
continue;
if (!is_dir($_SERVER["DOCUMENT_ROOT"].$basePath."/".$filename) && mb_substr($filename, 0, 9) == "delivery_")
{
if(BitrixMainIOPath::getExtension($filename) == 'php')
{
$arLoadedHandlers[] = $filename;
require_once($_SERVER["DOCUMENT_ROOT"].$basePath."/".$filename);
}
}
}
@closedir($handle);
}
}
$isHandlerInited = true;
return true;
}