calificacioncardex_insert.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /* AJAX
  3. * Inserta 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 los alumnos.";
  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. try{
  23. //---- Inserta nuevas califiacciones ----------
  24. $stmt = $pdo->prepare('Select * from fi_alumnomaterias_calif(:usr, :per, :mat, :tipo, :calif, NULL)');
  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 en ese periodo del mismo tipo para la materia.";
  33. }else{
  34. //Inserta Log
  35. $log = new LogActividad();
  36. $desc_log = "Inserta calificación Clave[".$usr."] Materia[".$mat."] Periodo[".$per."] Calificación[".$calif."] Tipo[".$tipo."]";
  37. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  38. }
  39. $stmt->closeCursor();
  40. $stmt = null; // cierra conexion
  41. }catch(PDOException $e) {
  42. //print_r($e);
  43. $return["error"] = "Ya existe una calificación en ese periodo del mismo tipo para la materia.";
  44. }
  45. }
  46. $return["json"] = json_encode($return);
  47. echo json_encode($return);
  48. ?>