horario_profesor.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. require_once "{$_SERVER['DOCUMENT_ROOT']}/class/c_login.php";
  3. header('Content-Type: application/json');
  4. if (!Login::is_logged()) {
  5. header('HTTP/1.1 401 Unauthorized');
  6. echo json_encode(['error' => 'No se ha iniciado sesión']);
  7. exit();
  8. }
  9. $user = Login::get_user();
  10. try {
  11. switch ($_SERVER['REQUEST_METHOD']) {
  12. case 'GET':
  13. $profesor_id = $db
  14. ->where('profesor_clave', $_GET['profesor'])
  15. ->getOne('profesor', 'profesor_id');
  16. // Fetch all puestos
  17. $horarios = $db->query(<<<SQL
  18. SELECT * FROM horario
  19. NATURAL JOIN horario_profesor
  20. NATURAL JOIN facultad
  21. NATURAL LEFT JOIN materia
  22. NATURAL LEFT JOIN carrera
  23. WHERE periodo_id = ? AND profesor_id = ?
  24. SQL,
  25. [$user->periodo_id, $profesor_id['profesor_id']]
  26. );
  27. echo json_encode($horarios);
  28. break;
  29. default:
  30. header('HTTP/1.1 405 Method Not Allowed');
  31. echo json_encode(['error' => 'Método no permitido']);
  32. break;
  33. }
  34. } catch (PDOException $e) {
  35. echo json_encode([
  36. 'error' => $e->getMessage(),
  37. 'query' => $db->getLastQuery(),
  38. 'exception' => $e->getTraceAsString()
  39. ]);
  40. }