alumnos_importar.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <?php
  2. /* AJAX
  3. * Selecciona los datos de la carrera
  4. * Recibe:
  5. * id - ID de la carrera
  6. * Return:
  7. * resultado o cadena de error
  8. */
  9. require_once("../../include/constantes.php");
  10. require_once("../../include/nocache.php");
  11. require_once("../../include/util.php");
  12. require_once("../../include/bd_pdo.php");
  13. require_once("../../classes/ValidaSesion.php");
  14. $pag = "../alumnos_subir.php";
  15. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  16. $objSesion = new ValidaSesion($pdo, 101, GEMA);
  17. if(!$objSesion->tieneAcceso()){
  18. header("Location: ".$pag."?error=2");
  19. exit();
  20. }else if(!isset($_POST["ingreso"], $_POST["plan"])){
  21. header("Location: ".$pag."?error=0");
  22. exit();
  23. }else{
  24. try {
  25. $pdo->beginTransaction();
  26. $alumnoArr = array();
  27. $al = 0;
  28. $row = 1;
  29. $repetido = 0;
  30. //$fechaingresoDefault = trim(filter_input(INPUT_POST, "ingresoDefault"));//limpia texto
  31. //$fechaingresoDefault = fechaGuion($fechaingresoDefault);//solo si la fecha de ingreso está vacía en la tabla
  32. $plan = filter_input(INPUT_POST, "plan", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  33. $apellidos = $_POST["apellidos"];
  34. $nombre = $_POST["nombre"];
  35. $clave = $_POST["clave"];
  36. $curp = $_POST["curp"];
  37. $correo = $_POST["correo"];
  38. $telcasa = $_POST["telcasa"];
  39. $telcel = $_POST["telcel"];
  40. $ingreso = $_POST["ingreso"];
  41. $generacion = $_POST["generacion"];
  42. for($i =0; $i< count($apellidos); $i++){
  43. $stmt = $pdo->prepare('Select * from fi_alumno(:nombre, :apellidos, :curp, :clave)');//no administrador, devuelve: Usuario_id
  44. $stmt->bindParam(":nombre", $nombre[$i]);
  45. $stmt->bindParam(":apellidos", $apellidos[$i]);
  46. $stmt->bindParam(":curp", $curp[$i]);
  47. $stmt->bindParam(":clave", $clave[$i]);
  48. if(!$stmt->execute()){
  49. $pdo->rollBack();
  50. //print_r($stmt->errorInfo());
  51. header("Location:".$pag."?error=1");
  52. exit();
  53. }
  54. $usr_rs = $stmt->fetch();
  55. $usr_id = $usr_rs["Usuario_id"];
  56. $usr_existe = $usr_rs["Usuario_existe"];
  57. $stmt->closeCursor(); // cierra conexion de resultado
  58. $usr_rs = null;
  59. unset($usr_rs);
  60. //Inserta datos de carrera
  61. if(!$usr_existe){
  62. $stmt = $pdo->prepare('Select * from fi_alumno_planestudio(:id, :plan, :claveulsa, :fechai, NULL, NULL, :generacion)');
  63. $stmt->bindParam(":id", $usr_id);
  64. $stmt->bindParam(":plan", $plan);
  65. $stmt->bindParam(":claveulsa", $clave[$i]);
  66. $fechaTmp = fechaGuion(trim($ingreso[$i]), false);
  67. $stmt->bindParam(":fechai", $fechaTmp);
  68. $fechaTmp = fechaGuion(trim($generacion[$i]), false);
  69. $stmt->bindParam(":generacion", $fechaTmp);
  70. /*if(trim($ingreso[$i]) == "")
  71. $stmt->bindParam(":fechai", $fechaingresoDefault);
  72. else{
  73. $ingresoTmp = fechaGuion(trim($ingreso[$i]));
  74. $stmt->bindParam(":fechai", $ingresoTmp);
  75. }*/
  76. if(!$stmt->execute()){
  77. $stmt->closeCursor();
  78. $pdo->rollBack();
  79. /*echo "Error fi_alumno_planestudio [".$usr_id."] [".$plan."] [".$clave[$i]."] [".fechaGuion($ingreso[$i], false)."][".fechaGuion($generacion[$i])."]<br>";
  80. print_r($stmt->errorInfo()); exit();*/
  81. header("Location:".$pag."?error=5");
  82. exit();
  83. }
  84. $stmt->closeCursor();
  85. //Inserta datos de contacto
  86. if(trim($telcasa[$i]) != ""){
  87. $stmt = $pdo->prepare('Select * from fi_contacto(:valor, 1, :usr, 1, 1)');//inserta tel casa
  88. $stmt->bindParam(":usr", $usr_id);
  89. $stmt->bindParam(":valor", $telcasa[$i]);
  90. if(!$stmt->execute()){
  91. $pdo->rollBack();
  92. //echo "Error fi_contacto [".$valorArr[$i]."] [".$tipoArr[$i]."] [".$usr_id."]<br>";
  93. //print_r($stmt->errorInfo());
  94. header("Location:".$pag."?error=3");
  95. exit();
  96. }
  97. }
  98. if(trim($telcel[$i]) != ""){
  99. $stmt = $pdo->prepare('Select * from fi_contacto(:valor, 1, :usr, 1, 2)');//inserta tel cel
  100. $stmt->bindParam(":usr", $usr_id);
  101. $stmt->bindParam(":valor", $telcel[$i]);
  102. if(!$stmt->execute()){
  103. $pdo->rollBack();
  104. //echo "Error fi_contacto [".$valorArr[$i]."] [".$tipoArr[$i]."] [".$usr_id."]<br>";
  105. //print_r($stmt->errorInfo());
  106. header("Location:".$pag."?error=3");
  107. exit();
  108. }
  109. }
  110. if(trim($correo[$i]) != ""){
  111. $stmt = $pdo->prepare('Select * from fi_contacto(:valor, 3, :usr, 1, NULL)');//inserta correo
  112. $stmt->bindParam(":usr", $usr_id);
  113. $stmt->bindParam(":valor", $correo[$i]);
  114. if(!$stmt->execute()){
  115. $pdo->rollBack();
  116. //echo "Error fi_contacto [".$valorArr[$i]."] [".$tipoArr[$i]."] [".$usr_id."]<br>";
  117. //print_r($stmt->errorInfo());
  118. header("Location:".$pag."?error=3");
  119. exit();
  120. }
  121. }
  122. $stmt->closeCursor(); // cierra conexion de resultado
  123. }else{
  124. $repetido++;
  125. }
  126. }
  127. $pdo->commit();
  128. $stmt = null; // cierra conexion
  129. if($repetido == 0){
  130. header("Location: ".$pag."?ok=0");
  131. }else if($repetido < count($apellidos)){
  132. header("Location: ".$pag."?ok=1&rep=".$repetido);
  133. }else{
  134. header("Location: ".$pag."?error=4");
  135. }
  136. //$alumnoArr;
  137. } catch(PDOException $e) {
  138. $pdo->rollBack();
  139. //header("Location:".$pag."?error=1");
  140. print_r($e);
  141. }
  142. }
  143. ?>