55 lines
2.8 KiB
PHP
55 lines
2.8 KiB
PHP
<?php /** @var Zentrale\Ansicht $v */ ?>
|
||
<div class="titelzeile">
|
||
<h1>Installationen</h1>
|
||
<form method="post" action="/fassung" class="neueste">
|
||
<?= $v->csrf() ?>
|
||
<span>Neueste Fassung: <strong><?= null === $neueste ? 'unbekannt' : $v->e($neueste['version']) ?></strong></span>
|
||
<button type="submit" class="knopf knopf-leise">Neu abfragen</button>
|
||
</form>
|
||
</div>
|
||
|
||
<?php
|
||
$kacheln = [
|
||
null => ['', 'gesamt', $zahlen['alle']],
|
||
'aktuell' => ['z-ok', 'aktuell', $zahlen['aktuell'] ?? '–'],
|
||
'veraltet' => ['z-warn', 'veraltet', $zahlen['veraltet']],
|
||
'still' => ['z-still', 'ohne Meldung seit 48 h', $zahlen['still']],
|
||
'unbekannt' => ['z-fremd', 'ohne Kundenzuordnung', $zahlen['unbekannt']],
|
||
];
|
||
?>
|
||
<nav aria-label="Nach Zustand filtern">
|
||
<ul class="zahlen">
|
||
<?php foreach ($kacheln as $name => [$klasse, $text, $zahl]) { $aktiv = ($filter ?? '') === $name; ?>
|
||
<li class="<?= $klasse ?><?= $aktiv ? ' gewaehlt' : '' ?>"><a href="<?= $v->e($v->adresse(['q' => $suche, 'filter' => '' === $name ? null : $name])) ?>"<?= $aktiv ? ' aria-current="true"' : '' ?>><strong><?= $v->e($zahl) ?></strong> <?= $v->e($text) ?></a></li>
|
||
<?php } ?>
|
||
</ul>
|
||
</nav>
|
||
|
||
<?php if ([] !== $aktualisierbar && null !== $neueste) { ?>
|
||
<form method="post" action="/auftrag/alle" class="karte alle">
|
||
<?= $v->csrf() ?>
|
||
<div>
|
||
<h2>Alle auf <?= $v->e($neueste['version']) ?> aktualisieren</h2>
|
||
<?php $namen = array_column($aktualisierbar, 'domain'); ?>
|
||
<p><?= count($aktualisierbar) ?> Installation(en): <?= $v->e(implode(', ', array_slice($namen, 0, 8))) ?><?= count($namen) > 8 ? ' und '.(count($namen) - 8).' weitere' : '' ?>. Jede holt den Auftrag mit ihrer nächsten Meldung ab, sichert sich vorher und schaltet bei einem Fehler zurück.</p>
|
||
<label class="bestaetigen"><input type="checkbox" name="bestaetigt" value="ja" required> Ja, alle <?= count($aktualisierbar) ?> aktualisieren</label>
|
||
</div>
|
||
<button type="submit" class="knopf">Alle aktualisieren</button>
|
||
</form>
|
||
<?php } ?>
|
||
|
||
<?php if ($zahlen['alle'] > 0) { ?>
|
||
<form method="get" action="/" class="suche" role="search">
|
||
<?php if (null !== $filter) { ?><input type="hidden" name="filter" value="<?= $v->e($filter) ?>"><?php } ?>
|
||
<label for="q">Suchen</label>
|
||
<div class="suche-zeile">
|
||
<input id="q" name="q" type="search" value="<?= $v->e($suche) ?>" placeholder="Domain, Kunde, Fassung oder IP" autocomplete="off" aria-describedby="treffer" aria-controls="liste">
|
||
<button type="submit" class="knopf">Suchen</button>
|
||
<a class="knopf knopf-leise zuruecksetzen" href="/"<?= '' === $suche && null === $filter ? ' hidden' : '' ?>>Zurücksetzen</a>
|
||
</div>
|
||
<p class="klein" id="treffer" role="status"><?= $v->e($trefferText) ?></p>
|
||
</form>
|
||
<?php } ?>
|
||
|
||
<?php require __DIR__.'/_liste.php'; ?>
|