- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/update/update2112000.php
- Класс: BitrixImconnectorUpdateUpdate2112000
- Вызов: Update2112000::sendNotifications
static function sendNotifications(): string
{
if (
Loader::includeModule('imopenlines')
&& Loader::includeModule('imconnector')
&& Loader::includeModule('ui')
)
{
$lineIds = [];
$activeConnections = StatusConnectorsTable::getList([
'select' => ['LINE'],
'filter' => [
'=CONNECTOR' => [
'facebook',
'fbinstagramdirect'
],
'=ACTIVE' => 'Y',
'=CONNECTION' => 'Y',
'=REGISTER' => 'Y',
],
]);
while ($activeConnection = $activeConnections->fetch())
{
$lineIds[] = $activeConnection['LINE'];
}
if (!empty($lineIds))
{
if (
Loader::includeModule('bitrix24')
&& Loader::includeModule('imbot')
)
{
$userIds = [];
$lineIds = array_unique($lineIds);
$queueLine = ConfigTable::getList([
'select' => ['MODIFY_USER_ID'],
'filter' => [
'=ID' => $lineIds,
],
]);
while ($row = $queueLine->fetch())
{
$userIds[] = $row['MODIFY_USER_ID'];
}
if (empty($userIds))
{
$userIds = ['ADMIN'];
}
else
{
$admins = Support24::getAdministrators();
$userIds = array_merge($userIds, $admins);
$userIds = array_unique($userIds);
}
foreach ($userIds as $userId)
{
Support24::sendMessage([
'DIALOG_ID' => $userId,
'MESSAGE' => Loc::getMessage('IMCONNECTOR_UPDATER_2112000_CHAT', [
'#HREF#' => Util::getArticleUrlByCode(self::ID_ARTICLE_HELP_DESK),
]),
'SYSTEM' => 'N',
'URL_PREVIEW' => 'N'
]);
}
}
else
{
CAdminNotify::Add([
'MODULE_ID' => 'imconnector',
'ENABLE_CLOSE' => 'Y',
'NOTIFY_TYPE' => CAdminNotify::TYPE_NORMAL,
'MESSAGE' => Loc::getMessage('IMCONNECTOR_UPDATER_2112000_ADMIN_NOTIFY', [
'#HREF#' => Util::getArticleUrlByCode(self::ID_ARTICLE_HELP_DESK),
]),
]);
}
}
}
return '';
}