<?php
// log.php

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

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

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

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $input = file_get_contents('php://input');
    $data = json_decode($input, true);

    if ($data) {
        // Leer el contenido existente del archivo JSON
        if (file_exists($logFile)) {
            $json = file_get_contents($logFile);
            $logs = json_decode($json, true);
        } else {
            $logs = [];
        }

        // Agregar la nueva entrada al array de logs
        $logs[] = $data;

        // Purgar registros con más de 12 meses
        $corte = (time() - 60 * 60 * 24 * 365) * 1000;
        $logs = array_values(array_filter($logs, fn($l) => isset($l['uniqueNumber']) && $l['uniqueNumber'] >= $corte));

        // Escribir el array de logs actualizado de vuelta al archivo JSON
        file_put_contents($logFile, json_encode($logs, JSON_PRETTY_PRINT));

        echo json_encode(['status' => 'success', 'message' => 'Log added successfully.']);
    } else {
        echo json_encode(['status' => 'error', 'message' => 'Invalid JSON data.']);
    }
} else {
    echo json_encode(['status' => 'error', 'message' => 'Invalid request method.']);
}
?>
