[BUGFIX] Do not show System Extensions Wizard when done 09/21509/5
authorHelmut Hummel <helmut.hummel@typo3.org>
Sun, 30 Jun 2013 14:34:52 +0000 (16:34 +0200)
committerWouter Wolters <typo3@wouterwolters.nl>
Sun, 30 Jun 2013 15:38:18 +0000 (17:38 +0200)
The check if the wizard has been executed before and
includes all available system extensions have been installed
is wrong. Rather than casting to bool, we should
check if the difference between "seen extensions" and
available system extensions is an empty array.

This correctly shows the wizard when not finished and
hides it when finished.

Resolves: #49256
Releases: 6.2, 6.1, 6.0
Change-Id: I7bd655b2b7eeaaa5b1dd91e80564f150b1d0d038
Reviewed-on: https://review.typo3.org/21509
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
typo3/sysext/install/Classes/CoreUpdates/InstallSysExtsUpdate.php

index daf62eb..bee09a6 100644 (file)
@@ -338,7 +338,7 @@ class InstallSysExtsUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
                $wizardClassName = get_class($this);
                if (!empty($GLOBALS['TYPO3_CONF_VARS']['INSTALL']['wizardDone'][$wizardClassName])) {
                        $seenExtensions = json_decode($GLOBALS['TYPO3_CONF_VARS']['INSTALL']['wizardDone'][$wizardClassName], TRUE);
-                       return (bool) array_diff($this->systemExtensions, $seenExtensions);
+                       return count(array_diff($this->systemExtensions, $seenExtensions)) === 0;
                }
                return FALSE;
        }