diff options
author | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2009-02-28 18:50:57 +0000 |
---|---|---|
committer | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2009-02-28 18:50:57 +0000 |
commit | 4fcacae75ef9cdd0d921fee3232627f1ac7b57a6 (patch) | |
tree | b96d25093ede2acd0ff3b927171778d6623a0617 /modules/localplay/mpd.controller.php | |
parent | dbdd96ed1b3b00a850be001f3dbeea3273739a98 (diff) | |
download | ampache-4fcacae75ef9cdd0d921fee3232627f1ac7b57a6.tar.gz ampache-4fcacae75ef9cdd0d921fee3232627f1ac7b57a6.tar.bz2 ampache-4fcacae75ef9cdd0d921fee3232627f1ac7b57a6.zip |
make the httpq and mpd controlers understand live stream urls
Diffstat (limited to 'modules/localplay/mpd.controller.php')
-rw-r--r-- | modules/localplay/mpd.controller.php | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/modules/localplay/mpd.controller.php b/modules/localplay/mpd.controller.php index 928bf822..ecf334d8 100644 --- a/modules/localplay/mpd.controller.php +++ b/modules/localplay/mpd.controller.php @@ -499,14 +499,28 @@ class AmpacheMpd extends localplay_controller { /* If we don't know it, look up by filename */ $filename = Dba::escape($entry['file']); - $sql = "SELECT `id` FROM `song` WHERE `file` LIKE '%$filename'"; - $db_results = Dba::query($sql); - if ($r = Dba::fetch_assoc($db_results)) { - $song = new Song($r['id']); - $song->format(); - $data['name'] = $song->f_title . ' - ' . $song->f_album . ' - ' . $song->f_artist; - $data['link'] = $song->f_link; - } + $sql = "SELECT `id`,'song' AS `type` FROM `song` WHERE `file` LIKE '%$filename' " . + "UNION ALL " . + "SELECT `id`,'radio' AS `type` FROM `live_stream` WHERE `url`='$filename' "; + + $db_results = Dba::read($sql); + if ($row = Dba::fetch_assoc($db_results)) { + $media = new $row['type']($row['id']); + $media->format(); + switch ($row['type']) { + case 'song': + $data['name'] = $media->f_title . ' - ' . $media->f_album . ' - ' . $media->f_artist; + $data['link'] = $media->f_link; + break; + case 'radio': + $frequency = $media->frequency ? '[' . $media->frequency . ']' : ''; + $site_url = $media->site_url ? '(' . $media->site_url . ')' : ''; + $data['name'] = "$media->name $frequency $site_url"; + $data['link'] = $media->site_url; + break; + } // end switch on type + } // end if results + else { $data['name'] = _('Unknown'); $data['link'] = ''; |