<?php
// Usar el sistema de sesión seguro centralizado
require_once __DIR__ . '/../config/paths.php';
require_once __DIR__ . '/secure_session.php';
secure_session_start();

header('Content-Type: application/json; charset=utf-8');

require_auth(true); // true para respuesta AJAX
require_once __DIR__ . '/../config/db_auto.php';

$grado_id = $_GET['grado_id'] ?? null;
$anio = $_GET['anio'] ?? null;

if (!$grado_id || !$anio) {
    // Si no hay parámetros, devolvemos un array vacío y terminamos limpiamente.
    echo json_encode([]);
    exit;
}

try {
    $stmt = $pdo->prepare("
        SELECT a.id, a.run, a.nombre, a.ap_paterno, a.ap_materno, m.id as matricula_id, m.estado, m.fecha_matricula
        FROM alumnos a
        JOIN matriculas m ON a.id = m.alumno_id
        WHERE m.grado_id = ? 
          AND m.anio = ? AND m.estado = 'ACTIVA'
        ORDER BY a.ap_paterno, a.ap_materno, a.nombre
    ");
    $stmt->execute([$grado_id, $anio]);
    $alumnos = $stmt->fetchAll(PDO::FETCH_ASSOC);

    echo json_encode($alumnos);
} catch (Exception $e) {
    // Si hay un error, lo registramos y devolvemos un error 500 con un mensaje JSON.
    http_response_code(500);
    echo json_encode(['error' => 'Error en el servidor al consultar los alumnos: ' . $e->getMessage()]);
}
