- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_messenger.php
- Класс: CIMMessenger
- Вызов: CIMMessenger::prepareNotificationEventForPush
static function prepareNotificationEventForPush(array $event, string $pushMessage = null): array
{
$result = [
'cmd' => 'notifyAdd',
'id' => (int)$event['id'],
'type' => (int)$event['type'],
'date' => (string)$event['date'],
'tag' => (string)$event['tag'],
'onlyFlash' => $event['onlyFlash'],
'originalTag' => (string)$event['originalTag'],
'settingName' => (string)$event['settingName'],
'counter' => (int)$event['counter'],
'userId' => (int)$event['userId'],
'userName' => (string)$event['userName'],
'userColor' => (string)$event['userColor'],
'userAvatar' => (string)$event['userAvatar'],
'userLink' => (string)$event['userLink'],
'params' => $event['params'],
];
if (isset($event['buttons']))
{
$result['buttons'] = $event['buttons'];
}
// We need to save original text ("long") in result only if we have push text ("short").
// "Long" text will be used to render push in notifications list.
if (isset($pushMessage))
{
$result['text'] = $event['text'];
}
$fieldToIndex = [
'id' => 1,
'type' => 2,
'date' => 3,
'text' => 4,
'tag' => 6,
'onlyFlash' => 7,
'originalTag' => 8,
'settingName' => 9,
'counter' => 10,
'userId' => 11,
'userName' => 12,
'userColor' => 13,
'userAvatar' => 14,
'userLink' => 15,
'params' => 16,
'buttons' => 17,
];
return self::PrepareEventForPushChangeKeys($result, $fieldToIndex);
}