BastionGuard/webui/prediction.php
specialworld83 f0f913a209 Release 2.0
2026-07-15 10:52:22 +02:00

42 lines
2.3 KiB
PHP

<?php
include 'auth.php';
require_once __DIR__ . '/includes/config_manager.php';
$page_title = 'Prediction - BastionGuard WebUI';
$active_page = 'prediction.php';
$items = bg_prediction_items();
include 'includes/header.php'; include 'includes/sidebar.php';
?>
<div class="page-title">
<div>
<h1>Prediction and diagnostics</h1>
<p>Preventive check of configurations, services, WebUI permissions and BastionGuard components.</p>
</div>
<div class="d-flex gap-2"><a class="btn btn-outline-secondary" href="prediction.php"><i class="bi bi-arrow-clockwise"></i> Refresh</a><a class="btn btn-primary" href="wizard.php"><i class="bi bi-magic"></i> Open wizard</a></div>
</div>
<div class="row g-3 mb-4">
<?php $counts = ['danger'=>0,'warning'=>0,'secondary'=>0,'success'=>0]; foreach($items as $i) { $counts[$i['level']] = ($counts[$i['level']] ?? 0) + 1; } ?>
<div class="col-md-3"><div class="card"><div class="card-body"><div class="small-muted">Critical</div><h3><?= (int)$counts['danger'] ?></h3></div></div></div>
<div class="col-md-3"><div class="card"><div class="card-body"><div class="small-muted">Warnings</div><h3><?= (int)$counts['warning'] ?></h3></div></div></div>
<div class="col-md-3"><div class="card"><div class="card-body"><div class="small-muted">To check</div><h3><?= (int)$counts['secondary'] ?></h3></div></div></div>
<div class="col-md-3"><div class="card"><div class="card-body"><div class="small-muted">OK</div><h3><?= (int)$counts['success'] ?></h3></div></div></div>
</div>
<div class="card"><div class="card-body">
<h5>Check results</h5>
<div class="list-group list-group-flush">
<?php foreach($items as $it): ?>
<div class="list-group-item px-0">
<div class="d-flex align-items-start gap-3">
<span class="badge text-bg-<?= bg_e($it['level']) ?> mt-1"><?= bg_e(strtoupper($it['level'])) ?></span>
<div>
<strong><?= bg_e($it['title']) ?></strong>
<div class="small-muted text-break"><?= bg_e($it['detail']) ?></div>
<?php if(!empty($it['fix'])): ?><div class="mt-1"><span class="badge text-bg-light border">Fix</span> <code><?= bg_e($it['fix']) ?></code></div><?php endif; ?>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div></div>
<?php include 'includes/footer.php'; ?>