- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_messenger.php
- Класс: CIMMessenger
- Вызов: CIMMessenger::PreparePushForMentionInChat
static function PreparePushForMentionInChat($params)
{
$params['CHAT_ID'] = intval($params['CHAT_ID']);
if ($params['CHAT_ID'] <= 0)
{
return false;
}
$params['CHAT_TITLE'] = mb_substr(htmlspecialcharsback($params['CHAT_TITLE']), 0, 32);
$pushText = $params['MESSAGE'];
$chatType = BitrixImChat::getType($params);
$avatarUser = BitrixImUser::getInstance($params['FROM_USER_ID'])->getAvatar();
if ($avatarUser && mb_strpos($avatarUser, 'http') !== 0)
{
$avatarUser = BitrixImCommon::getPublicDomain().$avatarUser;
}
$avatarChat = CIMChat::GetAvatarImage($params['CHAT_AVATAR'], 200, false);
if ($avatarChat && mb_strpos($avatarChat, 'http') !== 0)
{
$avatarChat = BitrixImCommon::getPublicDomain().$avatarChat;
}
$result = Array();
$result['module_id'] = 'im';
$result['push']['params'] = Array(
'TAG' => 'IM_CHAT_'.$params['CHAT_ID'],
'CHAT_TYPE' => $params['CHAT_TYPE'],
'CATEGORY' => 'ANSWER',
'URL' => SITE_DIR.'mobile/ajax.php?mobile_action=im_answer',
'PARAMS' => Array(
'RECIPIENT_ID' => 'chat'.$params['CHAT_ID']
)
);
$result['push']['type'] = $params['PUSH_TYPE']? $params['PUSH_TYPE']: ($params['CHAT_TYPE'] == IM_MESSAGE_OPEN? 'openChat': 'chat');
$result['push']['tag'] = 'IM_CHAT_'.$params['CHAT_ID'];
$result['push']['sub_tag'] = 'IM_MESS';
$result['push']['app_id'] = 'Bitrix24';
$result['push']['message'] = $pushText;
$result['push']['advanced_params'] = array(
"group"=> $chatType == 'lines'? 'im_lines_message': 'im_message',
"avatarUrl"=> $avatarChat? $avatarChat: $avatarUser,
"senderName" => (string)$params['CHAT_TITLE'],
"senderMessage" => $pushText,
);
return $result;
}