• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/controller/syncajax.php
  • Класс: BitrixCalendarControllerSyncAjax
  • Вызов: SyncAjax::deactivateConnectionAction
public function deactivateConnectionAction(int $connectionId, $removeCalendars = 'N'): bool
{
	try
	{
		if (!Loader::includeModule('dav'))
		{
			return false;
		}

		/** @var Factory $mapperFactory */
		$mapperFactory = ServiceLocator::getInstance()->get('calendar.service.mappers.factory');
		$connection = $mapperFactory->getConnection()->getMap([
			'=ID' => $connectionId,
			'=ENTITY_TYPE' => 'user',
			'=ENTITY_ID' => CCalendar::getCurUserId(),
			'=IS_DELETED' => 'N'
		])->fetch();

		if ($connection)
		{
			return (new ConnectionManager())->deactivateConnection($connection)->isSuccess();
		}

		return false;
	}
	catch (Exception $e)
	{
	    return false;
	}
}