diff --git a/setup/wizardsteps.class.inc.php b/setup/wizardsteps.class.inc.php index 88ce73756..c2f9860f4 100644 --- a/setup/wizardsteps.class.inc.php +++ b/setup/wizardsteps.class.inc.php @@ -1386,32 +1386,7 @@ class WizStepModulesChoice extends WizardStep } } - $sExtensionsAdded = ''; - if (count($aExtensionsAdded) > 0) { - $sExtensionsAdded = ''; - } else { - $sExtensionsAdded = ''; - } - - $sExtensionsRemoved = ''; - if (count($aExtensionsRemoved) > 0) { - $sExtensionsRemoved = ''; - } else { - $sExtensionsRemoved = ''; - } - return [$sExtensionsAdded, $sExtensionsRemoved]; + return [$aExtensionsAdded, $aExtensionsRemoved, $aExtensionsNotUninstallable]; } public function ProcessParams($bMoveForward = true) @@ -1444,13 +1419,13 @@ class WizStepModulesChoice extends WizardStep $this->oWizard->SetParameter('old_addon', true); } - [$sExtensionsAdded, $sExtensionsRemoved] = $this->GetAddedAndRemovedExtensions($aExtensions); - + [$aExtensionsAdded, $aExtensionsRemoved, $aExtensionsNotUninstallable] = $this->GetAddedAndRemovedExtensions($aExtensions); $this->oWizard->SetParameter('selected_modules', json_encode(array_keys($aModules))); $this->oWizard->SetParameter('selected_extensions', json_encode($aExtensions)); $this->oWizard->SetParameter('display_choices', $sDisplayChoices); - $this->oWizard->SetParameter('extensions_added', $sExtensionsAdded); - $this->oWizard->SetParameter('extensions_removed', $sExtensionsRemoved); + $this->oWizard->SetParameter('extensions_added', json_encode($aExtensionsAdded)); + $this->oWizard->SetParameter('extensions_removed', json_encode($aExtensionsRemoved)); + $this->oWizard->SetParameter('extensions_not_uninstallable', json_encode(array_keys($aExtensionsNotUninstallable))); return ['class' => 'WizStepSummary', 'state' => '']; } @@ -2270,10 +2245,39 @@ class WizStepSummary extends WizardStep $oPage->add('
'); $oPage->add('
Extensions to be installed'); - $oPage->add($this->oWizard->GetParameter('extensions_added')); + $aExtensionsAdded = json_decode($this->oWizard->GetParameter('extensions_added'), true); + + $sExtensionsAdded = ''; + if (count($aExtensionsAdded)) { + $sExtensionsAdded = ''; + } else { + $sExtensionsAdded = ''; + } + $oPage->add($sExtensionsAdded); $oPage->add('
'); $oPage->add('
Extensions to be uninstalled'); - $oPage->add($this->oWizard->GetParameter('extensions_removed')); + + $aExtensionsRemoved = json_decode($this->oWizard->GetParameter('extensions_removed'), true); + $aExtensionsNotUninstallable = json_decode($this->oWizard->GetParameter('extensions_not_uninstallable')); + $sExtensionsRemoved = ''; + if (count($aExtensionsRemoved) > 0) { + $sExtensionsRemoved = ''; + } else { + $sExtensionsRemoved = ''; + } + $oPage->add($sExtensionsRemoved); $oPage->add('
'); $oPage->add('
Database Parameters