- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/file.php
- Класс: CFile
- Вызов: CFile::AddDuplicate
static function AddDuplicate($originalId, $duplicateId = null, bool $resolvePossibleOriginCycle = true)
{
if($duplicateId === null)
{
$duplicateId = $originalId;
}
if($resolvePossibleOriginCycle || $originalId == $duplicateId)
{
//possibly there is the original already for the file
$original = InternalFileDuplicateTable::query()
->addSelect("ORIGINAL_ID")
->where("DUPLICATE_ID", $originalId)
->fetch();
if($original)
{
$originalId = $original["ORIGINAL_ID"];
}
}
$updateFields = [
"COUNTER" => new MainDBSqlExpression("?v + 1", "COUNTER"),
];
$insertFields = [
"DUPLICATE_ID" => $duplicateId,
"ORIGINAL_ID" => $originalId,
];
InternalFileDuplicateTable::merge($insertFields, $updateFields);
}