29 lines
893 B
PHP
29 lines
893 B
PHP
<?php
|
|
return function($kirby) {
|
|
$orderedSeason = new Pages();
|
|
|
|
foreach ($kirby->collection('current-season')->children() as $event) {
|
|
$sessions = $event->isMapadoEvent() == 'true' ? $event->remoteSessions()->toStructure() : $event->sessions()->toStructure();
|
|
|
|
$sessionDates = $sessions->map(function($session) {
|
|
return $session->date()->value();
|
|
})->data;
|
|
|
|
if (!empty($sessionDates)) {
|
|
$orderedSeason->add($event);
|
|
}
|
|
}
|
|
|
|
// Trier les événements en fonction de la date la plus proche
|
|
$orderedSeason = $orderedSeason->sortBy(function ($event) {
|
|
$sessions = $event->isMapadoEvent() == 'true' ? $event->remoteSessions()->toStructure() : $event->sessions()->toStructure();
|
|
|
|
$sessionDates = $sessions->map(function($session) {
|
|
return $session->date()->value();
|
|
})->data;
|
|
|
|
return min($sessionDates);
|
|
});
|
|
|
|
return $orderedSeason;
|
|
};
|