<?php
include 'config/connexion.php';

echo "<h3>Migration des logs vers le nouveau système avec compagnie_ref</h3>";

try {
    // Récupérer la compagnie_ref
    $compagnieStmt = $pdo->prepare("SELECT compagnie_ref FROM compagnie_table LIMIT 1");
    $compagnieStmt->execute();
    $compagnie = $compagnieStmt->fetch(PDO::FETCH_ASSOC);
    
    $compagnieRef = ($compagnie && !empty($compagnie['compagnie_ref'])) ? $compagnie['compagnie_ref'] : '123456';
    
    echo "🏢 Référence de compagnie : <strong>" . htmlspecialchars($compagnieRef) . "</strong><br><br>";
    
    $oldLogPath = 'data/123456/journal.log';
    $newLogDir = 'data/' . $compagnieRef;
    $newLogPath = $newLogDir . '/journal.log';
    
    echo "<h4>Étape 1 : Vérification des fichiers</h4>";
    
    if (file_exists($oldLogPath)) {
        echo "✅ Ancien fichier trouvé : <strong>" . $oldLogPath . "</strong><br>";
        
        $lineCount = count(file($oldLogPath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
        echo "📄 Nombre d'entrées : $lineCount<br><br>";
        
        // Si la compagnie_ref est différente de 123456, faire la migration
        if ($compagnieRef !== '123456') {
            echo "<h4>Étape 2 : Migration nécessaire</h4>";
            
            // Créer le nouveau dossier s'il n'existe pas
            if (!is_dir($newLogDir)) {
                if (mkdir($newLogDir, 0755, true)) {
                    echo "✅ Dossier créé : <strong>" . $newLogDir . "</strong><br>";
                } else {
                    echo "❌ Impossible de créer le dossier : " . $newLogDir . "<br>";
                    exit;
                }
            } else {
                echo "✅ Dossier existe déjà : <strong>" . $newLogDir . "</strong><br>";
            }
            
            // Copier le fichier
            if (copy($oldLogPath, $newLogPath)) {
                echo "✅ Fichier copié vers : <strong>" . $newLogPath . "</strong><br>";
                
                // Vérifier que la copie s'est bien passée
                if (file_exists($newLogPath)) {
                    $newLineCount = count(file($newLogPath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
                    if ($newLineCount === $lineCount) {
                        echo "✅ Vérification réussie : $newLineCount entrées copiées<br>";
                        
                        // Optionnel : supprimer l'ancien fichier
                        echo "<br><div style='padding: 10px; background: #fff3cd; border: 1px solid #ffeaa7; border-radius: 5px;'>";
                        echo "⚠️ L'ancien fichier <strong>" . $oldLogPath . "</strong> peut maintenant être supprimé.<br>";
                        echo "Le nouveau système utilisera automatiquement <strong>" . $newLogPath . "</strong>";
                        echo "</div>";
                    } else {
                        echo "❌ Erreur de copie : nombre d'entrées différent<br>";
                    }
                } else {
                    echo "❌ Le fichier copié n'existe pas<br>";
                }
            } else {
                echo "❌ Impossible de copier le fichier<br>";
            }
        } else {
            echo "<h4>Étape 2 : Aucune migration nécessaire</h4>";
            echo "✅ La compagnie_ref est déjà '123456', aucune action requise<br>";
        }
    } else {
        echo "⚠️ Aucun ancien fichier de log trouvé : <strong>" . $oldLogPath . "</strong><br>";
        echo "Le système créera automatiquement le nouveau fichier lors de la première modification<br>";
    }
    
    echo "<br><h4>Étape 3 : État final</h4>";
    echo "📁 Nouveau chemin des logs : <strong>" . $newLogPath . "</strong><br>";
    
    if (file_exists($newLogPath)) {
        $finalLineCount = count(file($newLogPath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
        echo "✅ Fichier actif avec $finalLineCount entrées<br>";
    } else {
        echo "ℹ️ Le fichier sera créé automatiquement lors de la première modification<br>";
    }
    
    echo "<br><div style='padding: 10px; background: #d4edda; border: 1px solid #c3e6cb; border-radius: 5px;'>";
    echo "<strong>✅ Migration terminée</strong><br>";
    echo "Le système utilise maintenant le chemin dynamique basé sur compagnie_ref<br>";
    echo "<a href='view_logs.php' style='color: #155724;'>📋 Voir le journal des modifications</a>";
    echo "</div>";
    
} catch (PDOException $e) {
    echo "❌ Erreur de base de données : " . htmlspecialchars($e->getMessage());
} catch (Exception $e) {
    echo "❌ Erreur : " . htmlspecialchars($e->getMessage());
}
?>
