<?php
// Script temporal - ELIMINAR después de usar
require_once __DIR__ . '/config.php';

try {
    $db = getDB();

    $licenseKey = 'PMBE-LA20-2400-1PRO-5AB7';

    // Verificar que la licencia es válida antes de insertarla
    if (!verifyLicense($licenseKey)) {
        die(json_encode(['error' => 'Licencia inválida - contactar soporte']));
    }

    // Asegurar que la tabla config existe
    $db->exec("CREATE TABLE IF NOT EXISTS config (
        `key` VARCHAR(100) NOT NULL PRIMARY KEY,
        `val` TEXT NOT NULL,
        updated_at DATETIME DEFAULT NOW() ON UPDATE NOW()
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");

    // Insertar o actualizar la licencia
    $db->prepare(
        "INSERT INTO config (`key`, val) VALUES ('license', ?)
         ON DUPLICATE KEY UPDATE val = VALUES(val)"
    )->execute([$licenseKey]);

    // Verificar que quedó guardada
    $saved = $db->query("SELECT val FROM config WHERE `key`='license'")->fetchColumn();

    // Contar registros clave para confirmar el estado
    $counts = [];
    foreach (['patients','attendances','appointments','inventory','users','sessions','config'] as $t) {
        try { $counts[$t] = (int)$db->query("SELECT COUNT(*) FROM `$t`")->fetchColumn(); }
        catch(Throwable $e) { $counts[$t] = 'N/A'; }
    }

    echo json_encode([
        'ok'             => true,
        'license_saved'  => $saved,
        'license_valid'  => verifyLicense($saved),
        'tables'         => $counts,
        'next_step'      => 'Elimina este archivo del servidor y recarga el sistema',
    ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

} catch (Throwable $e) {
    echo json_encode(['error' => $e->getMessage()]);
}
