- Модуль: xmpp
- Путь к файлу: ~/bitrix/modules/xmpp/classes/factory.php
- Класс: CXMPPFactory
- Вызов: CXMPPFactory::OnSocNetMessagesAdd
static function OnSocNetMessagesAdd($ID, $arFields)
{
/*if (array_key_exists("IS_LOG", $arFields) && $arFields["IS_LOG"] == "Y")
$bSystem = true;
else
$bSystem = false;*/
$domain = CXMPPServer::GetDomain();
if (CXMPPUtility::IsBitrix24Mode())
$domain = $_SERVER["HTTP_HOST"];
$factory = CXMPPFactory::GetFactory();
if (IsModuleInstalled("im") && CModule::IncludeModule("im"))
{
if (isset($arFields["NOTIFY_MODULE"]) && isset($arFields["NOTIFY_EVENT"]) && $arFields["MESSAGE_TYPE"] == IM_MESSAGE_SYSTEM
&& !CIMSettings::GetNotifyAccess($arFields["TO_USER_ID"], $arFields["NOTIFY_MODULE"], $arFields["NOTIFY_EVENT"], CIMSettings::CLIENT_XMPP))
return false;
if ($arFields["MESSAGE_OUT"] == IM_MAIL_SKIP)
$arFields["MESSAGE_OUT"] = '';
$parser = new CTextParser();
return $factory->__SendMessage(
((array_key_exists("IS_LOG", $arFields) && $arFields["IS_LOG"] == "Y") ? -5 : $arFields["FROM_USER_ID"]),
$arFields["TO_USER_ID"],
$ID,
$arFields["MESSAGE_TYPE"],
htmlspecialcharsbx($parser->convert4mail(str_replace("#BR#", "n", ($arFields["MESSAGE_OUT"] <> ''? $arFields["MESSAGE_OUT"]: $arFields["MESSAGE"])))),
$domain
);
}
else
{
$parser = new CSocNetTextParser();
return $factory->__SendMessage(
((array_key_exists("IS_LOG", $arFields) && $arFields["IS_LOG"] == "Y") ? -5 : $arFields["FROM_USER_ID"]),
$arFields["TO_USER_ID"],
$ID,
$arFields["MESSAGE_TYPE"],
htmlspecialcharsbx($parser->convert4mail(str_replace("#BR#", "n", $arFields["MESSAGE"]))),
$domain
);
}
}