N°9998 Small refactor

This commit is contained in:
Timmy38
2026-08-28 11:55:01 +02:00
parent b5f85a9d5f
commit bcb32430dc

View File

@@ -208,18 +208,15 @@ class iTopExtensionsMap
*/
protected function AddExtension(iTopExtension $oNewExtension)
{
foreach ($this->aExtensions as $key => $oExtension) {
if ($oExtension->sCode == $oNewExtension->sCode) {
if (version_compare($oNewExtension->sVersion, $oExtension->sVersion, '>')) {
// This "new" extension is "newer" than the previous one, let's replace the previous one
unset($this->aExtensions[$key]);
$this->aExtensions[$oNewExtension->sCode.'/'.$oNewExtension->sVersion] = $oNewExtension;
$this->aExtensionsByCode[$oNewExtension->sCode] = $oNewExtension;
return;
} else {
// This "new" extension is not "newer" than the previous one, let's ignore it
return;
}
$oExtension = $this->GetFromExtensionCode($oNewExtension->sCode);
if (!is_null($oExtension)) {
if (version_compare($oNewExtension->sVersion, $oExtension->sVersion, '>') || $oExtension->bRemovedFromDisk) {
// This "new" extension is "newer" than the previous one, let's replace the previous one
// We should also replace the previous extension if it has been removed from disk
unset($this->aExtensions[$oExtension->sCode.'/'.$oExtension->sVersion]);
} else {
// This "new" extension is not "newer" than the previous one, let's ignore it
return;
}
}
// Finally it's not a duplicate, let's add it to the list