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