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