insigniapersonal_select.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. /*
  3. * Obtiene los datos de
  4. * Recibe:
  5. * id insignia
  6. * id alumno
  7. */
  8. require_once("../../include/constantes.php");
  9. require_once("../../include/nocache.php");
  10. require_once("../../include/bd_pdo.php");
  11. require_once("../../include/util.php");
  12. require_once("../../classes/ValidaSesion.php");
  13. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  14. $objSesion = new ValidaSesion($pdo, 114, GEMA);
  15. if(!$objSesion->tieneAcceso()){
  16. $return["error"] = "Error! No tienes permisos para realizar esta acción.";
  17. }else if(!isset($_POST["alumno"])){
  18. $return["error"] = "Error! No se recibió la información de la insignia.";
  19. }else{
  20. if(isset($_POST["id"]))
  21. $id = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  22. $alumno = filter_input(INPUT_POST, "alumno", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  23. //Datos insignia
  24. if(isset($id)){
  25. $stmt = $pdo->prepare('Select * from fs_insigniaalumno_unica(:alumno, :id)');
  26. $stmt->bindParam(":id", $id);
  27. }else
  28. $stmt = $pdo->prepare('Select * from fs_insigniaalumno_unica(:alumno, NULL)');
  29. $stmt->bindParam(":alumno", $alumno);
  30. if(!$stmt->execute()){
  31. $return["error"] = "Ocurrió un error al leer los datos del estado de alumno.";
  32. }else{
  33. if(!empty($id)){//1 sola insignia
  34. $rs = $stmt->fetch();
  35. $stmt->closeCursor();
  36. $stmt = null;
  37. $return["titulo"] = $rs["Insignia_titulo"];
  38. $return["desc"] = $rs["Insignia_desc"];
  39. $return["tipo_id"] = $rs["InsigniaTipo_id"];
  40. $return["tipo"] = $rs["InsigniaTipo_desc"];
  41. $return["tipo_color"] = $rs["InsigniaTipo_color"];
  42. $return["puesto_id"] = $rs["Puesto_id"];
  43. $return["puesto"] = $rs["Puesto_desc"];
  44. if(!empty($rs["InsigniaPersonal_fecha_inicial"])){
  45. $return["duracion"] = "del ".fechaSlash($rs["InsigniaPersonal_fecha_inicial"])." a ".fechaSlash($rs["InsigniaPersonal_fecha_final"]);
  46. }else{
  47. $return["duracion"] = "el ".fechaSlash($rs["InsigniaPersonal_fecha_final"]);
  48. }
  49. $return["fecha_ini"] = fechaSlash($rs["InsigniaPersonal_fecha_inicial"]);
  50. $return["fecha_fin"] = fechaSlash($rs["InsigniaPersonal_fecha_final"]);
  51. $return["evidencia"] = $rs["InsigniaEvidencia_Alumno_url"];
  52. $return["atributos"] = array();
  53. $stmt = $pdo->prepare('Select * from fs_insigniaalumno_unica_atributoegreso(:id, NULL)');
  54. $stmt->bindParam(":id", $id);
  55. if(!$stmt->execute()){
  56. $return["error"] = "Ocurrió un error al leer los datos del estado de alumno.";
  57. }else{
  58. $rs = $stmt->fetchAll();
  59. $stmt->closeCursor();
  60. $stmt = null;
  61. foreach($rs as $atr){
  62. $return["atributos"][] = array("id"=>$atr["AtributoEgresoGeneral_id"], "atributo"=>$atr["AtributoEgresoGeneral_desc"], "nivel_id"=>$atr["AtributoNivel_id"], "nivel"=>$atr["AtributoNivel_desc"]);
  63. }
  64. }
  65. }else{//varias insignias
  66. $rs_all = $stmt->fetchAll();
  67. $stmt->closeCursor();
  68. $stmt = null;
  69. $insigniaArr = array();
  70. $i=0;
  71. foreach($rs_all as $rs){
  72. $insigniaArr[$i]["titulo"] = $rs["Insignia_titulo"];
  73. $insigniaArr[$i]["desc"] = $rs["Insignia_desc"];
  74. $insigniaArr[$i]["tipo_id"] = $rs["InsigniaTipo_id"];
  75. $insigniaArr[$i]["tipo"] = $rs["InsigniaTipo_desc"];
  76. $insigniaArr[$i]["tipo_color"] = $rs["InsigniaTipo_color"];
  77. $insigniaArr[$i]["puesto_id"] = $rs["Puesto_id"];
  78. $insigniaArr[$i]["puesto"] = $rs["Puesto_desc"];
  79. if(!empty($rs["InsigniaPersonal_fecha_inicial"])){
  80. $insigniaArr[$i]["duracion"] = "del ".fechaSlash($rs["InsigniaPersonal_fecha_inicial"])." a ".fechaSlash($rs["InsigniaPersonal_fecha_final"]);
  81. }else{
  82. $insigniaArr[$i]["duracion"] = "el ".fechaSlash($rs["InsigniaPersonal_fecha_final"]);
  83. }
  84. $insigniaArr[$i]["fecha_ini"] = fechaSlash($rs["InsigniaPersonal_fecha_inicial"]);
  85. $insigniaArr[$i]["fecha_fin"] = fechaSlash($rs["InsigniaPersonal_fecha_final"]);
  86. $insigniaArr[$i]["evidencia"] = $rs["InsigniaEvidencia_Alumno_url"];
  87. $insigniaArr[$i]["atributos"] = array();
  88. $stmt = $pdo->prepare('Select * from fs_insigniaalumno_unica_atributoegreso(:id, NULL)');
  89. $stmt->bindParam(":id", $rs["Insignia_id"]);
  90. if(!$stmt->execute()){
  91. $insigniaArr[$i]["error"] = "Ocurrió un error al leer los datos del estado de alumno.";
  92. }else{
  93. $atributo_rs = $stmt->fetchAll();
  94. $stmt->closeCursor();
  95. $stmt = null;
  96. foreach($atributo_rs as $atr){
  97. $insigniaArr[$i]["atributos"][] = array("id"=>$atr["AtributoEgresoGeneral_id"], "atributo"=>$atr["AtributoEgresoGeneral_desc"], "nivel_id"=>$atr["AtributoNivel_id"], "nivel"=>$atr["AtributoNivel_desc"]);
  98. }
  99. }
  100. $i++;
  101. }
  102. $return["insignias"] = $insigniaArr;
  103. }
  104. }
  105. }
  106. $return["json"] = json_encode($return);
  107. echo json_encode($return);
  108. ?>