<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type");

// Gère la requête OPTIONS (pré-vol CORS)
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    http_response_code(200);
    exit();
}

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

$host = "192.168.0.4";
$dbname = "DemandeConge";
$username = "wpuser";
$password = "-2b/)ru5/Bi8P[7_";

// Crée une nouvelle connexion à la base de données
$conn = new mysqli($host, $username, $password, $dbname);

// Vérifie la connexion
if ($conn->connect_error) {
    // En cas d'erreur de connexion, renvoie un JSON d'échec
    die(json_encode(["success" => false, "message" => "Erreur de connexion à la base de données : " . $conn->connect_error]));
}

// Récupère les données JSON envoyées via la requête POST
$data = json_decode(file_get_contents('php://input'), true);
$email = $data['email'] ?? '';
$mot_de_passe = $data['mot_de_passe'] ?? '';


$query = "SELECT ID, Prenom, Nom, Email, Role FROM Users WHERE Email = ? AND MDP = ?";
$stmt = $conn->prepare($query);

// Vérifie si la préparation de la requête a réussi
if ($stmt === false) {
    die(json_encode(["success" => false, "message" => "Erreur de préparation de la requête : " . $conn->error]));
}

// Lie les paramètres (ss = string, string pour email et mot_de_passe)
$stmt->bind_param("ss", $email, $mot_de_passe);
$stmt->execute();

// Récupère le résultat de la requête
$result = $stmt->get_result();

// Vérifie si un utilisateur correspondant a été trouvé
if ($result->num_rows === 1) {
    // Récupère la ligne de l'utilisateur sous forme de tableau associatif
    $user = $result->fetch_assoc();
    
    // Renvoie une réponse JSON de succès avec les données de l'utilisateur
    echo json_encode([
        "success" => true,
        "message" => "Connexion réussie.",
        "user" => [ 
            "id" => $user['ID'],      
            "prenom" => $user['Prenom'], 
            "nom" => $user['Nom'],      
            "email" => $user['Email'],
            "role" => $user['Role']
        ]
    ]);
} else {
    // Renvoie une réponse JSON d'échec si les identifiants sont incorrects
    echo json_encode(["success" => false, "message" => "Identifiants incorrects."]);
}

// Ferme la connexion à la base de données
$stmt->close();
$conn->close();
?>