Files
paad/rest/salon.php
2024-10-07 19:31:30 +00:00

149 lines
4.5 KiB
PHP

<style>
details {
border: 1px solid #aaa;
border-radius: 4px;
padding: 0.5em 0.5em 0;
margin: 0.5em 0;
}
summary {
font-weight: bold;
margin: -0.5em -0.5em 0;
padding: 0.5em;
}
details[open] {
padding: 0.5em;
}
details[open] summary {
border-bottom: 1px solid #aaa;
margin-bottom: 0.5em;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th,
td {
padding: 8px;
border: 1px solid #ccc;
text-align: left;
}
th {
background-color: #f2f2f2;
}
.json-container {
white-space: pre-wrap;
/* Since JSON is formatted with whitespace, this will keep formatting */
word-break: break-word;
/* To prevent horizontal scrolling */
max-height: 150px;
/* Set a max-height and add scroll to prevent very long JSON from cluttering the table */
overflow-y: auto;
}
.empty {
/* rosa pastel */
background-color: #ffe8f4;
}
.no-igual {
/* púrpura pastel */
background-color: #f4e8ff;
}
</style>
<?php
/*
idPeriodo: identificador del periodo a consultar (obligatorio, número entero)
claveFacultad: clave de la facultad a consultar (opcional, cadena)
claveCarrera: clave de la carrera a consultar (opcional, cadena)
claveProfesor: clave del empleado a consultar (opcional, cadena)
fecha: fecha de la clase (opcional, cadena en formato yyyy-MM-dd)
*/
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('post_max_size', 1);
ini_set('max_execution_time', 8 * 60);
error_reporting(E_ALL);
date_default_timezone_set('America/Mexico_City');
$ruta = "../";
$ruta_superior = dirname(__DIR__);
require_once $ruta_superior . "/include/bd_pdo.php";
require_once __DIR__ . "/token.php";
require_once __DIR__ . "/LogCambios.php";
$salon = array();
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL =>
'https://portal.ulsa.edu.mx/servicios/AuditoriaAsistencialRest/AuditoriaAsistencialService.svc/auditoriaAsistencial/catalogos/espacios/seleccionar',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => json_encode([]),
CURLOPT_HTTPHEADER => [
"token: $token",
'username: SGU_APSA_AUD_ASIST',
'Content-Type: application/json',
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$json_flags = JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT;
$salones = json_decode($response, true, 512, JSON_THROW_ON_ERROR | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
?>
<main>
<p>
<?= count($salones) ?> salones encontrados
</p>
<table>
<thead>
<tr>
<th>Salones en SGU</th>
<th>SALONES en Postgres</th>
</tr>
</thead>
<tbody>
<?php
foreach ($salones as $salon) {
$salon_db = $db->where("id_espacio_sgu", $salon["IdEspacio"])->get("salon");
// si de el salon es igual NombreEspacio == salon
$vacío = empty($salon_db);
$igual = $salon["NombreEspacio"] == ($salon["salon"] ?? "");
if ($vacío) {
$db->insert("salon", [
"id_espacio_sgu" => $salon["IdEspacio"],
"salon" => $salon["NombreEspacio"],
"id_espacio_padre" => $salon["IdEspacioPadre"] > 0 ? $salon["IdEspacioPadre"] : null,
]);
} else if (!$igual) {
$db->where("id_espacio_sgu", $salon["IdEspacio"])->update("salon", [
"salon" => $salon["NombreEspacio"],
// "id_espacio_padre" => $salon["IdEspacioPadre"] > 0 ? $salon["IdEspacioPadre"] : null,
]);
}
?>
<tr class="<?= $igual ? "empty" : "no-igual" ?>">
<td class="json-container">
<?= json_encode($salon, $json_flags) ?>
</td>
<td class="json-container">
<?= json_encode($salon_db, $json_flags) ?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</main>