summaryrefslogtreecommitdiffstats
path: root/modules/localplay/mpd.controller.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2009-02-28 18:50:57 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2009-02-28 18:50:57 +0000
commit4fcacae75ef9cdd0d921fee3232627f1ac7b57a6 (patch)
treeb96d25093ede2acd0ff3b927171778d6623a0617 /modules/localplay/mpd.controller.php
parentdbdd96ed1b3b00a850be001f3dbeea3273739a98 (diff)
downloadampache-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.php30
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'] = '';