Files
whatsapp/_migrate_tomas_simplify.php
T
Lizandro GuarnizoandClaude Sonnet 4.6 4e6da5d7eb Simplificar tomas prolongadas: campo texto libre + sin condiciones
- _c8j2g16 pasa a texto libre ("Tipo de examen"), sin opciones predefinidas
- Separadores de tomas sin condición → siempre visibles
- Eliminar lab_tomas_config.php (ya no necesario)
- $_gruposConfig incluye todos los grupos directamente
- Script _migrate_tomas_simplify.php para actualizar esquema en BD

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-10 11:01:53 -05:00

57 lines
2.1 KiB
PHP

<?php
/**
* Migración: simplificar formulario de Tomas Prolongadas (id=15)
* - Campo _c8j2g16 pasa de radio/checkbox a texto libre ("Tipo de examen")
* - Se eliminan las condiciones de todos los separadores (siempre visibles)
* Auto-elimina al ejecutar. Acceder como admin.
*/
require_once __DIR__ . '/config/config.php';
if (!isUserLoggedIn() || !in_array($_SESSION['admin_user']['role'] ?? '', ['admin','superadmin'], true)) {
http_response_code(403); die('Acceso denegado.');
}
$pdo = Database::getInstance()->getConnection();
$row = $pdo->query("SELECT esquema FROM lab_formularios WHERE id = 15 LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if (!$row) { die('Formulario id=15 no encontrado.'); }
$esquema = json_decode($row['esquema'], true);
if (!is_array($esquema)) { die('Esquema inválido.'); }
$cambios = 0;
foreach ($esquema as &$campo) {
$id = $campo['id'] ?? '';
$tipo = $campo['tipo'] ?? '';
// Campo selector → texto libre
if ($id === '_c8j2g16') {
$campo['tipo'] = 'texto';
$campo['label'] = 'Tipo de examen';
unset($campo['options'], $campo['multiple'], $campo['required']);
$cambios++;
}
// Separadores con condición sobre _c8j2g16 → quitar condición
if ($tipo === 'separador' && isset($campo['condicion'])) {
$condCampo = $campo['condicion']['campo_id'] ?? '';
if ($condCampo === '_c8j2g16') {
unset($campo['condicion']);
$cambios++;
}
}
}
unset($campo);
$pdo->prepare("UPDATE lab_formularios SET esquema = ? WHERE id = 15")
->execute([json_encode($esquema, JSON_UNESCAPED_UNICODE)]);
@unlink(__FILE__);
echo '<p style="font-family:sans-serif;padding:2rem">
<span style="color:green;font-size:1.2rem">✅ Migración completada</span><br><br>
<strong>' . $cambios . ' campos modificados</strong>:<br>
• Campo _c8j2g16 → texto libre "Tipo de examen"<br>
• Condiciones eliminadas de separadores de tomas<br><br>
<small style="color:#666">Este archivo fue eliminado automáticamente.</small><br><br>
<a href="lab_formularios.php" style="color:#0d6efd">← Volver a Formularios</a>
</p>';