From 529b3af98aca5e2b64f2a47554b5316185012639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20M=C3=BCller?= <typo3@krue.ml> Date: Tue, 21 Dec 2021 16:50:17 +0100 Subject: [PATCH] [BUGFIX] Avoid undefined array key warnings in DatabaseRecordLinkBuilder Resolves: #96420 Releases: main, 11.5 Change-Id: Ida1b27956bfe759062904ee9d0c8246ea73f0667 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72763 Tested-by: core-ci <typo3@b13.com> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Benni Mack <benni@typo3.org> --- .../Classes/Typolink/DatabaseRecordLinkBuilder.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/typo3/sysext/frontend/Classes/Typolink/DatabaseRecordLinkBuilder.php b/typo3/sysext/frontend/Classes/Typolink/DatabaseRecordLinkBuilder.php index 30bdb98de0dc..d4e6519c23dd 100644 --- a/typo3/sysext/frontend/Classes/Typolink/DatabaseRecordLinkBuilder.php +++ b/typo3/sysext/frontend/Classes/Typolink/DatabaseRecordLinkBuilder.php @@ -31,8 +31,8 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder $tsfe = $this->getTypoScriptFrontendController(); $pageTsConfig = $tsfe->getPagesTSconfig(); $configurationKey = $linkDetails['identifier'] . '.'; - $configuration = $tsfe->tmpl->setup['config.']['recordLinks.']; - $linkHandlerConfiguration = $pageTsConfig['TCEMAIN.']['linkHandler.']; + $configuration = $tsfe->tmpl->setup['config.']['recordLinks.'] ?? []; + $linkHandlerConfiguration = $pageTsConfig['TCEMAIN.']['linkHandler.'] ?? []; if (!isset($configuration[$configurationKey], $linkHandlerConfiguration[$configurationKey])) { throw new UnableToLinkException( @@ -45,7 +45,7 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder $typoScriptConfiguration = $configuration[$configurationKey]['typolink.']; $linkHandlerConfiguration = $linkHandlerConfiguration[$configurationKey]['configuration.']; - if ($configuration[$configurationKey]['forceLink']) { + if ($configuration[$configurationKey]['forceLink'] ?? false) { $record = $tsfe->sys_page->getRawRecord($linkHandlerConfiguration['table'], $linkDetails['uid']); } else { $record = $tsfe->sys_page->checkRecord($linkHandlerConfiguration['table'], $linkDetails['uid']); @@ -64,9 +64,9 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder unset($conf['parameter.']); $typoLinkCodecService = GeneralUtility::makeInstance(TypoLinkCodecService::class); - $parameterFromDb = $typoLinkCodecService->decode($conf['parameter']); + $parameterFromDb = $typoLinkCodecService->decode($conf['parameter'] ?? ''); unset($parameterFromDb['url']); - $parameterFromTypoScript = $typoLinkCodecService->decode($typoScriptConfiguration['parameter']); + $parameterFromTypoScript = $typoLinkCodecService->decode($typoScriptConfiguration['parameter'] ?? ''); $parameter = array_replace_recursive($parameterFromTypoScript, array_filter($parameterFromDb)); $typoScriptConfiguration['parameter'] = $typoLinkCodecService->encode($parameter); -- GitLab