usuario_delete.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. /*
  3. * Borra subtipo de usuario (administrativo o profesor)
  4. * Recibe:
  5. * id
  6. * tipo [0 - administrativo][1 - profesor]
  7. *
  8. * Error:
  9. * 0 - no se recibieron todos los campos
  10. * 1 - error al guardar en base de datos
  11. *
  12. * Success:
  13. */
  14. require_once("../../include/constantes.php");
  15. require_once("../../include/bd_pdo.php");
  16. require_once("../../classes/ValidaSesion.php");
  17. require_once("../classes/LogActividad.php");//die on error
  18. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  19. $objSesion = new ValidaSesion($pdo, 32, APSA);
  20. if(!$objSesion->tieneAcceso() || !$objSesion->puedeEditar()){
  21. $return["error"] = "Error! No tienes permisos para realizar esta acción.";
  22. }else if(!isset($_POST["id"])){
  23. $return["error"] = "Error! No se recibió la información del usuario.";
  24. }else{
  25. $id = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  26. $stmt = $pdo->prepare('Select * from fd_materia(:id)');
  27. $stmt->bindParam(":id", $id);
  28. if(!$stmt->execute()){
  29. $return["error"] = "Ocurrió un error al borrar los datos de la materia";
  30. }else{
  31. $stmt->closeCursor();
  32. $stmt = null;
  33. $log = new LogActividad();
  34. $desc_log = "Borra materia ID[".$id."] ";
  35. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  36. $return["ok"] = "La materia se borró con éxito.";
  37. }
  38. }
  39. $return["json"] = json_encode($return);
  40. echo json_encode($return);
  41. include_once("../include/nocache.php");//continue on error
  42. require_once("../include/bd_pdo.php");//die on error
  43. require_once("../classes/ValidaSesion.php");//die on error
  44. require_once("../classes/LogActividad.php");//die on error
  45. try {
  46. $pdo->beginTransaction();
  47. $objValida = new ValidaSesion($pdo, 32);
  48. if(!$objValida->tieneAcceso()){
  49. $objValida->terminaSesion();
  50. }
  51. if(!$objSesion->puedeEditar()){
  52. header("Location: ../main.php");
  53. exit();
  54. }
  55. unset($objValida);
  56. $pag = "../usuario.php";
  57. if(isset($_POST["id"]) || isset($_POST["tipo"])){
  58. header("Location:".$pag."?error=0");
  59. exit();
  60. }
  61. $tipo = filter_input(INPUT_POST, "tipo", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  62. $usr_id = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  63. if($tipo == 0){//administrativo
  64. $stmt = $pdo->prepare('Select * from fd_administrativo(:id)');
  65. $stmt->bindParam(":id", $usr_id);
  66. if(!$stmt->execute()){
  67. $pdo->rollBack();
  68. header("Location:".$pag."?error=1");
  69. exit();
  70. }
  71. $log = new LogActividad();
  72. $desc_log = "Borra tipo de usuario administrativo a ID[".$usr_id."] ";
  73. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  74. }else if($tipo == 1){//profesor
  75. $stmt = $pdo->prepare('Select * from fd_profesor(:id)');
  76. $stmt->bindParam(":id", $usr_id);
  77. if(!$stmt->execute()){
  78. $pdo->rollBack();
  79. header("Location:".$pag."?error=1");
  80. exit();
  81. }
  82. $log = new LogActividad();
  83. $desc_log = "Borra tipo de usuario profesor a ID[".$usr_id."] ";
  84. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  85. }
  86. $stmt->closeCursor(); // cierra conexion de resultado
  87. $pdo->commit();
  88. $stmt = null; // cierra conexion
  89. header("Location:".$pag);
  90. } catch(PDOException $e) {
  91. $pdo->rollBack();
  92. header("Location:".$pag."?error=1");
  93. }
  94. ?>