- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/copy/implement/element.php
- Класс: BitrixIblockCopyImplementElement
- Вызов: Element::prepareFieldsToCopy
public function prepareFieldsToCopy(Container $container, array $inputFields)
{
$fields = [
"PROPERTY_VALUES" => []
];
foreach ($inputFields as $fieldId => $fieldValue)
{
if (mb_substr($fieldId, 0, 9) == "PROPERTY_")
{
$propertyId = mb_substr($fieldId, mb_strlen("PROPERTY_"));
$fields["PROPERTY_VALUES"][$propertyId] = $this->getPropertyFieldValue(
$container, $fieldId, $fieldValue);
}
else
{
$fields[$fieldId] = $this->getFieldValue($fieldId, $fieldValue);
}
}
unset($fields["DATE_CREATE"]);
unset($fields["TIMESTAMP_X"]);
unset($fields["XML_ID"]);
$dictionary = $container->getDictionary();
if (array_key_exists($fields["IBLOCK_SECTION_ID"], $dictionary["sectionsRatio"]))
{
$fields["IBLOCK_SECTION_ID"] = $dictionary["sectionsRatio"][$fields["IBLOCK_SECTION_ID"]];
}
$fields["RIGHTS"] = $this->getRights($fields["IBLOCK_ID"], $fields["ID"]);
if (!empty($dictionary["targetIblockId"]))
{
$fields["IBLOCK_ID"] = $dictionary["targetIblockId"];
$fields = $this->convertPropertyId($fields, $dictionary["targetIblockId"]);
}
return $fields;
}