Bug #42775
closed
Saving one tab, deleted entries from other tabs
Added by Jan-Erik Revsbech about 12 years ago.
Updated about 6 years ago.
Category:
Extension Manager
Description
When storing extension configuration in different tabs, saving one tab, will delete/reset all values in other tabs.
In order to provoke the error, just create an ext_conf_template with
- cat=Basic/; type=int+; label=Test key1
key1 =
- cat=WebService/; type=string; label=Test key2
key2 =
Then go to the extension manager, and setting value of key2, will reset the value of key1 and vice versa.
The error related to ConfigurationUtility::getCurrentConfiguration which looks for
$GLOBALS['TYPO3_LOADED_EXT'][$extensionKey]['key']
which is never set.
Debugging further, i see that the getCurrentConfiguration (which is only used by the extension manager backend) is calling $this->configurationItemRepository->createArrayFromConstants
which returns an array looking like this
array (
'key1' => array(
'cat' => ' Basic'
'subcat' => 'x/z',
...
'value' => ''
'default_value' => ''
)
)
Which makes a lot os sense. But it does not make sence to call array_merge_recursive_overrule with this array and the currenc extConf which will look simething like
array(
'key1' => 'value1'
)
Hmm, it gets even worse when having nested configuration with first.second = value
The error occurs when merging the ConfigurationUtility internal "valued" configuration with the serilized "nested" configuration, which doesnt make to much sense. I submitted a patch set which convertes to "valued" before merging default with existing. This seems to fix the problems.
- Status changed from New to Under Review
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
- Target version set to 2222
- Project changed from 2269 to TYPO3 Core
- Category set to Extension Manager
- Target version deleted (
2222)
- Status changed from Resolved to Closed
Also available in: Atom
PDF