requireAuth(); if ($auth->isAdmin()) { header('Location: /admin/index.php'); exit; } $user = $auth->getCurrentUser(); $horariosModel = new DiasHorarios(); $asignacionModel = new Asignacion(); $horarios = $horariosModel->getActivos(); $asignacionActual = $asignacionModel->getAsignacionActual(); // Obtener todas las asignaciones de las próximas semanas $semanasFuturas = []; // Encontrar el domingo de esta semana $hoy = new DateTime(); $diaSemana = (int)$hoy->format('w'); // 0 = domingo, 6 = sábado $domingoEstaSemana = clone $hoy; $domingoEstaSemana->modify('-' . $diaSemana . ' days'); // Restar días para llegar al domingo for ($i = 0; $i <= 4; $i++) { $semanaDomingo = clone $domingoEstaSemana; $semanaDomingo->modify("+{$i} weeks"); $semanaInicio = $semanaDomingo->format('Y-m-d'); $asignacionesSemana = $asignacionModel->getTodasAsignacionesPorSemana($semanaInicio); $semanasFuturas[] = [ 'inicio' => $semanaInicio, 'fin' => date('Y-m-d', strtotime('+5 days', strtotime($semanaInicio))), // +5 días = domingo a viernes 'asignaciones' => $asignacionesSemana, 'asignacion' => !empty($asignacionesSemana) ? $asignacionesSemana[0] : null ]; } $miTurno = $asignacionActual && $asignacionActual['id'] == $user['id']; // También verificar si el usuario tiene turno en las próximas semanas $misAsignacionesFuturas = []; foreach ($semanasFuturas as $semana) { foreach ($semana['asignaciones'] as $asignacion) { if ($asignacion['id'] == $user['id']) { $misAsignacionesFuturas[] = [ 'semana' => $semana, 'asignacion' => $asignacion ]; } } } ?>
| Día | Hora Apertura | Hora Cierre |
|---|---|---|
| = ucfirst($h['dia_semana']) ?> | = date('H:i', strtotime($h['hora_apertura'])) ?> | = date('H:i', strtotime($h['hora_cierre'])) ?> |
| Semana | Período | Asignado a | Estado |
|---|---|---|---|
| Semana = date('d/m/y', strtotime($semana['inicio'])) ?> Actual | = date('d/m/y', strtotime($semana['inicio'])) ?> (Dom) - = date('d/m/y', strtotime($semana['fin'])) ?> (Vie) |
= htmlspecialchars($asignacion['nombre']) ?>
Tú
Sin asignar
|
Tu turno = count($semana['asignaciones']) ?> asignado(s) Pendiente |