<?php
/**
 * Lance le script de monitoring manuellement depuis l'interface web
 * Utile pour tester sans attendre le Cron
 */
require_once __DIR__ . '/config.php';
requireAuth();

// Vérifier que le script CLI existe
if (!file_exists(MONITOR_SCRIPT)) {
    die("❌ Script de monitoring introuvable : " . htmlspecialchars(MONITOR_SCRIPT));
}

// Exécuter le script et capturer la sortie
$output = [];
$returnCode = 0;

// Utiliser escapeshellcmd pour la sécurité
$command = sprintf(
    '/usr/local/bin/php %s 2>&1',
    escapeshellarg(MONITOR_SCRIPT)
);

exec($command, $output, $returnCode);
$outputText = implode("\n", $output);

// Extraire les informations importantes pour l'affichage
$stats = [
    'total' => substr_count($outputText, '[✅ OK]') + 
              substr_count($outputText, '[⚠️ BLOQUÉ]') + 
              substr_count($outputText, '[🔴 ERREUR]'),
    'ok' => substr_count($outputText, '[✅ OK]'),
    'blocked' => substr_count($outputText, '[⚠️ BLOQUÉ]'),
    'errors' => substr_count($outputText, '[🔴 ERREUR]'),
    'telegram_sent' => substr_count($outputText, '📱 Alert Telegram envoyée'),
];
?>
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>🚀 Exécution - Monitoring</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css" rel="stylesheet">
    <link href="style.css" rel="stylesheet">
    <meta http-equiv="refresh" content="30"> <!-- Auto-refresh toutes les 30s -->
</head>
<body>
    <!-- Navbar -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark shadow">
        <div class="container">
            <a class="navbar-brand" href="index.php">
                <i class="bi bi-speedometer2 me-2"></i>Monitoring Neris
            </a>
            <div class="navbar-nav ms-auto">
                <a class="nav-link" href="index.php"><i class="bi bi-arrow-left me-1"></i>Dashboard</a>
                <a class="nav-link text-warning" href="index.php?logout=1"><i class="bi bi-box-arrow-right me-1"></i>Déconnexion</a>
            </div>
        </div>
    </nav>

    <!-- Contenu -->
    <div class="container py-4">
        <div class="card">
            <div class="card-header bg-white d-flex justify-content-between align-items-center">
                <h5 class="mb-0"><i class="bi bi-play-circle me-2"></i>Résultat de l'exécution</h5>
                <span class="badge bg-secondary">
                    Exécuté le <?= date('d/m/Y H:i:s') ?>
                </span>
            </div>
            <div class="card-body">
                
                <!-- Statistiques -->
                <div class="row text-center mb-4">
                    <div class="col-6 col-md-3">
                        <div class="p-3">
                            <h3 class="text-primary"><?= $stats['total'] ?></h3>
                            <small class="text-muted">Sites vérifiés</small>
                        </div>
                    </div>
                    <div class="col-6 col-md-3">
                        <div class="p-3">
                            <h3 class="text-success"><?= $stats['ok'] ?></h3>
                            <small class="text-muted">✅ En ligne</small>
                        </div>
                    </div>
                    <div class="col-6 col-md-3">
                        <div class="p-3">
                            <h3 class="text-warning"><?= $stats['blocked'] ?></h3>
                            <small class="text-muted">⚠️ Bloqués</small>
                        </div>
                    </div>
                    <div class="col-6 col-md-3">
                        <div class="p-3">
                            <h3 class="text-danger"><?= $stats['errors'] ?></h3>
                            <small class="text-muted">🔴 En erreur</small>
                        </div>
                    </div>
                </div>
                
                <?php if ($stats['telegram_sent'] > 0): ?>
                <div class="alert alert-info alert-custom mb-4">
                    <i class="bi bi-telegram me-2"></i>
                    <strong><?= $stats['telegram_sent'] ?> alerte(s) Telegram envoyée(s)</strong>
                </div>
                <?php endif; ?>
                
                <!-- Sortie brute -->
                <h6 class="mb-2">Sortie du script :</h6>
                <pre class="bg-light p-3 rounded small" style="max-height: 50vh; overflow-y: auto;">
<?php echo htmlspecialchars($outputText); ?>
                </pre>
                
                <!-- Actions -->
                <div class="d-flex gap-2 mt-4">
                    <a href="index.php" class="btn btn-primary">
                        <i class="bi bi-arrow-left me-1"></i>Retour au dashboard
                    </a>
                    <a href="logs.php" class="btn btn-outline-secondary">
                        <i class="bi bi-journal-text me-1"></i>Voir les logs complets
                    </a>
                    <button onclick="location.reload()" class="btn btn-outline-primary">
                        <i class="bi bi-arrow-clockwise me-1"></i>Rafraîchir
                    </button>
                </div>
                
            </div>
        </div>
        
        <!-- Note importante -->
        <div class="alert alert-warning mt-4">
            <i class="bi bi-info-circle me-2"></i>
            <strong>Note :</strong> Cette page exécute le script de monitoring en temps réel. 
            Pour une surveillance continue, assurez-vous que la tâche Cron est bien configurée 
            dans cPanel (toutes les 5 minutes recommandées).
        </div>
    </div>

    <!-- Footer -->
    <footer class="footer text-center py-3">
        <div class="container">
            <small>Exécution manuelle • <?= date('Y') ?></small>
        </div>
    </footer>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>