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 | |||
Imagen actual:
Imagen actual:
Selecciona las columnas que quieres que sean visibles en el tablero Kanban principal.