action_grupo.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. header('Content-Type: application/json');
  3. $ruta = "../";
  4. require_once "../class/c_login.php";
  5. // check if the session is started
  6. if (Login::is_logged())
  7. $user = Login::get_user();
  8. else {
  9. header('HTTP/1.1 401 Unauthorized');
  10. echo json_encode(['error' => 'No se ha iniciado sesión']);
  11. exit();
  12. }
  13. $ruta = "../";
  14. require_once("../include/bd_pdo.php");
  15. if (!isset($_GET['carrera_id'])) {
  16. echo json_encode([
  17. 'status' => 'error',
  18. 'error' => 'No se ha especificado una carrera'
  19. ]);
  20. exit();
  21. }
  22. $grupos = $db->query(<<<SQL
  23. SELECT distinct substring(horario_grupo, 7, 3)::int - 1 as horario_grupo FROM horario_view WHERE
  24. PERIODO_ID = :periodo_id AND
  25. (FACULTAD_ID = :facultad_id OR :facultad_id IS NULL) AND
  26. CARRERA_ID = :carrera_id
  27. GROUP BY horario_grupo
  28. ORDER BY horario_grupo ASC
  29. SQL,
  30. [
  31. ':periodo_id' => $user->periodo_id,
  32. ':facultad_id' => $user->facultad['facultad_id'],
  33. ':carrera_id' => $_GET['carrera_id']
  34. ]
  35. );
  36. echo json_encode(array_map(fn($grupo) => $grupo['horario_grupo'], $grupos));