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