justifica_insert.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /*
  3. * Inserta los datos de una nueva carrera
  4. * Recibe:
  5. * desc - Descripción
  6. * Error:
  7. * 0 - No se recibieron los datos
  8. * 1 - Error de base de datos
  9. * Success:
  10. */
  11. require_once("../../include/constantes.php");
  12. require_once("../../include/bd_pdo.php");
  13. require_once("../../include/util.php");
  14. require_once("../../classes/ValidaSesion.php");
  15. require_once("../classes/LogActividad.php");//die on error
  16. $pag = "../justifica.php";
  17. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  18. $objSesion = new ValidaSesion($pdo, 83, APSA);
  19. if(!$objSesion->tieneAcceso() || !$objSesion->puedeEditar()){
  20. header("Location: materias.php?error=2");
  21. exit();
  22. }
  23. unset($objValida);
  24. if(!isset($_POST["fecha"]) || !isset($_POST["asistenciaArr"]) || !is_array($_POST["asistenciaArr"])){
  25. header("Location: ".$pag."?error=0");
  26. exit();
  27. }
  28. $fecha = fechaGuion(trim(filter_input(INPUT_POST, "fecha", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));
  29. $asistenciaArr = $_POST["asistenciaArr"];
  30. try {
  31. $pdo->beginTransaction();
  32. $i = 0;
  33. foreach($asistenciaArr as $asist){
  34. $tmp = explode("_", $asist);
  35. $usr = $tmp[0];
  36. $fecha_hora = $fecha." ".$tmp[1];
  37. $tipo = $tmp[2];
  38. $id = $tmp[3];
  39. if($tipo == 1)//reposicion
  40. $stmt = $pdo->prepare('Select * from fi_justificaasistencia(:usr, 1, :fecha, null, :id)');
  41. else{//horario normal
  42. $stmt = $pdo->prepare('Select * from fi_justificaasistencia(:usr, 1, :fecha, :id, null)');
  43. }
  44. $stmt->bindParam(":usr", $usr);
  45. $stmt->bindParam(":fecha", $fecha_hora);
  46. $stmt->bindParam(":id", $id);
  47. if(!$stmt->execute()){
  48. $pdo->rollBack();
  49. $stmt->closeCursor();
  50. //echo "Select * from fi_justificaasistencia($usr, 1, '$fecha_hora', $id) $tipo";
  51. //print_r($stmt->errorInfo());
  52. header("Location:".$pag."?error=1");
  53. exit();
  54. }
  55. $i++;
  56. }
  57. $stmt->closeCursor();
  58. /*
  59. $log = new LogActividad();
  60. $desc_log = "Inserta justificación nueva ID[".$rs["fi_electiva"]."] Nombre[".$desc."]";
  61. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  62. */
  63. $pdo->commit();
  64. header("Location: ".$pag."?ok=0");
  65. }catch(PDOException $e) {
  66. $pdo->rollBack();
  67. header("Location:".$pag."?error=1");
  68. }
  69. ?>