getQueryParams(); if (!array_key_exists('ref', $queryParams)) { return $handler->handle($request); } $ref = $queryParams['ref']; if (false === is_numeric($ref)) { return $handler->handle($request); } /** @var SiteFinder $siteFinder */ $siteFinder = GeneralUtility::makeInstance(SiteFinder::class); try { $site = $siteFinder->getSiteByPageId((int) $ref); $url = $site->getRouter()->generateUri($ref); $GLOBALS['TSFE']->fe_user->setKey('ses', 'referrer', $url); $GLOBALS['TSFE']->fe_user->storeSessionData(); } catch (SiteNotFoundException $exception) { } return $handler->handle($request); } }