- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/bitrix24disk/legacy/newdiskstorage.php
- Класс: BitrixDiskBitrix24DiskLegacyNewDiskStorage
- Вызов: NewDiskStorage::formatFolderRowToResponse
private function formatFolderRowToResponse(array $row)
{
$objectSyncVersion = $row['SYNC_UPDATE_TIME']->getTimestamp();
$path = $this->requireActualPathByObjectId($row['ID'], $objectSyncVersion, true);
if (!$path)
{
return [];
}
$isLink = !empty($row['REAL_OBJECT_ID']) && $row['REAL_OBJECT_ID'] != $row['ID'];
$name = UiText::cleanTrashCanSuffix($row['NAME']);
$result = [
'id' => $this->generateId(['FILE' => false, 'ID' => $row['ID']]),
'isDirectory' => true,
'isShared' => (bool)$this->isSharedObject($row['ID']),
'isSymlinkDirectory' => $isLink,
'isDeleted' => !empty($row['DELETED_TYPE']),
'storageId' => $this->getStringStorageId(),
'path' => '/' . trim($path, '/'),
'name' => (string)$name,
'version' => (string)$this->generateTimestamp($objectSyncVersion),
'originalTimestamp' => (string)$this->generateTimestamp($row['UPDATE_TIME']->getTimestamp()),
'extra' => [
'id' => (string)$row['ID'],
'iblockId' => (string)$row['STORAGE_ID'],
'sectionId' => (string)$row['PARENT_ID'],
'linkSectionId' => (string)($isLink ? $row['REAL_OBJECT_ID'] : ''),
'rootSectionId' => (string)$this->storage->getRootObjectId(),
'name' => (string)$name,
],
'permission' => 'W',
'createdBy' => (string)$row['CREATED_BY'],
'modifiedBy' => (string)$row['UPDATED_BY'],
];
if ($this->storage->getRootObjectId() != $row['PARENT_ID'])
{
$result['parentId'] = $this->generateId(['FILE' => false, 'ID' => $row['PARENT_ID']]);
}
return $result;
}