- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/diskmanager.php
- Класс: Bitrix\Crm\Integration\DiskManager
- Вызов: DiskManager::saveFile
static function saveFile(array $fileData, $siteID = '', $params = array())
{
if (!(IsModuleInstalled('disk')
&& Loader::includeModule('disk')))
{
return false;
}
if($siteID === '')
{
$siteID = self::getDefaultSiteID();
}
if(!is_array($params))
{
$params = array();
}
$typeID = isset($params['TYPE_ID']) ? (int)$params['TYPE_ID'] : StorageFileType::Undefined;
if(!StorageFileType::IsDefined($typeID))
{
$typeID = StorageFileType::EmailAttachment;
}
$useMonthFolders = isset($params['USE_MONTH_FOLDERS']) && (bool)$params['USE_MONTH_FOLDERS'];
$folder = self::ensureFolderCreated($typeID, $siteID, $useMonthFolders);
if(!$folder)
{
return false;
}
$userID = isset($params['USER_ID']) ? (int)$params['USER_ID'] : 0;
if($userID <= 0)
{
$userID = \CCrmSecurityHelper::GetCurrentUserID();
}
if($userID <= 0)
{
$userID = SystemUser::SYSTEM_USER_ID;
}
$file = $folder->addFile(
array(
'NAME' => Text::correctFilename($fileData['ORIGINAL_NAME']),
'FILE_ID' => (int)$fileData['ID'],
'SIZE' => (int)$fileData['FILE_SIZE'],
'CREATED_BY' => $userID,
), array(), true);
return $file ? $file->getId() : false;
}