[BUGFIX] Avoid renumbering array keys on writing configuration 43/55943/2
authorHelmut Hummel <typo3@helhum.io>
Wed, 28 Feb 2018 12:41:49 +0000 (13:41 +0100)
committerMarkus Klein <markus.klein@typo3.org>
Wed, 28 Feb 2018 15:49:16 +0000 (16:49 +0100)
Renumbering array keys, even if all keys are integer
is a destructive operation.
Doing so at least breaks our logging configuration,
which uses LogLevel constants as array keys and these constants
are defined as integer.

Therefore this pure visual optimization is removed
when writing LocalConfiguration.php

At a later point we might consider deprecating this
method, which at least has a wrong method name
(mentions "numeric", while it meanwhile uses "int" checks).
As this method performs a destructive operation,
its usefulness is limited.

Resolves: #82304
Releases: master, 8.7, 7.6
Change-Id: I8d252428f3e27379e4377d30af0fdfd5e5d8719d
Reviewed-on: https://review.typo3.org/55943
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
typo3/sysext/core/Classes/Configuration/ConfigurationManager.php

index ebc59f9..cd82490 100644 (file)
@@ -332,9 +332,7 @@ class ConfigurationManager
             $localConfigurationFile,
             '<?php' . LF .
                 'return ' .
-                    ArrayUtility::arrayExport(
-                        ArrayUtility::renumberKeysToAvoidLeapsIfKeysAreAllNumeric($configuration)
-                    ) .
+                    ArrayUtility::arrayExport($configuration) .
                 ';' . LF,
             true
         );