Bin hier noch eine Rückmeldung schuldig - da war ein Denkfehler drin in der Upgrade.inc.php. Ich bin immer davon ausgegangen, das ein Modul auch in Benutzung ist oder zumindest gewesen ist. In diesem Fall wären DefaultSettings dann schon in der Datenbank. Das diese aber leer ist, hatte ich nicht auf der Rechnung.
Die Änderung in Antwort #10 sorgt nun für die Folgefehler aus deiner letzten Antwort, weil sie einen leeren Array hinterläßt, der im späteren Verlauf als gefüllt vorausgesetzt wird.
Diese Änderung müßte also wieder zurück genommen werden, Zeile 115 sollte dann wieder so aussehen
$selectSettings = (function() use ($database, $sTableName) {
In Zeile 121 muß das $aDefault mit einem false ersetzt werden, also so
return ((\count($aSettings) > 0) ? $aSettings : false);
Habe mittlerweile das Backend zum Modul auf responsive Darstellung umgebaut, benötige aber noch etwas Zeit für ein paar Test's