historial_action.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php
  2. session_start();
  3. require_once '../include/bd_pdo.php';
  4. require_once '../classes/Fechas.php';
  5. if(!isset($_POST['tipo'])){
  6. $return['error'] = 'Error! No se recibieron los datos.';
  7. } else {
  8. switch ($_POST['tipo']) {
  9. case 1: //Select All
  10. $error = '';
  11. $estudios = array();
  12. $stmt = $pdo->prepare('SELECT * FROM alu_fs_estudioadicional(:Usuario_id, null)');
  13. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  14. if(!$stmt->execute()){
  15. $error = 'No fue posible obtener los registros del historial académico';
  16. print_r($stmt->errorInfo());
  17. } else
  18. $estudios = $stmt->fetchAll();
  19. $stmt->closeCursor();
  20. $stmt = null;
  21. if(count($estudios) > 0 && empty($error)){
  22. $return['html'] = generaHistorico($estudios);
  23. } else {
  24. if (!empty($error))
  25. $return['error'] = $error;
  26. else{
  27. $return['html'] = '<div class="msgBox d-flex flex-row justify-content-center align-items-center mt-5">
  28. <img src="img/triangulos.svg" class="imgBoxIzq" />
  29. <img src="img/triangulos.svg" class="imgBoxDer" />
  30. <hr class="hrArriba">
  31. <hr class="hrAbajo">
  32. <div class="d-flex flex-column justify-content-center align-items-center display-5 text-center p-4">
  33. <div>Aún no tienes<span class="text-azul1 mx-1">ningún</span>registro en el historial</div>
  34. </div>
  35. </div>';
  36. }
  37. }
  38. break;
  39. case 2: //Add
  40. $_POST['tipo_estudio'] = filter_var($_POST['tipo_estudio'], FILTER_SANITIZE_NUMBER_INT);
  41. $_POST['estudio'] = filter_var($_POST['estudio'], FILTER_SANITIZE_STRING);
  42. $_POST['institucion'] = filter_var($_POST['institucion'], FILTER_SANITIZE_STRING);
  43. $_POST['estatus'] = filter_var($_POST['estatus'], FILTER_SANITIZE_STRING);
  44. if($_POST['fecha_ini'] == '')
  45. $_POST['fecha_ini'] = null;
  46. else{
  47. $temp = explode('/',$_POST['fecha_ini']);
  48. $_POST['fecha_ini'] = $temp[1] . '-' . $temp[0] . '-01';
  49. }
  50. if($_POST['fecha_fin'] == '')
  51. $_POST['fecha_fin'] = null;
  52. else{
  53. $temp = explode('/',$_POST['fecha_fin']);
  54. $_POST['fecha_fin'] = $temp[1] . '-' . $temp[0] . '-01';
  55. }
  56. $_POST['cedula'] == '' ? $_POST['cedula'] = null : $_POST['cedula'] = filter_var($_POST['cedula'], FILTER_SANITIZE_STRING);
  57. $stmt = $pdo->prepare('SELECT * FROM alu_fi_estudioadicional(:Usuario_id, :Estudio_nombre, :TipoEstudio_id, :Estudio_fechaInicio, :Estudio_estado, :Estudio_institucion, :Estudio_fechaFin, :Estudio_cedula)');
  58. $stmt->bindParam(':Estudio_nombre', $_POST['estudio']);
  59. $stmt->bindParam(':TipoEstudio_id', $_POST['tipo_estudio']);
  60. $stmt->bindParam(':Estudio_fechaInicio', $_POST['fecha_ini']);
  61. $stmt->bindParam(':Estudio_estado', $_POST['estatus']);
  62. $stmt->bindParam(':Estudio_institucion', $_POST['institucion']);
  63. $stmt->bindParam(':Estudio_fechaFin', $_POST['fecha_fin']);
  64. $stmt->bindParam(':Estudio_cedula', $_POST['cedula']);
  65. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  66. if(!$stmt->execute()){
  67. print_r($stmt->errorInfo());
  68. $return['error'] = 'No fue posible agregar <span class="text-azul1">' . $_POST['estudio'] . '</span> al historial';
  69. }
  70. else
  71. $return['ok'] = 'Se agregó correctamente <span class="text-azul1">' . $_POST['estudio'] . '</span> al historial';
  72. $stmt->closeCursor();
  73. $stmt = null;
  74. break;
  75. case 3: //Update
  76. $_POST['tipo_estudio'] = filter_var($_POST['tipo_estudio'], FILTER_SANITIZE_NUMBER_INT);
  77. $_POST['estudio'] = filter_var($_POST['estudio'], FILTER_SANITIZE_STRING);
  78. $_POST['institucion'] = filter_var($_POST['institucion'], FILTER_SANITIZE_STRING);
  79. $_POST['estatus'] = filter_var($_POST['estatus'], FILTER_SANITIZE_STRING);
  80. if($_POST['fecha_ini'] == '')
  81. $_POST['fecha_ini'] = null;
  82. else{
  83. $temp = explode('/',$_POST['fecha_ini']);
  84. $_POST['fecha_ini'] = $temp[1] . '-' . $temp[0] . '-01';
  85. }
  86. if($_POST['fecha_fin'] == '')
  87. $_POST['fecha_fin'] = null;
  88. else{
  89. $temp = explode('/',$_POST['fecha_fin']);
  90. $_POST['fecha_fin'] = $temp[1] . '-' . $temp[0] . '-01';
  91. }
  92. $_POST['cedula'] == '' ? $_POST['cedula'] = null : $_POST['cedula'] = filter_var($_POST['cedula'], FILTER_SANITIZE_STRING);
  93. $stmt = $pdo->prepare('SELECT * FROM alu_fu_estudioadicional(:Usuario_id, :Estudio_id, :Estudio_nombre, :TipoEstudio_id, :Estudio_fechaInicio, :Estudio_fechaFin, :Estudio_estado, :Estudio_institucion, :Estudio_cedula)');
  94. $stmt->bindParam(':Estudio_nombre', $_POST['estudio']);
  95. $stmt->bindParam(':TipoEstudio_id', $_POST['tipo_estudio']);
  96. $stmt->bindParam(':Estudio_fechaInicio', $_POST['fecha_ini']);
  97. $stmt->bindParam(':Estudio_estado', $_POST['estatus']);
  98. $stmt->bindParam(':Estudio_institucion', $_POST['institucion']);
  99. $stmt->bindParam(':Estudio_fechaFin', $_POST['fecha_fin']);
  100. $stmt->bindParam(':Estudio_cedula', $_POST['cedula']);
  101. $stmt->bindParam(':Estudio_id', $_POST['id']);
  102. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  103. if(!$stmt->execute()){
  104. print_r($stmt->errorInfo());
  105. $return['error'] = 'No fue posible editar <span class="text-azul1">' . $_POST['estudio'] . '</span> del historial';
  106. }
  107. else
  108. $return['ok'] = 'Se editó correctamente <span class="text-azul1">' . $_POST['estudio'] . '</span> del historial';
  109. $stmt->closeCursor();
  110. $stmt = null;
  111. break;
  112. case 4: //Delete
  113. $stmt = $pdo->prepare('SELECT * FROM alu_fd_estudioadicional(:Estudio_id, :Usuario_id)');
  114. $stmt->bindParam(':Estudio_id', $_POST['id']);
  115. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  116. if(!$stmt->execute()){
  117. print_r($stmt->errorInfo());
  118. $return['error'] = 'No fue posible eliminar el idioma';
  119. }
  120. else
  121. $return['ok'] = 'Se eliminó de manera exitosa el idioma';
  122. $stmt->closeCursor();
  123. $stmt = null;
  124. break;
  125. case 5: //Select One
  126. $estudio = array();
  127. $stmt = $pdo->prepare('SELECT * FROM alu_fs_estudioadicional(:Usuario_id, :Estudio_id)');
  128. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  129. $stmt->bindParam(':Estudio_id', $_POST['id']);
  130. if(!$stmt->execute()){
  131. $return['error'] = 'No fue posible obtener los datos del registro';
  132. print_r($stmt->errorInfo());
  133. } else {
  134. $estudio = $stmt->fetch();
  135. $return['tipo_estudio'] = $estudio['TipoEstudio_id'];
  136. $return['estudio'] = $estudio['EstudioAdicional_nombre'];
  137. $temp = explode('-', $estudio['EstudioAdicional_fechaInicio']);
  138. $return['fecha_inicio'] = $temp[1] . '/' . $temp[0];
  139. if (is_null($estudio['EstudioAdicional_fechaFin']))
  140. $return['fecha_fin'] = '';
  141. else {
  142. $temp = explode('-', $estudio['EstudioAdicional_fechaFin']);
  143. $return['fecha_fin'] = $temp[1] . '/' . $temp[0];
  144. }
  145. $return['estatus'] = $estudio['EstudioAdicional_estado'];
  146. $return['institucion'] = $estudio['EstudioAdicional_institucion'];
  147. is_null($estudio['EstudioAdicional_cedula']) ? $return['cedula'] = '' : $return['cedula'] = $estudio['EstudioAdicional_cedula'];
  148. }
  149. $stmt->closeCursor();
  150. $stmt = null;
  151. break;
  152. }
  153. }
  154. $return['json'] = json_encode($return);
  155. echo json_encode($return);
  156. function generaHistorico($estudios){
  157. $html = '';
  158. $texto = '';
  159. $desc_tipo = '';
  160. foreach ($estudios as $estudio){
  161. switch($estudio["TipoEstudio_id"]){
  162. case '1': $desc_tipo="Certificación"; break;
  163. case '2': $desc_tipo="Curso"; break;
  164. case '3': $desc_tipo="Licenciatura"; break;
  165. case '4': $desc_tipo="Especialidad"; break;
  166. case '5': $desc_tipo="Maestría"; break;
  167. case '6': $desc_tipo="Doctorado"; break;
  168. case '7': $desc_tipo="Postdoctorado"; break;
  169. }
  170. $html .= '<div class="timeline-item">
  171. <div class="bullet position-absolute"><div class="figura"></div></div>
  172. <div class="d-flex justify-content-start align-items-center mb-2">
  173. <div class="fecha d-flex justify-content-center align-items-center indivisa-text-italic">' . Fechas::fechaRango($estudio['EstudioAdicional_fechaInicio'], $estudio['EstudioAdicional_fechaFin'],'-') . '</div>
  174. <div class="elementos d-flex justify-content-center align-items-center">
  175. <span class="ing-editar iconAcciones text-azul2" data-id="' . $estudio['EstudioAdicional_id'] . '"></span>
  176. <span class="ing-basura iconAcciones text-danger" data-id="' . $estudio['EstudioAdicional_id'] . '"></span>
  177. </div>
  178. </div>
  179. <div class="display-6"><span class="text-azul2">' . $desc_tipo . ':</span><span class="ml-1 indivisa-text-bold-italic text-primary">' . $estudio["EstudioAdicional_nombre"] . '</span></div>
  180. <div>' . $estudio["EstudioAdicional_institucion"] . '</div>
  181. </div>';
  182. }
  183. return $html;
  184. }