<?php
session_start();
if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}

include 'conexion.php';

if (isset($_GET['toggle']) && is_numeric($_GET['toggle'])) {
    $idProyecto = intval($_GET['toggle']);

    // Obtener estado actual
    $estadoActual = $conexion->query("SELECT activo FROM proyectos WHERE id = $idProyecto")->fetch_assoc();

    if ($estadoActual) {
        $nuevoEstado = $estadoActual['activo'] ? 0 : 1;
        $conexion->query("UPDATE proyectos SET activo = $nuevoEstado WHERE id = $idProyecto");
    }

    // Redirigir para evitar reenvío del toggle
    $estado = urlencode($_GET['estado'] ?? 'todos');
    $titulo = urlencode($_GET['titulo'] ?? 'todos');
    header("Location: index.php?estado=$estado&titulo=$titulo");
    exit;
}


if (!isset($_SESSION['usuario'])) {
    header("Location: login.php");
    exit;
}

// Filtros
$filtro = $_GET['estado'] ?? 'activos';
//$filtro = $_GET['estado'] ?? 'todos';
$tituloSeleccionado = $_GET['titulo'] ?? 'todos';

// Obtener títulos únicos
$titulos = $conexion->query("SELECT DISTINCT titulo FROM proyectos ORDER BY titulo ASC");

// Construir consulta con filtros
$query = "SELECT * FROM proyectos WHERE 1";
if ($filtro === 'activos') {
    $query .= " AND activo = 1";
} elseif ($filtro === 'inactivos') {
    $query .= " AND activo = 0";
}
if ($tituloSeleccionado !== 'todos') {
    $query .= " AND titulo = '" . $conexion->real_escape_string($tituloSeleccionado) . "'";
}
$query .= " ORDER BY fecha_creacion DESC";
$proyectos = $conexion->query($query);
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Proyectos</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light">
<div class="container py-5">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <h2>📁 Lista de Proyectos</h2>
        <div class="d-flex flex-wrap gap-2">
            <?php if ($_SESSION['rol'] === 'admin'): ?>
                <a href="crear_proyecto.php" class="btn btn-primary">➕ Nuevo Proyecto</a>
                <a href="gestionar_usuarios.php" class="btn btn-success">⚙️ Configuración</a>
            <?php endif; ?>                        
            <a href="exportar_txt.php?estado=<?= urlencode($filtro) ?>&titulo=<?= urlencode($tituloSeleccionado) ?>" class="btn btn-outline-info">📝 Exportar TXT</a>
            <span class="badge bg-secondary d-inline-flex align-items-center" style="font-size: 1.0rem; font-weight: normal;">
                <i class="fa fa-user me-1"></i>🙍‍♂️ Usuario: <?= htmlspecialchars($_SESSION['usuario']) ?>
            </span>   
            <a href="logout.php" class="btn btn-outline-danger">❌ Cerrar sesión</a>
        </div>
    </div>

    <!-- Filtros -->
    <form method="get" class="row g-3 mb-4">
        <div class="col-md-6">
            <div class="input-group">
                <label class="input-group-text" for="estado">Estado:</label>
                <select class="form-select" name="estado" id="estado" onchange="this.form.submit()">
                    <option value="activos" <?= $filtro === 'activos' ? 'selected' : '' ?>>Activos</option>
                    <option value="inactivos" <?= $filtro === 'inactivos' ? 'selected' : '' ?>>Inactivos</option>
                    <option value="todos" <?= $filtro === 'todos' ? 'selected' : '' ?>>Todos</option>
                </select>
            </div>
        </div>
        <div class="col-md-6">
            <div class="input-group">
                <label class="input-group-text" for="titulo">Proyecto:</label>
                <select class="form-select" name="titulo" id="titulo" onchange="this.form.submit()">
                    <option value="todos" <?= $tituloSeleccionado === 'todos' ? 'selected' : '' ?>>Todos</option>
                    <?php while ($t = $titulos->fetch_assoc()): ?>
                        <option value="<?= htmlspecialchars($t['titulo']) ?>" <?= $tituloSeleccionado === $t['titulo'] ? 'selected' : '' ?>>
                            <?= htmlspecialchars($t['titulo']) ?>
                        </option>
                    <?php endwhile; ?>
                </select>
            </div>
        </div>
    </form>

    <!-- Proyectos -->
    <?php while ($proyecto = $proyectos->fetch_assoc()): ?>
        <div class="card mb-3 shadow-sm">
            <div class="card-body">
                <h5 class="card-title"><?= htmlspecialchars($proyecto['titulo']) ?></h5>
                <?php
                $id = $proyecto['id'];
                $nota = $conexion->query("SELECT * FROM notas WHERE proyecto_id = $id ORDER BY fecha DESC LIMIT 1")->fetch_assoc();
                ?>
                <?php if ($nota): ?>
                    <p><strong>Última nota:</strong> <?= $nota['fecha'] ?><br><?= nl2br(htmlspecialchars($nota['detalle'])) ?></p>
                <?php else: ?>
                    <p class="text-muted">Sin notas aún.</p>
                <?php endif; ?>

                <div class="d-flex flex-wrap gap-2">
                    <a href="agregar_nota.php?proyecto_id=<?= $id ?>" class="btn btn-success btn-sm">📝 Añadir Nota</a>
                    <a href="subir_documento.php?proyecto_id=<?= $id ?>" class="btn btn-secondary btn-sm">📎 Añadir Documento</a>
                    <a href="ver_notas.php?proyecto_id=<?= $id ?>" class="btn btn-outline-secondary btn-sm">📄 Ver Notas</a>
                    <a href="ver_documentos.php?proyecto_id=<?= $id ?>" class="btn btn-outline-dark btn-sm">📂 Ver Documentos</a>
                    <?php if ($_SESSION['rol'] === 'admin'): ?>
                        <a href="editar_proyecto.php?id=<?= $id ?>" class="btn btn-warning btn-sm">✏️ Editar Proyecto</a>
                        <?php if ($proyecto['activo']): ?>
                            <a href="index.php?toggle=<?= $id ?>&estado=<?= $filtro ?>" class="btn btn-outline-danger btn-sm">🚫 Desactivar Proyecto</a>
                        <?php else: ?>
                            <a href="index.php?toggle=<?= $id ?>&estado=<?= $filtro ?>" class="btn btn-outline-success btn-sm">✅ Activar Proyecto</a>
                        <?php endif; ?>
                    <?php endif; ?>
                </div>
            </div>
        </div>
    <?php endwhile; ?>
</div>
</body>
</html>
