<?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; // Inicializar variable

// Verificar si se proporcionó un ID
if (!isset($_GET['id'])) {
    $mensaje = '<div class="alert alert-danger">ID de sección no proporcionado</div>';
} else {
    try {
        $stmt = $db->prepare("SELECT * FROM secciones WHERE id = :id");
        $stmt->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
        $stmt->execute();
        $seccion = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if (!$seccion) {
            $mensaje = '<div class="alert alert-danger">Sección no encontrada</div>';
        }
    } catch(PDOException $e) {
        $mensaje = '<div class="alert alert-danger">Error al obtener la sección: ' . $e->getMessage() . '</div>';
    }
}

// Procesar formulario solo si tenemos una sección válida
if ($_SERVER["REQUEST_METHOD"] == "POST" && $seccion) {
    $codigo = trim($_POST['codigo']);
    $nombre = trim($_POST['nombre']);
    $descripcion = trim($_POST['descripcion']);
    $id = $_POST['id'];
    
    try {
        $stmt = $db->prepare("UPDATE secciones SET codigo = :codigo, nombre = :nombre, descripcion = :descripcion WHERE id = :id");
        $stmt->bindParam(':codigo', $codigo);
        $stmt->bindParam(':nombre', $nombre);
        $stmt->bindParam(':descripcion', $descripcion);
        $stmt->bindParam(':id', $id, PDO::PARAM_INT);
        
        if ($stmt->execute()) {
            $mensaje = '<div class="alert alert-success">Sección actualizada exitosamente</div>';
            // Actualizar datos mostrados
            $seccion = [
                'id' => $id,
                'codigo' => $codigo,
                'nombre' => $nombre,
                'descripcion' => $descripcion
            ];
        }
    } catch(PDOException $e) {
        $mensaje = '<div class="alert alert-danger">Error al actualizar la sección: ' . $e->getMessage() . '</div>';
    }
}

// Obtener configuración
try {
    $stmt = $db->prepare("SELECT color_principal, color_secundario, favicon FROM configuracion LIMIT 1");
    $stmt->execute();
    $config = $stmt->fetch(PDO::FETCH_ASSOC);
    $colorPrincipal = $config['color_principal'] ?? '#007bff';
    $colorSecundario = $config['color_secundario'] ?? '#6c757d';
    $favicon = $config['favicon'] ?? '';
} catch(PDOException $e) {
    $colorPrincipal = '#007bff';
    $colorSecundario = '#6c757d';
    $favicon = '';
}
//echo getThemeCSS();
require_once '../includes/header.php';
?>
<!DOCTYPE html>
<html>
<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>Editar Sección</title>
    <?php if (!empty($favicon)): ?>
    <link rel="shortcut icon" href="<?php echo SITE_URL . '/uploads/config/' . $favicon; ?>" type="image/x-icon">
    <?php endif; ?>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
    <style>
        .titulo-principal {
            color: <?php echo $colorPrincipal; ?>;
        }
        .btn-custom-primary {
            background-color: <?php echo $colorPrincipal; ?>;
            border-color: <?php echo $colorPrincipal; ?>;
            color: white;
        }
        .btn-custom-primary:hover {
            background-color: <?php echo $colorPrincipal; ?>;
            filter: brightness(90%);
            color: white;
        }
        .btn-custom-secondary {
            background-color: <?php echo $colorSecundario; ?>;
            border-color: <?php echo $colorSecundario; ?>;
            color: white;
        }
        .btn-custom-secondary:hover {
            background-color: <?php echo $colorSecundario; ?>;
            filter: brightness(90%);
            color: white;
        }
        @media (max-width: 768px) {
            .container { padding: 15px; }
            .btn {
                width: 100%;
                margin-bottom: 10px;
                padding: 12px;
                font-size: 16px;
            }
            .form-control { font-size: 16px; }
        }
    </style>
</head>
<body>
    <div class="container mt-5">
        <h2 class="titulo-principal">Editar Sección</h2>
        
        <?php echo $mensaje; ?>
        
        <?php if ($seccion): ?>
        <form method="POST" action="">
            <input type="hidden" name="id" value="<?php echo htmlspecialchars($seccion['id']); ?>">
            
            <div class="form-group">
                <label>Código:</label>
                <input type="text" name="codigo" required class="form-control" 
                       value="<?php echo htmlspecialchars($seccion['codigo']); ?>">
            </div>

            <div class="form-group">
                <label>Nombre:</label>
                <input type="text" name="nombre" required class="form-control"
                       value="<?php echo htmlspecialchars($seccion['nombre']); ?>">
            </div>

            <div class="form-group">
                <label>Descripción:</label>
                <textarea name="descripcion" class="form-control"><?php echo htmlspecialchars($seccion['descripcion']); ?></textarea>
            </div>

            <button type="submit" class="btn btn-custom-primary">
                <?php echo file_get_contents('icons/check-circle.svg'); ?> Guardar Cambios
            </button>
            <a href="secciones.php" class="btn btn-custom-secondary">
                <?php echo file_get_contents('icons/arrow-left.svg'); ?> Volver
            </a>
        </form>
        <?php endif; ?>
    </div>
</body>
</html>
