From d33ca81198698c33c3cb2c55fbe23680580954d2 Mon Sep 17 00:00:00 2001 From: odain Date: Wed, 10 Dec 2025 16:46:51 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B04789=20-=20do=20not=20call=20empty=20Mod?= =?UTF-8?q?uleInstallerAPI=20class=20+=20logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit code style --- setup/modulediscovery/ModuleFileReader.php | 6 ++++++ setup/runtimeenv.class.inc.php | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/setup/modulediscovery/ModuleFileReader.php b/setup/modulediscovery/ModuleFileReader.php index 118f2249a..00cb7158e 100644 --- a/setup/modulediscovery/ModuleFileReader.php +++ b/setup/modulediscovery/ModuleFileReader.php @@ -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']); } diff --git a/setup/runtimeenv.class.inc.php b/setup/runtimeenv.class.inc.php index 3b857dbd1..d57aaeebc 100644 --- a/setup/runtimeenv.class.inc.php +++ b/setup/runtimeenv.class.inc.php @@ -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();