datos_revisa.php 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568
  1. <?php
  2. require_once("./include/constantes.php");
  3. require_once("./include/bd_pdo.php");
  4. require_once("./classes/ValidaSesion.php");
  5. require_once("./classes/MainMenu.php");
  6. require_once("apsa/include/grados.php");
  7. //ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
  8. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión. No necesita menus
  9. /*$objSesion = new ValidaSesion($pdo, null, null);
  10. if(!$objSesion->tieneAcceso()){
  11. $objSesion->terminaSesion();
  12. }*/
  13. session_start();
  14. if(!isset($_SESSION["usuario_id"])){
  15. session_destroy();
  16. $pag = "salir.php?expired=1";
  17. header("Location: ".$pag);
  18. exit();
  19. }
  20. $session_life = 1*60*60;//convertido a segundos
  21. if (isset($_SESSION["timeout"])) {
  22. // calculate the session's "time to live"
  23. $sessionTTL = time() - $_SESSION["timeout"];
  24. if ($sessionTTL > $session_life) {
  25. $_SESSION = array();
  26. session_destroy();
  27. $pag = $_SERVER['SERVER_NAME']."/salir.php?expired=1";
  28. header("Location: http://".$pag);
  29. exit();
  30. }
  31. }else{
  32. $_SESSION = array();
  33. session_destroy();
  34. $pag = $_SERVER['SERVER_NAME']."/salir.php?expired=1";
  35. header("Location: http://".$pag);
  36. exit();
  37. }
  38. $_SESSION["timeout"] = time();
  39. $stmt = $pdo->prepare('Select * from fs_usuario(:id)');
  40. $stmt->bindParam(":id", $_SESSION["usuario_id"]);
  41. if(!$stmt->execute()){
  42. $errorMessage = "No existe ese usuario en el sistema de ingeniería";
  43. }else{
  44. $alumno = $stmt->fetch();
  45. /*$alumno["id"] = $_SESSION["usuario_id"];
  46. $alumno["nombre"] = $_SESSION["usuario_nombre"];
  47. $alumno["apellidos"] = $_SESSION["usuario_apellidos"];
  48. $alumno["curp"] = $_SESSION["usuario_curp"];*/
  49. }
  50. $stmt->closeCursor(); // cierra conexion de resultado
  51. //Obtiene 2 corrreos
  52. $stmt = $pdo->prepare('Select * from fs_contacto(:id,3 , NULL) ORDER BY "PerfilContacto_id" LIMIT 2 OFFSET 0');//3 correo, Null todos
  53. $stmt->bindParam(":id", $_SESSION["usuario_id"]);
  54. if(!$stmt->execute()){
  55. $errorMessage = "No existe ese usuario en el sistema de ingeniería";
  56. }else{
  57. $contacto_rs = $stmt->fetchAll();
  58. $alumno["correo_id1"] = "";
  59. $alumno["correo_id2"] = "";
  60. $alumno["correo1"] = "";
  61. $alumno["correo2"] = "";
  62. $i = 1;
  63. foreach($contacto_rs as $correo){
  64. $alumno["correo_id".$i] = $correo["Contacto_id"];
  65. $alumno["correo".$i] = $correo["Contacto_valor"];
  66. $i++;
  67. }
  68. //Si el primer correo no es institucional, es personal y se va a campo 2
  69. if( strpos($alumno["correo1"], "lasalle.mx") === false && strpos($alumno["correo1"], "lasallistas.org.mx") === false ){
  70. $tmp = $alumno["correo2"];
  71. $alumno["correo2"] = $alumno["correo1"];
  72. $alumno["correo1"] = $tmp;
  73. $tmp = $alumno["correo_id2"];
  74. $alumno["correo_id2"] = $alumno["correo_id1"];
  75. $alumno["correo_id1"] = $tmp;
  76. }
  77. }
  78. $stmt->closeCursor(); // cierra conexion de resultado
  79. //Obtiene 1 teléfono de casa
  80. $alumno["tel_fijo_id"] = "";
  81. $alumno["tel_fijo"] = "";
  82. $stmt = $pdo->prepare('SELECT * from fs_contacto(:id, 1 , NULL) WHERE "SubtipoContacto_id" = 1 ORDER BY "PerfilContacto_id" LIMIT 1 OFFSET 0');//3 correo, Null todos
  83. $stmt->bindParam(":id", $_SESSION["usuario_id"]);
  84. if(!$stmt->execute()){
  85. $errorMessage = "No existe ese usuario en el sistema de ingeniería";
  86. }else{
  87. $contacto_rs = $stmt->fetch();
  88. $alumno["tel_fijo_id"] = isset($contacto_rs["Contacto_id"])?$contacto_rs["Contacto_id"]:"";
  89. $alumno["tel_fijo"] = isset($contacto_rs["Contacto_valor"])?$contacto_rs["Contacto_valor"]:"";
  90. }
  91. $stmt->closeCursor(); // cierra conexion de resultado
  92. //Obtiene 1 teléfono celular
  93. $alumno["tel_cel_id"] = "";
  94. $alumno["tel_cel"] = "";
  95. $stmt = $pdo->prepare('SELECT * from fs_contacto(:id, 1 , NULL) WHERE "SubtipoContacto_id" = 2 ORDER BY "PerfilContacto_id" LIMIT 1 OFFSET 0');//3 correo, Null todos
  96. $stmt->bindParam(":id", $_SESSION["usuario_id"]);
  97. if(!$stmt->execute()){
  98. $errorMessage = "No existe ese usuario en el sistema de ingeniería";
  99. }else{
  100. $contacto_rs = $stmt->fetch();
  101. $alumno["tel_cel_id"] = isset($contacto_rs["Contacto_id"])?$contacto_rs["Contacto_id"]:"";
  102. $alumno["tel_cel"] = isset($contacto_rs["Contacto_valor"])?$contacto_rs["Contacto_valor"]:"";
  103. }
  104. $stmt->closeCursor(); // cierra conexion de resultado
  105. //--Manejo de errores y mensajes de exito
  106. /*if(isset($_GET["error"]) && is_numeric($_GET["error"])){
  107. switch ($_GET["error"]){
  108. case 0: $errorDesc = "No se recibó ningún dato para actualizar."; break;
  109. case 1: $errorDesc = "Ocurrió un error al actualizar los datos."; break;
  110. case 2: $errorDesc = "La contraseña no es válida. Debe contener al menos 1 letra, 1 número, 1 caracter especial y tener una longitud de 5 caracteres."; break;
  111. }
  112. }*/
  113. ?>
  114. <!DOCTYPE html>
  115. <html lang="es" prefix="og: http://ogp.me/ns#">
  116. <head>
  117. <title>.: Facultad de Ingeniería :.</title>
  118. <meta charset="utf-8">
  119. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  120. <link rel="icon" type="image/png" href="img/favicon.png" />
  121. <link rel="stylesheet" href="./css/bootstrap-ulsa.min.css" type="text/css">
  122. <link rel="stylesheet" href="./css/indivisa.css" type="text/css">
  123. <link rel="stylesheet" href="./css/sgi.css?rand=<?php echo rand();?>" type="text/css">
  124. <link rel="stylesheet" href="./css/fa_all.css" type="text/css">
  125. <link rel="stylesheet" href="./css/postit.css?rand=20210701" type="text/css">
  126. </head>
  127. <body style="display: block;">
  128. <?php
  129. //--- Objeto que pinta menu y header
  130. $menuObj = new MainMenu($_SESSION["usuario_id"], null, $pdo, null, $_SESSION["usuario_apellidos"]." ".$_SESSION["usuario_nombre"]);
  131. $menuObj->printHead();
  132. ?>
  133. <main class="container-fluid content marco mb-4">
  134. <?php include_once("./include/errorMessage.php"); $errorMessage="";?>
  135. <div class="progress mb-4" id="progreso">
  136. <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="4"></div>
  137. </div>
  138. <div class="row collapse" id="errorBox">
  139. <div class="col-12">
  140. <div class="alert alert-danger">Usuario_apellidos
  141. <button type="button" class="close" data-toggle="collapse" href="#errorBox" aria-controls="errorBox" aria-expanded="false">×</button>
  142. <span class="ing-cancelar ing-fw float-left" style="font-size:2em"></span>
  143. <p class="pt-1" style="margin-left:60px" id="errorBox_text"><?php echo $errorMessage;?></p>
  144. </div>
  145. </div>
  146. </div>
  147. <div id="datos_block">
  148. <div>
  149. <h3>1. Revisión</h3>
  150. <p class="">Antes de comenzar debes actualizar tus datos.</p>
  151. <p class="">Estos son los datos que tienes registrados en la Facultad de Ingeniería. Revisa que tu nombre y apellidos estén completos y con los acentos, mayúsculas y minúsculas correctos.</p>
  152. </div>
  153. <div class="form-box form-box-info">
  154. <div class="form-group row">
  155. <label for="nombre_orig" class="col-4 col-form-label">Grado</label>
  156. <div class="col-8 col-md-6">
  157. <input id="grado_orig" name="grado" type="text" class="form-control nombre" readonly="readonly" value="<?php echo $alumno["Usuario_grado"];?>">
  158. </div>
  159. </div>
  160. <div class="form-group row">
  161. <label for="nombre_orig" class="col-4 col-form-label">Nombre</label>
  162. <div class="col-8 col-md-6">
  163. <input id="nombre_orig" name="nombre" type="text" class="form-control nombre" readonly="readonly" value="<?php echo $alumno["Usuario_nombre"];?>">
  164. </div>
  165. </div>
  166. <div class="form-group row">
  167. <label for="apellidos_orig" class="col-4 col-form-label text-right">Apellidos</label>
  168. <div class="col-8 col-md-6">
  169. <input id="apellidos_orig" name="apellidos" type="text" class="form-control apellidos" readonly="readonly" value="<?php echo $alumno["Usuario_apellidos"];?>">
  170. </div>
  171. </div>
  172. </div>
  173. <div class="form-group row">
  174. <div class="col-12 text-center">
  175. <p class="mb-4"><b class="text-danger">Recuerda que estos datos se utilizan para generar tus constancias y otros documentos oficiales y no oficiales</b></p>
  176. <button type="button" class="btn btn-outline-primary" id="btn_correcto"><span class="ing-aceptar ing-fw"></span> Mis datos son correctos</button>
  177. <button type="button" class="btn btn-outline-danger" id="btn_error"><span class="ing-cancelar ing-fw"></span> Hay un error</button>
  178. </div>
  179. </div>
  180. </div>
  181. <div id="error_block" class="d-none">
  182. <div class="row">
  183. <div class="col">
  184. <h3>2. Corrección</h3>
  185. <p class="">Escribe tu nombre de la forma correcta.</p>
  186. </div>
  187. </div>
  188. <div class="form-box">
  189. <div class="form-group row">
  190. <label for="grado_new" class="col-4 col-form-label">Grado *</label>
  191. <div class="col-8 col-md-6">
  192. <div class="datalist datalist-select mb-1 w-100">
  193. <div class="datalist-input"><?php echo $usuario_rs["Usuario_grado"];?></div>
  194. <span class="ing-buscar icono"></span>
  195. <ul style="display:none">
  196. <?php foreach(GRADOS as $grado){ ?>
  197. <li data-id="<?php echo $grado;?>" <?php if($grado == $alumno["Usuario_grado"]){echo "class='selected'";}?> ><?php echo $grado;?></li>
  198. <?php }?>
  199. </ul>
  200. <input type="hidden" id="grado_new" name="grado" value="">
  201. </div>
  202. </div>
  203. </div>
  204. <div class="form-group row">
  205. <label for="nombre_new" class="col-4 col-form-label">Nombre *</label>
  206. <div class="col-8 col-md-6">
  207. <input id="nombre_new" name="nombre" type="text" class="form-control nombre" required="required" value="<?php echo $alumno["Usuario_nombre"];?>">
  208. </div>
  209. </div>
  210. <div class="form-group row">
  211. <label for="apellidos_new" class="col-4 col-form-label text-right">Apellidos *</label>
  212. <div class="col-8 col-md-6">
  213. <input id="apellidos_new" name="apellidos" type="text" class="form-control apellidos" required="required" value="<?php echo $alumno["Usuario_apellidos"];?>">
  214. </div>
  215. </div>
  216. </div>
  217. <div class="form-group row">
  218. <div class="col-12 text-center">
  219. <button type="button" class="btn btn-outline-primary" id="btn_cambios"><span class="ing-aceptar ing-fw"></span> Continuar</button>
  220. </div>
  221. </div>
  222. </div>
  223. <div id="correo_block" class="d-none">
  224. <input type="hidden" id="correo_id1" value="<?php echo $alumno["correo_id1"];?>">
  225. <input type="hidden" id="correo_id2" value="<?php echo $alumno["correo_id2"];?>">
  226. <div class="row">
  227. <div class="col">
  228. <h3>3. Contacto</h3>
  229. <p class="">Actualiza tu CURP y tus datos de contacto. Escribe tu correo institucional (<em>lasallistas.org.mx</em> o <em>lasalle.mx</em>) y un correo personal.</p>
  230. </div>
  231. </div>
  232. <div class="form-box">
  233. <div class="form-group row">
  234. <label for="curp_new" class="col-4 col-form-label">CURP *</label>
  235. <div class="col-8 col-md-6">
  236. <input id="curp_new" type="text" class="form-control" required="required" maxlength="19" value="<?php echo $alumno["Usuario_curp"];?>">
  237. </div>
  238. </div>
  239. <div class="form-group row">
  240. <label for="curp_new" class="col-4 col-form-label">RFC *</label>
  241. <div class="col-8 col-md-6">
  242. <input id="rfc_new" type="text" class="form-control" required="required" maxlength="15" value="<?php echo $alumno["Usuario_rfc"];?>">
  243. </div>
  244. </div>
  245. <div class="form-group row">
  246. <label for="correo1_new" class="col-4 col-form-label">Correo institucional *</label>
  247. <div class="col-8 col-md-6">
  248. <input id="correo1_new" type="text" class="form-control" required="required" value="<?php echo $alumno["correo1"];?>" placeholder="@lasalle o @lasallistas">
  249. <div class="invalid-feedback" id="feedback1">Correo inválido</div>
  250. </div>
  251. </div>
  252. <div class="form-group row">
  253. <label for="correo2_new" class="col-4 col-form-label text-right">Correo personal *</label>
  254. <div class="col-8 col-md-6">
  255. <input id="correo2_new" type="text" class="form-control" required="required" value="<?php echo $alumno["correo2"];?>">
  256. <div class="invalid-feedback" id="feedback2">Correo inválido</div>
  257. </div>
  258. </div>
  259. <input type="hidden" id="tel_fijo_id" value="<?php echo $alumno["tel_fijo_id"];?>">
  260. <input type="hidden" id="tel_cel_id" value="<?php echo $alumno["tel_cel_id"];?>">
  261. <div class="form-group row">
  262. <label for="tel_cel_new" class="col-4 col-form-label text-right">Teléfono celular *</label>
  263. <div class="col-8 col-md-6">
  264. <input id="tel_cel_new" type="text" class="form-control" required="required" value="<?php echo $alumno["tel_cel"];?>">
  265. </div>
  266. </div>
  267. <div class="form-group row">
  268. <label for="tel_fijo_new" class="col-4 col-form-label">Teléfono fijo</label>
  269. <div class="col-8 col-md-6">
  270. <input id="tel_fijo_new" type="text" class="form-control" required="required" value="<?php echo $alumno["tel_fijo"];?>">
  271. </div>
  272. </div>
  273. <div class="form-group row">
  274. <label for="curp_new" class="col-4 col-form-label">Dirección *</label>
  275. <div class="col-8 col-md-6">
  276. <input id="direccion_new" type="text" class="form-control" required="required" maxlength="250" value="<?php echo $alumno["Usuario_direccion"];?>" placeholder="Calle número, Ciudad, C.P.">
  277. </div>
  278. </div>
  279. </div>
  280. <div class="form-group row">
  281. <div class="col-12 text-center">
  282. <button type="button" class="btn btn-outline-primary" id="btn_correo"><span class="ing-aceptar ing-fw"></span> Continuar</button>
  283. </div>
  284. </div>
  285. </div>
  286. <div id="emergencia_block" class="d-none">
  287. <div class="row">
  288. <div class="col">
  289. <h3>4. Contacto de emergencia</h3>
  290. <p class="">Escribe los datos de un contacto adicional, esta información será utilizada <b>única y exclusivamente en caso de emergencias</b>.</p>
  291. </div>
  292. </div>
  293. <div class="form-box">
  294. <div class="form-group row">
  295. <label for="emergencia_nombre" class="col-4 col-form-label">Nombre *</label>
  296. <div class="col-8 col-md-6">
  297. <input id="emergencia_nombre" type="text" class="form-control" required="required" maxlength="200" value="">
  298. </div>
  299. </div>
  300. <div class="form-group row">
  301. <label for="emergencia_tel" class="col-4 col-form-label">Teléfono *</label>
  302. <div class="col-8 col-md-6">
  303. <input id="emergencia_tel" type="text" class="form-control" required="required" maxlength="15" value="">
  304. </div>
  305. </div>
  306. </div>
  307. <div class="form-group row">
  308. <div class="col-12 my-2 text-center">
  309. <input type="checkbox" class="form-check-input radio-md" value="1" id="acepto">
  310. <label for="acepto" style="padding-top: 2px;">
  311. He leído y acepto el <a href="https://lasalle.mx/globales/aviso-de-privacidad.html" target="_blank" class="font-italic">Aviso de Privacidad</a>.
  312. </label>
  313. </div>
  314. <div class="col-12 text-center">
  315. <p><button href="#" data-toggle="modal" data-target="#modal" class="btn btn-outline-primary" id="btn-enviar" disabled="true" ><span class="ing-aceptar ing-fw"></span> Enviar datos</button></p>
  316. </div>
  317. </div>
  318. </div>
  319. <form action="./action/datos_update.php" method="post" id="sendForm">
  320. <input type="hidden" id="cambio_send" name="cambio" value="0">
  321. <input type="hidden" id="grado_send" name="grado" value="">
  322. <input type="hidden" id="nombre_send" name="nombre" value="">
  323. <input type="hidden" id="apellidos_send" name="apellidos" value="">
  324. <input type="hidden" id="curp_send" name="curp" value="">
  325. <input type="hidden" id="rfc_send" name="rfc" value="">
  326. <input type="hidden" id="direccion_send" name="direccion" value="">
  327. <input type="hidden" id="contactos_send" name="contactos" value="">
  328. <input type="hidden" id="emergencia_send" name="emergencia" value="">
  329. </form>
  330. </main>
  331. <!--- FOOTER--->
  332. <?php require_once("./include/footer.php"); ?>
  333. <!-- Modal -->
  334. <div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
  335. <div class="modal-dialog modal-dialog-centered" role="document">
  336. <div class="modal-content">
  337. <div class="modal-header">
  338. <h4 class="col-12 modal-title text-center"><span id="modalLabel">Terminar actualización</span>
  339. <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
  340. <span aria-hidden="true">&times;</span>
  341. </button></h4>
  342. </div>
  343. <div class="modal-body">
  344. <p>Gracias por completar la actualización de datos. Tu información será registrada y estará pendiente para su autorización.</p>
  345. <div class="row">
  346. <div class="col-12 text-center">
  347. <button type="button" class="btn btn-outline-primary" id="btn_fin" ><?php echo $ICO["aceptar"];?> Guardar</button>
  348. <button type="button" class="btn btn-outline-danger" data-dismiss="modal"><?php echo $ICO["cancelar"];?> Cancelar</button>
  349. </div>
  350. </div>
  351. </div>
  352. </div>
  353. </div>
  354. </div>
  355. <script src="./js/jquery.min.js"></script>
  356. <script src="./js/bootstrap/popper.min.js"></script>
  357. <script src="./js/bootstrap/bootstrap.min.js"></script>
  358. <script src="./js/util.js"></script>
  359. <script src="./js/sidebarmenu.js"></script>
  360. <script src="./js/datalist.js"></script>
  361. <script>
  362. var PASOS_MAX = 4;
  363. var objSend;
  364. $(document).ready(function(){
  365. //$("#errorBox").addClass('d-none');
  366. $("#errorBox").collapse('hide');
  367. $("#datos_block").removeClass("d-none");
  368. $("#error_block").addClass("d-none");
  369. $('#progreso .progress-bar').css('width', '0').attr('aria-valuemax', PASOS_MAX);
  370. changeProgress(1);
  371. $("#btn_error").click(function(){
  372. $("#datos_block").addClass("d-none");
  373. $("#error_block").removeClass("d-none");
  374. $('#error_block').find("input[type=text]:first").focus();
  375. $("#cambio_send").val(1);
  376. changeProgress(2);
  377. });
  378. $('#passwd').keydown(function(event) {
  379. if (event.keyCode == 13) {
  380. $("#btn_buscar").trigger('click');
  381. }
  382. });
  383. $("#btn_correcto").click(function(){
  384. $("#datos_block").addClass("d-none");
  385. $("#correo_block").removeClass("d-none");
  386. $("#grado_send").val($("#grado_orig").val());
  387. $("#nombre_send").val($("#nombre_orig").val());
  388. $("#apellidos_send").val($("#apellidos_orig").val());
  389. $('#correo_block').find("input[type=text]:first").focus();
  390. changeProgress(3);
  391. });
  392. $("#btn_cambios").click(function(){
  393. if(validaCambios()){
  394. $("#error_block").addClass("d-none");
  395. $("#correo_block").removeClass("d-none");
  396. $("#grado_send").val($("#grado_new").val());
  397. $("#nombre_send").val($("#nombre_new").val());
  398. $("#apellidos_send").val($("#apellidos_new").val());
  399. $('#correo_block').find("input[type=text]:first").focus();
  400. changeProgress(3);
  401. }
  402. });
  403. $("#btn_correo").click(function(){
  404. if(validaCorreos()){
  405. $("#curp_send").val($("#curp_new").val());
  406. $("#rfc_send").val($("#rfc_new").val());
  407. $("#direccion_send").val($("#direccion_new").val());
  408. objSend = [];
  409. objSend.push({"num":1, "contacto_id":$("#correo_id1").val(), "contacto_valor":$("#correo1_new").val(), "perfil":2, "tipo": 3, "subtipo":null});
  410. objSend.push({"num":2, "contacto_id":$("#correo_id2").val(), "contacto_valor":$("#correo2_new").val(), "perfil":1, "tipo": 3, "subtipo":null});
  411. objSend.push({"num":3, "contacto_id":$("#tel_fijo_id").val(), "contacto_valor":$("#tel_fijo_new").val(), "perfil":1, "tipo": 1, "subtipo":1});
  412. objSend.push({"num":4, "contacto_id":$("#tel_cel_id").val(), "contacto_valor":$("#tel_cel_new").val(), "perfil":1, "tipo": 1, "subtipo":2});
  413. $("#contactos_send").val(JSON.stringify(objSend));
  414. $("#correo_block").addClass("d-none");
  415. $("#emergencia_block").removeClass("d-none");
  416. changeProgress(4);
  417. }
  418. });
  419. $("#btn_fin").click(function(){
  420. if(validaEmergencia()){
  421. $("#emergencia_block").addClass("d-none");
  422. objSend=
  423. {"emergencia_nombre":$("#emergencia_nombre").val(), "emergencia_tel":$("#emergencia_tel").val()};
  424. $("#emergencia_send").val(JSON.stringify(objSend));
  425. $("#sendForm").submit();
  426. }
  427. });
  428. $("#acepto").change(function(){
  429. if($(this).prop("checked")){
  430. $("#btn-enviar").attr("disabled", false);
  431. }else{
  432. $("#btn-enviar").attr("disabled", true);
  433. }
  434. });
  435. });
  436. function validaCambios(){
  437. $(".is-invalid").removeClass("is-invalid");
  438. var ok = true;
  439. if($("#nombre_new").val() == ""){
  440. $("#nombre_new").addClass("is-invalid");
  441. ok = false;
  442. }
  443. if($("#apellidos_new").val() == ""){
  444. $("#apellidos_new").addClass("is-invalid");
  445. ok = false;
  446. }
  447. return ok;
  448. }
  449. function validaCorreos(){
  450. $(".is-invalid").removeClass("is-invalid");
  451. var ok = true;
  452. if(trim($("#curp_new").val()).length <= 16 ){
  453. $("#curp_new").addClass("is-invalid");
  454. ok = false;
  455. }
  456. if(trim($("#rfc_new").val()).length <= 10 ){
  457. $("#rfc_new").addClass("is-invalid");
  458. ok = false;
  459. }
  460. if(trim($("#direccion_new").val()).length <= 15 ){
  461. $("#direccion_new").addClass("is-invalid");
  462. ok = false;
  463. }
  464. if(trim($("#correo1_new").val()) == "" || !validaMail($("#correo1_new").val()) ){
  465. $("#correo1_new").addClass("is-invalid");
  466. $("#feedback1").html("El correo no es válido, revisa que no tenga acentos ni espacios");
  467. ok = false;
  468. }
  469. if(trim($("#correo2_new").val()) == "" || !validaMail($("#correo2_new").val()) ){
  470. $("#correo2_new").addClass("is-invalid");
  471. $("#feedback2").html("El correo no es válido, revisa que no tenga acentos ni espacios");
  472. ok = false;
  473. }
  474. if(trim($("#correo1_new").val()).toLowerCase().indexOf('@lasallistas.org.mx') == -1 && trim($("#correo1_new").val()).toLowerCase().indexOf('@lasalle.mx') == -1 ){
  475. $("#correo1_new").addClass("is-invalid");
  476. //$("#correo2_new").addClass("is-invalid");
  477. $("#feedback1").html("Se requiere al menos un correo institucional");
  478. //$("#feedback2").html("Se requiere al menos un correo institucional");
  479. ok = false;
  480. }
  481. if(trim($("#correo1_new").val().toLowerCase()) == trim($("#correo2_new").val().toLowerCase()) && trim($("#correo2_new").val().toLowerCase()) != ""){
  482. $("#correo2_new").addClass("is-invalid");
  483. $("#feedback2").html("Los correos no pueden ser iguales");
  484. ok = false;
  485. }
  486. if(trim($("#tel_cel_new").val()) == "" || trim($("#tel_cel_new").val()).length < 8 ){
  487. $("#tel_cel_new").addClass("is-invalid");
  488. ok = false;
  489. }
  490. return ok;
  491. }
  492. function validaEmergencia(){
  493. $(".is-invalid").removeClass("is-invalid");
  494. var ok = true;
  495. if(trim($("#emergencia_nombre").val()) == ""){
  496. $("#emergencia_nombre").addClass("is-invalid");
  497. ok = false;
  498. }
  499. if($("#emergencia_tel").val() == "" || trim($("#emergencia_tel").val()).length < 8 ){
  500. $("#emergencia_tel").addClass("is-invalid");
  501. ok = false;
  502. }
  503. return ok;
  504. }
  505. function changeProgress(step){
  506. value = step*100/PASOS_MAX;
  507. $('#progreso .progress-bar').css('width', value+'%').attr('aria-valuenow', step);//valuemax
  508. }
  509. function validaMail(email) {
  510. //var patron = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  511. var patron = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/;
  512. return patron.test(trim(email));
  513. }
  514. </script>
  515. </body>
  516. </html>