Commit inicial
This commit is contained in:
420
main-old.php
Normal file
420
main-old.php
Normal file
@@ -0,0 +1,420 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
require_once 'class/c_login.php';
|
||||
if (!isset($_SESSION['user']))
|
||||
die(header('Location: index.php'));
|
||||
|
||||
$user = unserialize($_SESSION['user']);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Asistencia Profesores |
|
||||
<?= $user->facultad['facultad'] ?? "Administrador"; ?>
|
||||
</title>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
|
||||
integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<?php
|
||||
include 'import/html_css_files.php';
|
||||
?>
|
||||
<style>
|
||||
.checa-box {
|
||||
border: 3px solid #001D68;
|
||||
border-radius: 10px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.juanita {
|
||||
width: 20vw;
|
||||
}
|
||||
|
||||
.tit1 {
|
||||
font-size: 2.5rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.tit2 {
|
||||
font-size: 2rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.tit3 {
|
||||
font-size: 1.5rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.movie {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.datos>hr:last-of-type {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.juanita {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php
|
||||
include "import/html_header.php";
|
||||
html_header(
|
||||
$user->user['nombre'],
|
||||
$user->rol['rol'],
|
||||
);
|
||||
$nohorario = false;
|
||||
$noduplicadas = false;
|
||||
$juanita = 'imagenes/registrar.svg';
|
||||
?>
|
||||
<main class="content marco pt-5">
|
||||
<section id="message">
|
||||
</section>
|
||||
<!-- Aquí iban los datos -->
|
||||
<div id="registro" class="sub-bloque w-100">
|
||||
<div class="d-flex flex-column flex-sm-row-reverse justify-content-between align-items-start">
|
||||
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
|
||||
<form class="checa-box w-100" id="formaChecador" autocomplete="off">
|
||||
<?= "{$_ENV['CHECADOR']}?cve=" . $user->user['clave'] ?>
|
||||
<input type="hidden" id="cve" value="<?php echo $user->user["clave"]; ?>">
|
||||
<div class="d-flex justify-content-center align-items-center flex-wrap">
|
||||
<?php if ($user->profesor) { ?>
|
||||
<?php
|
||||
//$has_token = $db->querySingle("SELECT FALSE") or die($db->getLastError());
|
||||
//if (!array_pop($has_token)) {
|
||||
$curl = curl_init();
|
||||
curl_setopt_array($curl, [
|
||||
CURLOPT_URL => "{$_ENV['CHECADOR']}?cve=" . $user->user['clave'],
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
//CURLOPT_POSTFIELDS => json_encode(["username" => "SGU_APSA_AUD_ASIST", "password" => "B4qa594JFPr2ufHrZdHS8A=="]),
|
||||
CURLOPT_HTTPHEADER => array('Content-Type:application/json'),
|
||||
]);
|
||||
if(true){
|
||||
echo curl_exec($curl);
|
||||
curl_close($curl);
|
||||
exit();
|
||||
}
|
||||
$datos_checado = json_decode(curl_exec($curl), true);
|
||||
|
||||
|
||||
if (isset($datos_checado["horarios"])) {
|
||||
$horarios = $datos_checado["horarios"];
|
||||
} else {
|
||||
$horarios = array();
|
||||
}
|
||||
if (isset($datos_checado["duplicadas"])) {
|
||||
$duplicadas = $datos_checado["duplicadas"];
|
||||
} else {
|
||||
$duplicadas = array();
|
||||
}
|
||||
curl_close($curl);
|
||||
echo "RESULTADO:".$datos_checado. '\n';
|
||||
echo "{$_ENV['CHECADOR']}?cve=" . $user->user['clave'];
|
||||
print_r($datos_checado);
|
||||
if (count($horarios) != 0) {
|
||||
?>
|
||||
<div class="movie w-100">
|
||||
<div class="text-center">
|
||||
<a href="javascript:checado();"
|
||||
class="text-decoration-none text-primary d-flex flex-column align-items-center">
|
||||
<h5 class="text-info mb-3">Hora actual - <b>
|
||||
<?php echo date("H:i d/m/Y"); ?>
|
||||
</b></h5>
|
||||
<div class="btn btn-primary rounded-pill mb-4">Checar Asistencia</div>
|
||||
<div class="datos d-flex flex-column">
|
||||
<?php
|
||||
foreach ($horarios as $horarioFacultadPadre) {
|
||||
foreach ($horarioFacultadPadre as $horarioProfesor) {
|
||||
echo '<div class="indivisa-text-black tit2">' . $horarioProfesor["materia"] . '</div>';
|
||||
echo '<div class="indivisa-text-bold tit3 my-2">Salón: ' . $horarioProfesor["salon"] . "</div>";
|
||||
echo '<div>' . $horarioProfesor["dia"] . ' ' . $horarioProfesor["horario_hora"] . " - " . $horarioProfesor["horario_fin"] . "</div>";
|
||||
echo '<div class="text-info indivisa-text-italic">' . $horarioProfesor["carrera"] . "</div>";
|
||||
//print_r($horarioProfesor);
|
||||
}
|
||||
echo "<hr>";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
} else {
|
||||
$nohorario = true;
|
||||
}
|
||||
|
||||
if (count($duplicadas) != 0) {
|
||||
$juanita = 'imagenes/asistencia.svg'; ?>
|
||||
<div class="w-100">
|
||||
<div class="text-center">
|
||||
<h5 class="text-info mb-3">Hora actual - <b>
|
||||
<?php echo date("H:i d/m/Y"); ?>
|
||||
</b></h5>
|
||||
<div class="text-success tit1 mb-3">Asistencia ya verificada</div>
|
||||
<div class="datos mt-2">
|
||||
<?php
|
||||
foreach ($duplicadas as $horarioFacultadPadre) {
|
||||
foreach ($horarioFacultadPadre as $horarioProfesor) {
|
||||
echo '<div class="indivisa-text-black tit2">' . $horarioProfesor["materia"] . '</div>';
|
||||
echo '<div class="indivisa-text-bold tit3 my-2">Salón: ' . $horarioProfesor["salon"] . "</div>";
|
||||
echo '<div>' . $horarioProfesor["dia"] . ' ' . $horarioProfesor["horario_hora"] . " - " . $horarioProfesor["horario_fin"] . "</div>";
|
||||
echo '<div class="text-info indivisa-text-italic">' . $horarioProfesor["carrera"] . "</div>";
|
||||
echo "<div>Asistencia:</b> " . $horarioProfesor["registro_fecha"] . "</div>";
|
||||
}
|
||||
echo "<hr>";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<button class="mt-3 btn btn-outline-primary rounded-pill mb-4"
|
||||
onclick="window.location.reload()"><i class="fa-solid fa-rotate-right"></i>
|
||||
Actualizar página</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
} else {
|
||||
$noduplicadas = true;
|
||||
}
|
||||
|
||||
if ($nohorario && $noduplicadas) {
|
||||
$juanita = 'imagenes/no_horario.svg'; ?>
|
||||
<div class="w-100">
|
||||
<div class="text-center">
|
||||
<h5 class="text-info mb-3">Hora actual - <b>
|
||||
<?php echo date("H:i d/m/Y"); ?>
|
||||
</b></h5>
|
||||
<div class="text-center tit2 indivisa-text-black text-primary mb-4">
|
||||
<strong class="text-danger">No</strong> tienes clases en este horario
|
||||
</div>
|
||||
<div class="indivisa-text-italic">
|
||||
<strong class="text-danger">Recuerda:</strong> Solo se puede registrar entre
|
||||
<strong class="text-secondary">30</strong> minutos antes y
|
||||
<strong class="text-secondary">20</strong> minutos después.
|
||||
</div>
|
||||
<button class="mt-3 btn btn-outline-primary rounded-pill mb-4"
|
||||
onclick="window.location.reload()"><i class="fa-solid fa-rotate-right"></i>
|
||||
Actualizar página</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
//} else {
|
||||
?>
|
||||
<!--
|
||||
<div class="card col-10 col-md-3 border-primary border-3 m-2 disabled bg-dark">
|
||||
<div class="card-body text-center disabled">
|
||||
<a href="#"
|
||||
class="card-link text-decoration-none text-primary d-flex flex-column align-items-center disabled text-danger">
|
||||
<i class="ing-cancelar" aria-hidden="true"></i>
|
||||
<h5 class=" mt-2">Checador</h5>
|
||||
</a>
|
||||
</div>
|
||||
</div> -->
|
||||
<?php
|
||||
//}
|
||||
echo "<!--";
|
||||
?>
|
||||
<div class="movie w-100">
|
||||
<div class="text-center">
|
||||
<a href="#"
|
||||
class="card-link text-decoration-none text-primary d-flex flex-column align-items-center">
|
||||
<h5 class="mt-2">Mis horarios</h5>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="movie w-100">
|
||||
<div class="text-center">
|
||||
<a href="#"
|
||||
class="card-link text-decoration-none text-primary d-flex flex-column align-items-center">
|
||||
<i class="fa fa-table" aria-hidden="true"></i>
|
||||
<h5 class=" mt-2">Mis asistencias</h5>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
echo "-->";
|
||||
} else {
|
||||
foreach ($paginas as $pagina) {
|
||||
if (is_null($pagina['pagina_ruta']))
|
||||
continue;
|
||||
?>
|
||||
<div class="movie w-100">
|
||||
<div class="text-center">
|
||||
<a href="<?= $pagina['pagina_ruta'] ?>.php"
|
||||
class="card-link text-decoration-none text-primary d-flex flex-column align-items-center">
|
||||
<i class="fa fa-table" aria-hidden="true"></i>
|
||||
<div class="tit2 mt-2">
|
||||
<?= $pagina['pagina_ruta']; ?>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php }
|
||||
|
||||
} ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<img src="<?php echo $juanita; ?>" alt="registrar"
|
||||
class="align-self-end mr-0 mr-sm-4 juanita invisible">
|
||||
</div>
|
||||
</div>
|
||||
<div id="result_ok" class="sub-bloque d-none w-100">
|
||||
<div id="estado" class="d-flex flex-column-reverse flex-sm-row justify-content-between align-items-start">
|
||||
<img src="imagenes/asistencia.svg" alt="registrar"
|
||||
class="align-self-end mr-0 mr-sm-4 juanita invisible">
|
||||
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start w-100">
|
||||
<div class="checa-box w-100">
|
||||
<div id="asistencia" class="indivisa-text-black text-center tit1 mb-4">Asistencia</div>
|
||||
<div class="indivisa-text-bold tit2 text-center text-uppercase d-none" id="nombre">Nombre</div>
|
||||
<ul class="text-danger" id="list-result">
|
||||
<div class="indivisa-text-bold mb-3 mt-4 text-info text-uppercase">Facultad</div>
|
||||
<li class="">
|
||||
<span
|
||||
class="text-secondary tit3 font-weight-bold text-uppercase mat-desc">Materia</span><br>
|
||||
<span class="text-secondary mat-fecha font-weight-bold">hh:mm</span>
|
||||
<br>
|
||||
<span class="text-secondary mat-salon ml-3 d-none">SALÓN: <span
|
||||
class="salon">SAL</span></span>
|
||||
<span class="text-secondary ml-3 d-none">GRUPO: <span class="mat-gpo">GPO</span></span>
|
||||
</li>
|
||||
</ul>
|
||||
<button class="mt-3 btn btn-outline-primary rounded-pill mb-4"
|
||||
onclick="window.location.reload()"><i class="fa-solid fa-rotate-right"></i> Actualizar
|
||||
página</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="result_no" class="sub-bloque d-none w-100">
|
||||
<div id="estado" class="d-flex flex-column-reverse flex-sm-row justify-content-between align-items-start">
|
||||
<img src="imagenes/no_horario.svg" alt="no_horario"
|
||||
class="align-self-end mr-0 mr-sm-4 juanita invisible">
|
||||
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start w-100">
|
||||
<div class="checa-box w-100">
|
||||
<h5 class="text-info mb-3">Hora actual - <b>
|
||||
<?php echo date("H:i d/m/Y"); ?>
|
||||
</b></h5>
|
||||
<div class="text-center tit2 indivisa-text-black text-primary my-4" id="nombre">
|
||||
<strong 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
|
||||
<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
|
||||
puede registrar entre <strong class="text-secondary">20</strong> minutos antes y <strong
|
||||
class="text-secondary">30</strong> minutos después.</h6>
|
||||
<button class="mt-3 btn btn-outline-primary rounded-pill mb-4"
|
||||
onclick="window.location.reload()"><i class="fa-solid fa-rotate-right"></i> Actualizar
|
||||
página</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="internet" class="sub-bloque d-none w-100">
|
||||
<div id="estado" class="d-flex flex-column-reverse flex-sm-row justify-content-between align-items-start">
|
||||
<img src="imagenes/no_internet.svg" alt="no_internet"
|
||||
class="align-self-end mr-0 mr-sm-4 juanita invisible">
|
||||
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start w-100">
|
||||
<div class="checa-box w-100">
|
||||
<div class="tit2 indivisa-text-black text-center">Se perdió la conexión a internet</div>
|
||||
<div class="text-secondary tit3 text-center sin-servicio my-5">Por el momento la conexión a
|
||||
internet
|
||||
está fallando, por favor inténtelo más tarde.</div>
|
||||
<!-- Código de error: <span class="clave font-weight-bold">000</span> -->
|
||||
<div class="text-center">
|
||||
<div class="spinner-grow text-warning" role="status"><span class="sr-only">Loading...</span>
|
||||
</div>
|
||||
<em class="text-info">Conectando</em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="error_bd" class="sub-bloque d-none w-100">
|
||||
<div id="estado" class="d-flex flex-column-reverse flex-sm-row justify-content-between align-items-start">
|
||||
<img src="imagenes/error.svg" alt="error" class="align-self-end mr-0 mr-sm-4 juanita invisible">
|
||||
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start w-100">
|
||||
<div class="checa-box w-100">
|
||||
<div class="tit2 text-center indivisa-text-black text-danger mb-5">Error en el sistema</div>
|
||||
<div class="text-secondary text-center sin-servicio tit3">Se ha presentado un error en el
|
||||
sistema, por
|
||||
favor inténtelo más tarde y repórtelo al <strong>CAS</strong>.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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">
|
||||
<img src="imagenes/no_clave.svg" alt="no_clave" class="align-self-end mr-0 mr-sm-4 juanita invisible">
|
||||
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
|
||||
<div class="checa-box">
|
||||
<div class="indivisa-text-black subtitle mb-5 text-center tit2">La clave <strong
|
||||
class="text-danger" id="clave-no-encontrada"></strong> no está registrada</div>
|
||||
<div class="text-center mb-4 tit3">Revisa que la clave sea la correcta</div>
|
||||
<div class="text-center indivisa-text-italic text-info">No se pudo registrar asistencia</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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">
|
||||
<img src="imagenes/aviso.svg" alt="aviso" class="align-self-end mr-0 mr-sm-4 juanita invisible">
|
||||
<div class="flex-grow-1 d-flex flex-row justify-content-center align-items-start">
|
||||
<div class="checa-box">
|
||||
<div class="indivisa-text-black subtitle mb-4 tit2">Avisos</div>
|
||||
<div class="text-secondary" id="lista-avisos"></div>
|
||||
<div class="text-center mt-4"><button type="button" class="btn btn-success"
|
||||
id="btn-aceptar-avisos">Aceptar</button></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p id="last-error" class="d-none">-</p>
|
||||
</main>
|
||||
<?php
|
||||
include "import/html_footer.php";
|
||||
?>
|
||||
<script src="js/jquery.min.js"></script>
|
||||
<script src="js/bootstrap/bootstrap.min.js"></script>
|
||||
<?php include_once 'js/messages.php';
|
||||
//$user = unserialize($_SESSION['user']); ?>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
// constantly update the date and time
|
||||
setInterval(function () {
|
||||
$('.fecha_hora').html(new Date().toLocaleString());
|
||||
}, 1000);
|
||||
|
||||
<?php if (isset($_GET['error'])) { ?>
|
||||
var error = <?php echo $_GET['error'] ?? 0; ?>;
|
||||
switch (error) {
|
||||
case 1:
|
||||
triggerMessage('No tienes permiso de acceso a esta página', 'Error de permisos', 'danger');
|
||||
break;
|
||||
|
||||
default:
|
||||
triggerMessage('Error desconocido', 'Error', 'danger');
|
||||
break;
|
||||
}
|
||||
<?php } ?>
|
||||
});
|
||||
function checado() {
|
||||
document.querySelector('#formaChecador').requestSubmit();
|
||||
}
|
||||
</script>
|
||||
<script src="./js/bootstrap/popper.min.js"></script>
|
||||
<script type="text/javascript" src="js/checador.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user