- Модуль: blog
- Путь к файлу: ~/bitrix/modules/blog/lib/broadcast.php
- Класс: BitrixBlogBroadcast
- Вызов: Broadcast::sendRequest
static function sendRequest($value, $siteId = SITE_ID): void
{
$value = ($value === true);
if (Loader::includeModule('im'))
{
$str = ($value ? 'ON' : 'OFF');
$tag = 'BLOG|BROADCAST_REQUEST|' . ($value ? 'ON' : 'OFF');
$fields = [
'MESSAGE_TYPE' => IM_MESSAGE_SYSTEM,
'NOTIFY_TYPE' => IM_NOTIFY_CONFIRM,
'NOTIFY_MODULE' => 'blog',
'NOTIFY_EVENT' => 'log_notify_all_request',
'NOTIFY_SUB_TAG' => $tag,
'NOTIFY_MESSAGE' => Loc::getMessage('BLOG_BROADCAST_REQUEST_IM_MESSAGE_' . $str),
'NOTIFY_MESSAGE_OUT' => IM_MAIL_SKIP,
'NOTIFY_BUTTONS' => [
[
'TITLE' => Loc::getMessage('BLOG_BROADCAST_REQUEST_IM_BUTTON_' . $str . '_Y'),
'VALUE' => 'Y',
'TYPE' => 'accept',
],
[
'TITLE' => Loc::getMessage('BLOG_BROADCAST_REQUEST_IM_BUTTON_' . $str . '_N'),
'VALUE' => 'N',
'TYPE' => 'cancel',
],
]
];
$moduleAdminList = array_keys(BitrixSocialnetworkUser::getModuleAdminList([ $siteId, false ]));
foreach ($moduleAdminList as $userId)
{
$fields['TO_USER_ID'] = $userId;
$fields['NOTIFY_TAG'] = $tag . '|' . $userId;
CIMNotify::add($fields);
}
}
self::setRequestedMode($value);
}