getLocalConfigurationValueByPath('INSTALL/wizardDone'); if (!empty($wizardsDone)) { $result = true; } } catch (MissingArrayPathException $e) { // Result stays false with broken path } return $result; } /** * @return string[] All new fields and tables must exist */ public function getPrerequisites(): array { return [ DatabaseUpdatedPrerequisite::class ]; } /** * Performs the accordant updates. * * @return bool Whether everything went smoothly or not */ public function executeUpdate(): bool { $configurationManager = GeneralUtility::makeInstance(ConfigurationManager::class); $registry = GeneralUtility::makeInstance(Registry::class); $wizardsDone = $configurationManager->getLocalConfigurationValueByPath('INSTALL/wizardDone'); $configurationKeysToRemove = []; foreach ($wizardsDone as $wizardClassName => $value) { $registry->set('installUpdate', $wizardClassName, $value); $configurationKeysToRemove[] = 'INSTALL/wizardDone/' . $wizardClassName; } $configurationKeysToRemove[] = 'INSTALL/wizardDone'; $configurationManager->removeLocalConfigurationKeysByPath($configurationKeysToRemove); return true; } }