diff --git a/typo3/sysext/frontend/Classes/Typolink/DatabaseRecordLinkBuilder.php b/typo3/sysext/frontend/Classes/Typolink/DatabaseRecordLinkBuilder.php index 30bdb98de0dc05eaf476524cf3db039bd051f77a..d4e6519c23ddbb4de5e91357f68f6d42a1a285f3 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);