<?php
/**
 * API Spécifique pour l'authentification (Table Utilisateurs)
 * À installer sur le serveur cPanel dans le dossier api/apiggr/
 * 
 * Ce fichier est autonome pour éviter les problèmes d'inclusion de configuration.
 */

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

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

require_once __DIR__ . '/../config/database.php';

$jsonInput = json_decode(file_get_contents('php://input'), true);
$username = $_REQUEST['username'] ?? $jsonInput['username'] ?? '';
$password = $_REQUEST['password'] ?? $jsonInput['password'] ?? '';

if (empty($username) || empty($password)) {
    echo json_encode(['success' => false, 'message' => 'Nom d\'utilisateur et mot de passe requis']);
    exit;
}

try {
    $db = Database::getInstance();
    
    // Requête sur la table Utilisateurs
    $user = $db->selectOne("SELECT * FROM Utilisateurs WHERE code_utilisateur = ? LIMIT 1", [$username]);
    
    if ($user) {
        // Vérification du mot de passe (comparaison simple comme dans l'original)
        if ($user['mot_de_passe'] === $password) {
            $mappedUser = [
                'id' => $user['id'] ?? $user['code_utilisateur'],
                'username' => $user['code_utilisateur'],
                'role' => $user['role'] ?? 'admin',
                'nom' => $user['nom'] ?? '',
                'prenom' => $user['prenom'] ?? '',
                'NomPrenom' => $user['NomPrenom'] ?? ($user['nom'] ?? '') . ' ' . ($user['prenom'] ?? ''),
                'site' => $user['SiteID'] ?? '',
                'email' => $user['email'] ?? ''
            ];
            
            echo json_encode([
                'success' => true, 
                'message' => 'Connexion réussie',
                'user' => $mappedUser
            ]);
        } else {
            echo json_encode(['success' => false, 'message' => 'Mot de passe incorrect']);
        }
    } else {
        echo json_encode(['success' => false, 'message' => 'Utilisateur non trouvé']);
    }

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