cambioestadoalumnos_delete.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. /*
  3. * Borra estado de alumno
  4. * Recibe:
  5. * usr
  6. * idArr
  7. */
  8. require_once("../../include/constantes.php");
  9. require_once("../../include/bd_pdo.php");
  10. require_once("../../classes/ValidaSesion.php");
  11. require_once("../classes/LogActividad.php");//die on error
  12. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  13. $objSesion = new ValidaSesion($pdo, 103, GEMA);
  14. if(!$objSesion->tieneAcceso() || !(isset($_SESSION["sgi_administrador"]) && $_SESSION["sgi_administrador"] == 1)){
  15. $return["error"] = "Error! No tienes permisos para realizar esta acción.";
  16. }else if(!isset($_POST["idArr"], $_POST["usr"])){
  17. $return["error"] = "Error! No se recibió la información de los estados.";
  18. }else{
  19. $clave = filter_input(INPUT_POST, "usr", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  20. $estadoArr = $_POST["idArr"];
  21. try{
  22. $pdo->beginTransaction();
  23. $error = false;
  24. foreach($estadoArr as $id){
  25. $stmt = $pdo->prepare('Select * from fd_alumnosubestado(:clave, :edo)');
  26. $stmt->bindParam(":clave", $clave);
  27. $stmt->bindParam(":edo", $id);
  28. if(!$stmt->execute()){
  29. $err = $stmt->errorInfo();
  30. $return["error"] = "Ocurrió un error al leer los datos del subestado de alumno.".$err[2];
  31. $error = true;
  32. }
  33. $stmt->closeCursor();
  34. $stmt = null;
  35. }
  36. if(!$error){
  37. //obtener nuevo estado actual
  38. $stmt = $pdo->prepare('Select * from fs_alumno(NULL, :clave)');
  39. $stmt->bindParam(":clave", $clave);
  40. if(!$stmt->execute()){
  41. $err = $stmt->errorInfo();
  42. $return["error"] = "Ocurrió un error al leer los datos del alumno.".$err[2];
  43. $error = true;
  44. }else{
  45. $rs = $stmt->fetch();
  46. $return["datos"] = array("color"=> $rs["EstadoAlumno_color"], "estado_desc"=>$rs["EstadoAlumno_desc"], "subestado_desc"=>$rs["SubEstadoAlumno_desc"], "subestado_id"=>$rs["SubEstadoAlumno_id"]);
  47. }
  48. $stmt->closeCursor();
  49. $stmt = null;
  50. if(!$error){
  51. $pdo->commit();
  52. $return["ok"] = "Se borraron correctamente ".count($estadoArr)." estados.";
  53. $log = new LogActividad();
  54. $desc_log = "Borra ".count($estadoArr)." estados de alumno Clave[".$clave."]";
  55. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  56. }
  57. }
  58. if($error){
  59. $pdo->rollBack();
  60. }
  61. } catch (Exception $ex) {
  62. $pdo->rollBack();
  63. $error = true;
  64. $return["error"] = "Ocurrió un error al borrar los estados.";//.$msg;
  65. }
  66. }
  67. $return["json"] = json_encode($return);
  68. echo json_encode($return);
  69. ?>