<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');

if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    exit(0);
}

require_once 'config.php';

try {
    $date = isset($_GET['date']) ? trim($_GET['date']) : '';

    if (empty($date)) {
        echo json_encode([
            'success' => false,
            'message' => 'Paramètre date manquant'
        ]);
        exit;
    }

    // Récupérer les données administratives pour la date donnée
    // Statistiques par utilisateur pour cette date
    $stmt = $pdo->prepare("
        SELECT
            t.code_utilisateur,
            u.NomPrenom,
            u.NomPrenomAR,
            COUNT(t.numero_ticket) AS ticketCount,
            COALESCE(SUM(t.prix), 0) AS total
        FROM Tickets_Parking t
        LEFT JOIN Utilisateurs u ON t.code_utilisateur = u.code_utilisateur
        WHERE DATE(t.date_heure) = ?
        GROUP BY t.code_utilisateur, u.NomPrenom, u.NomPrenomAR
        ORDER BY ticketCount DESC
    ");
    $stmt->execute([$date]);
    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // Convertir les données au format attendu
    $formattedData = array_map(function($row) {
        return [
            'code_utilisateur' => $row['code_utilisateur'],
            'NomPrenom' => $row['NomPrenom'],
            'NomPrenomAR' => $row['NomPrenomAR'],
            'ticketCount' => intval($row['ticketCount']),
            'total' => floatval($row['total'])
        ];
    }, $data);

    echo json_encode([
        'success' => true,
        'message' => 'Données administratives récupérées',
        'data' => $formattedData
    ]);

} catch (Exception $e) {
    error_log("Erreur get_admin_data: " . $e->getMessage());
    echo json_encode([
        'success' => false,
        'message' => 'Erreur serveur: ' . $e->getMessage()
    ]);
}
?>
