<?php
/**
 * debug_firma.php?id=928  — DIAGNÓSTICO TEMPORAL. Borrar después de usar.
 * Muestra qué hay realmente guardado en datos_cliente y el esquema de firmas.
 */
require_once 'config/config.php';

if (!isUserLoggedIn()) { die('Inicia sesión primero.'); }

header('Content-Type: text/plain; charset=utf-8');

$id = (int)($_GET['id'] ?? 0);
if (!$id) die('Usa ?id=NUMERO');

$db = Database::getInstance();
$envio = $db->fetch('SELECT id, estado, formulario_id, datos_cliente FROM lab_form_envios WHERE id = ?', [$id]);
if (!$envio) die("Envío $id no encontrado en lab_form_envios.");

$form = $db->fetch('SELECT esquema FROM lab_formularios WHERE id = ?', [$envio['formulario_id']]);
$esquema = json_decode($form['esquema'] ?? '[]', true) ?? [];
$datos   = json_decode($envio['datos_cliente'] ?? '{}', true) ?? [];

echo "=== ENVIO id=$id (estado: {$envio['estado']}) ===\n\n";

echo "--- Campos firma / firma_profesional en el esquema ---\n";
foreach ($esquema as $c) {
    $tipo = $c['tipo'] ?? '';
    if ($tipo === 'firma' || $tipo === 'firma_profesional') {
        $cid = $c['id'] ?? '(SIN ID)';
        $key = $cid . '_svg';
        $tiene = isset($datos[$key]) ? 'SÍ (' . strlen($datos[$key]) . ' bytes)' : 'NO';
        echo "  tipo=$tipo  id=$cid  →  datos_cliente['$key'] = $tiene\n";
    }
}

echo "\n--- TODAS las claves presentes en datos_cliente ---\n";
foreach ($datos as $k => $v) {
    $len = is_string($v) ? strlen($v) : gettype($v);
    echo "  $k  ($len)\n";
}

echo "\n(Borra este archivo cuando termines: debug_firma.php)\n";
