diff --git a/site/controllers/program.php b/site/controllers/program.php
index 2f92339..3a71d10 100644
--- a/site/controllers/program.php
+++ b/site/controllers/program.php
@@ -45,13 +45,10 @@ function createArraySession($event, $session) {
}
-return function($page) {
+return function($kirby, $page) {
$currentSeason = $page->children()->first();
$today = date('Ymd');
- $previousEvents = new Pages();
- $nextEvents = new Pages();
-
$currentSeasonSessions = [];
foreach ($currentSeason->children() as $event) {
@@ -68,17 +65,11 @@ return function($page) {
$isStillShowing = true;
}
}
-
- if ($isStillShowing) {
- $nextEvents->add($event);
- } else {
- $previousEvents->add($event);
- }
}
return [
- 'previousEvents' => $previousEvents,
- 'nextEvents' => $nextEvents,
+ 'pastEvents' => filterPastEvents($kirby->collection('ordered-season')),
+ 'futureEvents' => filterFutureEvents($kirby->collection('ordered-season')),
'currentSeasonSessions' => sortByMonth($currentSeasonSessions)
];
};
\ No newline at end of file
diff --git a/site/plugins/helpers/index.php b/site/plugins/helpers/index.php
index c18756c..6b07bf0 100644
--- a/site/plugins/helpers/index.php
+++ b/site/plugins/helpers/index.php
@@ -22,6 +22,29 @@ function filterFutureEvents($events) {
return $futureEvents;
}
+function filterPastEvents($events) {
+ $pastEvents = new Pages();
+
+ foreach ($events as $event) {
+ $sessions = $event->isMapadoEvent() == 'true' ? $event->remoteSessions()->toStructure() : $event->sessions()->toStructure();
+
+ $sessionDates = $sessions->map(function($session) {
+ return $session->date()->value();
+ })->data;
+
+ // Filtrer les événements qui ont toutes leurs dates passées
+ $pastDates = array_filter($sessionDates, function ($date) {
+ return strtotime($date) <= time();
+ });
+
+ if (count($pastDates) == count($sessionDates)) {
+ $pastEvents->add($event);
+ }
+ }
+
+ return $pastEvents;
+}
+
function buildFieldsString($requestFields) {
$fields = [];
foreach ($requestFields as $field) {
diff --git a/site/templates/program.php b/site/templates/program.php
index 3048899..2ec5601 100644
--- a/site/templates/program.php
+++ b/site/templates/program.php
@@ -70,11 +70,11 @@
Prochainement — = $page->children()->first()->title() ?>
- $nextEvents, 'columns' => 3]) ?>
+ $futureEvents, 'columns' => 3]) ?>
- $previousEvents, 'columns' => 3]) ?>
+ $pastEvents, 'columns' => 3]) ?>