aExtensions = []; $this->aExtensionsByCode = []; $this->aScannedDirs = []; } public static function createFromArray($aExtensions) { $oMap = new static(); foreach ($aExtensions as $sCode => $aExtension) { $oExtension = new iTopExtension(); $oExtension->sCode = $sCode; $oExtension->sLabel = $sCode; $oExtension->bInstalled = $aExtension['installed']; $oExtension->aModules = $aExtension['modules'] ?? []; $oExtension->bCanBeUninstalled = $aExtension['uninstallable'] ?? null; $oExtension->sVersion = $aExtension['version'] ?? '1.0.0'; $oExtension->aModuleInfo = []; $oMap->AddExtension($oExtension); } return $oMap; } }