calificacioncardex_delete.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /* AJAX
  3. * Actualiza calificaciones
  4. */
  5. require_once("../../include/constantes.php");
  6. require_once("../../include/nocache.php");
  7. require_once("../../include/bd_pdo.php");
  8. require_once("../../classes/ValidaSesion.php");
  9. require_once("../classes/LogActividad.php");//die on error
  10. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  11. $objSesion = new ValidaSesion($pdo, 102, GEMA);
  12. if(!$objSesion->tieneAcceso() || !$objSesion->puedeEditar()){
  13. $return["error"] = "Error! No tienes permisos para realizar esta acción.";
  14. }else if(!isset($_POST["usr"], $_POST["mat"], $_POST["per"], $_POST["tipo"])){
  15. $return["error"] = "Error! No se recibió la información de las calificaciones.";
  16. }else{
  17. $usr = filter_input(INPUT_POST, "usr", FILTER_SANITIZE_NUMBER_INT);//clave
  18. $mat = filter_input(INPUT_POST, "mat", FILTER_SANITIZE_NUMBER_INT);
  19. $per = filter_input(INPUT_POST, "per", FILTER_SANITIZE_NUMBER_INT);
  20. $tipo = filter_input(INPUT_POST, "tipo", FILTER_SANITIZE_NUMBER_INT);//tipo 2 ord, 3 extra
  21. $error = false;
  22. //---- Anteriores ----------
  23. $stmt = $pdo->prepare('SELECT "Calificacion_calif" from "Alumno_Materia_Calificacion" WHERE "Usuario_claveULSA" = :usr AND "Periodo_id" = :per AND "Materia_id" = :mat AND "TipoCalificacion_id" = :tipo');
  24. $stmt->bindParam(":per", $per);
  25. $stmt->bindParam(":usr", $usr);
  26. $stmt->bindParam(":mat", $mat);
  27. $stmt->bindParam(":tipo", $tipo);
  28. if(!$stmt->execute()){
  29. $t = $stmt->errorInfo();
  30. $return["error"] = "Ocurrió un error al borrar la calificación.";
  31. $error = true;
  32. }else{
  33. $rs = $stmt->fetch();
  34. }
  35. $stmt->closeCursor();
  36. $stmt = null; // cierra conexion
  37. if(!$error){
  38. //---- Borra calificaciones ----------
  39. $stmt = $pdo->prepare('Select * from fd_alumnomaterias_calif(:usr, :per, :mat, :tipo)');
  40. $stmt->bindParam(":per", $per);
  41. $stmt->bindParam(":usr", $usr);
  42. $stmt->bindParam(":mat", $mat);
  43. $stmt->bindParam(":tipo", $tipo);
  44. if(!$stmt->execute()){
  45. $t = $stmt->errorInfo();
  46. $return["error"] = "Ocurrió un error al borrar la calificación.";
  47. $error = true;
  48. }
  49. $stmt->closeCursor();
  50. $stmt = null; // cierra conexion
  51. }
  52. if(!$error){
  53. $return["ok"] = "Borrado";
  54. //Inserta Log
  55. $log = new LogActividad();
  56. $desc_log = "Borra calificación Clave[".$usr."] Materia[".$mat."] Periodo[".$per."] Calif[".$rs["Calificacion_calif"]."] Tipo[".$tipo."]";
  57. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  58. }
  59. }
  60. $return["json"] = json_encode($return);
  61. echo json_encode($return);
  62. ?>