• Модуль: xmpp
  • Путь к файлу: ~/bitrix/modules/xmpp/classes/factory.php
  • Класс: CXMPPFactory
  • Вызов: CXMPPFactory::OnImFileUpload
static function OnImFileUpload($arFields)
{
	if (!CModule::IncludeModule("im"))
		return false;

	$chatId = $arFields['CHAT_ID'];

	$arChat = CIMChat::GetChatData(Array('ID' => $chatId));
	if ($arChat['chat'][$chatId]['messageType'] == IM_MESSAGE_PRIVATE)
	{
		$arFields["FROM_USER_ID"] = $arFields['FILE']['authorId'];
		foreach ($arChat['userInChat'][$chatId] as $userId)
		{
			if ($userId != $arFields["FROM_USER_ID"])
			{
				$arFields["TO_USER_ID"] = $userId;
			}
		}

		$domain = CXMPPServer::GetDomain();
		if (CXMPPUtility::IsBitrix24Mode())
			$domain = $_SERVER["HTTP_HOST"];

		$factory = CXMPPFactory::GetFactory();

		$parser = new CTextParser();

		return $factory->__SendMessage(
			$arFields["FROM_USER_ID"],
			$arFields["TO_USER_ID"],
			$arFields["MESSAGE_ID"] > 1? $arFields["MESSAGE_ID"]: 1,
			IM_MESSAGE_PRIVATE,
			htmlspecialcharsbx($parser->convert4mail(str_replace("#BR#", "n", ($arFields["MESSAGE_OUT"])))),
			$domain
		);
	}

	return true;
}