This commit is contained in:
2026-03-05 00:01:46 +01:00
parent c600458959
commit 8a25fef2c3

View File

@@ -13,6 +13,16 @@ if (!$module) {
} }
$fields = (array)($module['setup']['fields'] ?? []); $fields = (array)($module['setup']['fields'] ?? []);
$fieldTypes = [];
$fieldMeta = [];
foreach ($fields as $field) {
$fname = (string)($field['name'] ?? '');
if ($fname === '') {
continue;
}
$fieldTypes[$fname] = (string)($field['type'] ?? 'text');
$fieldMeta[$fname] = $field;
}
$current = modules()->settings($moduleName); $current = modules()->settings($moduleName);
$defaults = $module['db_defaults'] ?? []; $defaults = $module['db_defaults'] ?? [];
if (empty($current['db']) && is_array($defaults)) { if (empty($current['db']) && is_array($defaults)) {
@@ -28,7 +38,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($name === '') { if ($name === '') {
continue; continue;
} }
$type = (string)($field['type'] ?? 'text');
$value = $_POST[$name] ?? null; $value = $_POST[$name] ?? null;
if ($type === 'checkbox') {
$value = isset($_POST[$name]) ? '1' : '0';
}
if (is_array($value)) { if (is_array($value)) {
continue; continue;
} }
@@ -54,7 +69,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
modules()->saveSettings($moduleName, $payload); modules()->saveSettings($moduleName, $payload);
$notice = 'Setup gespeichert.'; $notice = 'Setup gespeichert.';
$current = modules()->settings($moduleName); $current = array_replace_recursive($current, $payload);
} }
?> ?>
<div class="card"> <div class="card">