<?php
// backfill_codigos_verificacion.php
// Utilidad de UNA SOLA VEZ: asigna código de verificación a las obras
// que ya existían antes de que esta función se agregara al sistema
// (por eso quedaron con codigo_verificacion = NULL).
//
// Bórralo del servidor después de correrlo una vez — no hace falta
// dejarlo instalado permanentemente.

require_once __DIR__ . '/config.php';
require_once __DIR__ . '/lib_documentos.php';
$u = requerirRol(['admin']);
$pdo = db();

$actualizadas = 0;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    csrfValidarOMorir();
    $stmt = $pdo->query("SELECT id FROM obras WHERE codigo_verificacion IS NULL");
    foreach ($stmt->fetchAll(PDO::FETCH_COLUMN) as $obraId) {
        $codigo = generarCodigoVerificacion($pdo);
        $pdo->prepare("UPDATE obras SET codigo_verificacion = ? WHERE id = ?")->execute([$codigo, $obraId]);
        $actualizadas++;
    }
}

$pendientes = (int)$pdo->query("SELECT COUNT(*) FROM obras WHERE codigo_verificacion IS NULL")->fetchColumn();
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="estilos.css" rel="stylesheet">
</head>
<body class="pagina-auth">
<div class="container">
<div class="card card-login">
    <div class="card-body">
        <p class="fw-semibold mb-3">Asignar códigos de verificación faltantes</p>
        <?php if ($actualizadas > 0): ?>
            <div class="alert alert-success py-2"><?= $actualizadas ?> obra(s) actualizada(s).</div>
        <?php endif; ?>
        <p class="text-muted mb-3" style="font-size:.85rem">
            Obras sin código de verificación actualmente: <strong><?= $pendientes ?></strong>
        </p>
        <?php if ($pendientes > 0): ?>
        <form method="post">
            <?= csrfCampoOculto() ?>
            <button type="submit" class="btn btn-sgc-primary w-100">Asignar códigos ahora</button>
        </form>
        <?php else: ?>
            <p class="text-success mb-0">✓ Todas las obras ya tienen código de verificación.</p>
        <?php endif; ?>
    </div>
</div>
</div>
</body>
</html>
