query("SELECT * FROM landing_pages WHERE id=".$landing_id)->fetch_assoc(); if (!$landing) { die('Landing no existe'); } $msg = $err = ''; $action = $_GET['action'] ?? ''; $id = (int)($_GET['id'] ?? 0); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $vid = (int)($_POST['id'] ?? 0); $nombre= trim($_POST['nombre'] ?? ''); $peso = (float)($_POST['peso'] ?? 1.0); $estado= $_POST['estado'] ?? 'activo'; $hero_image = trim($_POST['hero_image'] ?? ''); $contenido_html = $_POST['contenido_html'] ?? ''; $css_inline = $_POST['css_inline'] ?? ''; $js_inline = $_POST['js_inline'] ?? ''; if ($nombre === '' || !in_array($estado, ['borrador','activo','pausado'], true)) { $err = 'Nombre y estado válidos son obligatorios.'; } else { try { if ($vid > 0) { $st = $conn->prepare("UPDATE landing_variants SET nombre=?, peso=?, estado=?, hero_image=?, contenido_html=?, css_inline=?, js_inline=? WHERE id=? AND landing_id=?"); $st->bind_param("sdssssiii", $nombre, $peso, $estado, $hero_image, $contenido_html, $css_inline, $js_inline, $vid, $landing_id); $st->execute(); $msg = 'Variante actualizada.'; } else { $st = $conn->prepare("INSERT INTO landing_variants (landing_id, nombre, peso, estado, hero_image, contenido_html, css_inline, js_inline) VALUES (?,?,?,?,?,?,?,?)"); $st->bind_param("isdsssss", $landing_id, $nombre, $peso, $estado, $hero_image, $contenido_html, $css_inline, $js_inline); $st->execute(); $msg = 'Variante creada.'; } } catch (Throwable $e) { $err = $e->getMessage(); } } } if ($action === 'delete' && $id > 0) { try { $st = $conn->prepare("DELETE FROM landing_variants WHERE id=? AND landing_id=?"); $st->bind_param("ii", $id, $landing_id); $st->execute(); $msg = 'Variante eliminada.'; } catch (Throwable $e) { $err = $e->getMessage(); } $id = 0; } $edit = null; if ($action === 'edit' && $id > 0) { $st = $conn->prepare("SELECT * FROM landing_variants WHERE id=? AND landing_id=?"); $st->bind_param("ii", $id, $landing_id); $st->execute(); $edit = $st->get_result()->fetch_assoc(); } $list = $conn->query("SELECT * FROM landing_variants WHERE landing_id=".$landing_id." ORDER BY id DESC"); ?>