Variables de ambiente para horas

This commit is contained in:
2024-09-27 18:36:41 +00:00
parent 5b9a19b83f
commit 00e0146ae6

334
index.php
View File

@@ -1,168 +1,168 @@
<?php <?php
header('Expires: Sun, 01 Jan 2014 00:00:00 GMT'); header('Expires: Sun, 01 Jan 2014 00:00:00 GMT');
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false); header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache'); header('Pragma: no-cache');
date_default_timezone_set('America/Mexico_City'); date_default_timezone_set('America/Mexico_City');
require_once 'include/bd_pdo.php'; require_once 'include/bd_pdo.php';
$admin_password = '7ipgl3fp03l03fa7j6l8'; $admin_password = '7ipgl3fp03l03fa7j6l8';
?> ?>
<html> <html>
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>Sistema de auditoría asistencial</title> <title>Sistema de auditoría asistencial</title>
<link rel="icon" href="imagenes/favicon.ico" /> <link rel="icon" href="imagenes/favicon.ico" />
<link rel="stylesheet" href="./css/bootstrap-ulsa.min.css"> <link rel="stylesheet" href="./css/bootstrap-ulsa.min.css">
<link rel="stylesheet" href="./css/indivisa.css"> <link rel="stylesheet" href="./css/indivisa.css">
<link rel="stylesheet" href="./css/checador.css"> <link rel="stylesheet" href="./css/checador.css">
</head> </head>
<body> <body>
<header class="py-4 px-4 text-white"> <header class="py-4 px-4 text-white">
<div class="d-flex"> <div class="d-flex">
<div class="my-auto mr-auto"><img id="logo" src="./imagenes/lasalle-blanco.svg" alt="La Salle" <div class="my-auto mr-auto"><img id="logo" src="./imagenes/lasalle-blanco.svg" alt="La Salle"
class="img-fluid" /></div> class="img-fluid" /></div>
<div class="my-auto hora pr-3 text-nowrap text-left indivisa-display"><span id="hr">00</span>:<span <div class="my-auto hora pr-3 text-nowrap text-left indivisa-display"><span id="hr">00</span>:<span
id="min">00</span> h</div> id="min">00</span> h</div>
<div class="my-auto ml-4 fecha text-left"><span id="fecha">00 xxx</span><br><span id="ano" <div class="my-auto ml-4 fecha text-left"><span id="fecha">00 xxx</span><br><span id="ano"
class="indivisa-display-italic">20XX</span></div> class="indivisa-display-italic">20XX</span></div>
</div> </div>
</header> </header>
<main class="d-flex flex-row justify-content-around"> <main class="d-flex flex-row justify-content-around">
<div id="registro" class="sub-bloque w-100"> <div id="registro" class="sub-bloque w-100">
<div class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5"> <div class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5">
<img src="imagenes/registrar.svg" alt="registrar" class="align-self-end mr-4 juanita"> <img src="imagenes/registrar.svg" alt="registrar" class="align-self-end mr-4 juanita">
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start"> <div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
<form class="checa-box" id="formaChecador" autocomplete="off"> <form class="checa-box" id="formaChecador" autocomplete="off">
<div class="text-primary indivisa-text-black text-center mb-5 text-big titRegistro">Registro de <div class="text-primary indivisa-text-black text-center mb-5 text-big titRegistro">Registro de
asistencia</div> asistencia</div>
<div class="input-group inputChecar mx-auto"> <div class="input-group inputChecar mx-auto">
<input type="text" id="cve" placeholder="Clave de empleado" class="form-control text-center" <input type="text" id="cve" placeholder="Clave de empleado" class="form-control text-center"
autofocus="" autocomplete="off" maxlength="6"> autofocus="" autocomplete="off" maxlength="6">
<div class="input-group-append"> <div class="input-group-append">
<button type="submit" id="btnChecar" class="btn btn-primary">Checar</button> <button type="submit" id="btnChecar" class="btn btn-primary">Checar</button>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<div id="result_ok" class="sub-bloque d-none w-100"> <div id="result_ok" class="sub-bloque d-none w-100">
<div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5"> <div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5">
<img src="imagenes/asistencia.svg" alt="registrar" class="align-self-end mr-4 juanita"> <img src="imagenes/asistencia.svg" alt="registrar" class="align-self-end mr-4 juanita">
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start"> <div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
<div class="checa-box"> <div class="checa-box">
<div class="indivisa-text-black text-center text-big mb-4">Asistencia</div> <div class="indivisa-text-black text-center text-big mb-4">Asistencia</div>
<h3 class="indivisa-text-bold subtitle text-center text-uppercase" id="nombre">Nombre</h3> <h3 class="indivisa-text-bold subtitle text-center text-uppercase" id="nombre">Nombre</h3>
<ul class="text-danger" id="list-result"> <ul class="text-danger" id="list-result">
<h4 class="text-secondary indivisa-text-bold mb-3 mt-4 text-info text-uppercase">Facultad <h4 class="text-secondary indivisa-text-bold mb-3 mt-4 text-info text-uppercase">Facultad
</h4> </h4>
<li class=""> <li class="">
<span class="text-secondary font-weight-bold text-uppercase mat-desc">Materia</span><br> <span class="text-secondary font-weight-bold text-uppercase mat-desc">Materia</span><br>
<span class="text-secondary mat-fecha font-weight-bold">hh:mm</span> <span class="text-secondary mat-fecha font-weight-bold">hh:mm</span>
<br> <br>
<span class="text-secondary mat-salon ml-3">SALÓN: <span class="salon">SAL</span></span> <span class="text-secondary mat-salon ml-3">SALÓN: <span class="salon">SAL</span></span>
<span class="text-secondary ml-3">GRUPO: <span class="mat-gpo">GPO</span></span> <span class="text-secondary ml-3">GRUPO: <span class="mat-gpo">GPO</span></span>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="result_no" class="sub-bloque d-none w-100"> <div id="result_no" class="sub-bloque d-none w-100">
<div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5"> <div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5">
<img src="imagenes/no_horario.svg" alt="no_horario" class="align-self-end mr-4 juanita"> <img src="imagenes/no_horario.svg" alt="no_horario" class="align-self-end mr-4 juanita">
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start"> <div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
<div class="checa-box"> <div class="checa-box">
<div class="text-center text-big indivisa-text-black text-primary my-4" id="nombre"><strong <div class="text-center text-big indivisa-text-black text-primary my-4" id="nombre"><strong
class="text-danger">No</strong> tienes clases en este horario</div> class="text-danger">No</strong> tienes clases en este horario</div>
<div class="text-center sin-servicio">No hay ninguna clase registrada en este horario para <div class="text-center sin-servicio">No hay ninguna clase registrada en este horario para
<h3 id="nombre-profesor" class="indivisa-text-bold my-3"></h3> <h3 id="nombre-profesor" class="indivisa-text-bold my-3"></h3>
<h6 class="indivisa-text-italic mt-5"><strong class="text-danger">Recuerda:</strong> Solo se <h6 class="indivisa-text-italic mt-5"><strong class="text-danger">Recuerda:</strong> Solo se
puede registrar entre <strong class="text-secondary">20</strong> minutos antes y <strong puede registrar entre <strong class="text-secondary"><?php echo $_ENV["ANTES"]; ?> </strong> minutos antes y <strong
class="text-secondary">30</strong> minutos después.</h6> class="text-secondary"><?php echo $_ENV["DESPUES"]; ?></strong> minutos después.</h6>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="internet" class="sub-bloque d-none w-100"> <div id="internet" class="sub-bloque d-none w-100">
<div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5"> <div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5">
<img src="imagenes/no_internet.svg" alt="no_internet" class="align-self-end mr-4 juanita"> <img src="imagenes/no_internet.svg" alt="no_internet" class="align-self-end mr-4 juanita">
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start"> <div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
<div class="checa-box"> <div class="checa-box">
<div class="text-big indivisa-text-black text-center">Se perdió la conexión a internet</div> <div class="text-big indivisa-text-black text-center">Se perdió la conexión a internet</div>
<h4 class="text-secondary text-center sin-servicio my-5">Por el momento la conexión a internet <h4 class="text-secondary text-center sin-servicio my-5">Por el momento la conexión a internet
está fallando, por favor inténtelo más tarde.</h4> está fallando, por favor inténtelo más tarde.</h4>
<!-- Código de error: <span class="clave font-weight-bold">000</span> --> <!-- Código de error: <span class="clave font-weight-bold">000</span> -->
<div class="text-center"> <div class="text-center">
<div class="spinner-grow text-warning" role="status"><span class="sr-only">Loading...</span> <div class="spinner-grow text-warning" role="status"><span class="sr-only">Loading...</span>
</div> </div>
<em class="text-info">Conectando</em> <em class="text-info">Conectando</em>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="error_bd" class="sub-bloque d-none w-100"> <div id="error_bd" class="sub-bloque d-none w-100">
<div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5"> <div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5">
<img src="imagenes/error.svg" alt="error" class="align-self-end mr-4 juanita"> <img src="imagenes/error.svg" alt="error" class="align-self-end mr-4 juanita">
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start"> <div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
<div class="checa-box"> <div class="checa-box">
<div class="text-big text-center indivisa-text-black text-danger mb-5">Error en el sistema</div> <div class="text-big text-center indivisa-text-black text-danger mb-5">Error en el sistema</div>
<h4 class="text-secondary text-center sin-servicio">Se ha presentado un error en el sistema, por <h4 class="text-secondary text-center sin-servicio">Se ha presentado un error en el sistema, por
favor inténtelo más tarde y repórtelo al <strong>CAS</strong>.</h4> favor inténtelo más tarde y repórtelo al <strong>CAS</strong>.</h4>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="not_in_db" class="sub-bloque d-none w-100"> <div id="not_in_db" class="sub-bloque d-none w-100">
<div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5"> <div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5">
<img src="imagenes/no_clave.svg" alt="no_clave" class="align-self-end mr-4 juanita"> <img src="imagenes/no_clave.svg" alt="no_clave" class="align-self-end mr-4 juanita">
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start"> <div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
<div class="checa-box"> <div class="checa-box">
<div class="indivisa-text-black subtitle mb-5 text-center text-big">La clave <strong <div class="indivisa-text-black subtitle mb-5 text-center text-big">La clave <strong
class="text-danger" id="clave-no-encontrada"></strong> no está registrada</div> class="text-danger" id="clave-no-encontrada"></strong> no está registrada</div>
<h4 class="text-center mb-4">Revisa que la clave sea la correcta</h4> <h4 class="text-center mb-4">Revisa que la clave sea la correcta</h4>
<div class="text-center indivisa-text-italic text-info">No se pudo registrar asistencia</div> <div class="text-center indivisa-text-italic text-info">No se pudo registrar asistencia</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="avisos" class="sub-bloque d-none w-100"> <div id="avisos" class="sub-bloque d-none w-100">
<div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5"> <div id="estado" class="d-flex flex-row justify-content-between align-items-start h-100 pl-3 pr-5 pt-5">
<img src="imagenes/aviso.svg" alt="aviso" class="align-self-end mr-4 juanita"> <img src="imagenes/aviso.svg" alt="aviso" class="align-self-end mr-4 juanita">
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start"> <div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
<div class="checa-box"> <div class="checa-box">
<div class="indivisa-text-black subtitle mb-4 text-big">Avisos</div> <div class="indivisa-text-black subtitle mb-4 text-big">Avisos</div>
<div class="text-secondary" id="lista-avisos"></div> <div class="text-secondary" id="lista-avisos"></div>
<div class="text-center mt-4"><button type="button" class="btn btn-success" <div class="text-center mt-4"><button type="button" class="btn btn-success"
id="btn-aceptar-avisos">Aceptar</button></div> id="btn-aceptar-avisos">Aceptar</button></div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<p id="last-error" class="d-none">-</p> <p id="last-error" class="d-none">-</p>
</main> </main>
<script> <script>
var d, h, m, s, animate; var d, h, m, s, animate;
var started_at = new Date().getTime(); var started_at = new Date().getTime();
var server_time = <?= time(); ?>; var server_time = <?= time(); ?>;
var ultimosMax = 6; var ultimosMax = 6;
</script> </script>
<script src="./js/jquery.min.js"></script> <script src="./js/jquery.min.js"></script>
<script src="./js/bootstrap/popper.min.js"></script> <script src="./js/bootstrap/popper.min.js"></script>
<script src="./js/bootstrap/bootstrap.min.js"></script> <script src="./js/bootstrap/bootstrap.min.js"></script>
<script type="text/javascript" src="js/checador.js"></script> <script type="text/javascript" src="js/checador.js"></script>
<script> <script>
$(document).ready(function () { $(document).ready(function () {
init(); init();
}); });
</script> </script>
</body> </body>
</html> </html>