initial semi release
This commit is contained in:
BIN
public_html/entreaulas/.DS_Store
vendored
Executable file
BIN
public_html/entreaulas/.DS_Store
vendored
Executable file
Binary file not shown.
2
public_html/entreaulas/__menu.php
Executable file
2
public_html/entreaulas/__menu.php
Executable file
@@ -0,0 +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>
|
||||
23
public_html/entreaulas/_incl/auth_redir.php
Executable file
23
public_html/entreaulas/_incl/auth_redir.php
Executable file
@@ -0,0 +1,23 @@
|
||||
<?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("/srv/storage/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();
|
||||
}
|
||||
3
public_html/entreaulas/_incl/post-body.php
Executable file
3
public_html/entreaulas/_incl/post-body.php
Executable file
@@ -0,0 +1,3 @@
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
5
public_html/entreaulas/_incl/pre-body.php
Executable file
5
public_html/entreaulas/_incl/pre-body.php
Executable file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
$APP_CODE = "entreaulas";
|
||||
$APP_NAME = "EntreAulas";
|
||||
$APP_TITLE = "EntreAulas";
|
||||
require_once "/var/www/_incl/pre-body.php";
|
||||
55
public_html/entreaulas/_login.php
Executable file
55
public_html/entreaulas/_login.php
Executable file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
session_start();
|
||||
if ($_GET["reload_users"] == "1") {
|
||||
$user = $_SESSION['entreaulas_auth_user'];
|
||||
$userdata = json_decode(file_get_contents("/srv/storage/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("/srv/storage/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"; ?>
|
||||
62
public_html/entreaulas/admin/aularios.php
Normal file
62
public_html/entreaulas/admin/aularios.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?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("/srv/storage/entreaulas/Centros/$centro_id/Aularios/", 0777, true);
|
||||
file_put_contents("/srv/storage/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"; ?>
|
||||
44
public_html/entreaulas/aulario.php
Normal file
44
public_html/entreaulas/aulario.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
require_once "_incl/auth_redir.php";
|
||||
require_once "_incl/pre-body.php";
|
||||
$aulario_id = $_GET["id"];
|
||||
$centro_id = $_SESSION["entreaulas_auth_data"]["centro"];
|
||||
$aulario = json_decode(file_get_contents("/srv/storage/entreaulas/Centros/$centro_id/Aularios/$aulario_id.json"), true);
|
||||
?>
|
||||
<div class="card pad">
|
||||
<h1>Aulario: <?= htmlspecialchars($aulario["name"]) ?></h1>
|
||||
<span>
|
||||
Bienvenidx al aulario <?= htmlspecialchars($aulario["name"]) ?>. Aquí podrás gestionar las funcionalidades específicas de este aulario.
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div id="grid">
|
||||
<a href="/entreaulas/paneldiario.php?aulario=<?= urlencode($aulario_id) ?>" class="button grid-item">
|
||||
<img src="/static/iconexperience/calendar_preferences.png" height="125">
|
||||
</br>
|
||||
Panel Diario
|
||||
</a>
|
||||
<a href="/entreaulas/admin/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>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var msnry = new Masonry('#grid', {
|
||||
"columnWidth": 250,
|
||||
"itemSelector": ".grid-item",
|
||||
"gutter": 10,
|
||||
"transitionDuration": 0
|
||||
});
|
||||
setTimeout(() => {msnry.layout()}, 150)
|
||||
// setInterval(() => {msnry.layout()}, 10000);
|
||||
window.addEventListener('resize', function(event) {
|
||||
msnry.layout()
|
||||
}, true);
|
||||
|
||||
</script>
|
||||
|
||||
<?php require_once "_incl/post-body.php"; ?>
|
||||
51
public_html/entreaulas/index.php
Executable file
51
public_html/entreaulas/index.php
Executable file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
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>
|
||||
<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) {
|
||||
$aulario = json_decode(file_get_contents("/srv/storage/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">
|
||||
<br>
|
||||
' . htmlspecialchars($aulario["name"]) . '
|
||||
</a>';
|
||||
} ?>
|
||||
</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
|
||||
});
|
||||
setInterval(() => {
|
||||
msnry.layout()
|
||||
}, 1000);
|
||||
msnry.layout()
|
||||
</script>
|
||||
|
||||
<?php require_once "_incl/post-body.php"; ?>
|
||||
462
public_html/entreaulas/paneldiario.php
Executable file
462
public_html/entreaulas/paneldiario.php
Executable file
@@ -0,0 +1,462 @@
|
||||
<?php
|
||||
require_once "_incl/auth_redir.php";
|
||||
require_once "_incl/pre-body.php";
|
||||
switch ($_GET["form"]) {
|
||||
case "menu_select":
|
||||
// Guardar menú seleccionado en la base de datos (a implementar)
|
||||
$selected_date = $_POST["fecha"];
|
||||
$plato1 = $_POST["plato1"];
|
||||
$plato2 = $_POST["plato2"];
|
||||
$postre = $_POST["postre"];
|
||||
// Aquí se debería guardar en la base de datos del aulario la selección del menú para la fecha indicada.
|
||||
// Por ahora, solo mostramos un mensaje de confirmación.
|
||||
// Y redirigimos despues de 10 segundos al panel diario.
|
||||
header("Refresh: 10; URL=/entreaulas/paneldiario.php?aulario=" . urlencode($_GET['aulario'] ?? ''));
|
||||
?>
|
||||
<div class="card pad">
|
||||
<h1>Menú Seleccionado</h1>
|
||||
<span>
|
||||
Has seleccionado el siguiente menú para el día <?php echo htmlspecialchars($selected_date); ?>:
|
||||
</span>
|
||||
<ul>
|
||||
<li>Primer Plato: <?php echo htmlspecialchars($plato1); ?></li>
|
||||
<li>Segundo Plato: <?php echo htmlspecialchars($plato2); ?></li>
|
||||
<li>Postre: <?php echo htmlspecialchars($postre); ?></li>
|
||||
</ul>
|
||||
<a href="/entreaulas/paneldiario.php?aulario=<?php echo urlencode($_GET['aulario'] ?? ''); ?>" class="button">Volver
|
||||
al Panel Diario</a>
|
||||
</div>
|
||||
<?php
|
||||
die();
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<audio id="win-sound" src="/static/sounds/win.mp3" preload="auto"></audio>
|
||||
<audio id="lose-sound" src="/static/sounds/lose.mp3" preload="auto"></audio>
|
||||
<audio id="click-sound" src="/static/sounds/click.mp3" preload="auto"></audio>
|
||||
<?php
|
||||
switch ($_GET["action"]) {
|
||||
default:
|
||||
case "index":
|
||||
?>
|
||||
<div class="card pad">
|
||||
<h1>Panel diario</h1>
|
||||
<span>
|
||||
Desde este panel puedes apuntar las actividades diarias del aulario.
|
||||
</span>
|
||||
</div>
|
||||
<div id="grid">
|
||||
<!-- Calendario -->
|
||||
<a onclick="document.getElementById('click-sound').play()" href="?action=calendar&aulario=<?php echo urlencode($_GET['aulario'] ?? ''); ?>" class="button grid-item">
|
||||
<img src="/static/arasaac/calendario.png" height="125">
|
||||
<br>
|
||||
Calendario
|
||||
</a>
|
||||
<!-- Actividades -->
|
||||
<a onclick="document.getElementById('click-sound').play()" href="?action=activities&aulario=<?php echo urlencode($_GET['aulario'] ?? ''); ?>" class="button grid-item">
|
||||
<span class="iconify" style="font-size: 125px" data-icon="mdi-school"></span>
|
||||
<br>
|
||||
Actividades
|
||||
</a>
|
||||
<!-- Menú del comedor -->
|
||||
<a onclick="document.getElementById('click-sound').play()" href="?action=menu&aulario=<?php echo urlencode($_GET['aulario'] ?? ''); ?>" class="button grid-item">
|
||||
<span class="iconify" style="font-size: 125px" data-icon="mdi-silverware-fork-knife"></span>
|
||||
<br>
|
||||
Menú del Comedor
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.grid-item {
|
||||
margin-bottom: 10px !important;
|
||||
padding: 15px;
|
||||
width: 250px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.grid-item img {
|
||||
margin: 0 auto;
|
||||
height: 125px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script>
|
||||
var msnry = new Masonry('#grid', {
|
||||
"columnWidth": 250,
|
||||
"itemSelector": ".grid-item",
|
||||
"gutter": 10,
|
||||
"transitionDuration": 0
|
||||
});
|
||||
setTimeout(() => {
|
||||
msnry.layout()
|
||||
}, 250); window.onresize = () => {msnry.layout()}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
break;
|
||||
case "menu":
|
||||
// Menú del comedor
|
||||
|
||||
$months = [
|
||||
1 => "Enero",
|
||||
2 => "Febrero",
|
||||
3 => "Marzo",
|
||||
4 => "Abril",
|
||||
5 => "Mayo",
|
||||
6 => "Junio",
|
||||
7 => "Julio",
|
||||
8 => "Agosto",
|
||||
9 => "Septiembre",
|
||||
10 => "Octubre",
|
||||
11 => "Noviembre",
|
||||
12 => "Diciembre"
|
||||
];
|
||||
|
||||
$dow = [
|
||||
1 => "Lunes",
|
||||
2 => "Martes",
|
||||
3 => "Miércoles",
|
||||
4 => "Jueves",
|
||||
5 => "Viernes",
|
||||
6 => "Sábado",
|
||||
7 => "Domingo"
|
||||
];
|
||||
|
||||
$month = $_GET['month'] ?? date('n');
|
||||
$year = $_GET['year'] ?? date('Y');
|
||||
$MENUTY = $_GET['menu'] ?? "basal";
|
||||
|
||||
$parsedTable = null;
|
||||
function getMenuForDay(string $pageText, string $day)
|
||||
{
|
||||
global $parsedTable;
|
||||
|
||||
// ---------------------------------------------
|
||||
// 1. Parse table only once
|
||||
// ---------------------------------------------
|
||||
if ($parsedTable === null) {
|
||||
|
||||
$lines = preg_split("/\R/", $pageText);
|
||||
$rows = [];
|
||||
|
||||
foreach ($lines as $line) {
|
||||
$trim = trim($line);
|
||||
|
||||
// Only lines that start with "|" and are table rows
|
||||
if (strpos($trim, "|") === 0 && substr($trim, -1) === "|") {
|
||||
|
||||
// Remove leading and trailing |, then split
|
||||
$cols = explode("|", trim($trim, "|"));
|
||||
$cols = array_map("trim", $cols);
|
||||
|
||||
if (count($cols) >= 4) {
|
||||
$rows[] = [
|
||||
"fecha" => $cols[0],
|
||||
"plato1" => $cols[1],
|
||||
"plato2" => $cols[2],
|
||||
"postre" => $cols[3]
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$parsedTable = $rows; // store result (parsed only once)
|
||||
}
|
||||
|
||||
// ---------------------------------------------
|
||||
// 2. Look for the requested date
|
||||
// ---------------------------------------------
|
||||
foreach ($parsedTable as $row) {
|
||||
if ($row["fecha"] === $day) {
|
||||
return $row;
|
||||
}
|
||||
}
|
||||
|
||||
return null; // not found
|
||||
}
|
||||
|
||||
$MENUDATA = file_get_contents("https://aularios.tech.eus/aldamiz_ortuella/menu_comedor/tabla/$MENUTY?do=export_raw");
|
||||
// Solo semana actual, botones. cuando se pulse el botón del dia actual, se enviara un POST ?form=menu con los valores del menu
|
||||
$weeknow = date('W');
|
||||
?>
|
||||
<script>
|
||||
function seleccionarMenuDia(element, dia) {
|
||||
// Si es dia correcto
|
||||
var today = new Date();
|
||||
var currentDay = today.getDate();
|
||||
if (dia == currentDay) {
|
||||
element.style.backgroundColor = "#9cff9f"; // Verde
|
||||
document.getElementById('win-sound').play();
|
||||
setTimeout(() => {
|
||||
location.href = "?aulario=<?php echo urlencode($_GET['aulario'] ?? ''); ?>";
|
||||
}, 2000);
|
||||
} else {
|
||||
element.style.backgroundColor = "#ff9088"; // Rojo
|
||||
document.getElementById('lose-sound').play();
|
||||
setTimeout(() => {
|
||||
element.style.backgroundColor = ""; // Volver al color anterior
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<div class="card pad">
|
||||
<h1>Menú del Comedor</h1>
|
||||
</div>
|
||||
<div class="grid">
|
||||
<?php for ($d = 1; $d <= 31; $d++) {
|
||||
$dateStr = sprintf("%04d-%02d-%02d", $year, $month, $d);
|
||||
$dayOfWeek = date('N', strtotime($dateStr));
|
||||
$weekofmonth = date('W', strtotime($dateStr));
|
||||
if ($dayOfWeek > 5) {
|
||||
continue; // Skip weekends
|
||||
}
|
||||
if ($weekofmonth != $weeknow) {
|
||||
continue; // Only current week
|
||||
}
|
||||
$menuForDay = getMenuForDay($MENUDATA, $dateStr);
|
||||
if ($menuForDay === null) {
|
||||
continue; // No menu for this day
|
||||
}
|
||||
?>
|
||||
<a class="card grid-item" style="width: 250px; height: 250px; color: black;" onclick="seleccionarMenuDia(this, <?php echo $d; ?>);">
|
||||
<h3><?php echo $dow[$dayOfWeek] . " " . $d ?></h3>
|
||||
<ol style="text-align: left; padding-left: 15px;">
|
||||
<li><?php echo htmlspecialchars($menuForDay["plato1"]); ?></li>
|
||||
<li><?php echo htmlspecialchars($menuForDay["plato2"]); ?></li>
|
||||
<li><?php echo htmlspecialchars($menuForDay["postre"]); ?></li>
|
||||
</ol>
|
||||
</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var msnry = new Masonry('.grid', {
|
||||
"columnWidth": 250,
|
||||
"itemSelector": ".grid-item",
|
||||
"gutter": 10,
|
||||
"transitionDuration": 0
|
||||
});
|
||||
setTimeout(() => {
|
||||
msnry.layout()
|
||||
}, 250); window.onresize = () => {msnry.layout()}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
break;
|
||||
case "activities":
|
||||
// Actividades
|
||||
break;
|
||||
case "calendar":
|
||||
// Calendario, elegir el dia, mes, y dia-de-la-semana.
|
||||
$mes_correcto = date('m');
|
||||
$dia_correcto = date('d');
|
||||
$ds_correcto = date('N'); // 1 (Lunes) a 7 (Domingo)
|
||||
?>
|
||||
<div class="card pad">
|
||||
<h1>Calendario</h1>
|
||||
<span>
|
||||
Aquí podrás ver y gestionar el calendario de actividades del aulario.
|
||||
</span>
|
||||
</div>
|
||||
<div class="grid">
|
||||
<script>
|
||||
function seleccionarDia(element, dia, mes, year, ds) {
|
||||
// Si es dia correcto
|
||||
if (dia == <?php echo $dia_correcto; ?> && mes == <?php echo $mes_correcto; ?> && ds == <?php echo $ds_correcto; ?>) {
|
||||
element.style.backgroundColor = "#9cff9f"; // Verde
|
||||
document.getElementById('win-sound').play();
|
||||
setTimeout(() => {
|
||||
window.location.href = "?action=calendario_diasemana&aulario=<?php echo urlencode($_GET['aulario'] ?? ''); ?>";
|
||||
}, 2000);
|
||||
} else {
|
||||
element.style.backgroundColor = "#ff9088"; // Rojo
|
||||
document.getElementById('lose-sound').play();
|
||||
setTimeout(() => {
|
||||
element.style.backgroundColor = ""; // Volver al color anterior
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<?php foreach (range(1, 31) as $dia) {
|
||||
$ds = date('N', strtotime(date('Y-m-') . sprintf("%02d", $dia)));
|
||||
if ($ds > 5) {
|
||||
?>
|
||||
<div class="card grid-item" style="width: 130px; background-color: #000; color: #fff; height: 100px;">
|
||||
<span style="font-size: 48px;"><?php echo $dia; ?></span>
|
||||
</div>
|
||||
<?php
|
||||
continue;
|
||||
}
|
||||
$is_today = ($dia == $dia_correcto);
|
||||
?>
|
||||
<a class="card grid-item" style="width: 130px; height: 100px; color: black;"
|
||||
onclick="seleccionarDia(this, <?php echo $dia; ?>, <?php echo $mes_correcto; ?>, <?php echo date('Y'); ?>, <?php echo $ds; ?>);">
|
||||
<span style="font-size: 48px;"><?php echo $dia; ?></span>
|
||||
</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<script>
|
||||
var msnry = new Masonry('.grid', {
|
||||
"columnWidth": 130,
|
||||
"itemSelector": ".grid-item",
|
||||
"gutter": 10,
|
||||
"transitionDuration": 0
|
||||
});
|
||||
setTimeout(() => {
|
||||
msnry.layout()
|
||||
}, 250); window.onresize = () => {msnry.layout()}
|
||||
</script>
|
||||
<?php
|
||||
break;
|
||||
case "calendario_diasemana":
|
||||
// Calendario - Día de la semana
|
||||
$dia_de_la_semana = date('N'); // 1 (Lunes) a 7 (Domingo)
|
||||
?>
|
||||
<div class="card pad">
|
||||
<h1>Calendario - Día de la Semana</h1>
|
||||
<span>
|
||||
Has seleccionado el día correcto. ¡Ahora pon el dia de la semana!
|
||||
</span>
|
||||
</div>
|
||||
<div class="grid">
|
||||
<script>
|
||||
function seleccionarDiaSemana(element, ds) {
|
||||
// Si es dia de la semana correcto
|
||||
if (ds == <?php echo $dia_de_la_semana; ?>) {
|
||||
element.style.backgroundColor = "#9cff9f"; // Verde
|
||||
document.getElementById('win-sound').play();
|
||||
setTimeout(() => {
|
||||
location.href = "/entreaulas/paneldiario.php?action=calendario_mes&aulario=<?php echo urlencode($_GET['aulario'] ?? ''); ?>";
|
||||
}, 2000);
|
||||
} else {
|
||||
element.style.backgroundColor = "#ff9088"; // Rojo
|
||||
document.getElementById('lose-sound').play();
|
||||
setTimeout(() => {
|
||||
element.style.backgroundColor = ""; // Volver al color anterior
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<?php
|
||||
$days_of_week = [
|
||||
1 => "Lunes",
|
||||
2 => "Martes",
|
||||
3 => "Miércoles",
|
||||
4 => "Jueves",
|
||||
5 => "Viernes"
|
||||
];
|
||||
$dow_euskara = [
|
||||
1 => "Astelehena",
|
||||
2 => "Asteartea",
|
||||
3 => "Asteazkena",
|
||||
4 => "Osteguna",
|
||||
5 => "Ostirala"
|
||||
];
|
||||
foreach ($days_of_week as $ds => $day_name) {
|
||||
?>
|
||||
<a class="card grid-item" style="width: 225px; height: 225px; color: black;"
|
||||
onclick="seleccionarDiaSemana(this, <?php echo $ds; ?>);">
|
||||
<span style="font-size: 30px;"><?php echo $day_name; ?></span>
|
||||
<img src="/static/arasaac/diadelasemana/<?php echo strtolower($day_name); ?>.png" alt=""
|
||||
style="width: 100px; height: 100px;">
|
||||
<span style="font-size: 30px; color: blue;"><?php echo $dow_euskara[$ds]; ?></span>
|
||||
</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<script>
|
||||
var msnry = new Masonry('.grid', {
|
||||
"columnWidth": 225,
|
||||
"itemSelector": ".grid-item",
|
||||
"gutter": 10,
|
||||
"transitionDuration": 0
|
||||
});
|
||||
setTimeout(() => {
|
||||
msnry.layout()
|
||||
}, 250); window.onresize = () => {msnry.layout()}
|
||||
</script>
|
||||
<?php
|
||||
break;
|
||||
case "calendario_mes":
|
||||
// Calendario - Mes
|
||||
$mes_correcto = date('m');
|
||||
$meses_esp = [
|
||||
1 => "Enero",
|
||||
2 => "Febrero",
|
||||
3 => "Marzo",
|
||||
4 => "Abril",
|
||||
5 => "Mayo",
|
||||
6 => "Junio",
|
||||
7 => "Julio",
|
||||
8 => "Agosto",
|
||||
9 => "Septiembre",
|
||||
10 => "Octubre",
|
||||
11 => "Noviembre",
|
||||
12 => "Diciembre"
|
||||
];
|
||||
$meses_eus = [
|
||||
1 => "Urtarrila",
|
||||
2 => "Otsaila",
|
||||
3 => "Martxoa",
|
||||
4 => "Apirila",
|
||||
5 => "Maiatza",
|
||||
6 => "Ekaina",
|
||||
7 => "Uztaila",
|
||||
8 => "Abuztua",
|
||||
9 => "Iraila",
|
||||
10 => "Urria",
|
||||
11 => "Azaroa",
|
||||
12 => "Abendua"
|
||||
];
|
||||
?>
|
||||
<div class="card pad">
|
||||
<h1>Calendario - Mes</h1>
|
||||
<span>
|
||||
Has seleccionado el día y el día de la semana correctos. ¡Ahora pon el mes!
|
||||
</span>
|
||||
</div>
|
||||
<div class="grid">
|
||||
<script>
|
||||
function seleccionarMes(element, mes) {
|
||||
// Si es mes correcto
|
||||
if (mes == <?php echo $mes_correcto; ?>) {
|
||||
element.style.backgroundColor = "#9cff9f"; // Verde
|
||||
document.getElementById('win-sound').play();
|
||||
setTimeout(() => {
|
||||
window.location.href = "/entreaulas/paneldiario.php?aulario=<?php echo urlencode($_GET['aulario'] ?? ''); ?>";
|
||||
}, 2000);
|
||||
} else {
|
||||
element.style.backgroundColor = "#ff9088"; // Rojo
|
||||
document.getElementById('lose-sound').play();
|
||||
setTimeout(() => {
|
||||
element.style.backgroundColor = ""; // Volver al color anterior
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<?php foreach ($meses_esp as $mes => $mes_name) {
|
||||
?>
|
||||
<a class="card grid-item" style="width: 180px; height: 180px; color: black;"
|
||||
onclick="seleccionarMes(this, <?php echo $mes; ?>);">
|
||||
<span style="font-size: 24px;"><?php echo $mes_name; ?></span>
|
||||
<img src="/static/arasaac/mesesdelano/<?php echo strtolower($mes_name); ?>.png" alt=""
|
||||
style="width: 80px; height: 80px;">
|
||||
<span style="font-size: 24px; color: blue;"><?php echo $meses_eus[$mes]; ?></span>
|
||||
</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<script>
|
||||
var msnry = new Masonry('.grid', {
|
||||
"columnWidth": 180,
|
||||
"itemSelector": ".grid-item",
|
||||
"gutter": 10,
|
||||
"transitionDuration": 0
|
||||
});
|
||||
setTimeout(() => {
|
||||
msnry.layout()
|
||||
}, 250); window.onresize = () => {msnry.layout()}
|
||||
</script>
|
||||
<?php
|
||||
break;
|
||||
}
|
||||
require_once "_incl/post-body.php"; ?>
|
||||
Reference in New Issue
Block a user