From b52d97a6eadd3d170176e52dab8891076ecddb9e Mon Sep 17 00:00:00 2001 From: Alexander Opitz <opitz.alexander@googlemail.com> Date: Thu, 15 Dec 2016 11:47:25 +0100 Subject: [PATCH] [BUGFIX] IconFactory check arrays for key This reduces PHP notices, as we check arrays before acessing them. Resolves: #78992 Releases: master, 7.6 Change-Id: Ib0fc72be9e7957a27990d60dde844068ca9e24d1 Reviewed-on: https://review.typo3.org/50971 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Joerg Boesche <typo3@joergboesche.de> Tested-by: Joerg Boesche <typo3@joergboesche.de> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by: Susanne Moog <susanne.moog@typo3.org> Tested-by: Susanne Moog <susanne.moog@typo3.org> --- typo3/sysext/core/Classes/Imaging/IconFactory.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/core/Classes/Imaging/IconFactory.php b/typo3/sysext/core/Classes/Imaging/IconFactory.php index 69b85126b945..98a870a9a86e 100644 --- a/typo3/sysext/core/Classes/Imaging/IconFactory.php +++ b/typo3/sysext/core/Classes/Imaging/IconFactory.php @@ -201,7 +201,9 @@ class IconFactory } } } - if (is_array($GLOBALS['TCA'][$table]['ctrl']['typeicon_classes'])) { + if (isset($GLOBALS['TCA'][$table]['ctrl']['typeicon_classes']) + && is_array($GLOBALS['TCA'][$table]['ctrl']['typeicon_classes']) + ) { foreach ($recordType as $key => $type) { if (isset($GLOBALS['TCA'][$table]['ctrl']['typeicon_classes'][$type])) { $recordType[$key] = $GLOBALS['TCA'][$table]['ctrl']['typeicon_classes'][$type]; @@ -232,7 +234,9 @@ class IconFactory unset($type); $recordType[0] = 'tcarecords-' . $table . '-default'; } - } elseif (is_array($GLOBALS['TCA'][$table]['ctrl']['typeicon_classes'])) { + } elseif (isset($GLOBALS['TCA'][$table]['ctrl']['typeicon_classes']) + && is_array($GLOBALS['TCA'][$table]['ctrl']['typeicon_classes']) + ) { $recordType[0] = $GLOBALS['TCA'][$table]['ctrl']['typeicon_classes']['default']; } else { $recordType[0] = 'tcarecords-' . $table . '-default'; @@ -269,10 +273,10 @@ class IconFactory 'fe_group' => false, 'deleted' => false, 'protectedSection' => false, - 'nav_hide' => (bool)$row['nav_hide'] + 'nav_hide' => !empty($row['nav_hide']), ]; // Icon state based on "enableFields": - if (is_array($tcaCtrl['enablecolumns'])) { + if (isset($tcaCtrl['enablecolumns']) && is_array($tcaCtrl['enablecolumns'])) { $enableColumns = $tcaCtrl['enablecolumns']; // If "hidden" is enabled: if (isset($enableColumns['disabled']) && !empty($row[$enableColumns['disabled']])) { -- GitLab