diff --git a/esp_proxmox.php b/esp_proxmox.php index ca508ee..e1ac479 100644 --- a/esp_proxmox.php +++ b/esp_proxmox.php @@ -13,7 +13,7 @@ function pmx_get(): array { [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); return $pdo->query(" SELECT uid, online, blocked, current_broker, last_seen, - brightness, heap, rssi, fw_ver, chip, + brightness, heap, rssi, fw_ver, chip, clock_style, clock_theme, TIMESTAMPDIFF(SECOND, last_seen, NOW()) AS ago_s FROM contadores ORDER BY uid ASC @@ -37,7 +37,21 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($action0 === 'clock_style' || $action0 === 'clock_theme') { $res = pmx_post($_POST); $who = ($_POST['uid'] ?? '') === 'all' ? 'frota toda' : ($_POST['uid'] ?? '?'); - if (!empty($res['ok'])) { $msg = "Relógio atualizado ($who)."; $msgOk = true; } + if (!empty($res['ok'])) { + $msg = "Relógio atualizado ($who)."; $msgOk = true; + // guardar estado no MySQL local p/ os dropdowns refletirem + try { + $pdo = new PDO('mysql:host=localhost;dbname=cagalhao;charset=utf8', + 'master', 'master', [PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION]); + $col = $action0 === 'clock_style' ? 'clock_style' : 'clock_theme'; + $val = $_POST['value'] ?? ''; + if (($_POST['uid'] ?? '') === 'all') { + $pdo->prepare("UPDATE contadores SET $col=?")->execute([$val]); + } else { + $pdo->prepare("UPDATE contadores SET $col=? WHERE uid=?")->execute([$val, $_POST['uid']]); + } + } catch (Throwable $e) { /* estado é cosmético, não falhar por isto */ } + } else { $msg = $res['error'] ?? 'Erro'; $msgOk = false; } $qs = $msgOk ? '?ok='.urlencode($msg) : '?err='.urlencode($msg); header("Location: /esp_proxmox.php$qs"); exit; @@ -165,21 +179,20 @@ ob_start(); - style="background:#1e2733;color:#c9d1d9;border:1px solid #30363d;border-radius:4px;padding:3px 4px;font-size:11px;"> - - - - - + + $sl): ?> + + - style="background:#1e2733;color:#c9d1d9;border:1px solid #30363d;border-radius:4px;padding:3px 4px;font-size:11px;"> - - - - - + + 'Âmbar','verde'=>'Verde','branco'=>'Branco','noite'=>'Noite'] as $tk => $tl): ?> + +