- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_chat.php
- Класс: CIMChat
- Вызов: CIMChat::AddSystemMessage
static function AddSystemMessage($params)
{
$chatId = intval($params['CHAT_ID']);
if ($chatId <= 0)
return false;
$arUser = false;
$userId = intval($params['USER_ID']);
if ($userId > 0)
{
$arSelect = Array("ID", "LAST_NAME", "NAME", "LOGIN", "SECOND_NAME", "PERSONAL_GENDER");
$dbUsers = CUser::GetList('', '', array('ID_EQUAL_EXACT' => $userId), array('FIELDS' => $arSelect));
if ($arUser = $dbUsers->Fetch())
{
$arUser['NAME'] = BitrixImUser::formatFullNameFromDatabase($arUser);
$arUser['PERSONAL_GENDER'] = $arUser["PERSONAL_GENDER"] == 'F'? 'F': 'M';
}
}
if (isset($params['MESSAGE_CODE']))
{
$messageReplace = is_array($params['MESSAGE_REPLACE'])? $params['MESSAGE_REPLACE']: Array();
if ($arUser)
{
$messageReplace['#USER_NAME#'] = $arUser['NAME'];
$message = GetMessage($params['MESSAGE_CODE'].$arUser['PERSONAL_GENDER'], $messageReplace);
}
else
{
$message = GetMessage($params['MESSAGE_CODE'], $messageReplace);
}
}
else
{
$messageReplace = is_array($params['MESSAGE_REPLACE'])? $params['MESSAGE_REPLACE']: Array();
$message = trim($params['MESSAGE']);
if ($message <> '' && !empty($messageReplace))
{
$message = str_replace(array_keys($messageReplace), array_values($messageReplace), $message);
}
}
if ($message == '')
return false;
return self::AddMessage(Array(
"TO_CHAT_ID" => $chatId,
"FROM_USER_ID" => $userId,
"MESSAGE" => $message,
"SYSTEM" => 'Y',
"SKIP_USER_CHECK" => 'Y',
));
}