- Add db.php with PDO singleton, migration runner, and all helper functions - Add migrations/001_initial_schema.sql (full schema) - Add migrations/002_import_json.php (one-time JSON → DB importer) - Add _incl/switch_tenant.php POST endpoint for tenant/centro switching - Update tools.auth.php: DB-backed login, cookie auth, session reload, init_active_centro() - Update all sysadmin pages (users, centros, aularios, invitations, reset_password) to use DB - Update aulatek/index.php, aulario.php, supercafe.php, supercafe_edit.php to use DB - Update aulatek/comedor.php and api/comedor.php to use DB - Update aulatek/paneldiario.php: aulario config + comedor data from DB - Update aulatek/proyectos.php: aulario config + sharing metadata from DB - Update club/cal.php, index.php, edit_data.php, upload/upload.php to use DB - Update account/index.php: rich profile, tenant list, aula list, session info, permissions - Update pre-body.php account dropdown: shows active org + inline tenant switcher - Update DATA_STRUCTURE.md to document DB approach and migration system Co-authored-by: naielv <109038805+naielv@users.noreply.github.com>
74 lines
2.4 KiB
PHP
74 lines
2.4 KiB
PHP
<?php
|
|
require_once "_incl/auth_redir.php";
|
|
require_once "_incl/pre-body.php";
|
|
require_once "../_incl/tools.security.php";
|
|
require_once "../_incl/db.php";
|
|
|
|
?>
|
|
<div class="card pad">
|
|
<div>
|
|
<h1 class="card-title">¡Hola, <?php echo htmlspecialchars($_SESSION["auth_data"]["display_name"]); ?>!</h1>
|
|
<span>
|
|
Bienvenidx a la plataforma de gestión de aularios conectados. Desde aquí podrás administrar los aularios asociados a tu cuenta.
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div id="grid">
|
|
<?php
|
|
$user_data = $_SESSION["auth_data"];
|
|
$centro_id = safe_centro_id($user_data["entreaulas"]["centro"] ?? "");
|
|
$user_aulas = $user_data["entreaulas"]["aulas"] ?? [];
|
|
foreach ($user_aulas as $aulario_id) {
|
|
$aulario_id = safe_id_segment($aulario_id);
|
|
if ($aulario_id === "") {
|
|
continue;
|
|
}
|
|
$aulario = db_get_aulario($centro_id, $aulario_id);
|
|
if (!$aulario) {
|
|
continue;
|
|
}
|
|
$aulario_name = $aulario["name"] ?? $aulario_id;
|
|
$aulario_icon = $aulario["icon"] ?? "/static/arasaac/aulario.png";
|
|
echo '<a href="/entreaulas/aulario.php?id=' . urlencode($aulario_id) . '" class="btn btn-primary grid-item">
|
|
<img style="height: 125px;" src="' . htmlspecialchars($aulario_icon, ENT_QUOTES) . '" alt="' . htmlspecialchars($aulario_name) . ' Icono">
|
|
<br>
|
|
' . htmlspecialchars($aulario_name) . '
|
|
</a>';
|
|
} ?>
|
|
<?php if (in_array('supercafe:access', $_SESSION['auth_data']['permissions'] ?? [])): ?>
|
|
<a href="/entreaulas/supercafe.php" class="btn btn-warning grid-item">
|
|
<img src="/static/iconexperience/purchase_order_cart.png" height="125"
|
|
style="background: white; padding: 5px; border-radius: 10px;"
|
|
alt="Icono SuperCafe">
|
|
<br>
|
|
SuperCafe
|
|
</a>
|
|
<?php endif; ?>
|
|
</div>
|
|
|
|
<style>
|
|
.grid-item {
|
|
margin-bottom: 10px !important;
|
|
padding: 15px;
|
|
width: 250px;
|
|
text-align: center;
|
|
}
|
|
|
|
.grid-item img {
|
|
margin: 0 auto;
|
|
height: 100px;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
var msnry = new Masonry('#grid', {
|
|
"columnWidth": 250,
|
|
"itemSelector": ".grid-item",
|
|
"gutter": 10,
|
|
"transitionDuration": 0
|
|
});
|
|
setTimeout(() => { msnry.layout() }, 250);
|
|
setInterval(() => { msnry.layout() }, 1000);
|
|
</script>
|
|
<?php require_once "_incl/post-body.php"; ?>
|