- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblockelement.php
- Класс: CAllIBlockElement
- Вызов: CAllIBlockElement::WF_Restore
static function WF_Restore($ID)
{
$obElement = new CIBlockElement;
$rsElement = $obElement->GetByID($ID);
if($arElement = $rsElement->Fetch())
{
if($arElement["WF_PARENT_ELEMENT_ID"] <> '')
{
$arElement["PROPERTY_VALUES"] = array();
$rsProperties = $obElement->GetProperty($arElement["IBLOCK_ID"], $arElement["WF_PARENT_ELEMENT_ID"], "sort", "asc", array("PROPERTY_TYPE"=>"F"));
while($arProperty = $rsProperties->Fetch())
{
if(!array_key_exists($arProperty["ID"], $arElement["PROPERTY_VALUES"]))
{
$arElement["PROPERTY_VALUES"][$arProperty["ID"]] = array();
}
$arElement["PROPERTY_VALUES"][$arProperty["ID"]][$arProperty["PROPERTY_VALUE_ID"]] = array(
"del" => "Y",
);
}
$n = 1;
$rsProperties = $obElement->GetProperty($arElement["IBLOCK_ID"], $arElement["ID"]);
while($arProperty = $rsProperties->Fetch())
{
if(!array_key_exists($arProperty["ID"], $arElement["PROPERTY_VALUES"]))
{
$arElement["PROPERTY_VALUES"][$arProperty["ID"]] = array();
}
if($arProperty["PROPERTY_TYPE"] == "F")
{
$arElement["PROPERTY_VALUES"][$arProperty["ID"]]["n".$n] = array(
"VALUE" => $arProperty["VALUE"],
"DESCRIPTION" => $arProperty["DESCRIPTION"],
);
$n++;
}
else
{
$arElement["PROPERTY_VALUES"][$arProperty["ID"]][$arProperty["PROPERTY_VALUE_ID"]] = array(
"VALUE" => $arProperty["VALUE"],
"DESCRIPTION" => $arProperty["DESCRIPTION"],
);
}
}
return $obElement->Update($arElement["WF_PARENT_ELEMENT_ID"], $arElement, true);
}
}
return false;
}