ERID creation updates & fixes

This commit is contained in:
merelendor 2024-05-31 05:24:04 +03:00
parent 8120194329
commit 1cfe60458f
2 changed files with 287 additions and 115 deletions

View File

@ -344,24 +344,97 @@ function advertiser_request($url, $payload)
//return $http_code === 200 ? $response : false;
}
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "OnBeforeIBlockElementAddHandler");
AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnAfterIBlockElementAddHandler");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "OnBeforeIBlockElementUpdateHandler");
function prepare_advertiser_request($arFields, $properties)
{
if(DEBUG_ADV_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_request.txt", var_export([ "arFields" => $arFields, "properties" => $properties ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND );
}
$payload = [
"id" => $arFields['ID'],
"name" => $arFields['NAME'],
];
switch($arFields['IBLOCK_ID'])
{
case IBLOCK_ID_SLIDER:
{
$k = array_keys($arFields['PROPERTY_VALUES'][$properties['URL']])[0];
$payload['url'] = "https://".ADVERTISER_DOMAIN."".$arFields['PROPERTY_VALUES'][$properties['URL']][$k]['VALUE'];
}
break;
case IBLOCK_ID_SPECIALS:
{
$payload['code'] = $arFields['CODE'];
$payload['url'] = "https://".ADVERTISER_DOMAIN."/special/".$arFields['CODE'];
}
break;
case IBLOCK_ID_NEWS:
{
$payload['code'] = $arFields['CODE'];
$payload['url'] = "https://".ADVERTISER_DOMAIN."/news/".$arFields['CODE'];
}
break;
case IBLOCK_ID_SPECIAL_OFFERS_BANNERS:
{
$k = array_keys($arFields['PROPERTY_VALUES'][$properties['OFFER']])[0];
$offer = get_related(IBLOCK_ID_SPECIALS, $arFields['PROPERTY_VALUES'][$properties['OFFER']][$k]['VALUE']);
$payload['url'] = "https://".ADVERTISER_DOMAIN.$offer['DETAIL_PAGE_URL'];
}
break;
case IBLOCK_ID_SPECIAL_OFFERS_CARS:
{
$payload['url'] = "https://".ADVERTISER_DOMAIN."/special/";
}
break;
case IBLOCK_ID_BANNERS_INNER:
{
$k = array_keys($arFields['PROPERTY_VALUES'][$properties['URL']])[0];
$payload['url'] = "https://".ADVERTISER_DOMAIN."".$arFields['PROPERTY_VALUES'][$properties['URL']][$k]['VALUE'];
}
break;
case IBLOCK_ID_CATALOG_CARS_USED:
{
$payload['id'] = $arFields['ID'];
$payload['code'] = $arFields['CODE'];
$payload['url'] = "https://".ADVERTISER_DOMAIN."/izt/".$arFields['CODE'];
}
break;
default:
break;
}
if(DEBUG_ADV_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_request_payload.txt", var_export([ "ADVERTISER_URL" => ADVERTISER_URL, "ADVERTISING_IBLOCK_ARRAY[arFields['IBLOCK_ID']]" => ADVERTISING_IBLOCK_ARRAY[$arFields['IBLOCK_ID']], "payload" => $payload ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND );
}
$response = advertiser_request(ADVERTISER_URL."/".ADVERTISING_IBLOCK_ARRAY[$arFields['IBLOCK_ID']], $payload);
return $response;
}
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "OnBeforeIBlockElementAddHandler");
AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnAfterIBlockElementAddHandler");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "OnBeforeIBlockElementUpdateHandler");
//AddEventHandler("iblock", "OnIBlockElementSetPropertyValuesEx", "OnIBlockElementSetPropertyValuesExHandler");
function OnBeforeIBlockElementAddHandler(&$arFields)
{
$iblocks_array = [
IBLOCK_ID_SPECIALS => "specials",
IBLOCK_ID_NEWS => "news",
IBLOCK_ID_SLIDER => "slider",
IBLOCK_ID_SPECIAL_OFFERS_BANNERS => "special_offers_banner",
IBLOCK_ID_SPECIAL_OFFERS_CARS => "special_offers_car_banner",
IBLOCK_ID_BANNERS_INNER => "banner_inner",
];
if(array_key_exists($arFields['IBLOCK_ID'], $iblocks_array))
if(array_key_exists($arFields['IBLOCK_ID'], is_array(ADVERTISING_IBLOCK_ARRAY) ? ADVERTISING_IBLOCK_ARRAY : []))
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add.txt", var_export($arFields, true));
if(DEBUG_IBLOCK_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_before_".$arFields['IBLOCK_ID'].".txt", var_export($arFields, true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
}
$res = CIBlock::GetProperties($arFields['IBLOCK_ID'], [], []);
$properties = [];
@ -373,8 +446,16 @@ function OnBeforeIBlockElementAddHandler(&$arFields)
if(isset($properties['ADVERTISING']))
{
if(is_array($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']]))
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_before_adv_".$arFields['IBLOCK_ID'].".txt", var_export([ "CODE" => $arFields['CODE'], ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
if(!is_null($arFields['PROPERTY_VALUES']['ADVERTISING']))
{
//if($arFields['IBLOCK_ID'] === IBLOCK_ID_CATALOG_CARS_USED && is_null($arFields['PROPERTY_VALUES']['SPECIAL_OFFER']))
if($arFields['IBLOCK_ID'] === IBLOCK_ID_CATALOG_CARS_USED)
{
return true;
}
//снимаем элемент с публикации по умолчанию
$arFields['ACTIVE'] = "N";
}
@ -390,17 +471,22 @@ function OnBeforeIBlockElementAddHandler(&$arFields)
function OnAfterIBlockElementAddHandler(&$arFields)
{
$iblocks_array = [
IBLOCK_ID_SPECIALS => "specials",
IBLOCK_ID_NEWS => "news",
IBLOCK_ID_SLIDER => "slider",
IBLOCK_ID_SPECIAL_OFFERS_BANNERS => "special_offers_banner",
IBLOCK_ID_SPECIAL_OFFERS_CARS => "special_offers_car_banner",
IBLOCK_ID_BANNERS_INNER => "banner",
];
if(array_key_exists($arFields['IBLOCK_ID'], $iblocks_array))
if(array_key_exists($arFields['IBLOCK_ID'], is_array(ADVERTISING_IBLOCK_ARRAY) ? ADVERTISING_IBLOCK_ARRAY : []))
{
if(DEBUG_IBLOCK_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_after_".$arFields['IBLOCK_ID'].".txt", var_export($arFields, true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
}
$res = CIBlock::GetProperties($arFields['IBLOCK_ID'], [], []);
$properties = [];
while($res_arr = $res->GetNext())
{
$properties[$res_arr['CODE']] = $res_arr['ID'];
}
/* ????????
if(isset($properties['ADVERTISING']))
{
if(is_array($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']]))
@ -414,23 +500,71 @@ function OnAfterIBlockElementAddHandler(&$arFields)
}
}
}
$res = CIBlock::GetProperties($arFields['IBLOCK_ID'], [], []);
$properties = [];
while($res_arr = $res->GetNext())
{
$properties[$res_arr['CODE']] = $res_arr['ID'];
}
*/
if(isset($properties['ADVERTISING']))
{
if(is_array($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']]))
if(!is_null($arFields['PROPERTY_VALUES']['ADVERTISING']))
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_after_adv_".$arFields['IBLOCK_ID'].".txt", var_export($arFields['CODE'], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
//if($arFields['IBLOCK_ID'] === IBLOCK_ID_CATALOG_CARS_USED && is_null($arFields['PROPERTY_VALUES']['SPECIAL_OFFER']))
if(method_exists('\CIBlock', 'clearIblockTagCache'))
{
\CIBlock::enableClearTagCache();
\CIBlock::clearIblockTagCache($arFields['IBLOCK_ID']);
\CIBlock::DisableClearTagCache();
}
else
{
BXClearCache(true);
(new \Bitrix\Main\Data\ManagedCache())->cleanAll();
(new \CStackCacheManager())->CleanAll();
}
if(method_exists('\CHTMLPagesCache', 'IsCompositeEnabled') && \CHTMLPagesCache::IsCompositeEnabled())
{
\CHTMLPagesCache::CleanAll();
}
if($arFields['IBLOCK_ID'] === IBLOCK_ID_CATALOG_CARS_USED)
{
return true;
}
//запускаем получение ЕРИР
sleep(10);
$advertiser_response = prepare_advertiser_request($arFields, $properties);
if($advertiser_response['status'] === "success")
{
//file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_arfields.txt", var_export($arFields, true));
//file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_properties.txt", var_export($properties, true));
if(DEBUG_ADV_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_response.txt", var_export(["ID" => $arFields['ID'], "response" => $advertiser_response], true));
}
$arFields['PROPERTY_VALUES']['ADVERTISING_ERIR'] = $advertiser_response['erir'];
$arFields['PROPERTY_VALUES']['ADVERTISING_SAMPLE_URL'] = $advertiser_response['sample'];
$arFields['PROPERTY_VALUES']['ADVERTISING_SAMPLE_ID'] = $advertiser_response['sample_id'];
$arFields['ACTIVE'] = 'Y';
}
else
{
$arFields['PROPERTY_VALUES']['ADVERTISING'] = NULL;
$arFields['PROPERTY_VALUES']['ADVERTISING_ERIR'] = '';
$arFields['PROPERTY_VALUES']['ADVERTISING_SAMPLE_URL'] = '';
$arFields['PROPERTY_VALUES']['ADVERTISING_SAMPLE_ID'] = '';
$arFields['ACTIVE'] = 'N';
}
/*
$element = new CIBlockElement;
$result = $element->Update($arFields['ID'], [ "ACTIVE" => "Y" ]);
CIBlockElement::SetPropertyValuesEx($arFields['ID'], $arFields['IBLOCK_ID'], [
"ADVERTISING_ERIR" => "12345",
"ADVERTISING_SAMPLE_URL" => "67890",
@ -438,6 +572,7 @@ function OnAfterIBlockElementAddHandler(&$arFields)
//ставим элемент на публикацию
$arFields['ACTIVE'] = "Y";
*/
}
}
}
@ -447,18 +582,13 @@ function OnAfterIBlockElementAddHandler(&$arFields)
function OnBeforeIBlockElementUpdateHandler(&$arFields)
{
$iblocks_array = [
IBLOCK_ID_SLIDER => "slider",
IBLOCK_ID_NEWS => "news",
IBLOCK_ID_SPECIALS => "special",
IBLOCK_ID_SPECIAL_OFFERS_BANNERS => "special_offers_banner",
IBLOCK_ID_SPECIAL_OFFERS_CARS => "special_offers_car_banner",
IBLOCK_ID_BANNERS_INNER => "banner",
IBLOCK_ID_CATALOG_CARS_USED => "izt",
];
if(array_key_exists($arFields['IBLOCK_ID'], $iblocks_array))
if(array_key_exists($arFields['IBLOCK_ID'], is_array(ADVERTISING_IBLOCK_ARRAY) ? ADVERTISING_IBLOCK_ARRAY : []))
{
if(DEBUG_IBLOCK_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_update_before_".$arFields['IBLOCK_ID'].".txt", var_export($arFields, true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
}
$res = CIBlock::GetProperties($arFields['IBLOCK_ID'], [], []);
$properties = [];
@ -469,10 +599,17 @@ function OnBeforeIBlockElementUpdateHandler(&$arFields)
if(isset($properties['ADVERTISING']))
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_adv_1.txt", var_export([ "ID" => $arFields['ID'], ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
if(is_array($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']]))
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_adv_2.txt", var_export([ "ID" => $arFields['ID'], ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
if($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']][array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']])[0]]['VALUE'] === "")
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_adv_3.txt", var_export([ "ID" => $arFields['ID'], ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_update_before_".$arFields['IBLOCK_ID'].".txt", var_export([ "ID" => $arFields['ID'], ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
//это реклама, ЕРИР нет и его надо получить
/*
CIBlockElement::SetPropertyValuesEx($arFields['ID'], $arFields['IBLOCK_ID'], [
@ -481,76 +618,41 @@ function OnBeforeIBlockElementUpdateHandler(&$arFields)
], []);
*/
$payload = [
"id" => $arFields['ID'],
"name" => $arFields['NAME'],
];
switch($arFields['IBLOCK_ID'])
if(method_exists('\CIBlock', 'clearIblockTagCache'))
{
\CIBlock::enableClearTagCache();
\CIBlock::clearIblockTagCache($arFields['IBLOCK_ID']);
\CIBlock::DisableClearTagCache();
}
else
{
case IBLOCK_ID_SLIDER:
{
$k = array_keys($arFields['PROPERTY_VALUES'][$properties['URL']])[0];
$payload['url'] = "https://".ADVERTISER_DOMAIN."".$arFields['PROPERTY_VALUES'][$properties['URL']][$k]['VALUE'];
}
break;
case IBLOCK_ID_SPECIALS:
{
$payload['code'] = $arFields['CODE'];
$payload['url'] = "https://".ADVERTISER_DOMAIN."/special/".$arFields['CODE'];
}
break;
case IBLOCK_ID_NEWS:
{
$payload['code'] = $arFields['CODE'];
$payload['url'] = "https://".ADVERTISER_DOMAIN."/news/".$arFields['CODE'];
}
break;
case IBLOCK_ID_SPECIAL_OFFERS_BANNERS:
{
$k = array_keys($arFields['PROPERTY_VALUES'][$properties['OFFER']])[0];
$offer = get_related(IBLOCK_ID_SPECIALS, $arFields['PROPERTY_VALUES'][$properties['OFFER']][$k]['VALUE']);
$payload['url'] = "https://".ADVERTISER_DOMAIN.$offer['DETAIL_PAGE_URL'];
}
break;
case IBLOCK_ID_SPECIAL_OFFERS_CARS:
{
$payload['url'] = "https://".ADVERTISER_DOMAIN."/special/";
}
break;
case IBLOCK_ID_BANNERS_INNER:
{
$k = array_keys($arFields['PROPERTY_VALUES'][$properties['URL']])[0];
$payload['url'] = "https://".ADVERTISER_DOMAIN."".$arFields['PROPERTY_VALUES'][$properties['URL']][$k]['VALUE'];
}
break;
case IBLOCK_ID_CATALOG_CARS_USED:
{
$payload['code'] = $arFields['CODE'];
$payload['url'] = "https://".ADVERTISER_DOMAIN."/izt/".$arFields['CODE'];
}
break;
default:
break;
BXClearCache(true);
(new \Bitrix\Main\Data\ManagedCache())->cleanAll();
(new \CStackCacheManager())->CleanAll();
}
if(method_exists('\CHTMLPagesCache', 'IsCompositeEnabled') && \CHTMLPagesCache::IsCompositeEnabled())
{
\CHTMLPagesCache::CleanAll();
}
$response = advertiser_request(ADVERTISER_URL."/".$iblocks_array[$arFields['IBLOCK_ID']], $payload);
$advertiser_response = prepare_advertiser_request($arFields, $properties);
if($response['status'] === "success")
if($advertiser_response['status'] === "success")
{
// file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_arfields.txt", var_export($arFields, true));
// file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_properties.txt", var_export($properties, true));
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']] = [ "".array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']])[0]."" => [ 'VALUE' => $response['erir'] ] ];
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_URL']] = [ "".array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_URL']])[0]."" => [ 'VALUE' => $response['sample'] ] ];
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_ID']] = [ "".array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_ID']])[0]."" => [ 'VALUE' => $response['sample_id'] ] ];
//file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_arfields.txt", var_export($arFields, true));
//file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_properties.txt", var_export($properties, true));
if(DEBUG_ADV_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_response.txt", var_export(["ID" => $arFields['ID'], "response" => $advertiser_response], true));
}
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']] = [ "".array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']])[0]."" => [ 'VALUE' => $advertiser_response['erir'] ] ];
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_URL']] = [ "".array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_URL']])[0]."" => [ 'VALUE' => $advertiser_response['sample'] ] ];
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_ID']] = [ "".array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_ID']])[0]."" => [ 'VALUE' => $advertiser_response['sample_id'] ] ];
$arFields['ACTIVE'] = 'Y';
}
else
{
@ -560,6 +662,32 @@ function OnBeforeIBlockElementUpdateHandler(&$arFields)
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_ID']] = '';
$arFields['ACTIVE'] = 'N';
}
/* в изменение, принудительный сброс кеша
if (method_exists('\CIBlock', 'clearIblockTagCache'))
{
\CIBlock::enableClearTagCache();
foreach ($iblockIds as $iblockId)
{
\CIBlock::clearIblockTagCache($iblockId);
}
\CIBlock::DisableClearTagCache();
}
else
{
BXClearCache(true);
(new \Bitrix\Main\Data\ManagedCache())->cleanAll();
(new \CStackCacheManager())->CleanAll();
}
if (method_exists('\CHTMLPagesCache', 'IsCompositeEnabled') && \CHTMLPagesCache::IsCompositeEnabled())
{
\CHTMLPagesCache::CleanAll();
}
*/
}
}
else
@ -603,4 +731,9 @@ function OnBeforeIBlockElementUpdateHandler(&$arFields)
return true;
}
function OnIBlockElementSetPropertyValuesExHandler()
{
}
?>

