• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/rest/helper.php
  • Класс: BitrixVoximplantRestHelper
  • Вызов: Helper::saveFile
static function saveFile($folderName, $fileName, $fileArray, $userId)
{
	$result = new Result();
	if (!Loader::includeModule('disk'))
	{
		return $result->addError(new Error('Disk module is not installed'));
	}

	$uploadFolder = CVoxImplantDiskHelper::GetRecordsFolder($folderName);
	if (!$uploadFolder)
	{
		return $result->addError(new Error('Could not create shared folder for call records'));
	}

	$accessCodes = [];
	$rightsManager = BitrixDiskDriver::getInstance()->getRightsManager();
	$fullAccessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_FULL);

	$accessCodes[] = [
		'ACCESS_CODE' => 'U'.intval($userId),
		'TASK_ID' => $fullAccessTaskId,
	];

	$file = $uploadFolder->uploadFile(
		$fileArray,
		[
			'NAME' => $fileName,
			'CREATED_BY' => $userId
		],
		$accessCodes
	);

	if ($file)
	{
		$result->setData([
			'FILE' => $file
		]);
	}
	else
	{
		$result->addErrors($uploadFolder->getErrors());
	}

	return $result;
}