From bbe45c6960218593f3cbc660ce52c5cfcd8c8ef0 Mon Sep 17 00:00:00 2001 From: Christian Kuhn <lolli@schwarzbu.ch> Date: Tue, 12 Dec 2017 12:45:04 +0100 Subject: [PATCH] [TASK] Install tool fails if LocalConfiguration EXT/extConf does not exist On fresh instances, the install tool may fail if path EXT/extConf which is written as b/w compat layer does not exist, yet. Patch catches the (generic) exception from ArrayUtility->getValueByPath() and initializes the value to an empty array to continue in this case. Resolves: #83298 Related: #82368 Releases: master Change-Id: Iffac458a9e42183139ab4425082abb6f78944ffd Reviewed-on: https://review.typo3.org/55044 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Susanne Moog <susanne.moog@typo3.org> Tested-by: Susanne Moog <susanne.moog@typo3.org> --- .../sysext/install/Classes/Controller/LayoutController.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/install/Classes/Controller/LayoutController.php b/typo3/sysext/install/Classes/Controller/LayoutController.php index 7dd54bba3f1c..6f775f93b6a9 100644 --- a/typo3/sysext/install/Classes/Controller/LayoutController.php +++ b/typo3/sysext/install/Classes/Controller/LayoutController.php @@ -104,7 +104,12 @@ class LayoutController extends AbstractController public function executeSilentLegacyExtConfExtensionConfigurationUpdateAction(): ResponseInterface { $configurationManager = new ConfigurationManager(); - $oldExtConfSettings = $configurationManager->getConfigurationValueByPath('EXT/extConf'); + try { + $oldExtConfSettings = $configurationManager->getConfigurationValueByPath('EXT/extConf'); + } catch (\RuntimeException $e) { + // The old 'extConf' array may not exist anymore, set to empty array if so. + $oldExtConfSettings = []; + } $newExtensionSettings = $configurationManager->getConfigurationValueByPath('EXTENSIONS'); foreach ($oldExtConfSettings as $extensionName => $extensionSettings) { if (!array_key_exists($extensionName, $newExtensionSettings)) { -- GitLab