42 lines
2.3 KiB
PHP
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'; ?>
|