• Модуль: imconnector
  • Путь к файлу: ~/bitrix/modules/imconnector/lib/update/update200300.php
  • Класс: BitrixImconnectorUpdateUpdate200300
  • Вызов: Update200300::sendNotifications
static function sendNotifications(): string
{
	if (Loader::includeModule('imopenlines') &&
		Loader::includeModule('imconnector') &&
		Loader::includeModule('ui')
	)
	{
		if (Loader::includeModule('bitrix24') && Loader::includeModule('imbot'))
		{
			$activeInstagramConnections = BitrixImConnectorModelStatusConnectorsTable::getList([
				'select' => ['LINE'],
				'filter' => [
					'=CONNECTOR' => 'instagram',
					'=ACTIVE' => 'Y',
					'=CONNECTION' => 'Y',
					'=REGISTER' => 'Y',
				],
			]);

			while ($row = $activeInstagramConnections->fetch())
			{
				$lineIds[] = $row['LINE'];
			}

			if (!empty($lineIds))
			{
				$lineIds = array_unique($lineIds);

				$queueLine = BitrixImOpenLinesModelQueueTable::getList([
					'select' => ['USER_ID'],
					'filter' => [
						'=CONFIG_ID' => $lineIds,
					],
				]);

				while ($row = $queueLine->fetch())
				{
					$userIds[] = $row['USER_ID'];
				}
			}

			if (empty($userIds))
			{
				$userIds = ['ADMIN'];
			}
			else
			{
				$admins = BitrixImBotBotSupport24::getAdministrators();
				$userIds = array_merge($userIds, $admins);
				$userIds = array_unique($userIds);
			}

			foreach ($userIds as $userId)
			{
				BitrixImBotBotSupport24::sendMessage([
					'DIALOG_ID' => $userId,
					'MESSAGE' => Loc::getMessage('IMCONNECTOR_UPDATER_DISCONNECT_OLD_INSTAGRAM_CHAT', [
						'#A_START#' => '[URL=' . BitrixUIUtil::getArticleUrlByCode('4779109') . ']',
						'#A_END#' => '[/URL]',
					]),
					'SYSTEM' => 'N',
					'URL_PREVIEW' => 'N'
				]);
			}
		}
		else
		{
			CAdminNotify::Add([
				'MODULE_ID' => 'imconnector',
				'ENABLE_CLOSE' => 'Y',
				'NOTIFY_TYPE' => CAdminNotify::TYPE_NORMAL,
				'MESSAGE' => Loc::getMessage('IMCONNECTOR_UPDATER_DISCONNECT_OLD_INSTAGRAM_ADMIN_NOTIFY', [
					'#HREF#' => BitrixUIUtil::getArticleUrlByCode('4779109'),
				]),
			]);
		}
	}

	return "";
}