diff --git a/setup/modulediscovery.class.inc.php b/setup/modulediscovery.class.inc.php index fff99f9ae..5b9c3b13c 100755 --- a/setup/modulediscovery.class.inc.php +++ b/setup/modulediscovery.class.inc.php @@ -292,10 +292,10 @@ class ModuleDiscovery * * @param $aSearchDirs array of directories to search (absolute paths) * - * @return array A big array moduleID => ModuleData + * @return array A big array moduleID => ModuleData * @throws \Exception */ - public static function GetAllModules($aSearchDirs) + public static function GetAllModules(array $aSearchDirs): array { self::Init($aSearchDirs); diff --git a/setup/moduleinstallation/InstallationChoicesToModuleConverter.php b/setup/moduleinstallation/InstallationChoicesToModuleConverter.php index afb88d939..ac283375f 100644 --- a/setup/moduleinstallation/InstallationChoicesToModuleConverter.php +++ b/setup/moduleinstallation/InstallationChoicesToModuleConverter.php @@ -18,7 +18,7 @@ class InstallationChoicesToModuleConverter { } - final public static function GetInstance(): InstallationChoicesToModuleConverter + public static function GetInstance(): InstallationChoicesToModuleConverter { if (!isset(self::$oInstance)) { self::$oInstance = new InstallationChoicesToModuleConverter(); @@ -33,15 +33,16 @@ class InstallationChoicesToModuleConverter } /** - * @param array $aInstallationChoices - * @param array $aSearchDirs + * @param array $aInstallationChoices + * @param array $aSearchDirs + * @param string|null $sInstallationFilePath * - * @return array + * @return array * @throws \ModuleInstallationException */ public function GetModules(array $aInstallationChoices, array $aSearchDirs, ?string $sInstallationFilePath = null): array { - $aPackageModules = ModuleDiscovery::GetAllModules($aSearchDirs); + $aPackageModules = $this->GetAllModules($aSearchDirs); $bInstallationFileProvided = ! is_null($sInstallationFilePath) && is_file($sInstallationFilePath); @@ -67,6 +68,20 @@ class InstallationChoicesToModuleConverter return $aInstalledModules; } + /** + * Provide all modules used to compute in @see GetModules() + * + * @param $aSearchDirs array of directories to search (absolute paths) + * + * @return array A big array moduleID => ModuleData + * @throws \Exception + */ + protected function GetAllModules(array $aSearchDirs): array + { + + return ModuleDiscovery::GetAllModules($aSearchDirs); + } + private function FindInstalledPackageModules(array $aPackageModules, array $aInstallationChoices, array $aInstallationDescription = null): array { $aInstalledModules = [];