<?php
// Configurar la zona horaria a Madrid
date_default_timezone_set("Europe/Madrid");

//header("Access-Control-Allow-Headers: Content-Type");

// Permitir acceso desde cualquier origen
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET");
header("Access-Control-Allow-Headers: Content-Type, Authorization");
header("Content-Type: application/json"); // Importante para respuestas JSON

// Rutas del servidor
$documentRoot = realpath(__DIR__ . '/../..');

// Archivo JSON con el catálogo
$catalogoFile = $documentRoot . "/admin/catalogo.json";

// Carpeta donde están los vídeos
$directorio = $documentRoot . "/assets/ejercicios/";

// Verificar que existe el catálogo
if (!file_exists($catalogoFile)) {
    http_response_code(500);
    die("Error: catálogo no encontrado.");
}

$catalogo = json_decode(file_get_contents($catalogoFile), true);
if (!is_array($catalogo)) {
    http_response_code(500);
    die("Error: catálogo corrupto.");
}

// Obtener id de la URL
if (!isset($_GET['id'])) {
    http_response_code(400);
    die("Error: falta parámetro id.");
}

$id = $_GET['id'];

// Buscar en el catálogo
$ejercicio = null;
foreach ($catalogo as $item) {
    if ($item['id'] === $id) {
        $ejercicio = $item;
        break;
    }
}

if (!$ejercicio || empty($ejercicio['video'])) {
    http_response_code(404);
    die("Error: vídeo no encontrado.");
}

$videoPath = $directorio . "/" . $ejercicio['video'];

// Comprobar que existe el archivo
if (!file_exists($videoPath)) {
    http_response_code(404);
    die("Error: archivo no existe en el servidor.");
}

// Enviar el archivo de vídeo
header("Content-Type: video/mp4");
header("Content-Length: " . filesize($videoPath));
readfile($videoPath);
exit;
