[!!!][BUGFIX] ConfigurationManager signal information missing 73/31773/4
authorSusanne Moog <typo3@susannemoog.de>
Thu, 24 Jul 2014 17:52:22 +0000 (19:52 +0200)
committerHelmut Hummel <helmut.hummel@typo3.org>
Sun, 27 Jul 2014 09:45:57 +0000 (11:45 +0200)
The signal emitted in the ConfigurationManager of the ExtensionManager
misses crucial information (the extension for which the configuration
was written) and is therefor useless at the moment.

Add the extension key to the signal so that it may be used.

Change-Id: I21d22b10852e9842d9d077eb5dd49ec4518ca4ed
Fixes: #60609
Releases: 6.3
Reviewed-on: http://review.typo3.org/31773
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
typo3/sysext/core/Documentation/Changelog/master/Breaking-60609-ConfigurationManagerSignalChange.rst [new file with mode: 0644]
typo3/sysext/extensionmanager/Classes/Controller/ConfigurationController.php

diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-60609-ConfigurationManagerSignalChange.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-60609-ConfigurationManagerSignalChange.rst
new file mode 100644 (file)
index 0000000..5c5dbf9
--- /dev/null
@@ -0,0 +1,27 @@
+=======================================================
+Breaking: #60609 - Configuration Manager Signal Changed
+=======================================================
+
+Description
+===========
+
+The extension for which the configuration was written was added to the signal emitted
+in the ConfigurationManager of the ExtensionManager as first parameter as the whole signal was
+unusable without this information.
+
+
+Impact
+======
+
+The arguments for a method listening to this signal have changed.
+
+
+Affected installations
+======================
+
+A TYPO3 instance is affected if there is code using the signal "afterExtensionConfigurationWrite".
+
+Migration
+=========
+
+Rewrite the listening function to use the extension key as first parameter.
index 5c23960..e00ddbf 100644 (file)
@@ -105,10 +105,12 @@ class ConfigurationController extends AbstractController {
        /**
         * Emits a signal after the configuration file was written
         *
+        * @param string $extensionKey
         * @param array $newConfiguration
+        * @return void
         */
-       protected function emitAfterExtensionConfigurationWriteSignal(array $newConfiguration) {
-               $this->signalSlotDispatcher->dispatch(__CLASS__, 'afterExtensionConfigurationWrite', array($newConfiguration, $this));
+       protected function emitAfterExtensionConfigurationWriteSignal($extensionKey, array $newConfiguration) {
+               $this->signalSlotDispatcher->dispatch(__CLASS__, 'afterExtensionConfigurationWrite', array($extensionKey, $newConfiguration, $this));
        }
 
        /**
@@ -127,7 +129,7 @@ class ConfigurationController extends AbstractController {
                        $configurationUtility->convertValuedToNestedConfiguration($newConfiguration),
                        $extensionKey
                );
-               $this->emitAfterExtensionConfigurationWriteSignal($newConfiguration);
+               $this->emitAfterExtensionConfigurationWriteSignal($extensionKey, $newConfiguration);
        }
 
 }