<?php
// Fichier: install.php
require 'includes/db.php';

echo "<h1>Installation de Naïta en cours...</h1>";

try {
    // 1. Table ENTREPRISES (Les CSE)
    $pdo->exec("CREATE TABLE IF NOT EXISTS entreprises (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nom TEXT NOT NULL,
        code_client TEXT UNIQUE,
        adresse_livraison TEXT,
        email_contact TEXT,
        pourcentage_cagnotte REAL DEFAULT 0.05
    )");
    echo "✅ Table 'entreprises' créée.<br>";

    // 2. Table UTILISATEURS (Comptes de connexion)
    $pdo->exec("CREATE TABLE IF NOT EXISTS utilisateurs (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        entreprise_id INTEGER,
        email TEXT UNIQUE NOT NULL,
        mot_de_passe_hash TEXT,
        role TEXT,
        nom TEXT,
        prenom TEXT,
        FOREIGN KEY(entreprise_id) REFERENCES entreprises(id)
    )");
    echo "✅ Table 'utilisateurs' créée.<br>";

    // 3. Table BENEFICIAIRES (Les salariés)
    $pdo->exec("CREATE TABLE IF NOT EXISTS beneficiaires (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        entreprise_id INTEGER,
        nom TEXT NOT NULL,
        prenom TEXT NOT NULL,
        email TEXT,
        telephone TEXT,
        FOREIGN KEY(entreprise_id) REFERENCES entreprises(id)
    )");
    echo "✅ Table 'beneficiaires' créée.<br>";

    // 4. Table PRODUITS
    $pdo->exec("CREATE TABLE IF NOT EXISTS produits (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        reference TEXT UNIQUE,
        nom TEXT NOT NULL,
        description TEXT,
        prix_unitaire REAL NOT NULL,
        tva REAL DEFAULT 20.0,
        actif BOOLEAN DEFAULT 1
    )");
    echo "✅ Table 'produits' créée.<br>";

    // 5. Table CAMPAGNES
    $pdo->exec("CREATE TABLE IF NOT EXISTS campagnes (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        entreprise_id INTEGER,
        nom TEXT,
        date_debut DATETIME,
        date_fin DATETIME,
        date_livraison_estimee DATETIME,
        statut TEXT,
        FOREIGN KEY(entreprise_id) REFERENCES entreprises(id)
    )");
    echo "✅ Table 'campagnes' créée.<br>";

    // 6. Table COMMANDES
    $pdo->exec("CREATE TABLE IF NOT EXISTS commandes (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        reference TEXT UNIQUE,
        campagne_id INTEGER,
        beneficiaire_id INTEGER,
        createur_id INTEGER,
        date_creation DATETIME DEFAULT CURRENT_TIMESTAMP,
        statut TEXT DEFAULT 'EN_ATTENTE',
        total_ttc REAL DEFAULT 0,
        FOREIGN KEY(campagne_id) REFERENCES campagnes(id),
        FOREIGN KEY(beneficiaire_id) REFERENCES beneficiaires(id),
        FOREIGN KEY(createur_id) REFERENCES utilisateurs(id)
    )");
    echo "✅ Table 'commandes' créée.<br>";

    // 7. Table LIGNES_COMMANDE (Détails)
    $pdo->exec("CREATE TABLE IF NOT EXISTS lignes_commande (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        commande_id INTEGER,
        produit_id INTEGER,
        quantite INTEGER,
        prix_unitaire_facture REAL,
        nom_produit_historique TEXT,
        FOREIGN KEY(commande_id) REFERENCES commandes(id),
        FOREIGN KEY(produit_id) REFERENCES produits(id)
    )");
    echo "✅ Table 'lignes_commande' créée.<br>";

    // 8. Table MOUVEMENTS_CAGNOTTE
    $pdo->exec("CREATE TABLE IF NOT EXISTS mouvements_cagnotte (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        entreprise_id INTEGER,
        campagne_id INTEGER,
        montant REAL,
        description TEXT,
        date_mouvement DATETIME DEFAULT CURRENT_TIMESTAMP,
        FOREIGN KEY(entreprise_id) REFERENCES entreprises(id)
    )");
    echo "✅ Table 'mouvements_cagnotte' créée.<br>";

    // --- AJOUT DE DONNÉES DE TEST ---

    // Création de l'Administrateur (Vous)
    // Mot de passe temporaire : 'admin123'
    $password = password_hash("admin123", PASSWORD_DEFAULT);
    $check = $pdo->query("SELECT count(*) FROM utilisateurs WHERE email='admin@naita.fr'")->fetchColumn();
    
    if ($check == 0) {
        $sql = "INSERT INTO utilisateurs (email, mot_de_passe_hash, role, nom, prenom) VALUES (?, ?, ?, ?, ?)";
        $stmt = $pdo->prepare($sql);
        $stmt->execute(['admin@naita.fr', $password, 'SUPER_ADMIN', 'Admin', 'Naïta']);
        echo "👤 Compte ADMIN créé (Login: admin@naita.fr / Pass: admin123)<br>";
    }

    // Création d'un CSE de test
    $checkCse = $pdo->query("SELECT count(*) FROM entreprises WHERE code_client='DEMO01'")->fetchColumn();
    if ($checkCse == 0) {
        $pdo->exec("INSERT INTO entreprises (nom, code_client, adresse_livraison) VALUES ('CSE DEMO', 'DEMO01', '1 rue de la Paix, Paris')");
        echo "🏢 Entreprise 'CSE DEMO' créée.<br>";
    }
    
    echo "<hr><h3>🎉 Succès ! La base de données est prête.</h3>";
    echo "<a href='index.php'>Accéder à l'accueil</a>";

} catch (PDOException $e) {
    echo "❌ Erreur lors de l'installation : " . $e->getMessage();
}
?>