action_facultad.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. SQL
  32. ,
  33. [':facultad_id' => $user->facultad['facultad_id']]
  34. );
  35. echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
  36. } else {
  37. http_response_code(405);
  38. echo json_encode(['error' => 'method not allowed']);
  39. exit;
  40. }
  41. } catch (PDOException $th) {
  42. http_response_code(500);
  43. echo json_encode([
  44. 'error' => $th->getMessage(),
  45. 'query' => $db->getLastQuery(),
  46. ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
  47. exit;
  48. } catch (Exception $th) {
  49. http_response_code(500);
  50. echo json_encode([
  51. 'error' => $th->getMessage(),
  52. ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
  53. exit;
  54. }