• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_messenger.php
  • Класс: CIMMessenger
  • Вызов: CIMMessenger::UploadFileFromText
static function UploadFileFromText($params)
{
	$params['CHAT_ID'] = intval($params['CHAT_ID']);
	if (empty($params['MESSAGE']) || $params['CHAT_ID'] <= 0)
	{
		return $params;
	}

	if (preg_match_all("/[DISK=([0-9]+)]/i", $params['MESSAGE'], $matches))
	{
		$fileFound = false;
		$files = [];
		foreach ($matches[1] as $fileId)
		{
			$newFile = CIMDisk::SaveFromLocalDisk($params['CHAT_ID'], $fileId, false, BitrixImCommon::getUserId());
			if ($newFile)
			{
				$files[] = $newFile;
				$fileFound = true;
				$params['PARAMS']['FILE_ID'][] = $newFile->getId();
			}
		}
		if ($fileFound)
		{
			$params['MESSAGE'] = preg_replace("/[DISK=([0-9]+)]/i", "", $params['MESSAGE']);
			$params['FILES_FROM_TEXT'] = $files;
		}
	}

	return $params;
}