From 4a5eee6b73b1c7749c004a2daf15fee6d42f6418 Mon Sep 17 00:00:00 2001 From: Stefan Froemken <froemken@gmail.com> Date: Tue, 9 May 2023 14:40:58 +0200 Subject: [PATCH] [BUGFIX] Fix type error in for pageType in f:uri.page ViewHelper The Fluid ViewHelper `f:uri.page` will now cast argument `pageType` to int before using it. Resolves: #100845 Releases: main, 12.4, 11.5 Change-Id: Ifbda5befa0757975c20411bfac2549a3affab9bf Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79132 Tested-by: core-ci <typo3@b13.com> Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de> --- typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php | 2 +- .../Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php | 4 ++++ .../Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php index 728a4c0f29d8..98cfad40bb0b 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php @@ -94,7 +94,7 @@ class PageViewHelper extends AbstractViewHelper } $pageUid = $arguments['pageUid']; $additionalParams = $arguments['additionalParams']; - $pageType = $arguments['pageType']; + $pageType = (int)($arguments['pageType'] ?? 0); $noCache = $arguments['noCache']; $section = $arguments['section']; $language = $arguments['language'] ?? null; diff --git a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php index 84e349af1989..159937f01cd5 100644 --- a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php +++ b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php @@ -43,6 +43,10 @@ class PageViewHelperTest extends FunctionalTestCase '<f:link.page pageUid="1">linkMe</f:link.page>', '<a href="/">linkMe</a>', ], + 'link to root page with page type' => [ + '<f:link.page pageUid="1" pageType="1234">linkMe</f:link.page>', + '<a href="/?type=1234">linkMe</a>', + ], 'link to page sub page' => [ '<f:link.page pageUid="3">linkMe</f:link.page>', '<a href="/dummy-1-2/dummy-1-2-3">linkMe</a>', diff --git a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php index 059c9a43dbec..2b8e5fa884d6 100644 --- a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php +++ b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php @@ -43,6 +43,10 @@ class PageViewHelperTest extends FunctionalTestCase '<f:uri.page pageUid="1" />', '/', ], + 'link to root page with page type' => [ + '<f:uri.page pageUid="1" pageType="1234" />', + '/?type=1234', + ], 'link to page sub page' => [ '<f:uri.page pageUid="3" />', '/dummy-1-2/dummy-1-2-3', -- GitLab