• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/googleapipush.php
  • Класс: BitrixCalendarSyncGoogleApiPush
  • Вызов: GoogleApiPush::checkPushChannel
static function checkPushChannel(int $lastIdConnection = 0)
{
	$connections = [];
	$connectionIds = [];

	if (!Loader::includeModule('dav'))
	{
		return false;
	}

	$davConnectionsDb = CDavConnection::getList(
		["ID" => "ASC"],
		[
			'ACCOUNT_TYPE' => GoogleHelper::GOOGLE_ACCOUNT_TYPE_API,
			'>ID' => $lastIdConnection,
		],
		false,
		['nTopCount' => self::CHECK_LIMIT]
	);

	while ($davConnection = $davConnectionsDb->fetch())
	{
		if (self::isAuthError($davConnection['LAST_RESULT']))
		{
			continue;
		}

		$connections[$davConnection['ID']] = $davConnection;
		$connectionIds[] = $davConnection['ID'];
		$lastIdConnection = $davConnection['ID'];
	}

	if (!empty($connectionIds))
	{
		self::checkPushConnectionChannel($connectionIds, $connections);
		self::checkPushSectionChannel($connectionIds, $connections);

		return false;
	}

	return false;
}