From 37f786bf233b901eebf5c0f11fafc19addf752ed Mon Sep 17 00:00:00 2001 From: MaZderMind Date: Tue, 2 Aug 2016 22:23:00 +0200 Subject: sort rooms according to roomfilter --- model/Schedule.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'model/Schedule.php') diff --git a/model/Schedule.php b/model/Schedule.php index 96ac28e..cc1db55 100644 --- a/model/Schedule.php +++ b/model/Schedule.php @@ -208,6 +208,31 @@ class Schedule extends ModelBase } } + + if($this->has('SCHEDULE.ROOMFILTER')) + { + // sort by roomfilter + $roomfilter = $this->get('SCHEDULE.ROOMFILTER'); + + // map roomfilter-rooms to room-slugs + $roomfilter = array_map(function($e) use ($mapping) { + if(isset($mapping[$e])) + return $mapping[$e]; + + return $e; + }, $roomfilter); + + // sort according to roomtilter ordering + uksort($program, function($a, $b) use ($roomfilter) { + return array_search($a, $roomfilter) - array_search($b, $roomfilter); + }); + } + else + { + // sort by key + ksort($program); + } + return $program; } -- cgit v1.2.3