• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/disk/rest/attachment.php
  • Класс: BitrixTasksIntegrationDiskRestAttachment
  • Вызов: Attachment::add
static function add($ownerId, array $fileParameters, array $parameters)
{
	global $USER_FIELD_MANAGER;

	$ownerId = Assert::expectStringNotNull($ownerId, '$ownerId');
	$fileParameters['NAME'] = Assert::expectStringNotNull($fileParameters['NAME'], '$fileParameters[NAME]');

	$parameters['USER_ID'] = Assert::expectIntegerPositive($parameters['USER_ID'], '$parameters[USER_ID]');
	$parameters['ENTITY_ID'] = Assert::expectStringNotNull($parameters['ENTITY_ID'], '$parameters[ENTITY_ID]');
	$parameters['FIELD_NAME'] = Assert::expectStringNotNull($parameters['FIELD_NAME'], '$parameters[FIELD_NAME]');

	static::checkFieldExistsThrowException($parameters['ENTITY_ID'], $parameters['FIELD_NAME']);

	$fileId = static::uploadFile($fileParameters['NAME'], $fileParameters['CONTENT'], array('USER_ID' => $parameters['USER_ID']));

	$currentValue = static::getValue($ownerId, $parameters['ENTITY_ID'], $parameters['FIELD_NAME']);
	$currentValue[] = FileUserType::NEW_FILE_PREFIX.$fileId;

	$USER_FIELD_MANAGER->Update($parameters['ENTITY_ID'], $ownerId, array(
		$parameters['FIELD_NAME'] => $currentValue
	), $parameters['USER_ID']);

	return static::getIdByFileId($fileId, $ownerId, $parameters['ENTITY_ID'], $parameters['FIELD_NAME']);
}