<?php
// Clave secreta para cifrar y descifrar

include("fphp.php");

$clave = getenv("MASTER_PASSWORD");

// Función para cifrar el nombre del archivo

// Obtener el nombre cifrado del archivo desde el parámetro GET
if (isset($_GET['filename'])) {
    $nombre_cifrado = $_GET['filename'];
    $nombre_archivo = descifrarNombreArchivo($nombre_cifrado, $clave);
    $ruta = __DIR__ . '/' . $nombre_archivo;

    // Verificar si el archivo existe
    if (file_exists($ruta)) {
        // Establecer las cabeceras para la descarga
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename="' . basename($ruta) . '"');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($ruta));
        // Leer el archivo y enviar su contenido al navegador
        readfile($ruta);
        exit;
    } else {
        // Si el archivo no existe, devolver un mensaje de error
        echo "{'msg':'El archivo no existe.'}";
    }
} else {
    // Si no se proporciona un nombre de archivo cifrado, mostrar mensaje de error
    echo "{'msg':'No se proporcionó un nombre de archivo.'}";
}
