[BUGFIX] Install Tool configuration parser must handle nested config 72/51772/5
authorMarkus Klein <markus.klein@typo3.org>
Mon, 20 Feb 2017 13:26:59 +0000 (14:26 +0100)
committerGeorg Ringer <georg.ringer@gmail.com>
Mon, 20 Feb 2017 18:05:44 +0000 (19:05 +0100)
commit46f28701757df54c426e2d103d9f0c7527d8a68c
treea65ea4424ae2fe3813000259be9bdff4f097e87a
parent3a031120a490761bd5ad4b647088a4ccc0a770c6
[BUGFIX] Install Tool configuration parser must handle nested config

Since TYPO3_CONF_VARS may contain nested arrays and the array keys
for those subarrays may collide with first-level citizens (e.g. BE)
the current description parsing (parsing of PHP source code file)
fail hard for those cases.
The problem is not solvable without writing a dedicated full PHP parser
in order to have proper notion of nesting levels.
For this reason the regex-based parsing is completely removed and a
new and dedicated file for the option descriptions is introduced,
which stores the description into a PHP array.

This frees us from the buggy PHP code parsing with regex and enables us
in the future to enhance this array with more information.
(e.g. extract data type into a dedicated subarray element)

Resolves: #79920
Releases: master
Change-Id: Idb5d3fdd2dee5f3150b52c66e65d06c028750893
Reviewed-on: https://review.typo3.org/51772
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
typo3/sysext/core/Classes/Configuration/ConfigurationManager.php
typo3/sysext/core/Configuration/DefaultConfiguration.php
typo3/sysext/core/Configuration/DefaultConfigurationDescription.php [new file with mode: 0644]
typo3/sysext/install/Classes/Controller/Action/Tool/AllConfiguration.php