56 'BE/TSconfigConditions',
58 'BE/useOnContextMenuHandler',
60 'BE/usePHPFileFunctions',
62 'EXT/em_mirrorListURL',
75 'FE/defaultTypoScript_editorcfg',
76 'FE/defaultTypoScript_editorcfg.',
78 'FE/simulateStaticDocuments',
84 'GFX/im_combine_filename',
86 'GFX/im_imvMaskState',
90 'GFX/im_mask_temp_ext_noloss',
100 'SYS/additionalAllowedClassPrefixes',
102 'SYS/caching/cacheBackends',
103 'SYS/caching/cacheFrontends',
107 'SYS/multiplyDBfieldSize',
111 'SYS/forceReturnPath',
113 'INSTALL/wizardDone/tx_coreupdates_compressionlevel',
114 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\CompressionLevelUpdate',
115 'INSTALL/wizardDone/tx_coreupdates_installsysexts',
116 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\InstallSysExtsUpdate',
117 'INSTALL/wizardDone/tx_coreupdates_migrateworkspaces',
118 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\MigrateWorkspacesUpdate',
136 $this->addFileTableToDefaultCategorizedTablesIfAlreadyCustomized();
149 $removed = $this->configurationManager->removeLocalConfigurationKeysByPath($this->obsoleteLocalConfigurationSettings);
153 $currentSetDbInitValue = $this->configurationManager->getConfigurationValueByPath(
'SYS/setDBinit');
154 if (preg_match(
'/^\s*SET\s+NAMES\s+[\'"]?utf8[\'"]?\s*[;]?\s*$/i', $currentSetDbInitValue) === 1) {
155 $removed = $removed || $this->configurationManager->removeLocalConfigurationKeysByPath(array(
'SYS/setDBinit'));
173 $currentLoginSecurityLevelValue = $this->configurationManager->getLocalConfigurationValueByPath(
'BE/loginSecurityLevel');
175 && $currentLoginSecurityLevelValue !==
'rsa' 177 $this->configurationManager->setLocalConfigurationValueByPath(
'BE/loginSecurityLevel',
'rsa');
180 && $currentLoginSecurityLevelValue !==
'normal' 182 $this->configurationManager->setLocalConfigurationValueByPath(
'BE/loginSecurityLevel',
'normal');
185 }
catch (\RuntimeException $e) {
188 $this->configurationManager->setLocalConfigurationValueByPath(
'BE/loginSecurityLevel',
'rsa');
191 $this->configurationManager->setLocalConfigurationValueByPath(
'BE/loginSecurityLevel',
'normal');
204 $defaultConfiguration = $this->configurationManager->getDefaultConfiguration();
205 $defaultExtensionConfiguration = unserialize($defaultConfiguration[
'EXT'][
'extConf'][
'saltedpasswords']);
207 $extensionConfiguration = @unserialize($this->configurationManager->getLocalConfigurationValueByPath(
'EXT/extConf/saltedpasswords'));
208 }
catch (\RuntimeException $e) {
209 $extensionConfiguration = array();
211 if (is_array($extensionConfiguration) && !empty($extensionConfiguration)) {
212 if (isset($extensionConfiguration[
'BE.'][
'enabled'])) {
213 if ($extensionConfiguration[
'BE.'][
'enabled']) {
214 unset($extensionConfiguration[
'BE.'][
'enabled']);
216 $extensionConfiguration[
'BE.'] = $defaultExtensionConfiguration[
'BE.'];
218 $this->configurationManager->setLocalConfigurationValueByPath(
219 'EXT/extConf/saltedpasswords',
220 serialize($extensionConfiguration)
225 $this->configurationManager->setLocalConfigurationValueByPath(
226 'EXT/extConf/saltedpasswords',
227 serialize($defaultExtensionConfiguration)
243 $currentValue = $this->configurationManager->getLocalConfigurationValueByPath(
'SYS/encryptionKey');
244 }
catch (\RuntimeException $e) {
249 if (empty($currentValue)) {
251 $this->configurationManager->setLocalConfigurationValueByPath(
'SYS/encryptionKey', $randomKey);
266 $currentValueInLocalConfiguration = $this->configurationManager->getLocalConfigurationValueByPath(
'HTTP/proxy_auth_scheme');
267 }
catch (\RuntimeException $e) {
271 if ($currentValueInLocalConfiguration !==
'digest') {
272 $this->configurationManager->removeLocalConfigurationKeysByPath(array(
'HTTP/proxy_auth_scheme'));
287 $changedValues = array();
289 $currentImageProcessingValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/image_processing');
290 }
catch (\RuntimeException $e) {
291 $currentImageProcessingValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/image_processing');
294 $currentImValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im');
295 }
catch (\RuntimeException $e) {
296 $currentImValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im');
299 $currentGdlibValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/gdlib');
300 }
catch (\RuntimeException $e) {
301 $currentGdlibValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/gdlib');
304 if (!$currentImageProcessingValue) {
305 if ($currentImValue != 0) {
306 $changedValues[
'GFX/im'] = 0;
308 if ($currentGdlibValue != 0) {
309 $changedValues[
'GFX/gdlib'] = 0;
312 if (count($changedValues) > 0) {
313 $this->configurationManager->setLocalConfigurationValuesByPathValuePairs($changedValues);
329 $changedValues = array();
331 $currentImValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im');
333 catch (\RuntimeException $e) {
334 $currentImValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im');
337 $currentImPathValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_path');
339 catch (\RuntimeException $e) {
340 $currentImPathValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_path');
343 $currentImPathLzwValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_path_lzw');
345 catch (\RuntimeException $e) {
346 $currentImPathLzwValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_path_lzw');
349 $currentImageFileExtValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/imagefile_ext');
351 catch (\RuntimeException $e) {
352 $currentImageFileExtValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/imagefile_ext');
355 $currentThumbnailsValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/thumbnails');
357 catch (\RuntimeException $e) {
358 $currentThumbnailsValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/thumbnails');
360 if (!$currentImValue) {
361 if ($currentImPathValue !=
'') {
362 $changedValues[
'GFX/im_path'] =
'';
364 if ($currentImPathLzwValue !=
'') {
365 $changedValues[
'GFX/im_path_lzw'] =
'';
367 if ($currentImageFileExtValue !==
'gif,jpg,jpeg,png') {
368 $changedValues[
'GFX/imagefile_ext'] =
'gif,jpg,jpeg,png';
370 if ($currentThumbnailsValue != 0) {
371 $changedValues[
'GFX/thumbnails'] = 0;
374 if (count($changedValues) > 0) {
375 $this->configurationManager->setLocalConfigurationValuesByPathValuePairs($changedValues);
391 $changedValues = array();
393 $currentIm5Value = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_version_5');
395 catch (\RuntimeException $e) {
396 $currentIm5Value = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_version_5');
399 $currentImMaskValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_mask_temp_ext_gif');
401 catch (\RuntimeException $e) {
402 $currentImMaskValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_mask_temp_ext_gif');
405 $currentIm5EffectsValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_v5effects');
407 catch (\RuntimeException $e) {
408 $currentIm5EffectsValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_v5effects');
410 if (strlen($currentIm5Value) > 0) {
411 if ($currentImMaskValue != 1) {
412 $changedValues[
'GFX/im_mask_temp_ext_gif'] = 1;
414 if ($currentIm5Value ===
'gm') {
415 if ($currentIm5EffectsValue != -1) {
416 $changedValues[
'GFX/im_v5effects'] = -1;
420 if (count($changedValues) > 0) {
421 $this->configurationManager->setLocalConfigurationValuesByPathValuePairs($changedValues);
433 protected function addFileTableToDefaultCategorizedTablesIfAlreadyCustomized() {
435 $configurationManager = $this->objectManager->get(
'TYPO3\\CMS\\Core\\Configuration\\ConfigurationManager');
437 $default =
$configurationManager->getDefaultConfigurationValueByPath(
'SYS/defaultCategorizedTables');
440 }
catch(\RuntimeException $e) {
445 if ($actual !==
'' && $actual !== $default && !in_array(
'sys_file_metadata', $tables)) {
446 $tables[] =
'sys_file_metadata';
447 $configurationManager->setLocalConfigurationValueByPath(
'SYS/defaultCategorizedTables', implode(
',', $tables));
460 $classNamesToConvert = array();
461 $localConfiguration = $this->configurationManager->getLocalConfiguration();
463 if (isset($localConfiguration[
'INSTALL'][
'wizardDone']) && is_array($localConfiguration[
'INSTALL'][
'wizardDone'])) {
464 $classNames = array_keys($localConfiguration[
'INSTALL'][
'wizardDone']);
465 foreach ($classNames as $className) {
467 $classNamesToConvert[] = $className;
471 if (!count($classNamesToConvert)) {
475 $migratedClassesMapping = array(
476 'Tx_Install_Updates_File_TceformsUpdateWizard' =>
'TYPO3\\CMS\\Install\\Updates\\TceformsUpdateWizard' 479 $migratedSettings = array();
480 $settingsToRemove = array();
481 foreach ($classNamesToConvert as $oldClassName) {
482 if (isset($migratedClassesMapping[$oldClassName])) {
483 $newClassName = $migratedClassesMapping[$oldClassName];
490 $oldValue = $this->configurationManager->getLocalConfigurationValueByPath(
'INSTALL/wizardDone/' . $oldClassName);
491 }
catch (\RuntimeException $e) {
496 $newValue = $this->configurationManager->getLocalConfigurationValueByPath(
'INSTALL/wizardDone/' . $newClassName);
497 }
catch (\RuntimeException $e) {
500 if ($newValue === NULL) {
502 $migratedSettings[
'INSTALL/wizardDone/' . $newClassName] = $oldValue;
504 $settingsToRemove[] =
'INSTALL/wizardDone/' . $oldClassName;
508 if (count($migratedSettings)) {
509 $this->configurationManager->setLocalConfigurationValuesByPathValuePairs($migratedSettings);
511 $this->configurationManager->removeLocalConfigurationKeysByPath($settingsToRemove);
512 if (count($migratedSettings) || count($settingsToRemove)) {
523 throw new \TYPO3\CMS\Install\Controller\Exception\RedirectException(
524 'Configuration updated, reload needed',
configureBackendLoginSecurity()
generateEncryptionKeyIfNeeded()
static getRandomHexString($count)
disableImageMagickAndGdlibIfImageProcessingIsDisabled()
setImageMagickDetailSettings()
static isFirstPartOfStr($str, $partStr)
static trimExplode($delim, $string, $removeEmptyValues=FALSE, $limit=0)
configureSaltedPasswords()
migrateOldInstallWizardDoneSettingsToNewClassNames()
static isLoaded($key, $exitOnError=FALSE)
disableImageMagickDetailSettingsIfImageMagickIsDisabled()
$obsoleteLocalConfigurationSettings
removeObsoleteLocalConfigurationSettings()