aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--model/Relive.php20
1 files changed, 16 insertions, 4 deletions
diff --git a/model/Relive.php b/model/Relive.php
index 671f1cb..3dfe823 100644
--- a/model/Relive.php
+++ b/model/Relive.php
@@ -20,10 +20,22 @@ class Relive extends ModelBase
$mapping = $this->getScheduleToRoomMapping();
- usort($talks, function($a, $b) {
- $sort = array('live', 'recorded', 'released');
- return array_search($a['status'], $sort) > array_search($b['status'], $sort);
- });
+ usort($talks, function($a, $b) {
+ // first, make sure that live talks are always on top
+ if($a['status'] == 'live' && $b['status'] != 'live') {
+ return -1;
+ } else if($a['status'] != 'live' && $b['status'] == 'live') {
+ return 1;
+ } else if($a['status'] == 'live' && $b['status'] == 'live') {
+ // sort live talks by room
+
+ return strcmp($a['room'], $b['room']);
+ }
+
+ // all other talks get sorted by their name
+
+ return strcmp($a['title'], $b['title']);
+ });
$talks_by_id = array();
foreach ($talks as $talk)