From e6cdcd0a5a7f6140470110d4bee055cc751f0f98 Mon Sep 17 00:00:00 2001 From: Eric Espie Date: Wed, 15 Jul 2026 12:09:55 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B09808=20-=20Wrong=20dependency=20when=20m?= =?UTF-8?q?odule=20is=20in=20production-modules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup/setuputils.class.inc.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/setup/setuputils.class.inc.php b/setup/setuputils.class.inc.php index cb2863f783..f26dd9db4f 100644 --- a/setup/setuputils.class.inc.php +++ b/setup/setuputils.class.inc.php @@ -1661,11 +1661,14 @@ JS $aAvailableModules = $oProductionEnv->AnalyzeInstallation($oConfig, $aDirsToScan, $bAbortOnMissingDependency, $aModulesToLoad); - foreach ($aAvailableModules as $key => $aModule) { - $bIsExtra = (array_key_exists('root_dir', $aModule) && (strpos($aModule['root_dir'], $sExtraDir) !== false)); // Some modules (root, datamodel) have no 'root_dir' - if ($bIsExtra) { - // Modules in data/production-modules/ are considered as mandatory and always installed - $aAvailableModules[$key]['visible'] = false; + $bRemoteExtensionsShouldBeMandatory = !$oWizard->GetParameter('force-uninstall', false); + if ($bRemoteExtensionsShouldBeMandatory) { + foreach ($aAvailableModules as $key => $aModule) { + $bIsExtra = (array_key_exists('root_dir', $aModule) && (strpos($aModule['root_dir'], $sExtraDir) !== false)); // Some modules (root, datamodel) have no 'root_dir' + if ($bIsExtra) { + // Modules in data/production-modules/ are considered as mandatory and always installed + $aAvailableModules[$key]['visible'] = false; + } } }