<?php

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Authorization");

header('Content-Type: application/json');

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: 0");

$documentRoot = realpath(__DIR__ . '/../..');
$logFilePDF = $documentRoot . "/php/api/log_pdf.json";
$logFileRHB = $documentRoot . "/php/api/log_rhb.json";

//$logFilePDF = '/var/www/vhosts/cst.cat/subdomains/pefir/httpdocs/php/api/log_pdf.json';
//$logFileRHB = '/var/www/vhosts/cst.cat/subdomains/pefir/httpdocs/php/api/log_rhb.json';

// Obtener el número que se usará para eliminar un registro (pasado como parámetro GET)
$uniqueNumber = isset($_GET['uniqueNumber']) ? (int)$_GET['uniqueNumber'] : null;

if ($uniqueNumber === null) {
    echo json_encode(['status' => 'error', 'message' => 'No se proporcionó un número para eliminar.']);
    exit;
}

// Procesar el archivo log_pdf.json
if (file_exists($logFilePDF)) {
    $jsonContentPDF = file_get_contents($logFilePDF);
    $logsPDF = json_decode($jsonContentPDF, true);

    if ($logsPDF === null) {
        echo json_encode(['status' => 'error', 'message' => 'No se pudo decodificar el archivo de log PDF.']);
        exit;
    }

    // Encontrar el registro en log_pdf.json
    $registroEncontrado = null;
    foreach ($logsPDF as $log) {
        if (isset($log['uniqueNumber']) && (int)$log['uniqueNumber'] === $uniqueNumber) {
            $registroEncontrado = $log;
            break;
        }
    }

    if ($registroEncontrado !== null) {
        $pdfNom = $registroEncontrado['pdf_nom'];

        // Filtrar y eliminar el registro del archivo log_pdf.json
        $logsPDF = array_filter($logsPDF, function($log) use ($uniqueNumber) {
            return (int)$log['uniqueNumber'] !== $uniqueNumber;
        });

        if (file_put_contents($logFilePDF, json_encode(array_values($logsPDF), JSON_PRETTY_PRINT))) {
            // Procesar el archivo log_rhb.json
            if (file_exists($logFileRHB)) {
                $jsonContentRHB = file_get_contents($logFileRHB);
                $logsRHB = json_decode($jsonContentRHB, true);

                if ($logsRHB !== null) {
                    // Filtrar y eliminar registros con el mismo pdf_nom en log_rhb.json
                    $logsRHB = array_filter($logsRHB, function($log) use ($pdfNom) {
                        return isset($log['pdf_nom']) && $log['pdf_nom'] !== $pdfNom;
                    });

                    if (file_put_contents($logFileRHB, json_encode(array_values($logsRHB), JSON_PRETTY_PRINT))) {
                        echo json_encode(['status' => 'success', 'message' => 'Registro eliminado en ambos archivos.']);
                    } else {
                        echo json_encode(['status' => 'error', 'message' => 'No se pudo guardar el archivo de log RHB.']);
                    }
                } else {
                    echo json_encode(['status' => 'error', 'message' => 'No se pudo decodificar el archivo de log RHB.']);
                }
            } else {
                echo json_encode(['status' => 'warning', 'message' => 'Archivo de log RHB no encontrado. Registro eliminado solo en PDF.']);
            }
        } else {
            echo json_encode(['status' => 'error', 'message' => 'No se pudo guardar el archivo de log PDF.']);
        }
    } else {
        echo json_encode(['status' => 'error', 'message' => 'Registro no encontrado en log PDF.']);
    }
} else {
    echo json_encode(['status' => 'error', 'message' => 'Archivo de log PDF no encontrado.']);
}
?>
