update many stuff

This commit is contained in:
naielv
2026-01-25 23:23:22 +01:00
parent d58c9b6af2
commit 5f45017997
15 changed files with 307 additions and 102 deletions

View File

@@ -1,2 +1,2 @@
<a href="/entreaulas/_login.php?reload_users=1" class="button pseudo">Recargar Cuenta</a>
<a href="/entreaulas/_login.php?logout=1" class="button pseudo">Cerrar sesión</a>
<a href="/_login.php?reload_user=1" class="button pseudo">Recargar Cuenta</a>
<a href="/_login.php?logout=1" class="button pseudo">Cerrar sesión</a>

View File

@@ -1,23 +1,5 @@
<?php
// UserAgent
$ua = $_SERVER['HTTP_USER_AGENT'];
if (str_starts_with($ua, "EntreAulasAuth/")) {
// Bypass authentication for this specific user agent (used by Ortuella tablets)
session_start([ 'cookie_lifetime' => 604800 ]);
$username = explode("/", $ua)[1];
$userpass = explode("/", $ua)[2];
$_SESSION["entreaulas_auth_user"] = $username;
$_SESSION["entreaulas_auth_data"] = json_decode(file_get_contents("/DATA/entreaulas/Usuarios/$username.json"), true);
$_SESSION["entreaulas_auth_ok"] = true;
session_regenerate_id();
ini_set("session.use_only_cookies", "true");
ini_set("session.use_trans_sid", "false");
}
session_start([ 'cookie_lifetime' => 604800 ]);
session_regenerate_id();
ini_set("session.use_only_cookies", "true");
ini_set("session.use_trans_sid", "false");
if (!$_SESSION["entreaulas_auth_ok"]) {
header("Location: /entreaulas/_login.php");
die();
}
<?php
$APP_CODE = "entreaulas";
$APP_NAME = "EntreAulas";
$APP_TITLE = "EntreAulas";
require_once __DIR__ . "/../../_incl/auth_redir.php";

View File

@@ -1,3 +1 @@
</main>
</body>
</html>
<?php require_once __DIR__ . "/../../_incl/post-body.php"; ?>

View File

@@ -1,55 +0,0 @@
<?php
session_start();
if ($_GET["reload_users"] == "1") {
$user = $_SESSION['entreaulas_auth_user'];
$userdata = json_decode(file_get_contents("/DATA/entreaulas/Usuarios/$user.json"), true);
$_SESSION['entreaulas_auth_data'] = $userdata;
header("Location: /entreaulas/");
die();
}
if ($_GET["logout"] == "1") {
session_destroy();
header("Location: /entreaulas/_login.php");
die();
}
if (isset($_POST["user"])) {
$valid = "";
$user = trim(strtolower($_POST["user"]));
$password = $_POST["password"];
$userdata = json_decode(file_get_contents("/DATA/entreaulas/Usuarios/$user.json"), true);
if (!isset($userdata["password_hash"])) {
$valid = "El usuario no existe.";
}
$hash = $userdata["password_hash"];
if (password_verify($password, $hash)) {
$_SESSION['entreaulas_auth_user'] = $user;
$_SESSION['entreaulas_auth_data'] = $userdata;
$_SESSION['entreaulas_auth_ok'] = true;
header("Location: /entreaulas/");
die();
} else {
$valid = "La contraseña no es correcta.";
}
}
require_once "_incl/pre-body.php"; ?>
<div class="card pad">
<h1>Iniciar sesión</h1>
<form method="post">
<fieldset class="card" style="border: 2px solid black; border-radius: 6.5px; padding: 10px 25px; max-width: 500px;">
<label>
<b>Usuario:</b><br>
<input required type="text" name="user" placeholder="Ej: PepitoFlores3">
</label><br><br>
<label>
<b>Contraseña:</b><br>
<input required type="password" name="password" placeholder="Ej: PerroArbolPianoPizza">
</label>
<button type="submit">Iniciar sesión</button>
</fieldset>
</form>
</div>
<?php require_once "_incl/post-body.php"; ?>

View File

