• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/task.php
  • Класс: BitrixDiskVolumeTask
  • Вызов: Task::collectLogData
public function collectLogData($object)
{
	$logData = [];
	/** DiskFile $object */
	if ($object instanceof DiskFile)
	{
		$crumbs = DiskCrumbStorage::getInstance()->getByObject($object, false);
		$logData = [
			'OBJECT_TYPE' => DiskInternalsObjectTable::TYPE_FILE,
			'STORAGE_ID' => $object->getStorageId(),
			'OBJECT_ID' => $object->getId(),
			'OBJECT_PARENT_ID' => $object->getParentId(),
			'OBJECT_NAME' => $object->getName(),
			'OBJECT_PATH' => implode('/', $crumbs),
			'OBJECT_SIZE' => $object->getSize(),
			'OBJECT_CREATED_BY' => $object->getCreatedBy(),
			'OBJECT_UPDATED_BY' => $object->getUpdatedBy(),
			'FILE_ID' => $object->getFileId(),
		];
	}
	/** DiskFolder $object */
	elseif ($object instanceof DiskFolder)
	{
		$crumbs = DiskCrumbStorage::getInstance()->getByObject($object, false);
		$logData = [
			'OBJECT_TYPE' => DiskInternalsObjectTable::TYPE_FOLDER,
			'STORAGE_ID' => $object->getStorageId(),
			'OBJECT_ID' => $object->getId(),
			'OBJECT_PARENT_ID' => $object->getParentId(),
			'OBJECT_NAME' => $object->getName(),
			'OBJECT_PATH' => implode('/', $crumbs),
			'OBJECT_CREATED_BY' => $object->getCreatedBy(),
			'OBJECT_UPDATED_BY' => $object->getUpdatedBy(),
		];
	}
	/** DiskVersion $object */
	elseif ($object instanceof DiskVersion)
	{
		$file = $object->getObject();
		$logData = [
			'VERSION_ID' => $object->getId(),
			'VERSION_NAME' => $object->getName(),
		];
		if ($file instanceof DiskFile)
		{
			$crumbs = DiskCrumbStorage::getInstance()->getByObject($file, false);
			$logData = array_merge($logData, [
				'OBJECT_TYPE' => DiskInternalsObjectTable::TYPE_FILE,
				'STORAGE_ID' => $file->getStorageId(),
				'OBJECT_ID' => $file->getId(),
				'OBJECT_PARENT_ID' => $file->getParentId(),
				'OBJECT_NAME' => $file->getName(),
				'OBJECT_PATH' => implode('/', $crumbs),
				'OBJECT_SIZE' => $file->getSize(),
				'OBJECT_CREATED_BY' => $file->getCreatedBy(),
				'OBJECT_UPDATED_BY' => $file->getUpdatedBy(),
				'FILE_ID' => $file->getFileId(),
			]);
		}
	}

	return $logData;
}