2 namespace TYPO3\CMS\Install\Service;
19 use TYPO3\CMS\Install\Controller\Exception\RedirectException;
54 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\ExtensionManagerTables',
55 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\FileIdentifierHashUpdate',
56 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\FilemountUpdateWizard',
57 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\FilePermissionUpdate',
58 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\FileTableSplittingUpdate',
59 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\InitUpdateWizard',
60 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\MediaFlexformUpdate',
61 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\ReferenceIntegrityUpdateWizard',
62 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\RteFileLinksUpdateWizard',
63 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\RteMagicImagesUpdateWizard',
64 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\TceformsUpdateWizard',
65 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\TtContentUploadsUpdateWizard',
66 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\TruncateSysFileProcessedFileTable',
68 'INSTALL/wizardDone/TYPO3\\CMS\\Install\\Updates\\MigrateShortcutUrlsUpdate',
70 'BE/staticFileEditPath',
72 'BE/accessListRenderMode',
78 'GFX/enable_typo3temp_db_tracking',
82 'SYS/useCachingFramework',
84 'FE/allowedTempPaths',
86 'FE/activateContentAdapter',
88 'SYS/loginCopyrightShowVersion',
94 'SYS/caching/cacheConfigurations/cache_classes',
100 'SYS/serverTimeZone',
102 'BE/flexFormXMLincludeDiffBase',
152 $removed = $this->configurationManager->removeLocalConfigurationKeysByPath($this->obsoleteLocalConfigurationSettings);
171 $currentLoginSecurityLevelValue = $this->configurationManager->getLocalConfigurationValueByPath(
'BE/loginSecurityLevel');
172 if ($rsaauthLoaded && $currentLoginSecurityLevelValue !==
'rsa') {
173 $this->configurationManager->setLocalConfigurationValueByPath(
'BE/loginSecurityLevel',
'rsa');
175 }
elseif (!$rsaauthLoaded && $currentLoginSecurityLevelValue !==
'normal') {
176 $this->configurationManager->setLocalConfigurationValueByPath(
'BE/loginSecurityLevel',
'normal');
179 }
catch (\RuntimeException $e) {
181 $this->configurationManager->setLocalConfigurationValueByPath(
'BE/loginSecurityLevel', $rsaauthLoaded ?
'rsa' :
'normal');
194 $defaultConfiguration = $this->configurationManager->getDefaultConfiguration();
195 $defaultExtensionConfiguration = unserialize($defaultConfiguration[
'EXT'][
'extConf'][
'saltedpasswords']);
197 $extensionConfiguration = @unserialize($this->configurationManager->getLocalConfigurationValueByPath(
'EXT/extConf/saltedpasswords'));
198 }
catch (\RuntimeException $e) {
199 $extensionConfiguration = array();
201 if (is_array($extensionConfiguration) && !empty($extensionConfiguration)) {
202 if (isset($extensionConfiguration[
'BE.'][
'enabled'])) {
203 if ($extensionConfiguration[
'BE.'][
'enabled']) {
204 unset($extensionConfiguration[
'BE.'][
'enabled']);
206 $extensionConfiguration[
'BE.'] = $defaultExtensionConfiguration[
'BE.'];
208 $this->configurationManager->setLocalConfigurationValueByPath(
209 'EXT/extConf/saltedpasswords',
210 serialize($extensionConfiguration)
215 $this->configurationManager->setLocalConfigurationValueByPath(
216 'EXT/extConf/saltedpasswords',
217 serialize($defaultExtensionConfiguration)
234 $currentValue = $this->configurationManager->getLocalConfigurationValueByPath(
'SYS/encryptionKey');
235 }
catch (\RuntimeException $e) {
240 if (empty($currentValue)) {
242 $this->configurationManager->setLocalConfigurationValueByPath(
'SYS/encryptionKey', $randomKey);
258 $currentValueInLocalConfiguration = $this->configurationManager->getLocalConfigurationValueByPath(
'HTTP/proxy_auth_scheme');
259 }
catch (\RuntimeException $e) {
263 if ($currentValueInLocalConfiguration !==
'digest') {
264 $this->configurationManager->removeLocalConfigurationKeysByPath(array(
'HTTP/proxy_auth_scheme'));
278 $curlProxyServer = $this->configurationManager->getLocalConfigurationValueByPath(
'SYS/curlProxyServer');
279 }
catch (\RuntimeException $e) {
280 $curlProxyServer =
'';
283 $proxyHost = $this->configurationManager->getLocalConfigurationValueByPath(
'HTTP/proxy_host');
284 }
catch (\RuntimeException $e) {
287 if (!empty($curlProxyServer) && empty($proxyHost)) {
288 $curlProxy = rtrim(preg_replace(
'#^https?://#',
'', $curlProxyServer),
'/');
290 $this->configurationManager->setLocalConfigurationValueByPath(
'HTTP/proxy_host', $proxyParts[0]);
291 $this->configurationManager->setLocalConfigurationValueByPath(
'HTTP/proxy_port', $proxyParts[1]);
296 $curlProxyUserPass = $this->configurationManager->getLocalConfigurationValueByPath(
'SYS/curlProxyUserPass');
297 }
catch (\RuntimeException $e) {
298 $curlProxyUserPass =
'';
301 $proxyUser = $this->configurationManager->getLocalConfigurationValueByPath(
'HTTP/proxy_user');
302 }
catch (\RuntimeException $e) {
305 if (!empty($curlProxyUserPass) && empty($proxyUser)) {
306 $userPassParts = explode(
':', $curlProxyUserPass, 2);
307 $this->configurationManager->setLocalConfigurationValueByPath(
'HTTP/proxy_user', $userPassParts[0]);
308 $this->configurationManager->setLocalConfigurationValueByPath(
'HTTP/proxy_password', $userPassParts[1]);
313 $curlUse = $this->configurationManager->getLocalConfigurationValueByPath(
'SYS/curlUse');
314 }
catch (\RuntimeException $e) {
318 $adapter = $this->configurationManager->getConfigurationValueByPath(
'HTTP/adapter');
319 }
catch (\RuntimeException $e) {
322 if (!empty($curlUse) && $adapter !==
'curl') {
323 $GLOBALS[
'TYPO3_CONF_VARS'][
'HTTP'][
'adapter'] =
'curl';
324 $this->configurationManager->setLocalConfigurationValueByPath(
'HTTP/adapter',
'curl');
343 $changedValues = array();
345 $currentImageProcessingValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/image_processing');
346 }
catch (\RuntimeException $e) {
347 $currentImageProcessingValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/image_processing');
350 $currentImValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im');
351 }
catch (\RuntimeException $e) {
352 $currentImValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im');
355 $currentGdlibValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/gdlib');
356 }
catch (\RuntimeException $e) {
357 $currentGdlibValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/gdlib');
360 if (!$currentImageProcessingValue) {
361 if ($currentImValue != 0) {
362 $changedValues[
'GFX/im'] = 0;
364 if ($currentGdlibValue != 0) {
365 $changedValues[
'GFX/gdlib'] = 0;
368 if (!empty($changedValues)) {
369 $this->configurationManager->setLocalConfigurationValuesByPathValuePairs($changedValues);
386 $changedValues = array();
388 $currentImValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im');
389 }
catch (\RuntimeException $e) {
390 $currentImValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im');
393 $currentImPathValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_path');
394 }
catch (\RuntimeException $e) {
395 $currentImPathValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_path');
398 $currentImPathLzwValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_path_lzw');
399 }
catch (\RuntimeException $e) {
400 $currentImPathLzwValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_path_lzw');
403 $currentImageFileExtValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/imagefile_ext');
404 }
catch (\RuntimeException $e) {
405 $currentImageFileExtValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/imagefile_ext');
408 $currentThumbnailsValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/thumbnails');
409 }
catch (\RuntimeException $e) {
410 $currentThumbnailsValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/thumbnails');
412 if (!$currentImValue) {
413 if ($currentImPathValue !=
'') {
414 $changedValues[
'GFX/im_path'] =
'';
416 if ($currentImPathLzwValue !=
'') {
417 $changedValues[
'GFX/im_path_lzw'] =
'';
419 if ($currentImageFileExtValue !==
'gif,jpg,jpeg,png') {
420 $changedValues[
'GFX/imagefile_ext'] =
'gif,jpg,jpeg,png';
422 if ($currentThumbnailsValue != 0) {
423 $changedValues[
'GFX/thumbnails'] = 0;
426 if (!empty($changedValues)) {
427 $this->configurationManager->setLocalConfigurationValuesByPathValuePairs($changedValues);
444 $changedValues = array();
446 $currentIm5Value = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_version_5');
447 }
catch (\RuntimeException $e) {
448 $currentIm5Value = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_version_5');
451 $currentImMaskValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_mask_temp_ext_gif');
452 }
catch (\RuntimeException $e) {
453 $currentImMaskValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_mask_temp_ext_gif');
456 $currentIm5EffectsValue = $this->configurationManager->getLocalConfigurationValueByPath(
'GFX/im_v5effects');
457 }
catch (\RuntimeException $e) {
458 $currentIm5EffectsValue = $this->configurationManager->getDefaultConfigurationValueByPath(
'GFX/im_v5effects');
460 if ((
string)$currentIm5Value !==
'') {
461 if ($currentImMaskValue != 1) {
462 $changedValues[
'GFX/im_mask_temp_ext_gif'] = 1;
464 if ($currentIm5Value ===
'gm') {
465 if ($currentIm5EffectsValue != -1) {
466 $changedValues[
'GFX/im_v5effects'] = -1;
470 if (!empty($changedValues)) {
471 $this->configurationManager->setLocalConfigurationValuesByPathValuePairs($changedValues);
484 'Configuration updated, reload needed',