• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/data/localstorage/sessionlocalstoragemanager.php
  • Класс: BitrixMainDataLocalStorageSessionLocalStorageManager
  • Вызов: SessionLocalStorageManager::handleRegenerateSessionId
public function handleRegenerateSessionId(Event $event): void
{
	$oldSessionId = $this->getUniqueId();
	$newSessionId = $event->getParameter('newSessionId');
	if (!$newSessionId)
	{
		return;
	}

	$pointerStore = $this->getPointerStore();
	$list = $pointerStore['list'] ?? [];
	foreach ($list as $registeredName)
	{
		$this->load($registeredName);
	}

	$oldLocalStorageManager = new self($this->storage);
	$oldLocalStorageManager
		->setUniqueId($oldSessionId)
		->clearAll()
	;

	$this->setUniqueId($newSessionId);
	foreach ($this->collection as $item)
	{
		$item->setUniqueName($this->buildUniqueKey($item->getName()));
	}
}