• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sharing/sharinguser.php
  • Класс: BitrixCalendarSharingSharingUser
  • Вызов: SharingUser::login
public function login(bool $needToCreateUser = false, array $userParams = [])
{
	global $USER;

	if (
		$USER->isAuthorized()
		&& in_array($USER->GetParam('EXTERNAL_AUTH_ID'), ['calendar_sharing', null], true)
	)
	{
		if ($needToCreateUser)
		{
			$this->updateUserPersonalInfo($USER->GetID(), $userParams);
		}

		return $USER->GetID();
	}

	$user = $this->getByHash();

	if (!$user && $needToCreateUser)
	{
		$user = $this->createUser($userParams);
	}

	if ($user)
	{
		$this->saveAuthHashToCookie($user->getXmlId());

		if ($needToCreateUser)
		{
			$this->updateUserPersonalInfo($USER->GetID(), $userParams);
		}

		return $user->getId();
	}

	return null;
}