<?php
/**
 * El servidor procesa los archivos TXT que el buque genera
 * Lee archivos de archivos_buque/ y muestra qué recibió
 */

require_once 'config.php';

$carpetaArchivos = __DIR__ . '/archivos_buque/';
$patronArchivos = '*.txt';

echo "===========================================\n";
echo "SERVIDOR: Procesando Archivos del Buque\n";
echo "===========================================\n\n";

// Verificar que la carpeta existe
if (!is_dir($carpetaArchivos)) {
    echo "❌ La carpeta no existe: $carpetaArchivos\n";
    echo "   El buque aún no ha generado archivos.\n";
    exit(1);
}

// Buscar archivos TXT
$archivos = glob($carpetaArchivos . $patronArchivos);

if (empty($archivos)) {
    echo "📭 No se encontraron archivos TXT en: $carpetaArchivos\n";
    echo "   El buque aún no ha generado archivos.\n";
    echo "   Ejecuta primero: php buque_genera_hola.php\n";
    exit(0);
}

echo "📁 Archivos encontrados: " . count($archivos) . "\n\n";

// Procesar cada archivo
foreach ($archivos as $archivo) {
    $nombreArchivo = basename($archivo);
    
    echo "===========================================\n";
    echo "📄 Procesando: $nombreArchivo\n";
    echo "===========================================\n\n";
    
    // Leer contenido completo
    $contenido = file_get_contents($archivo);
    $tamaño = filesize($archivo);
    
    echo "📊 Información del archivo:\n";
    echo "   Tamaño: $tamaño bytes\n";
    echo "   Fecha: " . date('Y-m-d H:i:s', filemtime($archivo)) . "\n\n";
    
    echo "📝 Contenido recibido:\n";
    echo "----------------------------------------\n";
    echo $contenido;
    echo "----------------------------------------\n\n";
    
    // Analizar línea por línea
    $lineas = file($archivo, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    
    echo "📋 Análisis línea por línea:\n\n";
    
    $lineasValidas = 0;
    $lineasInvalidas = 0;
    
    foreach ($lineas as $numLinea => $linea) {
        $numLinea++; // Empezar desde 1
        $linea = trim($linea);
        
        echo "  Línea $numLinea: \"$linea\"\n";
        
        if (empty($linea)) {
            echo "    → Línea vacía (se ignorará)\n\n";
            continue;
        }
        
        if (strpos($linea, '#') === 0) {
            echo "    → Comentario (se ignorará)\n\n";
            continue;
        }
        
        // Verificar formato CSV
        $valores = explode(',', $linea);
        $numValores = count($valores);
        
        echo "    → Valores encontrados: $numValores\n";
        
        if ($numValores < 4) {
            echo "    ❌ Formato inválido (se requiere mínimo 4 valores: temp,hum,pres,api_key)\n";
            echo "    ⚠️  Esta línea NO se procesará\n";
            $lineasInvalidas++;
        } else {
            echo "    ✅ Formato válido\n";
            echo "      1. Temperatura: {$valores[0]}\n";
            echo "      2. Humedad: {$valores[1]}\n";
            echo "      3. Presión: {$valores[2]}\n";
            echo "      4. API KEY: {$valores[3]}\n";
            if (isset($valores[4])) {
                echo "      5. Fecha/Hora: {$valores[4]}\n";
            }
            $lineasValidas++;
        }
        echo "\n";
    }
    
    echo "📊 Resumen del archivo:\n";
    echo "   Líneas válidas: $lineasValidas\n";
    echo "   Líneas inválidas: $lineasInvalidas\n";
    echo "   Total líneas: " . count($lineas) . "\n\n";
    
    if ($lineasValidas > 0) {
        echo "✅ El archivo contiene datos válidos que pueden procesarse\n";
    } else {
        echo "⚠️  El archivo NO contiene datos válidos\n";
        echo "   Ejemplo de formato válido:\n";
        echo "   23.5,60,1012,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:45\n";
    }
    
    echo "\n";
}

echo "===========================================\n";
echo "✅ Procesamiento completado\n";
echo "===========================================\n";
echo "\n";
echo "💡 Nota: Este script solo VERIFICA la recepción.\n";
echo "   Para ENVIAR los datos al servidor, ejecuta:\n";
echo "   php procesar_y_verificar.php\n";

