Acceso denegado."; require_once 'layout_footer.php'; exit(); } $conn = db(); // --- Procesamiento de Formularios --- // Guardar visibilidad de columnas del Kanban if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_visibility'])) { $visible_columns = $_POST['visible_columns'] ?? []; $json_visible_columns = json_encode($visible_columns); $stmt = $conn->prepare("INSERT INTO configuracion (clave, valor) VALUES ('kanban_visible_columns', :valor) ON DUPLICATE KEY UPDATE valor = :valor"); $stmt->bindParam(':valor', $json_visible_columns); if ($stmt->execute()) { $_SESSION['success_message'] = 'Visibilidad de columnas actualizada.'; } else { $_SESSION['error_message'] = 'Error al actualizar la visibilidad.'; } header("Location: configuracion.php"); exit(); } // --- Carga de Datos para la Vista --- // Datos para la gestión de columnas $stmt_manage_columns = $conn->query("SELECT * FROM kanban_columns ORDER BY orden ASC"); $management_columns = $stmt_manage_columns->fetchAll(PDO::FETCH_ASSOC); // Datos para la visibilidad de columnas $stmt_visible = $conn->prepare("SELECT valor FROM configuracion WHERE clave = 'kanban_visible_columns'"); $stmt_visible->execute(); $config_row = $stmt_visible->fetch(PDO::FETCH_ASSOC); $visible_columns = $config_row ? json_decode($config_row['valor'], true) : []; $stmt_all_db_columns = $conn->query("SELECT nombre FROM kanban_columns ORDER BY orden ASC"); $available_columns_for_visibility = $stmt_all_db_columns->fetchAll(PDO::FETCH_COLUMN); // --- Datos para la GESTIÓN DE CONTENIDO DEL KANBAN --- $products = $conn->query("SELECT id, nombre FROM products ORDER BY nombre ASC")->fetchAll(PDO::FETCH_ASSOC); $kanban_columns_for_cards = $conn->query("SELECT id, nombre FROM kanban_columns ORDER BY orden, id")->fetchAll(PDO::FETCH_ASSOC); $info_cards = $conn->query(" SELECT ip.*, p.nombre as producto_nombre, kc.nombre as column_nombre FROM info_productos ip LEFT JOIN products p ON ip.producto_id = p.id LEFT JOIN kanban_columns kc ON ip.column_id = kc.id ORDER BY ip.orden, ip.id DESC ")->fetchAll(PDO::FETCH_ASSOC); // Mostrar mensajes de éxito o error if (isset($_SESSION['success_message'])) { echo "
Aquí puedes crear, editar y eliminar las tarjetas de información que aparecen en el tablero Kanban.
| Producto | Imagen | Texto | Columna | Acciones |
|---|---|---|---|---|
| No hay tarjetas creadas. | ||||
|
|
Eliminar | |||
Edita el texto que aparece en el banner de la página principal.
Edita la plantilla para el mensaje de WhatsApp que se envía desde la sección de "Ruta Contraentrega".
Puedes usar las siguientes variables:
{cliente}: Nombre del cliente.{monto}: Monto a pagar (incluye el símbolo "S/").{direccion}: Dirección de entrega.Selecciona las columnas que quieres que sean visibles en el tablero Kanban principal.