<?php
session_start();
require_once 'db.php';

header('Content-Type: application/json');

$user_id = $_SESSION['user_id'] ?? null;
if (!$user_id) {
    echo json_encode(['error' => 'Veuillez vous connecter pour noter.']);
    exit;
}

$data = json_decode(file_get_contents('php://input'), true);
$parc_id = isset($data['parc_id']) ? intval($data['parc_id']) : 0;
$note = isset($data['note']) ? intval($data['note']) : 0;

if ($parc_id > 0 && $note >= 1 && $note <= 5) {
    try {
        // Enregistre ou met à jour la note de l'utilisateur sur ce parc
        $stmt = $pdo->prepare("INSERT INTO parc_notes (parc_id, user_id, note) VALUES (?, ?, ?) 
                               ON DUPLICATE KEY UPDATE note = ?");
        $stmt->execute([$parc_id, $user_id, $note, $note]);

        // Calcule la nouvelle moyenne globale du parc en direct
        $stmtM = $pdo->prepare("SELECT AVG(note) as moyenne, COUNT(id) as total FROM parc_notes WHERE parc_id = ?");
        $stmtM->execute([$parc_id]);
        $stats = $stmtM->fetch();

        echo json_encode([
            'success' => true,
            'nouvelle_moyenne' => number_format($stats['moyenne'], 1),
            'total_votes' => $stats['total']
        ]);
        exit;
    } catch (PDOException $e) {
        echo json_encode(['error' => 'Erreur lors du traitement : ' . $e->getMessage()]);
        exit;
    }
}
echo json_encode(['error' => 'Données incorrectes.']);