action_horario_profesor.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. header('Content-Type: application/json');
  3. $ruta = "../";
  4. require_once("../include/bd_pdo.php");
  5. $dias = array("domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado");
  6. try {
  7. if(empty($_POST['profesor_id']))
  8. throw new Exception("No se ha especificado un profesor");
  9. // RECORD LAST QUERY
  10. $horarios = $db->query("SELECT * FROM fs_horario(_periodo_id => ?, _last => true, _profesor_id => ?) ORDER BY MATERIA", [
  11. $_POST['periodo_id'],
  12. $_POST['profesor_id'],
  13. ]);
  14. $horarios = array_map(function ($horario) use ($dias, $db) {
  15. $horario['profesores'] = array_map(
  16. fn ($profesor) =>
  17. $db->where("id", $profesor)->getOne("fs_profesor"),
  18. explode(",", substr($horario['profesores'], 1, -1))
  19. );
  20. $horario['dia'] = $dias[$horario['dia']];
  21. return $horario;
  22. }, $horarios);
  23. die(json_encode([
  24. "status" => "success",
  25. "data" => $horarios,
  26. // "data" => [],
  27. ]));
  28. } catch (Exception $e) {
  29. die(json_encode([
  30. "status" => "error",
  31. "message" => $e->getMessage(),
  32. "query" => $db->getLastQuery(),
  33. ]));
  34. }