• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_webdav_helper.php
  • Класс: CVoxImplantDiskHelper
  • Вызов: CVoxImplantDiskHelper::SaveFile
static function SaveFile($arHistory, $arFile, $siteId = SITE_ID)
{
	if (!self::Enabled())
	{
		return CVoxImplantWebDavHelper::SaveFile($arHistory, $arFile, $siteId);
	}

	if (!self::CheckParams($arHistory, $arFile))
	{
		return false;
	}

	$portalUserId = (int)$arHistory['PORTAL_USER_ID'];

	$subFolder = self::GetRecordsFolder($arHistory['CALL_START_DATE']->format("Y-m"), $siteId);
	if(!$subFolder)
	{
		return false;
	}
	$accessCodes = Array();
	$rightsManager = BitrixDiskDriver::getInstance()->getRightsManager();
	$fullAccessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_FULL);

	$accessCodes[] = Array(
		'ACCESS_CODE' => $portalUserId > 0 ? 'U'.$portalUserId : 'G1',
		'TASK_ID' => $fullAccessTaskId,
	);

	$fileInfo = pathinfo($arFile['ORIGINAL_NAME']);
	$fileInfo['filename'] = $arHistory['CALL_START_DATE']->format("Y-m-d H-i-s")." ".$arHistory['PHONE_NUMBER'];
	$defaultExtension = "mp3";
	$elementName = isset($fileInfo['extension']) ? "{$fileInfo['filename']}.{$fileInfo['extension']}" : "{$fileInfo['filename']}.{$defaultExtension}";

	$fileModel = $subFolder->addFile(array(
		'NAME' => $elementName,
		'FILE_ID' => (int)$arFile['ID'],
		'SIZE' => (int)$arFile['FILE_SIZE'],
		'CREATED_BY' => $portalUserId,
	), $accessCodes, true);

	if($fileModel instanceof BitrixDiskFile)
		return $fileModel->getId();
	else
		return null;
}