datos.php 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. <?php
  2. require_once("./include/nocache.php");
  3. require_once("./include/bd_pdo.php");
  4. require_once("./include/encripcion.php");
  5. define("MIN", 6);
  6. $ACTIVO = true;
  7. ?>
  8. <!DOCTYPE html>
  9. <html lang="es" prefix="og: http://ogp.me/ns#"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  10. <title>.: Facultad de Ingeniería :.</title>
  11. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  12. <link rel="icon" type="image/png" href="./img/favicon.png" />
  13. <link rel="stylesheet" href="./css/bootstrap-ulsa.min.css" type="text/css">
  14. <link rel="stylesheet" href="./css/indivisa.css" type="text/css">
  15. <link rel="stylesheet" href="./css/sgi.css?rand=<?php echo rand();?>" type="text/css">
  16. <link rel="stylesheet" href="./css/index.css" type="text/css">
  17. <body>
  18. <header class="sticky-top bg-white bg-head">
  19. <div class="menu d-flex align-items-center" style="visibility: visible;">
  20. <div class="logotipo"><a href="https://lasalle.mx/" target="_blank"><img id="logo" src="./img/logo_lasalle.png" border="0" class="img-fluid" ></a></div>
  21. </div>
  22. </header>
  23. <div class="row bg-info mx-0 barra-gris">
  24. <div class="marco">
  25. <div class="col-12 py-3">
  26. <h4 class="text-info">Facultad de Ingeniería</h4>
  27. <h2 class="text-uppercase">Actualización de datos</h2>
  28. </div>
  29. </div>
  30. </div>
  31. <?php
  32. $errorMessage = "";
  33. $error = false;
  34. if(empty($_GET["clave"]) || empty($_GET["token"])){
  35. header("Location: index.php");
  36. exit();
  37. //$errorMessage = "No se recibieron los datos necesarios.<br>Esta página se debe abrir desde un link válido.";
  38. //$error = true;
  39. }else{
  40. $clave = $_GET["clave"];
  41. $token = desencripta($_GET["token"]);
  42. //echo $token;
  43. if(strpos($token, "|") <0){
  44. $error = true;
  45. $errorMessage = "El token es incorrecto.";
  46. }
  47. if(!$error){
  48. $resp = explode("|", $token);
  49. if($resp[0] != $clave){
  50. $error = true;
  51. $errorMessage = "El token es incorrecto.";
  52. }
  53. }
  54. if(!$error){
  55. if(!strtotime($resp[1])){
  56. $error = true;
  57. $errorMessage = "El token es incorrecto.";
  58. }
  59. }
  60. if(!$error){
  61. $hoy = date("Y-m-d h:i:s");
  62. //echo "hoy: ".$hoy;
  63. if(strtotime($hoy) - strtotime($resp[1]) > MIN*60){
  64. $error = true;
  65. $errorMessage = "El token ha caducado.<br>Refresca la pantalla que contiene el link para generar un nuevo token o haz <a href='index.php'>click aquí</a> para ingresar con tu cuenta institucional.";
  66. }
  67. }
  68. $stmt = $pdo->prepare('Select * from fs_usuariobusca_all(NULL, :clave, 0, 1)');
  69. $stmt->bindParam(":clave", $clave);
  70. if(!$stmt->execute()){
  71. $errorMessage = "No existe ese usuario en el sistema de ingeniería";
  72. }else{
  73. $rs = $stmt->fetch();
  74. $stmt->closeCursor(); // cierra conexion de resultado
  75. //Obtiene 2 corrreos
  76. $stmt = $pdo->prepare('Select * from fs_contacto(:id,3 , NULL) ORDER BY "PerfilContacto_id" LIMIT 2 OFFSET 0');//3 correo, Null todos
  77. $stmt->bindParam(":id", $rs["Usuario_id"]);
  78. if(!$stmt->execute()){
  79. $errorMessage = "No existe ese usuario en el sistema de ingeniería";
  80. }else{
  81. $contacto_rs = $stmt->fetchAll();
  82. $alumno["id"] = $rs["Usuario_id"];
  83. $alumno["nombre"] = $rs["Usuario_nombre"];
  84. $alumno["apellidos"] = $rs["Usuario_apellidos"];
  85. $alumno["curp"] = $rs["Usuario_curp"];
  86. $alumno["correo_id1"] = "";
  87. $alumno["correo_id2"] = "";
  88. $alumno["correo1"] = "";
  89. $alumno["correo2"] = "";
  90. $i = 1;
  91. foreach($contacto_rs as $correo){
  92. $alumno["correo_id".$i] = $correo["Contacto_id"];
  93. $alumno["correo".$i] = $correo["Contacto_valor"];
  94. $i++;
  95. }
  96. //Si el primer correo no es institucional, es personal y se va a campo 2
  97. if( strpos($alumno["correo1"], "lasalle.mx") === false && strpos($alumno["correo1"], "lasallistas.org.mx") === false ){
  98. $tmp = $alumno["correo2"];
  99. $alumno["correo2"] = $alumno["correo1"];
  100. $alumno["correo1"] = $tmp;
  101. $tmp = $alumno["correo_id2"];
  102. $alumno["correo_id2"] = $alumno["correo_id1"];
  103. $alumno["correo_id1"] = $tmp;
  104. }
  105. }
  106. $stmt->closeCursor(); // cierra conexion de resultado
  107. if($rs["Usuario_administrativo"]){
  108. //Obtiene 1 teléfono de casa
  109. $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
  110. $stmt->bindParam(":id", $rs["Usuario_id"]);
  111. if(!$stmt->execute()){
  112. $errorMessage = "No existe ese usuario en el sistema de ingeniería";
  113. }else{
  114. $contacto_rs = $stmt->fetch();
  115. $alumno["tel_fijo_id"] = $contacto_rs["Contacto_id"];
  116. $alumno["tel_fijo"] = $contacto_rs["Contacto_valor"];
  117. }
  118. $stmt->closeCursor(); // cierra conexion de resultado
  119. //Obtiene 1 teléfono celular
  120. $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
  121. $stmt->bindParam(":id", $rs["Usuario_id"]);
  122. if(!$stmt->execute()){
  123. $errorMessage = "No existe ese usuario en el sistema de ingeniería";
  124. }else{
  125. $contacto_rs = $stmt->fetch();
  126. $alumno["tel_cel_id"] = $contacto_rs["Contacto_id"];
  127. $alumno["tel_cel"] = $contacto_rs["Contacto_valor"];
  128. }
  129. $stmt->closeCursor(); // cierra conexion de resultado
  130. }
  131. }
  132. }
  133. ?>
  134. <main class="container-fluid content d-flex justify-content-center">
  135. <div class="logSize p-5 bg-white defaultShadow">
  136. <?php if($ACTIVO){ ?>
  137. <?php if($error){ ?>
  138. <div class="row">
  139. <div class="col-12">
  140. <div class="alert alert-danger">
  141. <span class="ing-cancelar ing-fw float-left" style="font-size:2em"></span>
  142. <p class="pt-1" style="margin-left:60px"><?php echo $errorMessage;?></p>
  143. </div>
  144. </div>
  145. </div>
  146. <?php }else{ ?>
  147. <div class="progress mb-4" id="progreso">
  148. <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="4"></div>
  149. </div>
  150. <div class="row collapse" id="errorBox">
  151. <div class="col-12">
  152. <div class="alert alert-danger">
  153. <button type="button" class="close" data-toggle="collapse" href="#errorBox" aria-controls="errorBox" aria-expanded="false">×</button>
  154. <span class="ing-cancelar ing-fw float-left" style="font-size:2em"></span>
  155. <p class="pt-1" style="margin-left:60px" id="errorBox_text"><?php echo $errorMessage;?></p>
  156. </div>
  157. </div>
  158. </div>
  159. <div id="datos_block">
  160. <div>
  161. <h3>2. Revisión</h3>
  162. <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>
  163. </div>
  164. <div class="form-box form-box-info">
  165. <div class="form-group row">
  166. <label for="nombre_orig" class="col-4 col-form-label">Nombre</label>
  167. <div class="col-8">
  168. <input id="nombre_orig" name="nombre" type="text" class="form-control bg-white nombre" readonly="readonly" value="<?php echo $alumno["nombre"];?>">
  169. </div>
  170. </div>
  171. <div class="form-group row">
  172. <label for="apellidos_orig" class="col-4 col-form-label text-right">Apellidos</label>
  173. <div class="col-8">
  174. <input id="apellidos_orig" name="apellidos" type="text" class="form-control bg-white apellidos" readonly="readonly" value="<?php echo $alumno["apellidos"];?>">
  175. </div>
  176. </div>
  177. </div>
  178. <div class="form-group row">
  179. <div class="col-12 text-center">
  180. <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>
  181. <button type="button" class="btn btn-outline-primary" id="btn_correcto"><span class="ing-aceptar ing-fw"></span> Mi nombre es correcto</button>
  182. <button type="button" class="btn btn-outline-danger" id="btn_error"><span class="ing-cancelar ing-fw"></span> Hay un error</button>
  183. </div>
  184. </div>
  185. </div>
  186. <div id="error_block" class="d-none">
  187. <div class="row">
  188. <div class="col">
  189. <h3>3. Corrección</h3>
  190. <p class="">Escribe tu nombre de la forma correcta.</p>
  191. </div>
  192. </div>
  193. <div class="form-box">
  194. <div class="form-group row">
  195. <label for="nombre_new" class="col-4 col-form-label">Nombre *</label>
  196. <div class="col-8">
  197. <input id="nombre_new" name="nombre" type="text" class="form-control nombre" required="required" value="<?php echo $alumno["nombre"];?>">
  198. </div>
  199. </div>
  200. <div class="form-group row">
  201. <label for="apellidos_new" class="col-4 col-form-label text-right">Apellidos *</label>
  202. <div class="col-8">
  203. <input id="apellidos_new" name="apellidos" type="text" class="form-control apellidos" required="required" value="<?php echo $alumno["apellidos"];?>">
  204. </div>
  205. </div>
  206. </div>
  207. <div class="form-group row">
  208. <div class="col-12 text-center">
  209. <button type="button" class="btn btn-outline-primary" id="btn_cambios"><span class="ing-aceptar ing-fw"></span> Continuar</button>
  210. </div>
  211. </div>
  212. </div>
  213. <div id="correo_block" class="d-none">
  214. <input type="hidden" id="correo_id1" value="<?php echo $alumno["correo_id1"];?>">
  215. <input type="hidden" id="correo_id2" value="<?php echo $alumno["correo_id2"];?>">
  216. <div class="row">
  217. <div class="col">
  218. <h3>4. Contacto</h3>
  219. <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>
  220. </div>
  221. </div>
  222. <div class="form-box">
  223. <div class="form-group row">
  224. <label for="curp_new" class="col-4 col-form-label">CURP *</label>
  225. <div class="col-8">
  226. <input id="curp_new" type="text" class="form-control" required="required" maxlength="20" value="<?php echo $alumno["curp"];?>">
  227. </div>
  228. </div>
  229. <div class="form-group row">
  230. <label for="correo1_new" class="col-4 col-form-label">Correo institucional *</label>
  231. <div class="col-8">
  232. <input id="correo1_new" type="text" class="form-control" required="required" value="<?php echo $alumno["correo1"];?>">
  233. <div class="invalid-feedback" id="feedback1">Correo inválido</div>
  234. </div>
  235. </div>
  236. <div class="form-group row">
  237. <label for="correo2_new" class="col-4 col-form-label text-right">Correo personal *</label>
  238. <div class="col-8">
  239. <input id="correo2_new" type="text" class="form-control" required="required" value="<?php echo $alumno["correo2"];?>">
  240. <div class="invalid-feedback" id="feedback2">Correo inválido</div>
  241. </div>
  242. </div>
  243. <?php if($rs["Usuario_administrativo"]){ ?>
  244. <input type="hidden" id="tel_fijo_id" value="<?php echo $alumno["tel_fijo_id"];?>">
  245. <input type="hidden" id="tel_cel_id" value="<?php echo $alumno["tel_cel_id"];?>">
  246. <div class="form-group row">
  247. <label for="tel_cel_new" class="col-4 col-form-label text-right">Teléfono celular *</label>
  248. <div class="col-8">
  249. <input id="tel_cel_new" type="text" class="form-control" required="required" value="<?php echo $alumno["tel_celular"];?>">
  250. </div>
  251. </div>
  252. <div class="form-group row">
  253. <label for="tel_fijo_new" class="col-4 col-form-label">Teléfono fijo</label>
  254. <div class="col-8">
  255. <input id="tel_fijo_new" type="text" class="form-control" required="required" value="<?php echo $alumno["tel_fijo"];?>">
  256. </div>
  257. </div>
  258. <?php } ?>
  259. </div>
  260. <div class="form-group row">
  261. <div class="col-12 text-center">
  262. <button type="button" class="btn btn-outline-primary" id="btn_correo"><span class="ing-aceptar ing-fw"></span> Continuar</button>
  263. </div>
  264. </div>
  265. </div>
  266. <div id="emergencia_block" class="d-none">
  267. <div class="row">
  268. <div class="col">
  269. <h3>5. Contacto de emergencia</h3>
  270. <p class="">Escribe los datos de un contacto adicional, esta información será utilizada <b>única y exclusivamente en caso de emergencias</b>.</p>
  271. </div>
  272. </div>
  273. <div class="form-box">
  274. <div class="form-group row">
  275. <label for="emergencia_nombre" class="col-4 col-form-label">Nombre *</label>
  276. <div class="col-8">
  277. <input id="emergencia_nombre" type="text" class="form-control" required="required" maxlength="200" value="">
  278. </div>
  279. </div>
  280. <div class="form-group row">
  281. <label for="emergencia_tel" class="col-4 col-form-label">Teléfono *</label>
  282. <div class="col-8">
  283. <input id="emergencia_tel" type="text" class="form-control" required="required" maxlength="15" value="">
  284. </div>
  285. </div>
  286. </div>
  287. <div class="form-group row">
  288. <div class="col-12 my-2 text-center">
  289. <input type="checkbox" class="form-check-input radio-md" value="1" id="acepto" checked="checked">
  290. <label for="acepto" style="padding-top: 2px;">
  291. 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>.
  292. </label>
  293. </div>
  294. <div class="col-12 text-center">
  295. <p><button type="button" class="btn btn-outline-primary" id="btn_fin"><span class="ing-aceptar ing-fw"></span> Enviar datos</button></p>
  296. </div>
  297. </div>
  298. </div>
  299. <form action="./action/datos_autoriza.php" method="post" id="sendForm">
  300. <input type="hidden" id="id_send" name="id" value="<?php echo $alumno["id"];?>">
  301. <input type="hidden" id="cambio_send" name="cambio" value="0">
  302. <input type="hidden" id="nombre_send" name="nombre" value="">
  303. <input type="hidden" id="apellidos_send" name="apellidos" value="">
  304. <input type="hidden" id="curp_send" name="curp" value="">
  305. <input type="hidden" id="contactos_send" name="contactos" value="">
  306. <input type="hidden" id="emergencia_send" name="emergencia" value="">
  307. </form>
  308. <?php
  309. }//no error
  310. }else{ //no activo?>
  311. <h3 class="text-danger text-center">Por el momento la actualización de datos se encuentra inactiva.</h3>
  312. <p class="text-center">¡Gracias por tu participación!</p>
  313. <p class="mt-4">En caso de necesitar alguna actualización puedes al LCI al correo: javier.garrido@lasalle.mx</p>
  314. <?php } ?>
  315. </div>
  316. </main>
  317. <!--- FOOTER--->
  318. <div class="container-fluid">
  319. <footer class="footer" >
  320. <div class="footerTop">
  321. <div class="container marco">
  322. <div class="logotipo"><img src="./img/lasalle-logo-blanco.png" alt="Universidad La Salle - ">
  323. <h3> <span>Profesionales</span>con <strong>Valor</strong></h3>
  324. </div>
  325. <div class="ubicacion row">
  326. <div class="address col-12 col-sm-8">
  327. <div class="tabs">
  328. <ul class="nav list-inline" id="tabsFooter" role="tablist">
  329. <li class="list-inline-item">
  330. <a class="nav-link px-0 pt-0 mr-4 active" id="unidad1-tab" data-toggle="tab" href="#unidad1" role="tab" aria-controls="calendario" aria-selected="true">Unidad Condesa</a>
  331. </li>
  332. <li class="list-inline-item">
  333. <a class="nav-link px-0 pt-0 mr-4" id="unidad2-tab" data-toggle="tab" href="#unidad2" role="tab" aria-controls="lista" aria-selected="false">Unidad Santa Teresa</a>
  334. </li>
  335. <li class="list-inline-item">
  336. <a class="nav-link px-0 pt-0 mr-4" id="unidad3-tab" data-toggle="tab" href="#unidad3" role="tab" aria-controls="lista" aria-selected="false">Unidad San Fernando</a>
  337. </li>
  338. <li class="list-inline-item">
  339. <a class="nav-link px-0 pt-0 mr-4" id="unidad4-tab" data-toggle="tab" href="#unidad4" role="tab" aria-controls="lista" aria-selected="false">Unidad Santa Lucía</a>
  340. </li>
  341. </ul>
  342. <div class="tab-content" id="tabsCont">
  343. <div class="tab-pane fade show active" id="unidad1" role="tabpanel" aria-labelledby="unidad1-tab">
  344. <p>Benjamín Franklin No 45, Col. Condesa, Alc. Cuauhtémoc, CDMX, CP 06140 <span class="tel">Tel. <a href="tel:+525552789500">55 5278-9500</a> / <a href="tel:+8005272553">800 LASALLE</a></span><br>
  345. <a class="btnMap " href="https://www.google.com/maps/place/Universidad+La+Salle/@19.4085702,-99.1810039,15z/data=!4m5!3m4!1s0x0:0x3108b5797f9c9ecd!8m2!3d19.4085702!4d-99.1810039" target="_blank"> <span class="ing-ubicacion mr-1"></span>¿Cómo llegar?</a></p>
  346. </div>
  347. <div class="tab-pane fade" id="unidad2" role="tabpanel" aria-labelledby="unidad2-tab">
  348. <p>Camino a Santa Teresa 811, Col. Rinconada del Pedregal, Alc. Tlalpan, CDMX, CP 14010 <span class="tel">Tel. <a href="tel:5552789500">55 5278-9500</a> / <a href="tel:+8005272553">800 LASALLE</a></span><br>
  349. <a class="btnMap " href="https://www.google.com/maps/place/Universidad+La+Salle+Unidad+Santa+Teresa/@19.299013,-99.196093,15z/data=!4m5!3m4!1s0x0:0xdfc2b61c9b67aac2!8m2!3d19.299013!4d-99.196093" target="_blank"> <span class="ing-ubicacion mr-1"></span>¿Cómo llegar?</a></p>
  350. </div>
  351. <div class="tab-pane fade" id="unidad3" role="tabpanel" aria-labelledby="unidad3-tab">
  352. <p>Av. De Las Fuentes 17, Col. Tlalpan, Alc. Tlalpan, CDMX, CP 14000 <span class="tel">Tel. <a href="tel:+525552789500">55 5278-9500</a> / <a href="tel:+8005272553">800 LASALLE</a></span><br>
  353. <a class="btnMap " href="https://www.google.com/maps/place/Universidad+La+Salle+Facultad+de+Medicina/@19.2930318,-99.1720808,15z/data=!4m5!3m4!1s0x0:0x29b7725e5a004277!8m2!3d19.2930318!4d-99.1720808" target="_blank"> <span class="ing-ubicacion mr-1"></span>¿Cómo llegar?</a></p>
  354. </div>
  355. <div class="tab-pane fade" id="unidad4" role="tabpanel" aria-labelledby="unidad4-tab">
  356. <p>Av. Tamaulipas 3, Col. Zona Federal, Alc. Álvaro Obregón, CDMX, CP 01357 <span class="tel">Tel. <a href="tel:5556021130">55 5602-1130</a> </span><br>
  357. <a class="btnMap " href="https://www.google.com/maps/place/Unidad+Deportiva+La+Salle/@19.3662852,-99.2421597,15z/data=!4m5!3m4!1s0x0:0x88e0334f044bc518!8m2!3d19.3662852!4d-99.2421597" target="_blank"> <span class="ing-ubicacion mr-1"></span>¿Cómo llegar?</a></p>
  358. </div>
  359. </div>
  360. </div>
  361. </div>
  362. <div class="redes col-12 col-sm-4">
  363. <h4>Compartir :</h4>
  364. <ul>
  365. <li><a href="https://www.facebook.com/LaSalleMXIngenieria" target="_blank"><i class="ing-fb2 ing-fw"></i></a></li>
  366. <!--<li><a href="https://twitter.com/lasalle_mx" target="_blank"><i class="fing-tw2 ing-fw"></i></a></li>-->
  367. <li><a href="https://www.youtube.com/user/IngenieriaLaSalle/" target="_blank"><i class="ing-youtube ing-fw"></i></a></li>
  368. <!--<li><a href="https://www.instagram.com/lasalle_mx/" target="_blank"><i class="fab fa-instagram fa-fw"></i></a></li>-->
  369. <!--<li><a href="https://www.linkedin.com/school/universidad-la-salle?pathWildcard=24227" target="_blank"><i class="fab fa-linkedin-in fa-fw"></i></a></li>-->
  370. </ul>
  371. </div>
  372. </div>
  373. </div>
  374. </div>
  375. <div class="footerMiddle">
  376. <div class="container marco">
  377. <div class="row justify-content-md-center">
  378. <nav class="col-12 col-md-10">
  379. <a class="footerMore menuMore" href="#">Sistema y Red La Salle</a>
  380. <ul>
  381. <li><a href="http://bajio.delasalle.edu.mx/" target="_blank">Bajío</a></li>
  382. <li><a href="http://www.lasalle.mx/" target="_blank">Ciudad de México</a></li>
  383. <li><a href="http://lasallecancun.edu.mx/" target="_blank">Cancún</a></li>
  384. <li><a href="http://www.ulsapuebla.mx/" target="_blank">Puebla</a></li>
  385. <li><a href="http://www.ulsapuebla.mx/" target="_blank">Chihuahua</a></li>
  386. <li><a href="http://www.lasallecuernavaca.edu.mx/wp/" target="_blank">Cuernavaca</a></li>
  387. <li><a href="http://www.ulsalaguna.edu.mx/" target="_blank">Laguna</a></li>
  388. <li><a href="http://www.lasallemorelia.edu.mx/" target="_blank">Morelia</a></li>
  389. <li><a href="http://www.ulsaneza.edu.mx/" target="_blank">Nezahualcóyotl</a></li>
  390. <li><a href="http://www.ulsa-noroeste.edu.mx/n2015/" target="_blank">Noroeste</a></li>
  391. <li><a href="http://www.ulsaoaxaca.edu.mx/" target="_blank">Oaxaca</a></li>
  392. <li><a href="http://www.lasallep.edu.mx/" target="_blank">Pachuca</a></li>
  393. <li><a href="https://www.ulsasaltillo.edu.mx/" target="_blank">Saltillo</a></li>
  394. <li><a href="https://www.lasallevictoria.edu.mx/" target="_blank">Victoria</a></li>
  395. </ul>
  396. </nav>
  397. </div>
  398. </div>
  399. </div>
  400. <div class="footerBottom">
  401. <div class="container marco">
  402. <div class="logotipos">
  403. <ul>
  404. <li><a href="http://redlasalle.mx/" target="_blank"><img src="<?php echo $base;?>/img/la-salle-logo-red-universidades.png" alt="La Salle - logotipo" class="img-responsive" width="80"></a></li>
  405. <li><a href="http://ialu.org/english/" target="_blank"><img src="<?php echo $base;?>/img/la-salle-logo-international-ia.png" alt="La Salle - logotipo" class="img-responsive" width="80"></a></li>
  406. </ul>
  407. </div>
  408. <div class="legales">
  409. <a class="footerMore menuMore" href="#">Legales</a>
  410. <ul>
  411. <li><a href="https://lasalle.mx/globales/contacto.html" target="_blank">Contacto</a></li>
  412. <li><a href="https://lasalle.mx/globales/terminos-y-condiciones.html" target="_blank">Términos y condiciones</a></li>
  413. <li><a href="https://lasalle.mx/globales/aviso-de-privacidad.html" target="_blank">Aviso de Privacidad</a></li>
  414. <!--<li><a href="https://lasalle.mx/globales/mapa-de-sitio.html" target="_blank">Mapa de sitio</a></li>
  415. <li><a href="https://lasalle.mx/globales/preguntas-frecuentes/" target="_blank">Preguntas frecuentes</a></li>-->
  416. </ul>
  417. </div>
  418. </div>
  419. </div>
  420. </footer>
  421. </div>
  422. <script src="./js/jquery.min.js"></script>
  423. <script src="./js/bootstrap/bootstrap.min.js"></script>
  424. <script src="./js/bootstrap/popper.min.js"></script>
  425. <?php if($ACTIVO){ ?>
  426. <script>
  427. function trim(cadena){
  428. for(i=0; i<cadena.length; ){
  429. if(cadena.charAt(i)==" ")
  430. cadena=cadena.substring(i+1, cadena.length);
  431. else
  432. break;
  433. }
  434. for(i=cadena.length-1; i>=0; i=cadena.length-1){
  435. if(cadena.charAt(i)==" ")
  436. cadena=cadena.substring(0,i);
  437. else
  438. break;
  439. }
  440. return cadena;
  441. }
  442. var PASOS_MAX = 5;
  443. var objSend;
  444. var esAdmin = <?php echo $rs["Usuario_administrativo"]?"true":"false";?>;
  445. if(!esAdmin){
  446. PASOS_MAX--;
  447. }
  448. $(document).ready(function(){
  449. //$("#errorBox").addClass('d-none');
  450. $("#errorBox").collapse('hide');
  451. $("#datos_block").removeClass("d-none");
  452. $("#error_block").addClass("d-none");
  453. $('#progreso .progress-bar').css('width', '0').attr('aria-valuemax', PASOS_MAX);
  454. changeProgress(1);
  455. $("#btn_error").click(function(){
  456. $("#datos_block").addClass("d-none");
  457. $("#error_block").removeClass("d-none");
  458. $('#error_block').find("input[type=text]:first").focus();
  459. $("#cambio_send").val(1);
  460. changeProgress(2);
  461. });
  462. $('#passwd').keydown(function(event) {
  463. if (event.keyCode == 13) {
  464. $("#btn_buscar").trigger('click');
  465. }
  466. });
  467. $("#btn_correcto").click(function(){
  468. $("#datos_block").addClass("d-none");
  469. $("#correo_block").removeClass("d-none");
  470. $("#nombre_send").val($("#nombre_orig").val());
  471. $("#apellidos_send").val($("#apellidos_orig").val());
  472. $('#correo_block').find("input[type=text]:first").focus();
  473. changeProgress(3);
  474. });
  475. $("#btn_cambios").click(function(){
  476. if(validaCambios()){
  477. $("#error_block").addClass("d-none");
  478. $("#correo_block").removeClass("d-none");
  479. $("#nombre_send").val($("#nombre_new").val());
  480. $("#apellidos_send").val($("#apellidos_new").val());
  481. $('#correo_block').find("input[type=text]:first").focus();
  482. changeProgress(3);
  483. }
  484. });
  485. $("#btn_correo").click(function(){
  486. if(validaCorreos()){
  487. $("#curp_send").val($("#curp_new").val());
  488. objSend = [];
  489. objSend.push({"num":1, "contacto_id":$("#correo_id1").val(), "contacto_valor":$("#correo1_new").val(), "perfil":2, "tipo": 3, "subtipo":null});
  490. objSend.push({"num":2, "contacto_id":$("#correo_id2").val(), "contacto_valor":$("#correo2_new").val(), "perfil":1, "tipo": 3, "subtipo":null});
  491. if(esAdmin){
  492. objSend.push({"num":3, "contacto_id":$("#tel_fijo_id").val(), "contacto_valor":$("#tel_fijo_new").val(), "perfil":1, "tipo": 1, "subtipo":1});
  493. objSend.push({"num":4, "contacto_id":$("#tel_cel_id").val(), "contacto_valor":$("#tel_cel_new").val(), "perfil":1, "tipo": 1, "subtipo":2});
  494. }
  495. $("#contactos_send").val(JSON.stringify(objSend));
  496. //if(esAdmin){
  497. $("#correo_block").addClass("d-none");
  498. $("#emergencia_block").removeClass("d-none");
  499. changeProgress(4);
  500. /*}else{
  501. $("#sendForm").submit();
  502. }*/
  503. }
  504. });
  505. $("#btn_fin").click(function(){
  506. if(validaEmergencia()){
  507. $("#emergencia_block").addClass("d-none");
  508. objSend=
  509. {"emergencia_nombre":$("#emergencia_nombre").val(), "emergencia_tel":$("#emergencia_tel").val()};
  510. $("#emergencia_send").val(JSON.stringify(objSend));
  511. $("#sendForm").submit();
  512. }
  513. });
  514. $("#acepto").change(function(){
  515. if($(this).prop("checked")){
  516. $("#btn_fin").attr("disabled", false);
  517. }else{
  518. $("#btn_fin").attr("disabled", true);
  519. }
  520. });
  521. });
  522. function validaBusca(){
  523. $(".is-invalid").removeClass("is-invalid");
  524. var ok = true;
  525. if($("#username").val() == ""){
  526. $("#username").addClass("is-invalid");
  527. ok = false;
  528. }
  529. if($("#passwd").val() == ""){
  530. $("#passwd").addClass("is-invalid");
  531. ok = false;
  532. }
  533. return ok;
  534. }
  535. function validaCambios(){
  536. $(".is-invalid").removeClass("is-invalid");
  537. var ok = true;
  538. if($("#nombre_new").val() == ""){
  539. $("#nombre_new").addClass("is-invalid");
  540. ok = false;
  541. }
  542. if($("#apellidos_new").val() == ""){
  543. $("#apellidos_new").addClass("is-invalid");
  544. ok = false;
  545. }
  546. return ok;
  547. }
  548. function validaCorreos(){
  549. $(".is-invalid").removeClass("is-invalid");
  550. if(trim($("#curp_new").val()).length < 16 ){
  551. $("#curp_new").addClass("is-invalid");
  552. return false;
  553. }
  554. if(trim($("#correo1_new").val()) == "" || !validaMail($("#correo1_new").val()) ){
  555. $("#correo1_new").addClass("is-invalid");
  556. $("#feedback1").html("El correo no es válido, revisa que no tenga acentos ni espacios");
  557. return false;
  558. }
  559. if(trim($("#correo2_new").val()) == "" || !validaMail($("#correo2_new").val()) ){
  560. $("#correo2_new").addClass("is-invalid");
  561. $("#feedback2").html("El correo no es válido, revisa que no tenga acentos ni espacios");
  562. return false;
  563. }
  564. if(trim($("#correo1_new").val()).toLowerCase().indexOf('@lasallistas.org.mx') == -1 && trim($("#correo1_new").val()).toLowerCase().indexOf('@lasalle.mx') == -1 ){
  565. $("#correo1_new").addClass("is-invalid");
  566. //$("#correo2_new").addClass("is-invalid");
  567. $("#feedback1").html("Se requiere al menos un correo institucional");
  568. //$("#feedback2").html("Se requiere al menos un correo institucional");
  569. return false;
  570. }
  571. if(trim($("#correo1_new").val().toLowerCase()) == trim($("#correo2_new").val().toLowerCase()) ){
  572. $("#correo2_new").addClass("is-invalid");
  573. $("#feedback2").html("Los correos no pueden ser iguales");
  574. return false;
  575. }
  576. <?php if($rs["Usuario_administrativo"]){ ?>
  577. if(trim($("#tel_cel_new").val()) == "" ){
  578. $("#tel_cel_new").addClass("is-invalid");
  579. return false;
  580. }
  581. <?php } ?>
  582. return true;
  583. }
  584. function validaEmergencia(){
  585. $(".is-invalid").removeClass("is-invalid");
  586. var ok = true;
  587. if($("#emergencia_nombre").val() == ""){
  588. $("#emergencia_nombre").addClass("is-invalid");
  589. ok = false;
  590. }
  591. if($("#emergencia_tel").val() == ""){
  592. $("#emergencia_tel").addClass("is-invalid");
  593. ok = false;
  594. }
  595. return ok;
  596. }
  597. function changeProgress(step){
  598. value = step*100/PASOS_MAX;
  599. $('#progreso .progress-bar').css('width', value+'%').attr('aria-valuenow', step);//valuemax
  600. }
  601. function validaMail(email) {
  602. //var patron = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  603. var patron = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/;
  604. return patron.test(trim(email));
  605. }
  606. </script>
  607. <?php } ?>
  608. </body>
  609. </html>