From 0b3e0b56baccb319ceeaefcb49b1efb885bf01bf Mon Sep 17 00:00:00 2001 From: Daniel Hettler <daniel.koether@outlook.de> Date: Wed, 8 Mar 2023 17:32:06 +0100 Subject: [PATCH] [BUGFIX] Avoid multiple undefined array keys in FileContentParser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When indexing files the FileContentParser collects some metadata e.g. title, description and keywords. For some files these information are not given and the parser breaks in an PHP 8 environment. Resolves: #100122 Releases: main, 11.5 Change-Id: I54b5512c7e30c9719654591d520943733fbfe920 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/78076 Reviewed-by: Albrecht Köhnlein <ak@koehnlein.eu> Tested-by: Benni Mack <benni@typo3.org> Tested-by: core-ci <typo3@b13.com> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by: Thomas Hohn <tho@gyldendal.dk> Reviewed-by: Benni Mack <benni@typo3.org> Tested-by: Albrecht Köhnlein <ak@koehnlein.eu> --- typo3/sysext/indexed_search/Classes/FileContentParser.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/indexed_search/Classes/FileContentParser.php b/typo3/sysext/indexed_search/Classes/FileContentParser.php index 25c0fc96a8b7..4162f14c5c49 100644 --- a/typo3/sysext/indexed_search/Classes/FileContentParser.php +++ b/typo3/sysext/indexed_search/Classes/FileContentParser.php @@ -585,10 +585,10 @@ class FileContentParser unset($res); $metaContent = GeneralUtility::xml2tree($meta_xml); if (is_array($metaContent)) { - $contentArr['title'] .= ' ' . $metaContent['cp:coreProperties'][0]['ch']['dc:title'][0]['values'][0]; - $contentArr['description'] = $metaContent['cp:coreProperties'][0]['ch']['dc:subject'][0]['values'][0]; - $contentArr['description'] .= ' ' . $metaContent['cp:coreProperties'][0]['ch']['dc:description'][0]['values'][0]; - $contentArr['keywords'] = $metaContent['cp:coreProperties'][0]['ch']['cp:keywords'][0]['values'][0]; + $contentArr['title'] .= ' ' . ($metaContent['cp:coreProperties'][0]['ch']['dc:title'][0]['values'][0] ?? ''); + $contentArr['description'] = ($metaContent['cp:coreProperties'][0]['ch']['dc:subject'][0]['values'][0] ?? ''); + $contentArr['description'] .= ' ' . ($metaContent['cp:coreProperties'][0]['ch']['dc:description'][0]['values'][0] ?? ''); + $contentArr['keywords'] = ($metaContent['cp:coreProperties'][0]['ch']['cp:keywords'][0]['values'][0] ?? ''); } $this->setLocaleForServerFileSystem(true); } -- GitLab