• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/classes/general/list.php
  • Класс: CList
  • Вызов: CList::UpdatePropertyList
static function UpdatePropertyList($prop_id, $list)
{
	foreach ($list as $id => $arEnum)
	{
		if (is_array($arEnum))
		{
			$value = trim($arEnum["VALUE"], " tnr");
			if ((string) $value <> '')
			{
				$dbEnum = CIBlockPropertyEnum::GetByID($id);
				if(is_array($dbEnum))
				{
					$def = isset($arEnum["DEF"])? $arEnum["DEF"] : $dbEnum["DEF"];
					$sort = intval($arEnum["SORT"]);
					if(
						$dbEnum["VALUE"] != $value
						|| $dbEnum["SORT"] != $sort
						|| $dbEnum["DEF"] != $def
					)
					{
						$dbEnum["VALUE"] = $value;
						$dbEnum["SORT"] = $sort;
						$dbEnum["DEF"] = $def;
						unset($dbEnum["ID"]);
						CIBlockPropertyEnum::Update($id, $dbEnum);
					}
				}
				else
				{
					$arEnum["PROPERTY_ID"] = $prop_id;
					CIBlockPropertyEnum::Add($arEnum);
				}
			}
			else
			{
				CIBlockPropertyEnum::Delete($id);
			}
		}
	}
}