diff options
Diffstat (limited to '')
| -rw-r--r-- | model/Relive.php | 20 | 
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) | 
