N°4789 - do not call empty ModuleInstallerAPI class + logs

code style
This commit is contained in:
odain
2025-12-10 16:46:51 +01:00
parent 1ef4462517
commit d33ca81198
2 changed files with 7 additions and 1 deletions

View File

@@ -175,15 +175,21 @@ class ModuleFileReader
}
$sModuleInstallerClass = $aModuleInfo['installer'];
if (strlen($sModuleInstallerClass) === 0) {
return null;
}
if (!class_exists($sModuleInstallerClass)) {
$sModuleFilePath = $aModuleInfo['module_file_path'];
$this->ReadModuleFileInformationUnsafe($sModuleFilePath);
}
if (!class_exists($sModuleInstallerClass)) {
\IssueLog::Error(__METHOD__, null, $aModuleInfo);
throw new CoreException("Wrong installer class: '$sModuleInstallerClass' is not a PHP class - Module: ".$aModuleInfo['label']);
}
if (!is_subclass_of($sModuleInstallerClass, 'ModuleInstallerAPI')) {
\IssueLog::Error(__METHOD__, null, $aModuleInfo);
throw new CoreException("Wrong installer class: '$sModuleInstallerClass' is not derived from 'ModuleInstallerAPI' - Module: ".$aModuleInfo['label']);
}

View File

@@ -915,7 +915,7 @@ class RunTimeEnvironment
* @param bool $bSampleData Wether or not to load sample data
* @param null|string[] $aSelectedModules List of selected modules
*/
public function LoadData($aAvailableModules, $bSampleData, $aSelectedModules=null)
public function LoadData($aAvailableModules, $bSampleData, $aSelectedModules = null)
{
$oDataLoader = new XMLDataLoader();