Merge branch 'hotfix/ep-track-fix'
This commit is contained in:
@@ -35,6 +35,7 @@ use Psr\Http\Message\ResponseInterface;
|
|||||||
use Psr\Http\Message\ServerRequestInterface;
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
use Psr\Http\Server\MiddlewareInterface;
|
use Psr\Http\Server\MiddlewareInterface;
|
||||||
use Psr\Http\Server\RequestHandlerInterface;
|
use Psr\Http\Server\RequestHandlerInterface;
|
||||||
|
use TYPO3\CMS\Core\Exception\SiteNotFoundException;
|
||||||
use TYPO3\CMS\Core\Http\NormalizedParams;
|
use TYPO3\CMS\Core\Http\NormalizedParams;
|
||||||
use TYPO3\CMS\Core\Http\RedirectResponse;
|
use TYPO3\CMS\Core\Http\RedirectResponse;
|
||||||
use TYPO3\CMS\Core\Site\SiteFinder;
|
use TYPO3\CMS\Core\Site\SiteFinder;
|
||||||
@@ -107,9 +108,24 @@ class TrackingMiddleware implements MiddlewareInterface
|
|||||||
$targetPage = $redirect['target_page_uid'];
|
$targetPage = $redirect['target_page_uid'];
|
||||||
$responseCode = $redirect['response_code'];
|
$responseCode = $redirect['response_code'];
|
||||||
|
|
||||||
|
// Fallback for old t3:// links
|
||||||
|
if (1 === preg_match('/^t3:\/\/page\?uid=(\d+)$/', $targetPage, $matches)) {
|
||||||
|
$targetPage = $matches[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Skip redirecting of non-numeric page uids like full urls
|
||||||
|
if (false === is_numeric($targetPage)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/** @var SiteFinder $siteFinder */
|
/** @var SiteFinder $siteFinder */
|
||||||
$siteFinder = GeneralUtility::makeInstance(SiteFinder::class);
|
$siteFinder = GeneralUtility::makeInstance(SiteFinder::class);
|
||||||
$site = $siteFinder->getSiteByPageId($targetPage);
|
try {
|
||||||
|
$site = $siteFinder->getSiteByPageId((int)$targetPage);
|
||||||
|
}
|
||||||
|
catch (SiteNotFoundException $exception) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
$params = [];
|
$params = [];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user