insigniapersonal_update.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. /*
  3. * Inserta los datos de área administrativa
  4. * Recibe:
  5. * desc
  6. * Error:
  7. * 0 - No se recibieron los datos
  8. * 1 - Error de base de datos
  9. * Success:
  10. */
  11. require_once("../../include/constantes.php");
  12. require_once("../../include/bd_pdo.php");
  13. require_once("../../include/util.php");
  14. require_once("../../classes/ValidaSesion.php");
  15. require_once("../classes/LogActividad.php");//die on error
  16. $pag = "../insigniapersonal_asigna.php";
  17. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  18. $objSesion = new ValidaSesion($pdo, 114, GEMA);
  19. if(!$objSesion->tieneAcceso()){
  20. $objSesion->terminaSesion();
  21. //print_r($objSesion->getError());
  22. }
  23. if(!$objSesion->puedeEditar()){
  24. header("Location: ".$pag);
  25. exit();
  26. }
  27. unset($objValida);
  28. if(!isset($_POST["insignia_id"], $_POST["usr_id"], $_POST["titulo"], $_POST["desc"], $_POST["categoria"], $_POST["puesto"]) ){
  29. header("Location: ".$pag."?error=0");
  30. exit();
  31. }
  32. //$titulo = trim(filter_input(INPUT_POST, "titulo", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto
  33. //$desc = trim(filter_input(INPUT_POST, "desc", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto
  34. $titulo = trim($_POST["titulo"]);//limpia texto
  35. $desc = trim($_POST["desc"]);//limpia texto
  36. $cat = filter_input(INPUT_POST, "categoria", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  37. $puesto = filter_input(INPUT_POST, "puesto", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  38. $usr_id = filter_input(INPUT_POST, "usr_id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  39. $id_insignia = filter_input(INPUT_POST, "insignia_id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  40. if(!empty($_POST["fecha_inicial"]))
  41. $fecha_ini = fechaGuion(trim(filter_input(INPUT_POST, "fecha_inicial", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));//limpia texto
  42. $fecha_fin = fechaGuion(trim(filter_input(INPUT_POST, "fecha_final", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));//limpia texto
  43. try{
  44. $pdo->beginTransaction();
  45. /*if(isset($target_file)){
  46. //Está mal, no se cambia evidencia
  47. $stmt = $pdo->prepare('Select * from fu_insignia(:titulo, :desc, :tipo, :puesto, true, NULL, NULL)');
  48. $stmt->bindParam(":evidencia", $target_file);
  49. }else{*/
  50. $stmt = $pdo->prepare('Select * from fu_insignia(:id, :titulo, :desc, :tipo, :puesto, NULL, NULL)');
  51. //}
  52. $stmt->bindParam(":id", $id_insignia);
  53. $stmt->bindParam(":titulo", $titulo);
  54. $stmt->bindParam(":desc", $desc);
  55. $stmt->bindParam(":tipo", $cat);
  56. $stmt->bindParam(":puesto", $puesto);
  57. if(!$stmt->execute()){
  58. print_r($stmt->errorInfo());
  59. $pdo->rollBack();
  60. //header("Location:".$pag."?id=".$usr_id."&error=5");
  61. exit();
  62. }
  63. $stmt->closeCursor();
  64. //Borra atributos
  65. $stmt = $pdo->prepare('Select * from fd_insignia_atributoegreso(:id, NULL)');
  66. $stmt->bindParam(":id", $id_insignia);
  67. if(!$stmt->execute()){
  68. $t = $stmt->errorInfo();
  69. $pdo->rollBack();
  70. header("Location:".$pag."?id=".$usr_id."&error=4");
  71. exit();
  72. }
  73. //Inserta atributos
  74. if(!$error && !empty($_POST["atributo"]) && !empty($_POST["nivel"]) ){
  75. $stmt = $pdo->prepare('Select * from fi_insignia_atributoegreso(:id, :atr, :nivel)');
  76. $stmt->bindParam(":id", $id_insignia);
  77. for($i=0; $i< count($_POST["atributo"]) && !$error; $i++){
  78. if($_POST["atributo"][$i] != 0){
  79. $stmt->bindParam(":atr", $_POST["atributo"][$i]);
  80. $stmt->bindParam(":nivel", $_POST["nivel"][$i]);
  81. if(!$stmt->execute()){
  82. $t = $stmt->errorInfo();
  83. $pdo->rollBack();
  84. header("Location:".$pag."?id=".$usr_id."&error=4");
  85. exit();
  86. }
  87. }
  88. }
  89. $stmt->closeCursor();
  90. }
  91. //hay archivo? No archivos en update
  92. /*
  93. if(isset($_FILES['archivo']['name'])){
  94. $archivo = $_FILES['archivo']['name'];
  95. // Check file size
  96. if ($_FILES["archivo"]["size"] > 10 * 1024 * 1024) {//en bytes
  97. $pdo->rollBack();
  98. header("Location:".$pag."?id=".$usr_id."&error=2");
  99. exit();
  100. }
  101. $dot_arr = explode('.', $archivo);
  102. $ext = end($dot_arr);
  103. unset($dot_arr);
  104. $target_file = $usr_id."_".$id_insignia.".".$ext;
  105. }*/
  106. if(!empty($fecha_ini)){
  107. $stmt = $pdo->prepare('Select * from fu_insigniapersonal(:usr, :ins, :fecha_ini, :fecha_fin)');
  108. $stmt->bindParam(":fecha_ini", $fecha_ini);
  109. }else{
  110. $stmt = $pdo->prepare('Select * from fu_insigniapersonal(:usr, :ins, NULL, :fecha_fin)');
  111. }
  112. $stmt->bindParam(":usr", $usr_id);
  113. $stmt->bindParam(":ins", $id_insignia);
  114. $stmt->bindParam(":fecha_fin", $fecha_fin);
  115. if(!$stmt->execute()){
  116. //print_r($stmt->errorInfo());
  117. $pdo->rollBack();
  118. header("Location:".$pag."?id=".$usr_id."&error=1");
  119. exit();
  120. }
  121. /*No archivos en update
  122. if(isset($target_file)){
  123. $stmt = $pdo->prepare('Select * from fi_insigniaevidencia(:ins, :usr, :url)');
  124. $stmt->bindParam(":url", $target_file);
  125. $stmt->bindParam(":usr", $usr_id);
  126. $stmt->bindParam(":ins", $id_insignia);
  127. if(!$stmt->execute()){
  128. //print_r($stmt->errorInfo());
  129. $pdo->rollBack();
  130. header("Location:".$pag."?id=".$usr_id."&error=1");
  131. exit();
  132. }
  133. $stmt->closeCursor();
  134. $target_dir = "../files/evidencias/";
  135. if(file_exists($target_dir.$target_file)){
  136. unlink($target_dir.$target_file);
  137. }
  138. if (!move_uploaded_file($_FILES["archivo"]["tmp_name"], $target_dir.$target_file)) {
  139. header("Location:".$pag."?id=".$usr_id."&error=3");
  140. exit();
  141. }
  142. }*/
  143. $stmt->closeCursor();
  144. $pdo->commit();
  145. } catch(PDOException $e) {
  146. $pdo->rollBack();
  147. echo "Ocurrió un error al insertar los datos del evento.". $e->getMessage();
  148. //header("Location: ".$pag."?id=".$usr_id."&error=5");
  149. exit();
  150. }
  151. header("Location: ".$pag."?id=".$usr_id."&ok=0");
  152. exit();
  153. ?>