<?php
require_once __DIR__ . '/../config/db_auto.php';

// Incluir el sistema de rutas y seguridad de sesión
require_once __DIR__ . '/../config/paths.php';
require_once __DIR__ . '/secure_session.php';
secure_session_start(); // Iniciar la sesión de forma segura
require_role(['administrador']);

header('Content-Type: application/json');

$anio = filter_input(INPUT_GET, 'anio', FILTER_VALIDATE_INT);

if (!$anio) {
    echo json_encode(['error' => 'Año no válido.']);
    exit;
}

try {
    $sql = "
        SELECT 
            g.id AS grado_id,
            g.nombre AS grado_nombre,
            te.nombre AS tipo_ensenanza_nombre,
            COUNT(m.alumno_id) AS cantidad_alumnos
        FROM matriculas m
        JOIN grados g ON m.grado_id = g.id
        JOIN tipo_ensenanza te ON g.tipo_ensenanza_id = te.id
        WHERE m.anio = ? AND m.estado IN ('ACTIVA', 'PROMOVIDO', 'NO SIGUE')
        GROUP BY g.id, g.nombre, te.nombre
        ORDER BY te.id, g.orden
    ";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$anio]);
    echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));
} catch (Exception $e) {
    http_response_code(500);
    echo json_encode(['error' => 'Error al consultar la base de datos: ' . $e->getMessage()]);
}
