Skip to content
Snippets Groups Projects
Commit 529b3af9 authored by Chris Müller's avatar Chris Müller Committed by Benni Mack
Browse files

[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: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Tested-by: default avatarBenni Mack <benni@typo3.org>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarBenni Mack <benni@typo3.org>
parent 8c393e64
Branches
Tags
No related merge requests found
...@@ -31,8 +31,8 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder ...@@ -31,8 +31,8 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder
$tsfe = $this->getTypoScriptFrontendController(); $tsfe = $this->getTypoScriptFrontendController();
$pageTsConfig = $tsfe->getPagesTSconfig(); $pageTsConfig = $tsfe->getPagesTSconfig();
$configurationKey = $linkDetails['identifier'] . '.'; $configurationKey = $linkDetails['identifier'] . '.';
$configuration = $tsfe->tmpl->setup['config.']['recordLinks.']; $configuration = $tsfe->tmpl->setup['config.']['recordLinks.'] ?? [];
$linkHandlerConfiguration = $pageTsConfig['TCEMAIN.']['linkHandler.']; $linkHandlerConfiguration = $pageTsConfig['TCEMAIN.']['linkHandler.'] ?? [];
if (!isset($configuration[$configurationKey], $linkHandlerConfiguration[$configurationKey])) { if (!isset($configuration[$configurationKey], $linkHandlerConfiguration[$configurationKey])) {
throw new UnableToLinkException( throw new UnableToLinkException(
...@@ -45,7 +45,7 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder ...@@ -45,7 +45,7 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder
$typoScriptConfiguration = $configuration[$configurationKey]['typolink.']; $typoScriptConfiguration = $configuration[$configurationKey]['typolink.'];
$linkHandlerConfiguration = $linkHandlerConfiguration[$configurationKey]['configuration.']; $linkHandlerConfiguration = $linkHandlerConfiguration[$configurationKey]['configuration.'];
if ($configuration[$configurationKey]['forceLink']) { if ($configuration[$configurationKey]['forceLink'] ?? false) {
$record = $tsfe->sys_page->getRawRecord($linkHandlerConfiguration['table'], $linkDetails['uid']); $record = $tsfe->sys_page->getRawRecord($linkHandlerConfiguration['table'], $linkDetails['uid']);
} else { } else {
$record = $tsfe->sys_page->checkRecord($linkHandlerConfiguration['table'], $linkDetails['uid']); $record = $tsfe->sys_page->checkRecord($linkHandlerConfiguration['table'], $linkDetails['uid']);
...@@ -64,9 +64,9 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder ...@@ -64,9 +64,9 @@ class DatabaseRecordLinkBuilder extends AbstractTypolinkBuilder
unset($conf['parameter.']); unset($conf['parameter.']);
$typoLinkCodecService = GeneralUtility::makeInstance(TypoLinkCodecService::class); $typoLinkCodecService = GeneralUtility::makeInstance(TypoLinkCodecService::class);
$parameterFromDb = $typoLinkCodecService->decode($conf['parameter']); $parameterFromDb = $typoLinkCodecService->decode($conf['parameter'] ?? '');
unset($parameterFromDb['url']); unset($parameterFromDb['url']);
$parameterFromTypoScript = $typoLinkCodecService->decode($typoScriptConfiguration['parameter']); $parameterFromTypoScript = $typoLinkCodecService->decode($typoScriptConfiguration['parameter'] ?? '');
$parameter = array_replace_recursive($parameterFromTypoScript, array_filter($parameterFromDb)); $parameter = array_replace_recursive($parameterFromTypoScript, array_filter($parameterFromDb));
$typoScriptConfiguration['parameter'] = $typoLinkCodecService->encode($parameter); $typoScriptConfiguration['parameter'] = $typoLinkCodecService->encode($parameter);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment