• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/datasyncmanager.php
  • Класс: BitrixCalendarSyncManagersDataSyncManager
  • Вызов: DataSyncManager::dataSync
public function dataSync($userId = null): bool
{
	if (!Loader::includeModule('dav') || !Loader::includeModule('calendar'))
	{
		return true;
	}

	$connections = $this->getConnections($userId);
	foreach ($connections as $connection)
	{
		$connection = $this->createConnectionObject($connection);
		$result = $this->syncConnection($connection);
		if ($result->isSuccess())
		{
			CDavConnection::SetLastResult($connection->getId(), $result->getData()['lastResult']);
			Util::addPullEvent('refresh_sync_status', $connection->getOwner()->getId(), [
				'syncInfo' => [
					$connection->getAccountType() => [
						'status' => $result->getData()['syncStatus'],
						'type' => $connection->getAccountType(),
						'connected' => true,
						'id' => $connection->getId(),
						'syncOffset' => 0
					],
				],
				'requestUid' => Util::getRequestUid(),
			]);
		}
	}

	return true;
}