mirror of
https://github.com/Combodo/iTop.git
synced 2026-06-15 12:32:16 +02:00
Compare commits
3 Commits
feature/89
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3e38e349e5 | ||
|
|
65b58ec4e2 | ||
|
|
6a20e36434 |
@@ -182,7 +182,7 @@ class ExtensionDetails extends UIContentBlock
|
|||||||
$sName = 'aSelectedExtensions['.$this->GetCode().']';
|
$sName = 'aSelectedExtensions['.$this->GetCode().']';
|
||||||
$this->oToggler = new Toggler();
|
$this->oToggler = new Toggler();
|
||||||
$this->oToggler->SetName($sName);
|
$this->oToggler->SetName($sName);
|
||||||
$this->oToggler->SetTooltip(Dict::Format('UI:Layout:ExtensionsDetails:TogglerTooltip' ,$this->GetLabel()));
|
$this->oToggler->SetTooltip(Dict::Format('UI:Layout:ExtensionsDetails:TogglerTooltip', $this->GetLabel()));
|
||||||
$this->oToggler->AddCSSClass('toggler-install');
|
$this->oToggler->AddCSSClass('toggler-install');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,6 @@ require_once(dirname(__DIR__, 6).'/approot.inc.php');
|
|||||||
require_once(APPROOT.'application/startup.inc.php');
|
require_once(APPROOT.'application/startup.inc.php');
|
||||||
require_once(APPROOT.'setup/setuputils.class.inc.php');
|
require_once(APPROOT.'setup/setuputils.class.inc.php');
|
||||||
|
|
||||||
$aParams = [
|
|
||||||
"exec_module" => "combodo-data-feature-removal",
|
|
||||||
"exec_page" => "index.php",
|
|
||||||
'exec_env' => 'production',
|
|
||||||
];
|
|
||||||
|
|
||||||
new ContextTag(ContextTag::TAG_SETUP);
|
new ContextTag(ContextTag::TAG_SETUP);
|
||||||
$sToken = SetupUtils::CreateSetupToken();
|
$sToken = SetupUtils::CreateSetupToken();
|
||||||
|
|
||||||
@@ -34,24 +28,45 @@ function GetLastestInstallFile(): ?string
|
|||||||
return $sLastFilePath;
|
return $sLastFilePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
$aRemovedExtensions = [
|
|
||||||
'itop-container-mgmt' => 'Containerization',
|
|
||||||
];
|
|
||||||
|
|
||||||
$sPath = GetLastestInstallFile();
|
$sPath = GetLastestInstallFile();
|
||||||
if (is_null($sPath)) {
|
if (is_null($sPath)) {
|
||||||
throw new Exception("$sPath no installation XM. Launch a setup....");
|
throw new Exception("$sPath no installation XML. Launch a setup....");
|
||||||
}
|
}
|
||||||
$aParams = new XMLParameters($sPath);
|
$aParams = new XMLParameters($sPath);
|
||||||
$aSelectedModules = array_filter($aParams->Get('selected_modules', []), static function ($element) {
|
$aSelectedModules = $aParams->Get('selected_modules', []);
|
||||||
global $aRemovedExtensions;
|
$aSelectedExtensions = $aParams->Get('selected_extensions', []);
|
||||||
return ! array_key_exists($element, $aRemovedExtensions);
|
|
||||||
});
|
|
||||||
|
|
||||||
$aSelectedExtensions = array_filter($aParams->Get('selected_extensions', []), static function ($element) {
|
$sAddedExtensions = utils::ReadParam('added_extensions', '');
|
||||||
global $aRemovedExtensions;
|
$aAddedExtensions = [];
|
||||||
return ! array_key_exists($element, $aRemovedExtensions);
|
if (mb_strlen($sAddedExtensions) > 0) {
|
||||||
});
|
$aAddedExtensions = explode(',', $sAddedExtensions);
|
||||||
|
}
|
||||||
|
$oExtensionMap = new iTopExtensionsMap();
|
||||||
|
foreach ($aAddedExtensions as $sExtensionCode) {
|
||||||
|
if (mb_strlen($sExtensionCode) <= 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$oExtension = $oExtensionMap->GetFromExtensionCode($sExtensionCode);
|
||||||
|
$aSelectedExtensions[] = $oExtension->sCode;
|
||||||
|
foreach ($oExtension->aModules as $sModuleCode) {
|
||||||
|
if (!in_array($sModuleCode, $aSelectedModules)) {
|
||||||
|
$aSelectedModules[] = $sModuleCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sRemovedExtensions = utils::ReadParam('removed_modules', '', false, 'raw');
|
||||||
|
$aRemovedExtensionsAndModules = [];
|
||||||
|
if (mb_strlen($sRemovedExtensions) > 0) {
|
||||||
|
$aRemovedExtensionsAndModules = explode(',', $sRemovedExtensions);
|
||||||
|
}
|
||||||
|
|
||||||
|
$aSelectedModules = array_filter($aSelectedModules, fn ($element) => !in_array($element, $aRemovedExtensionsAndModules));
|
||||||
|
$aSelectedExtensions = array_filter($aSelectedExtensions, fn ($element) => !in_array($element, $aRemovedExtensionsAndModules));
|
||||||
|
$aRemovedExtensionsAndModules = array_filter($aRemovedExtensionsAndModules, fn ($element) => !is_null($oExtensionMap->GetFromExtensionCode($element)));
|
||||||
|
|
||||||
|
$aRemovedExtensions = array_combine($aRemovedExtensionsAndModules, $aRemovedExtensionsAndModules);
|
||||||
|
$aAddedExtensions = array_combine($aAddedExtensions, $aAddedExtensions);
|
||||||
|
|
||||||
$aPostParams = [
|
$aPostParams = [
|
||||||
"auth_user" => 'admin',
|
"auth_user" => 'admin',
|
||||||
@@ -62,8 +77,9 @@ $aPostParams = [
|
|||||||
'selected_modules' => utils::HtmlEntities(json_encode($aSelectedModules)),
|
'selected_modules' => utils::HtmlEntities(json_encode($aSelectedModules)),
|
||||||
'selected_extensions' => utils::HtmlEntities(json_encode($aSelectedExtensions)),
|
'selected_extensions' => utils::HtmlEntities(json_encode($aSelectedExtensions)),
|
||||||
'removed_extensions' => utils::HtmlEntities(json_encode($aRemovedExtensions)),
|
'removed_extensions' => utils::HtmlEntities(json_encode($aRemovedExtensions)),
|
||||||
'force-uninstall' => "on",
|
'added_extensions' => utils::HtmlEntities(json_encode($aAddedExtensions)),
|
||||||
'use_symbolic_links' => "",
|
'force-uninstall' => 'on',
|
||||||
|
'use_symbolic_links' => '',
|
||||||
];
|
];
|
||||||
|
|
||||||
$sHiddenPostedInput = "";
|
$sHiddenPostedInput = "";
|
||||||
|
|||||||
Reference in New Issue
Block a user