periodos.php 768 B

12345678910111213141516171819
  1. <?php
  2. require_once "{$_SERVER['DOCUMENT_ROOT']}/dependencies.php";
  3. if (!isset($_SESSION['user'])) {
  4. returnResponse(status: 401, error: true, message: 'No se ha iniciado sesión');
  5. exit();
  6. }
  7. header('Content-Type: application/json');
  8. $periodos = $sgi_db
  9. ->orderBy('Periodo_fecha_inicial', 'DESC')
  10. ->join('Nivel n', 'n."Nivel_id" = p."Nivel_id"')
  11. ->get('Periodo p', null, ['Periodo_id', 'Periodo_desc', 'Nivel_desc']);
  12. $filtro = $db->querySingle('SELECT UNNEST(periodos_gema) AS periodos FROM moodle_host WHERE moodle_host_id = :id', ['id' => $_SESSION['moodle_id']]) ?? [];
  13. if (!empty($filtro)) {
  14. $periodos = array_filter($periodos, fn($periodo) => in_array($periodo['Periodo_id'], $filtro));
  15. }
  16. echo json_encode($periodos);