From 1cfe60458fd77076652e53ea92d69c8d45dd935b Mon Sep 17 00:00:00 2001 From: merelendor Date: Fri, 31 May 2024 05:24:04 +0300 Subject: [PATCH] ERID creation updates & fixes --- bitrix/php_interface/init.php | 355 +++++++++++++++++++++++----------- local/used.php | 47 ++++- 2 files changed, 287 insertions(+), 115 deletions(-) diff --git a/bitrix/php_interface/init.php b/bitrix/php_interface/init.php index 5facf56..4940acd 100644 --- a/bitrix/php_interface/init.php +++ b/bitrix/php_interface/init.php @@ -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() +{ + +} + ?> \ No newline at end of file diff --git a/local/used.php b/local/used.php index 8ae6e38..df0ff12 100644 --- a/local/used.php +++ b/local/used.php @@ -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, []); } }