- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/lib/integration/zoom/diskhelper.php
- Класс: BitrixSocialServicesIntegrationZoomDiskHelper
- Вызов: DiskHelper::saveFile
static function saveFile(array $arFile, int $userId, $siteId = SITE_ID): Result
{
$result = new Result();
if (!Loader::includeModule("disk"))
{
return $result->addError(new Error("Disk module is not installed"));
}
$subFolder = self::getRecordsFolder((new DateTime())->format("Y-m"), $siteId);
if (!$subFolder)
{
return $result->addError(new Error("Could not create records folder"));
}
$accessCodes = [];
$rightsManager = BitrixDiskDriver::getInstance()->getRightsManager();
$fullAccessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_FULL);
$accessCodes[] = [
'ACCESS_CODE' => 'U' . $userId,
'TASK_ID' => $fullAccessTaskId,
];
$accessCodes[] = [
'ACCESS_CODE' => 'G1',
'TASK_ID' => $fullAccessTaskId,
];
$fileModel = $subFolder->uploadFile(
$arFile,
['CREATED_BY' => $userId,],
$accessCodes,
true
);
if(!$fileModel)
{
if(count($subFolder->getErrors()) > 0)
{
return $result->addErrors($subFolder->getErrors());
}
return $result->addError(new Error("Unknown error while saving file"));
}
return $result->setData([
'fileId' => $fileModel->getId()
]);
}