• Модуль: 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);
}