@@ -1,62 +0,0 @@
<?php
require_once "../_incl/auth_redir.php";
require_once "../_incl/pre-body.php";
switch ($_GET["form"]) {
case "create":
$user_data = $_SESSION["entreaulas_auth_data"];
$centro_id = $user_data["centro"];
$aulario_id = uniqid("aulario_");
$aulario_data = [
"name" => $_POST["name"],
"icon" => $_POST["icon"] ?? "/static/logo-entreaulas.png"
];
// Make path recursive (mkdir -p equivalent)
@mkdir("/DATA/entreaulas/Centros/$centro_id/Aularios/", 0777, true);
file_put_contents("/DATA/entreaulas/Centros/$centro_id/Aularios/$aulario_id.json", json_encode($aulario_data));
// Update user data
$_SESSION["entreaulas_auth_data"]["aulas"][] = $aulario_id;
header("Location: ?action=index");
exit();
break;
}
switch ($_GET["action"]) {
case "new":
?>
<div class="card pad">
<h1>Nuevo Aulario</h1>
<span>
Aquí puedes crear un nuevo aulario para el centro que administras.
</span>
<form method="post" action="?form=create">
<label>
Nombre del Aulario:<br>
<input required type="text" name="name" placeholder="Ej: Aulario Principal">
</label><br><br>
<label>
Icono del Aulario (URL):<br>
<input type="url" name="icon" placeholder="Ej: https://example.com/icon.png" value="/static/logo-entreaulas.png">
</label><br><br>
<button type="submit">Crear Aulario</button>
</form>
</div>
<?php
break;
case "index":
default:
?>
<div class="card pad">
<h1>Gestión de Aularios</h1>
<span>
Desde esta sección puedes administrar los aularios asociados al centro que estás administrando.
</span>
<a href="?action=new" class="button">Nuevo Aulario</a>
</div>
<?php
break;
}
require_once "../_incl/post-body.php"; ?>

View File

@@ -2,7 +2,7 @@
require_once "_incl/auth_redir.php";
require_once "_incl/pre-body.php";
$aulario_id = $_GET["id"];
$centro_id = $_SESSION["entreaulas_auth_data"]["centro"];
$centro_id = $_SESSION["auth_data"]["entreaulas"]["centro"];
$aulario = json_decode(file_get_contents("/DATA/entreaulas/Centros/$centro_id/Aularios/$aulario_id.json"), true);
?>
<div class="card pad">
@@ -18,12 +18,13 @@ $aulario = json_decode(file_get_contents("/DATA/entreaulas/Centros/$centro_id/Au
</br>
Panel Diario
</a>
<a href="/entreaulas/admin/aularios.php?action=edit&aulario=<?= urlencode($aulario_id) ?>" class="button grid-item">
<?php if (in_array("sysadmin:access", $_SESSION["auth_data"]["permissions"] ?? [])): ?>
<a href="/sysadmin/aularios.php?action=edit&aulario=<?= urlencode($aulario_id) ?>" class="button grid-item">
<img src="/static/iconexperience/gear_edit.png" height="125">
<br>
Administración del Aulario
</a>
<?php endif; ?>
</div>
<script>

View File

@@ -2,15 +2,15 @@
require_once "_incl/auth_redir.php";
require_once "_incl/pre-body.php";?>
<div class="card pad">
<h1>¡Hola, <?php echo $_SESSION["entreaulas_auth_data"]["display_name"];?>!</h1>
<h1>¡Hola, <?php echo $_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 id="grid">
<?php $user_data = $_SESSION["entreaulas_auth_data"];
$centro_id = $user_data["centro"];
foreach ($user_data["aulas"] as $aulario_id) {
<?php $user_data = $_SESSION["auth_data"];
$centro_id = $user_data["entreaulas"]["centro"];
foreach ($user_data["entreaulas"]["aulas"] as $aulario_id) {
$aulario = json_decode(file_get_contents("/DATA/entreaulas/Centros/$centro_id/Aularios/$aulario_id.json"), true);
echo '<a href="/entreaulas/aulario.php?id=' . $aulario_id . '" class="button grid-item">
<img style="height: 125px;" src="' . $aulario["icon"] . '" alt="' . htmlspecialchars($aulario["name"]) . ' Icono">