['Postfix (SMTP)', 'bi-envelope-at'], 'dovecot' => ['Dovecot (IMAP)', 'bi-inbox'], 'smbd' => ['Samba (SMB)', 'bi-folder-symlink'], 'nginx' => ['Nginx (Web)', 'bi-globe'], 'mariadb' => ['MariaDB', 'bi-database'], ]; $statuses = []; foreach ($services as $svc => [$label, $icon]) { $out = shell_exec("systemctl is-active " . escapeshellarg($svc) . " 2>/dev/null"); $statuses[$svc] = ['label' => $label, 'icon' => $icon, 'active' => trim($out) === 'active']; } $stats = [ 'accounts' => (int)db()->query('SELECT COUNT(*) FROM accounts WHERE active=1')->fetchColumn(), 'emails' => (int)db()->query('SELECT COUNT(*) FROM source_file')->fetchColumn(), 'files' => (int)db()->query('SELECT COUNT(*) FROM files')->fetchColumn(), ]; $domain = cfg('domain'); $last5 = db()->query( 'SELECT sf.title, sf.sender, sf.date_processing, a.username FROM source_file sf LEFT JOIN accounts a ON sf.account_id = a.id ORDER BY sf.date_processing DESC LIMIT 5' )->fetchAll(); html_head('Tableau de bord'); html_navbar('status'); ?>
Tableau de bord
Configurer
Comptes actifs
Emails traités
Fichiers extraits
État des services Domaine :
$s): ?>
Derniers courriers reçus
Aucun courrier traité.
DateCompteSujetExpéditeur