empleos_action.php 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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. date_default_timezone_set('America/Mexico_City');
  9. switch ($_POST['tipo']) {
  10. case 1: //Select All
  11. $error = false;
  12. $trabajos = array();
  13. $stmt = $pdo->prepare('SELECT * FROM alu_fs_trabajo(:Usuario_id, null)');
  14. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  15. if(!$stmt->execute()){
  16. $error = true;
  17. print_r($stmt->errorInfo());
  18. } else
  19. $trabajos = $stmt->fetchAll();
  20. $stmt->closeCursor();
  21. $stmt = null;
  22. if (count($trabajos) > 0){
  23. $html = '<div class="timeline">';
  24. foreach ($trabajos as $trabajo){
  25. $html.= '<div class="trabajo">
  26. <div class="d-flex flex-column justify-content-start align-items-start">
  27. <div class="fecha indivisa-text-bold text-white mb-2">' . Fechas::fechaRango($trabajo['Trabajo_fechaInicio'], $trabajo['Trabajo_fechaFin'], '/') . '</div>
  28. <div class="indivisa-text-bold">' . $trabajo['Trabajo_empresa'] . '</div>
  29. <div class="indivisa-text-italic">' . $trabajo['Trabajo_nombre'] . '</div>
  30. <div>' . $trabajo['Trabajo_descripcion'] . '</div>
  31. <div class="d-flex flex-row justify-content-end align-items-center w-100">
  32. <span class="ing-editar iconAcciones text-azul2" data-tipo="3" data-id="' . $trabajo['Trabajo_id'] . '"></span>
  33. <span class="ing-basura iconAcciones text-danger" data-id="' . $trabajo['Trabajo_id'] . '"></span>
  34. </div>
  35. </div>
  36. </div>';
  37. }
  38. $html .= '</div>';
  39. $return['html'] = $html;
  40. } else {
  41. $return['html'] = '<div class="d-flex flex-row justify-content-center align-items-center">
  42. <div class="msgBox d-flex flex-row justify-content-center align-items-center">
  43. <img src="img/triangulos.svg" class="imgBoxIzq" />
  44. <img src="img/triangulos.svg" class="imgBoxDer" />
  45. <hr class="hrArriba">
  46. <hr class="hrAbajo">
  47. <div class="d-flex flex-column justify-content-center align-items-center display-5 text-center">
  48. <div>¡Lo sentimos!</div>
  49. <div>Aún no tienes <span class="text-azul1 mx-1">ningún</span>empleo registrado</div>
  50. </div>
  51. </div>
  52. </div>';
  53. }
  54. if ($error)
  55. $return['html'] = 'ERROR';
  56. break;
  57. case 2: //Add Empleo
  58. $_POST['puesto'] = filter_var($_POST['puesto'], FILTER_SANITIZE_STRING);
  59. $_POST['empresa'] = filter_var($_POST['empresa'], FILTER_SANITIZE_STRING);
  60. $_POST['inicio'] = filter_var($_POST['inicio'], FILTER_SANITIZE_STRING);
  61. $_POST['fin'] = filter_var($_POST['fin'], FILTER_SANITIZE_STRING);
  62. if($_POST['fin'] == '')
  63. $stmt = $pdo->prepare('SELECT * FROM alu_fi_trabajo(:Trabajo_nombre, :Trabajo_empresa, :Trabajo_fechaInicio, :Trabajo_descripcion, :Usuario_id)');
  64. else{
  65. $stmt = $pdo->prepare('SELECT * FROM alu_fi_trabajo(:Trabajo_nombre, :Trabajo_empresa, :Trabajo_fechaInicio, :Trabajo_descripcion, :Usuario_id, :Trabajo_fechaFin)');
  66. $temp = explode('/',$_POST['fin']);
  67. $fecha_fin = $temp[1] . '-' . $temp[0] . '-01';
  68. $stmt->bindParam(':Trabajo_fechaFin', $fecha_fin, PDO::PARAM_STR);
  69. }
  70. $stmt->bindParam(':Trabajo_nombre', $_POST['puesto'], PDO::PARAM_STR);
  71. $stmt->bindParam(':Trabajo_empresa', $_POST['empresa'], PDO::PARAM_STR);
  72. $temp = explode('/',$_POST['inicio']);
  73. $fecha_inicio = $temp[1] . '-' . $temp[0] . '-01';
  74. $stmt->bindParam(':Trabajo_fechaInicio', $fecha_inicio, PDO::PARAM_STR);
  75. $stmt->bindParam(':Trabajo_fechaInicio', $fecha_inicio, PDO::PARAM_STR);
  76. $stmt->bindParam(':Trabajo_descripcion', $_POST['descripcion'], PDO::PARAM_STR);
  77. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  78. if(!$stmt->execute()){
  79. print_r($stmt->errorInfo());
  80. $return['error'] = 'No fue posible agregar el empleo de <span class="text-azul1">' . $_POST['puesto'] . '</span>';
  81. }
  82. else
  83. $return['ok'] = 'Se agregó correctamente el empleo de <span class="text-azul1">' . $_POST['puesto'] . '</span>';
  84. $stmt->closeCursor();
  85. $stmt = null;
  86. break;
  87. case 3: //Update Empleo
  88. $_POST['puesto'] = filter_var($_POST['puesto'], FILTER_SANITIZE_STRING);
  89. $_POST['empresa'] = filter_var($_POST['empresa'], FILTER_SANITIZE_STRING);
  90. $_POST['inicio'] = filter_var($_POST['inicio'], FILTER_SANITIZE_STRING);
  91. $_POST['fin'] = filter_var($_POST['fin'], FILTER_SANITIZE_STRING);
  92. if($_POST['fin'] == '')
  93. $stmt = $pdo->prepare('SELECT * FROM alu_fu_trabajo(:Trabajo_id, :Trabajo_nombre, :Trabajo_empresa, :Trabajo_fechaInicio, :Trabajo_descripcion, :Usuario_id)');
  94. else{
  95. $stmt = $pdo->prepare('SELECT * FROM alu_fu_trabajo(:Trabajo_id, :Trabajo_nombre, :Trabajo_empresa, :Trabajo_fechaInicio, :Trabajo_descripcion, :Usuario_id, :Trabajo_fechaFin)');
  96. $temp = explode('/',$_POST['fin']);
  97. $fecha_fin = $temp[1] . '-' . $temp[0] . '-01';
  98. $stmt->bindParam(':Trabajo_fechaFin', $fecha_fin, PDO::PARAM_STR);
  99. }
  100. $stmt->bindParam(':Trabajo_id', $_POST['id']);
  101. $stmt->bindParam(':Trabajo_nombre', $_POST['puesto'], PDO::PARAM_STR);
  102. $stmt->bindParam(':Trabajo_empresa', $_POST['empresa'], PDO::PARAM_STR);
  103. $temp = explode('/',$_POST['inicio']);
  104. $fecha_inicio = $temp[1] . '-' . $temp[0] . '-01';
  105. $stmt->bindParam(':Trabajo_fechaInicio', $fecha_inicio, PDO::PARAM_STR);
  106. $stmt->bindParam(':Trabajo_descripcion', $_POST['descripcion'], PDO::PARAM_STR);
  107. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  108. if(!$stmt->execute()) {
  109. print_r($stmt->errorInfo());
  110. $return['error'] = 'No fue posible editar el empleo de <span class="text-azul1">' . $_POST['puesto'] . '</span>';
  111. }
  112. else
  113. $return['ok'] = 'Se editó correctamente el empleo de <span class="text-azul1">' . $_POST['puesto'] . '</span>';
  114. $stmt->closeCursor();
  115. $stmt = null;
  116. break;
  117. case 4: //Delete Empleo
  118. $_POST['id'] = intval(filter_var($_POST['id'], FILTER_SANITIZE_NUMBER_INT));
  119. $stmt = $pdo->prepare('SELECT * FROM alu_fd_trabajo(:Trabajo_id, :Usuario_id)');
  120. $stmt->bindParam(':Trabajo_id', $_POST['id']);
  121. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  122. if(!$stmt->execute()){
  123. print_r($stmt->errorInfo());
  124. $return['error'] = 'No fue posible eliminar el empleo ';
  125. }
  126. else
  127. $return['ok'] = 'Se eliminó de manera exitosa el empleo ';
  128. $stmt->closeCursor();
  129. $stmt = null;
  130. break;
  131. case 5://Select One
  132. $_POST['id'] = intval(filter_var($_POST['id'], FILTER_SANITIZE_NUMBER_INT));
  133. $stmt = $pdo->prepare('SELECT * FROM alu_fs_trabajo(:Usuario_id, :Trabajo_id)');
  134. $stmt->bindParam(':Usuario_id', $_SESSION['usuario_id']);
  135. $stmt->bindParam(':Trabajo_id', $_POST['id']);
  136. if(!$stmt->execute()){
  137. $return['error'] = 'No fue posible obtener los datos del empleo ';
  138. print_r($stmt->errorInfo());
  139. } else {
  140. $trabajo = $stmt->fetch();
  141. $return['puesto'] = $trabajo['Trabajo_nombre'];
  142. $return['empresa'] = $trabajo['Trabajo_empresa'];
  143. $temp = explode('/', $trabajo['Trabajo_fechaInicio']);
  144. $return['inicio'] = $temp[1] . '/' . $temp[0];
  145. if (!is_null($trabajo['Trabajo_fechaFin'])) {
  146. $temp = explode('/', $trabajo['Trabajo_fechaFin']);
  147. $return['fin'] = $temp[1] . '/' . $temp[0];
  148. } else
  149. $return['fin'] = '';
  150. if (!is_null($trabajo['Trabajo_descripcion']))
  151. $return['descripcion'] = $trabajo['Trabajo_descripcion'];
  152. else
  153. $return['descripcion'] = '';
  154. }
  155. $stmt->closeCursor();
  156. $stmt = null;
  157. break;
  158. }
  159. }
  160. $return['json'] = json_encode($return);
  161. echo json_encode($return);