<?php
session_start();
// Verificar si el usuario está logueado y tiene los roles permitidos
if (!isset($_SESSION['usuario_id']) || 
    empty($_SESSION['usuario_id']) || 
    !in_array($_SESSION['rol'], ['admin', 'registrador_de_productos'])) {
    header('Location: ../login.php');
    exit;
}

require_once '../includes/config.php';
require_once '../includes/db.php';
//require_once '../includes/theme_only.php'; //

$db = new Database();
$mensaje = '';
$seccion = null;

// Obtener configuración
$stmt = $db->query("SELECT color_principal, color_secundario, favicon FROM configuracion");
$config = $stmt->fetch(PDO::FETCH_ASSOC);

// Verificar si hay error en la conexión
if (!$db) {
    die("Error de conexión a la base de datos");
}

// Simplificar el manejo POST solo para eliminación
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_POST['accion']) && $_POST['accion'] === 'eliminar') {
        if (empty($_POST['id'])) {
            $mensaje = "Error: ID de subsección no válido";
        } else {
            $id = (int)$_POST['id'];
            try {
                // Verificar si hay productos usando esta subsección
                $stmt = $db->prepare("SELECT COUNT(*) FROM productos WHERE id_subseccion = ?");
                $stmt->execute([$id]);
                $count = $stmt->fetchColumn();

                if ($count > 0) {
                    $mensaje = "Error: No se puede eliminar la subsección porque está siendo utilizada por {$count} producto(s)";
                } else {
                    // Proceder con la eliminación
                    $stmt = $db->prepare("DELETE FROM subsecciones WHERE id = ?");
                    $resultado = $stmt->execute([$id]);
                    
                    if ($resultado) {
                        $mensaje = "Subsección eliminada exitosamente";
                    } else {
                        $mensaje = "Error al eliminar la subsección";
                    }
                }
            } catch (PDOException $e) {
                $mensaje = "Error en la base de datos: " . $e->getMessage();
            }
        }
    }
}

// Mejorar la consulta de secciones
try {
    $secciones = $db->query("SELECT id, nombre FROM secciones ORDER BY nombre")->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    $secciones = [];
    $mensaje = "Error al cargar las secciones: " . $e->getMessage();
}

// Mejorar la consulta de subsecciones
try {
    $subsecciones = $db->query("
        SELECT 
            s.id,
            s.nombre,
            s.descripcion,
            s.id_seccion,
            sec.nombre as nombre_seccion
        FROM subsecciones s
        LEFT JOIN secciones sec ON s.id_seccion = sec.id
        ORDER BY s.nombre
    ")->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    $subsecciones = [];
    $mensaje = "Error al cargar las subsecciones: " . $e->getMessage();
}
//echo getThemeCSS();
require_once '../includes/header.php';
?>

<!DOCTYPE html>
<html lang="es">
<head>
<?php
    // Modo oscuro
    require_once '../includes/dark_mode.php';
    ?>
    <meta name="color-scheme" content="light dark">
    <?php echo getDarkModeStyles(); ?>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Gestión de Subsecciones</title>
    <link rel="stylesheet" href="../admin/css/bootstrap.min.css">
    <link rel="shortcut icon" href="../uploads/config/<?php echo $config['favicon']; ?>" type="image/x-icon">
    
    <style>
        :root {
            --color-primary: <?php echo $config['color_principal']; ?>;
            --color-secondary: <?php echo $config['color_secundario']; ?>;
        }

        .btn-primario {
            background-color: var(--color-primary) !important;
            border-color: var(--color-primary) !important;
            color: white !important;
        }

        .btn-primario:hover {
            opacity: 0.9;
        }

        .btn-primario img {
            filter: brightness(0) invert(1);
        }
    </style>
</head>
<body>
    <div class="container mt-4">

        <h2 class="text-center mb-4" style="color: <?php echo $config['color_principal']; ?>">Gestión de Subsecciones</h2>
        
        <div class="mb-3 text-end">
            <a href="registrar-subseccion.php" class="btn btn-primario">
                <img src="../admin/icons/plus.svg" alt="Agregar" width="16" height="16" class="me-2">
                Nueva Subsección
            </a>
        </div>

        <?php if ($mensaje): ?>
            <div class="alert alert-info"><?php echo $mensaje; ?></div>
        <?php endif; ?>

        <div class="table-responsive">
            <table class="table table-striped">
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>Nombre</th>
                        <th class="ocultar-movil">Descripción</th>
                        <th class="ocultar-movil">Sección</th>
                        <th class="acciones-columna">Acciones</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($subsecciones as $subseccion): ?>
                        <tr>
                            <td><?php echo $subseccion['id']; ?></td>
                            <td><?php echo htmlspecialchars($subseccion['nombre']); ?></td>
                            <td class="ocultar-movil"><?php echo htmlspecialchars($subseccion['descripcion']); ?></td>
                            <td class="ocultar-movil"><?php echo htmlspecialchars($subseccion['nombre_seccion']); ?></td>
                            <td class="acciones-columna">
                                <div class="btn-group">
                                    <a href="editar-subseccion.php?id=<?php echo $subseccion['id']; ?>" 
                                       class="btn btn-secundario btn-sm">
                                        <img src="../admin/icons/pencil.svg" alt="Editar" width="16" height="16">
                                    </a>
                                    <form method="POST" style="display: inline;">
                                        <input type="hidden" name="accion" value="eliminar">
                                        <input type="hidden" name="id" value="<?php echo $subseccion['id']; ?>">
                                        <button type="submit" class="btn btn-primario btn-sm" 
                                                onclick="return confirm('¿Está seguro de eliminar esta subsección?')">
                                            <img src="../admin/icons/trash.svg" alt="Eliminar" width="16" height="16">
                                        </button>
                                    </form>
                                </div>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
    </div>
</body>
</html>
