- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/delivery/services/new_to_automatic.php
- Класс: BitrixSaleDeliveryServicesNewToAutomatic
- Вызов: NewToAutomatic::convertNewServiceToOld
static function convertNewServiceToOld($service)
{
if (intval($service["ID"]) <= 0)
{
return [];
}
$newService = Manager::getObjectById($service["ID"]);
if (is_null($newService))
{
return [];
}
$service["SID"] = 'new'.$service["ID"];
$service["TAX_RATE"] = 0;
$service["INSTALLED"] = 'Y';
$service["BASE_CURRENCY"] = $service["CURRENCY"];
$service["SETTINGS"] = array();
$service["HANDLER"] = self::HANDLER;
if (intval($service["LOGOTIP"]) > 0)
$service["LOGOTIP"] = CFile::getFileArray($service["LOGOTIP"]);
$service["CONFIG"] = array(
"CONFIG_GROUPS" => array(),
"CONFIG" => array(),
);
$service["PROFILES"] = array();
$profileParams = array(
"TITLE" => "",
"DESCRIPTION" => $service["DESCRIPTION"],
"TAX_RATE" => 0,
"ACTIVE" => $service["ACTIVE"]
);
$restrictions = RestrictionsManager::getRestrictionsList($service["ID"]);
foreach($restrictions as $restriction)
{
switch($restriction["CLASS_NAME"])
{
case 'BitrixSaleDeliveryRestrictionsByWeight':
$profileParams["RESTRICTIONS_WEIGHT"] = array($restriction["PARAMS"]["MIN_WEIGHT"], $restriction["PARAMS"]["MAX_WEIGHT"]);
break;
case 'BitrixSaleDeliveryRestrictionsByPrice':
$profileParams["RESTRICTIONS_SUM"] = array($restriction["PARAMS"]["MIN_PRICE"], $restriction["PARAMS"]["MAX_PRICE"]);
break;
case 'BitrixSaleDeliveryRestrictionsByDimensions':
$profileParams["RESTRICTIONS_DIMENSIONS"] = array(
$restriction["PARAMS"]["LENGTH"],
$restriction["PARAMS"]["WIDTH"],
$restriction["PARAMS"]["HEIGHT"]
);
$profileParams["RESTRICTIONS_MAX_SIZE"] = $restriction["PARAMS"]["MAX_DIMENSION"];
$profileParams["RESTRICTIONS_DIMENSIONS_SUM"] = $restriction["PARAMS"]["MAX_DIMENSIONS_SUM"];
break;
default:
break;
}
}
$service["PROFILES"]['profile'] = $profileParams;
$newToAutomatic = new self($newService);
$service = array_merge($newToAutomatic->init(), $service);
return $service;
}