yyxx
This commit is contained in:
@@ -5,6 +5,8 @@ $error = null;
|
||||
$notice = null;
|
||||
$testGroup = null;
|
||||
$dbTestMessages = [];
|
||||
$nexusDebugSettings = modules()->settings(nexus_debug_settings_key());
|
||||
$nexusDebugEnabled = !empty($nexusDebugSettings['enabled']);
|
||||
|
||||
require_admin();
|
||||
|
||||
@@ -15,21 +17,6 @@ if (!$module) {
|
||||
}
|
||||
|
||||
$fields = (array)($module['setup']['fields'] ?? []);
|
||||
$hasGlobalDebugField = false;
|
||||
foreach ($fields as $field) {
|
||||
if ((string)($field['name'] ?? '') === 'debug_enabled') {
|
||||
$hasGlobalDebugField = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$hasGlobalDebugField) {
|
||||
$fields[] = [
|
||||
'name' => 'debug_enabled',
|
||||
'label' => 'Modul-Debug aktivieren',
|
||||
'type' => 'checkbox',
|
||||
'help' => 'Wenn aktiv, darf das Modul Debug-Daten sammeln und den Debug-Bereich anzeigen.',
|
||||
];
|
||||
}
|
||||
$fieldTypes = [];
|
||||
$fieldMeta = [];
|
||||
foreach ($fields as $field) {
|
||||
@@ -416,6 +403,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$isSchedulerAutosave = isset($_POST['scheduler_autosave']) && (string) $_POST['scheduler_autosave'] === '1';
|
||||
$isSchedulerTest = isset($_POST['scheduler_test']) && (string) $_POST['scheduler_test'] === '1';
|
||||
$payload = [];
|
||||
$nexusDebugEnabled = isset($_POST['nexus_debug_enabled']);
|
||||
|
||||
if ($isSchedulerAutosave || $isSchedulerTest) {
|
||||
if ($cronTaskDefinitions !== []) {
|
||||
@@ -576,13 +564,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
}
|
||||
} else {
|
||||
modules()->saveSettings($moduleName, $current);
|
||||
modules()->saveSettings(nexus_debug_settings_key(), ['enabled' => $nexusDebugEnabled]);
|
||||
if ($isFxRatesSetup && modules()->hasFunction($moduleName, 'save_runtime_settings')) {
|
||||
module_fn($moduleName, 'save_runtime_settings', $payload);
|
||||
$current = modules()->settings($moduleName);
|
||||
}
|
||||
$refreshSchedulerState();
|
||||
if (empty($payload['debug_enabled'])) {
|
||||
module_debug_clear($moduleName);
|
||||
if (!$nexusDebugEnabled) {
|
||||
nexus_debug_clear();
|
||||
}
|
||||
$notice = 'Setup gespeichert.';
|
||||
$module = modules()->get($moduleName) ?: $module;
|
||||
@@ -616,6 +605,22 @@ $activeDbGroup = $testGroup !== null && array_key_exists($testGroup, $dbGroups)
|
||||
<option value="<?= e((string) $timezoneOption['value']) ?>"><?= e((string) $timezoneOption['label']) ?></option>
|
||||
<?php endforeach; ?>
|
||||
</datalist>
|
||||
<section class="setup-panel">
|
||||
<div class="setup-panel__head">
|
||||
<div>
|
||||
<span class="pill">Nexus</span>
|
||||
<h2>Debug</h2>
|
||||
<p class="muted">Aktiviert das projektweite Debug-Popup. Sichtbar und nutzbar nur fuer Benutzer aus der Admin-Gruppe `appadmin`.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="setup-grid">
|
||||
<label class="setup-field muted">
|
||||
<span>Globales Debug aktivieren</span>
|
||||
<input type="checkbox" name="nexus_debug_enabled" value="1" <?= $nexusDebugEnabled ? 'checked' : '' ?>>
|
||||
<small class="muted">Wenn aktiv, sammelt Nexus sitzungsbezogene Debug-Eintraege projektweit und zeigt sie ueber den Bug-Button als Popup an.</small>
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
<?php if ($isFxRatesSetup): ?>
|
||||
<?php
|
||||
$fxCatalog = is_array($current['currency_catalog'] ?? null) ? $current['currency_catalog'] : [];
|
||||
@@ -776,11 +781,6 @@ $activeDbGroup = $testGroup !== null && array_key_exists($testGroup, $dbGroups)
|
||||
<small class="muted">Letzter Sync: <?= e((string) $current['currency_catalog_synced_at']) ?></small>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<label class="setup-field muted">
|
||||
<span>Modul-Debug aktivieren</span>
|
||||
<input type="checkbox" name="debug_enabled" value="1" <?= !empty($current['debug_enabled']) ? 'checked' : '' ?>>
|
||||
<small class="muted">Wenn aktiv, darf das Modul Debug-Daten sammeln und den Debug-Bereich anzeigen.</small>
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user