diff --git a/controllers/lecture_page_ctrl.php b/controllers/lecture_page_ctrl.php new file mode 100644 index 0000000..4e1474a --- /dev/null +++ b/controllers/lecture_page_ctrl.php @@ -0,0 +1,45 @@ + '#2ecc71', + 'Sauveteur en approche de la cavité' => '#9b59b6', + 'Sauveteur sous terre' => '#8B4513', + 'Sauveteur équipe de gestion' => '#f1c40f', + "Sauveteur en mission à l'extérieur" => '#e67e22', + 'Sauveteur en repos' => '#3498db', + 'Sauveteur en brancardage civière' => '#e74c3c', +]; + +$creneaux = []; +for ($min = 8 * 60; $min < 20 * 60; $min += 30) { + $creneaux[] = sprintf('%02d:%02d', intdiv($min, 60), $min % 60); +} + +// Indexer les sauveteurs par ID pour accès rapide à la spécialité +$sauveteursById = []; +foreach ($sauveteurs as $s) { + $sauveteursById[$s['ID_Sauveteur']] = $s; + $grille[$s['ID_Sauveteur']]= array_fill_keys($creneaux, false); +} + +foreach ($missions as $m) { + $id = $m['ID_Sauveteur']; + if (!isset($grille[$id])) continue; + + $specialite = $sauveteursById[$id]['Specialite'] ?? ''; + $couleur = $couleurs[$specialite] ?? '#cccccc'; + $debut = new DateTime($m['DtaHeureDebut']); + $fin = new DateTime($m['DtaHeureFin']); + + foreach ($creneaux as $c) { + $debutCreneau = new DateTime($date . ' ' . $c . ':00'); + $finCreneau = (clone $debutCreneau)->modify('+30 minutes'); + if ($debut < $finCreneau && $fin > $debutCreneau) { + $grille[$id][$c] = $couleur; + } + } +} + +require 'view.php'; diff --git a/index.php b/index.php index 9dafbca..4ac413c 100644 --- a/index.php +++ b/index.php @@ -70,10 +70,21 @@ operations_form_ctrl(); break; +<<<<<<< HEAD case 'add_operation': require('controllers/operation_ctrl.php'); add_operation_write_ctrl(); break; +======= + case 'lecture': + require('views/lecture_page.php'); + break; + + case 'lecture_ctrl': + require('controllers/lecture_page_ctrl.php'); + break; + +>>>>>>> c98d36d6ee22b1cc45aaf2d55c29677ea8c56d65 default: require('views/404_view.php'); break; diff --git a/lecture_page_model b/lecture_page_model new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lecture_page_model @@ -0,0 +1 @@ + diff --git a/models/lecture_page_model.php b/models/lecture_page_model.php new file mode 100644 index 0000000..1c2ca64 --- /dev/null +++ b/models/lecture_page_model.php @@ -0,0 +1,12 @@ +query('SELECT ID_Sauveteur, Nom, Prenom, Specialite FROM Sauveteur ORDER BY Nom, Prenom')->fetchAll(PDO::FETCH_ASSOC); + +$stmt = $pdo->prepare('SELECT ID_Mission, DtaHeureDebut, DtaHeureFin, ID_Sauveteur FROM Mission WHERE DATE(DtaHeureDebut) = ? OR DATE(DtaHeureFin) = ?'); +$stmt->execute([$date, $date]); +$missions = $stmt->fetchAll(PDO::FETCH_ASSOC); + diff --git a/views/lecture_page.php b/views/lecture_page.php index 43a9dbb..df8dac2 100644 --- a/views/lecture_page.php +++ b/views/lecture_page.php @@ -1,63 +1,27 @@ - + + +