action_facultad.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?
  2. $information = [
  3. 'GET' => [],
  4. ];
  5. header('Content-Type: application/json charset=utf-8');
  6. $ruta = "../";
  7. require_once "../class/c_login.php";
  8. // check if the session is started
  9. if (!isset($_SESSION['user'])) {
  10. http_response_code(500);
  11. echo json_encode([
  12. 'error' => 'No se ha iniciado sesión'
  13. ]);
  14. exit;
  15. }
  16. $user = unserialize($_SESSION['user']);
  17. try {
  18. if ($_SERVER['REQUEST_METHOD'] === 'GET') {
  19. // check parameters
  20. array_walk($information['GET'], function ($value) {
  21. if (!array_key_exists($value, $_GET)) {
  22. http_response_code(400);
  23. echo json_encode(['error' => "$value is required"]);
  24. exit;
  25. }
  26. });
  27. $data = $db->query(<<<SQL
  28. SELECT facultad_nombre, facultad_id, clave_dependencia
  29. FROM facultad
  30. WHERE facultad_id = :facultad_id OR :facultad_id IS NULL
  31. ORDER BY facultad_nombre ASC
  32. SQL
  33. ,
  34. [':facultad_id' => $user->facultad['facultad_id']]
  35. );
  36. echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
  37. } else {
  38. http_response_code(405);
  39. echo json_encode(['error' => 'method not allowed']);
  40. exit;
  41. }
  42. } catch (PDOException $th) {
  43. http_response_code(500);
  44. echo json_encode([
  45. 'error' => $th->getMessage(),
  46. 'query' => $db->getLastQuery(),
  47. ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
  48. exit;
  49. } catch (Exception $th) {
  50. http_response_code(500);
  51. echo json_encode([
  52. 'error' => $th->getMessage(),
  53. ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
  54. exit;
  55. }