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