View File

@ -41,7 +41,7 @@ file_put_contents("get_catalog_izt.json", $content);
$json = json_decode($content, true);
$flags = [];
$flag_names = [ "SPECIAL_OFFER", "LEASING_AVAILABLE", "AFTER_ACCIDENT" ];
$flag_names = [ "SPECIAL_OFFER", "LEASING_AVAILABLE", "AFTER_ACCIDENT", "ADVERTISING" ];
foreach($flag_names AS $f)
{
@ -445,6 +445,7 @@ foreach($json as $car)
"SPECIAL_OFFER" => $car['special_offer'] ? $flags['SPECIAL_OFFER'] : null,
"LEASING_AVAILABLE" => $car['leasing_available'] ? $flags['LEASING_AVAILABLE'] : null,
"AFTER_ACCIDENT" => $car['after_accident'] ? $flags['AFTER_ACCIDENT'] : null,
"ADVERTISING" => $car['special_offer'] ? $flags['ADVERTISING'] : null,
];
$used_car_element = new CIBlockElement;
@ -457,6 +458,44 @@ foreach($json as $car)
//добавляем новое предложение в bitrix
set_images($code, $new_used_car_id, false);
// $el = new CIBlockElement;
// $el->Update($new_used_car_id, [ "SORT" => 500, "PROPERTY_VALUES" => $PROPERTY_VALUES, ]);
if($car['special_offer'])
{
$adv_array = [
"IBLOCK_ID" => IBLOCK_ID_CATALOG_CARS_USED,
"ID" => $new_used_car_id,
"CODE" => $code,
"NAME" => $name,
"PROPERTY_VALUES" => $PROPERTY_VALUES,
];
$advertiser_response = prepare_advertiser_request($adv_array, []);
if(DEBUG_ADV_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_response_used.txt", var_export([ "response" => $advertiser_response], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND );
}
if($advertiser_response['status'] === "success")
{
$arFields['PROPERTY_VALUES']['ADVERTISING_ERIR'] = $advertiser_response['erir'];
$arFields['PROPERTY_VALUES']['ADVERTISING_SAMPLE_URL'] = $advertiser_response['sample'];
$arFields['PROPERTY_VALUES']['ADVERTISING_SAMPLE_ID'] = $advertiser_response['sample_id'];
$arFields['ACTIVE'] = 'Y';
}
else
{
$arFields['PROPERTY_VALUES']['ADVERTISING'] = NULL;
$arFields['PROPERTY_VALUES']['ADVERTISING_ERIR'] = '';
$arFields['PROPERTY_VALUES']['ADVERTISING_SAMPLE_URL'] = '';
$arFields['PROPERTY_VALUES']['ADVERTISING_SAMPLE_ID'] = '';
$arFields['ACTIVE'] = 'N';
}
CIBlockElement::SetPropertyValuesEx($new_used_car_id, IBLOCK_ID_CATALOG_CARS_USED, $arFields['PROPERTY_VALUES'], []);
}
print "\n";
}
else
@ -468,14 +507,14 @@ foreach($json as $car)
$car_existed = $car_search_ob->GetFields();
$car_existed['PROPERTIES'] = $car_search_ob->GetProperties();
$el = new CIBlockElement;
$el->Update($car_existed['ID'], ["ACTIVE" => "Y", "NAME" => $name, "DETAIL_TEXT" => $car['description'], "SORT" => 500]);
if(in_array("updateimages", $argv))
{
set_images($code, $car_existed['ID'], true, $car_existed['PROPERTIES']);
}
$el = new CIBlockElement;
$el->Update($car_existed['ID'], [ "ACTIVE" => "Y", "NAME" => $name, "DETAIL_TEXT" => $car['description'], "SORT" => 500 ]);
CIBlockElement::SetPropertyValuesEx($car_existed['ID'], IBLOCK_ID_CATALOG_CARS_USED, $PROPERTY_VALUES, []);
}
}