feat: intégration Vision — licence copymail, statut dashboard, clé dans config

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jules
2026-05-06 00:36:24 +02:00
parent 01a0fea7cb
commit a0695e019d
3 changed files with 90 additions and 56 deletions

View File

@@ -2,8 +2,10 @@
require_once __DIR__ . '/../includes/db.php';
require_once __DIR__ . '/../includes/auth.php';
require_once __DIR__ . '/../includes/layout.php';
require_once __DIR__ . '/../includes/vision.php';
admin_check();
$licence = vision_check();
$services = [
'postfix' => ['Postfix (SMTP)', 'bi-envelope-at'],
@@ -38,6 +40,23 @@ html_navbar('status');
<div class="container-fluid">
<h5 class="mb-4"><i class="bi bi-activity me-2"></i>Tableau de bord</h5>
<!-- Statut licence -->
<?php
$lClass = $licence['valid'] ? 'success' : (isset($licence['unconfigured']) ? 'secondary' : 'danger');
if (!empty($licence['degraded'])) $lClass = 'warning';
$lIcon = $licence['valid'] ? 'shield-check' : 'shield-x';
$lText = $licence['valid']
? 'Licence valide — ' . htmlspecialchars($licence['client'] ?? 'CopyMail')
. (!empty($licence['expires']) ? ' — expire le ' . date('d/m/Y', strtotime($licence['expires'])) : '')
: htmlspecialchars($licence['msg'] ?? 'Licence non valide');
?>
<div class="alert alert-<?= $lClass ?> d-flex align-items-center justify-content-between py-2 mb-4">
<span><i class="bi bi-<?= $lIcon ?> me-2"></i><?= $lText ?></span>
<?php if (!$licence['valid'] || isset($licence['unconfigured'])): ?>
<a href="/admin/domain.php" class="btn btn-sm btn-outline-<?= $lClass ?>">Configurer</a>
<?php endif; ?>
</div>
<!-- Stats -->
<div class="row g-3 mb-4">
<div class="col-sm-4">