<?php
require_once './config.php';

echo '<h1>Mise à jour de la table events</h1>';

try {
    // Ouvrir une connexion directe à la base de données
    $dbFile = __DIR__ . '/database/association.db';
    $db = new PDO('sqlite:' . $dbFile);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // Vérifier si la colonne start_date existe déjà
    $columnsQuery = "PRAGMA table_info(events)";
    $stmt = $db->query($columnsQuery);
    $columns = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    $startDateExists = false;
    foreach ($columns as $column) {
        if ($column['name'] === 'start_date') {
            $startDateExists = true;
            break;
        }
    }
    
    if (!$startDateExists) {
        // Ajouter la colonne start_date
        $alterQuery = "ALTER TABLE events ADD COLUMN start_date DATE DEFAULT NULL";
        $db->exec($alterQuery);
        echo '<div style="color: green;">Colonne start_date ajoutée à la table events.</div>';
        
        // Mettre à jour les enregistrements existants
        $updateQuery = "UPDATE events SET start_date = event_date";
        $db->exec($updateQuery);
        echo '<div style="color: green;">Mise à jour des enregistrements existants réussie.</div>';
    } else {
        echo '<div style="color: blue;">La colonne start_date existe déjà dans la table events.</div>';
    }
    
    // Vérifier la structure de la table après modification
    echo '<h2>Structure de la table events après modification</h2>';
    $stmt = $db->query($columnsQuery);
    $updatedColumns = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo '<table border="1" cellpadding="5" style="border-collapse: collapse;">';
    echo '<tr><th>ID</th><th>Nom</th><th>Type</th><th>Not Null</th><th>Default</th><th>PK</th></tr>';
    
    foreach ($updatedColumns as $column) {
        echo '<tr>';
        echo '<td>' . $column['cid'] . '</td>';
        echo '<td>' . $column['name'] . '</td>';
        echo '<td>' . $column['type'] . '</td>';
        echo '<td>' . $column['notnull'] . '</td>';
        echo '<td>' . $column['dflt_value'] . '</td>';
        echo '<td>' . $column['pk'] . '</td>';
        echo '</tr>';
    }
    
    echo '</table>';
    
    // Vérifier les données dans la table
    $dataQuery = "SELECT id, title, event_date, start_date FROM events LIMIT 10";
    $stmt = $db->query($dataQuery);
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    if (count($rows) > 0) {
        echo '<h2>Données dans la table events (10 premières lignes)</h2>';
        echo '<table border="1" cellpadding="5" style="border-collapse: collapse;">';
        echo '<tr><th>ID</th><th>Titre</th><th>event_date</th><th>start_date</th></tr>';
        
        foreach ($rows as $row) {
            echo '<tr>';
            echo '<td>' . $row['id'] . '</td>';
            echo '<td>' . $row['title'] . '</td>';
            echo '<td>' . $row['event_date'] . '</td>';
            echo '<td>' . $row['start_date'] . '</td>';
            echo '</tr>';
        }
        
        echo '</table>';
    } else {
        echo '<div style="color: blue;">Aucune donnée trouvée dans la table events.</div>';
    }
    
    echo '<h2>Mise à jour terminée avec succès !</h2>';
    echo '<a href="events/index.php" class="btn btn-primary">Aller à la page des événements</a>';
    
} catch (PDOException $e) {
    echo '<div style="color: red; font-weight: bold;">Erreur: ' . $e->getMessage() . '</div>';
}
?>
