calificacioncardex_update.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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["calif"], $_POST["tipo"], $_POST["usr"], $_POST["mat"], $_POST["per"]) || !isset($_SESSION["periodo_id"])){
  15. $return["error"] = "Error! No se recibió la información de las calificaciones.";
  16. }else{
  17. $tipo = filter_input(INPUT_POST, "tipo", FILTER_SANITIZE_NUMBER_INT);//tipo 2 ord, 3 extra
  18. $calif = filter_input(INPUT_POST, "calif", FILTER_SANITIZE_NUMBER_INT);
  19. $usr = filter_input(INPUT_POST, "usr", FILTER_SANITIZE_NUMBER_INT);//clave
  20. $mat = filter_input(INPUT_POST, "mat", FILTER_SANITIZE_NUMBER_INT);
  21. $per = filter_input(INPUT_POST, "per", FILTER_SANITIZE_NUMBER_INT);
  22. $error = false;
  23. //---- Actualiza nuevas calificaciones ----------
  24. $stmt = $pdo->prepare('Select * from fu_alumnomaterias_calif(:usr, :per, :mat, :tipo, :calif)');
  25. $stmt->bindParam(":per", $per);
  26. $stmt->bindParam(":usr", $usr);
  27. $stmt->bindParam(":mat", $mat);
  28. $stmt->bindParam(":calif", $calif);
  29. $stmt->bindParam(":tipo", $tipo);
  30. if(!$stmt->execute()){
  31. $t = $stmt->errorInfo();
  32. $return["error"] = "Ya existe una calificación de ese tipo para la materia en el periodo. Elige un periodo diferente.";
  33. }
  34. $stmt->closeCursor();
  35. $stmt = null; // cierra conexion
  36. if(!$error){
  37. $return["ok"] = "Actualizado";
  38. //Inserta Log
  39. $log = new LogActividad();
  40. $desc_log = "Actualiza calificación Clave[".$usr."] Materia[".$mat."] Periodo[".$per."] Calificación[".$calif."] Tipo[".$tipo."]";
  41. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  42. }
  43. }
  44. $return["json"] = json_encode($return);
  45. echo json_encode($return);
  46. ?>