summaryrefslogtreecommitdiffstats
path: root/server/ajax.server.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2006-01-15 08:14:54 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2006-01-15 08:14:54 +0000
commit1f5748db2b30825426e3b877699d86d543f641eb (patch)
tree38f640b900fff1cba3e97f646279b9defe083cb4 /server/ajax.server.php
parent2d5ed879bd17024154e87de22c811bbfd0e69433 (diff)
downloadampache-1f5748db2b30825426e3b877699d86d543f641eb.tar.gz
ampache-1f5748db2b30825426e3b877699d86d543f641eb.tar.bz2
ampache-1f5748db2b30825426e3b877699d86d543f641eb.zip
now playing stuff
Diffstat (limited to 'server/ajax.server.php')
-rw-r--r--server/ajax.server.php116
1 files changed, 89 insertions, 27 deletions
diff --git a/server/ajax.server.php b/server/ajax.server.php
index 445cfaf5..04394f45 100644
--- a/server/ajax.server.php
+++ b/server/ajax.server.php
@@ -4,28 +4,95 @@ header('Cache-control: no-cache');
header('Pragma: no-cache');
echo '<?xml version="1.0" encoding="UTF-8"?>';
-function mpderr() { global $result, $myMpd; $result = $result . '<error>'.$myMpd->errStr.'</error>'; }
-function volume() { global $result, $myMpd; $result = $result . '<volume>'. $myMpd->volume. '</volume>'; }
-function state() { global $result, $myMpd; $result = $result. '<state>'. $myMpd->state. '</state>'; }
-function mpd_cur_track_pos () { global $result, $myMpd;
- $result = $result . '<mpd_cur_track_pos>'.$myMpd->current_track_position.'</mpd_cur_track_pos>'; }
+$no_session = true;
+include ('../modules/init.php');
+$myMpd = init_mpd();
+
+$action = $_GET['action'];
+$player = $_GET['player'];
+$result = '';
+
+
+function mpderr() { global $result, $myMpd;
+ if ($GLOBALS['player'] == 'mpd')
+ { $result = $result . '<error>'.$myMpd->errStr.'</error>'; } }
+function volume() { global $result, $myMpd;
+ if ($GLOBALS['player'] == 'mpd')
+ { $result = $result . '<volume>'. $myMpd->volume. '</volume>'; } }
+function state() { global $result, $myMpd;
+ if ($GLOBALS['player'] == 'mpd')
+ { $result = $result. '<state>'. $myMpd->state. '</state>'; } }
+
+function mpd_cur_track_pos () {
+ global $result, $myMpd;
+ if ($GLOBALS['player'] == 'mpd') {
+ $result = $result . '<mpd_cur_track_pos>'.$myMpd->current_track_position.'</mpd_cur_track_pos>';
+ }
+}
function now_playing() {
global $result, $myMpd;
- if (!$myMpd->playlist[($myMpd->current_track_id)]['Title']) {
- list($tmp, $id, $tmp) = preg_split("/(song=|&)/", $myMpd->playlist[($myMpd->current_track_id)]['file']);
- $r = new Song($id);
- $myMpd->playlist[($myMpd->current_track_id)]['Title'] = $r->title;
- $myMpd->playlist[($myMpd->current_track_id)]['Artist'] = $r->get_artist_name();
- $myMpd->playlist[($myMpd->current_track_id)]['Album'] = $r->get_album_name();
- }
- $result = $result.'<now_playing>'.
- '<songid>'.$myMpd->current_track_id.'</songid>'.
- '<songtitle>'.$myMpd->playlist[$myMpd->current_track_id]['Title'].'</songtitle>'.
- '<songartist>'.$myMpd->playlist[$myMpd->current_track_id]['Artist'].'</songartist>'.
- '<songalbum>'.$myMpd->playlist[$myMpd->current_track_id]['Album'].'</songalbum>'.
- '<songlength>'.$myMpd->playlist[($myMpd->current_track_id)]['Time'].'</songlength>'.
- '</now_playing>';
+ if ($GLOBALS['player'] == 'mpd') {
+ if (!$myMpd->playlist[($myMpd->current_track_id)]['Title']) {
+ list($tmp, $id, $tmp) = preg_split("/(song=|&)/", $myMpd->playlist[($myMpd->current_track_id)]['file']);
+ $r = new Song($id);
+ $myMpd->playlist[($myMpd->current_track_id)]['Title'] = $r->title;
+ $myMpd->playlist[($myMpd->current_track_id)]['Artist'] = $r->get_artist_name();
+ $myMpd->playlist[($myMpd->current_track_id)]['Album'] = $r->get_album_name();
+ }
+ $result = $result.'<now_playing>'.
+ '<songid>'.$myMpd->current_track_id.'</songid>'.
+ '<songtitle>'.$myMpd->playlist[$myMpd->current_track_id]['Title'].'</songtitle>'.
+ '<songartist>'.$myMpd->playlist[$myMpd->current_track_id]['Artist'].'</songartist>'.
+ '<songalbum>'.$myMpd->playlist[$myMpd->current_track_id]['Album'].'</songalbum>'.
+ '<songlength>'.$myMpd->playlist[($myMpd->current_track_id)]['Time'].'</songlength>'.
+ '</now_playing>';
+ } //end if player == mpd
+now_playing_display();
+}
+
+
+function now_playing_display() {
+
+ global $result;
+ $dbh = dbh();
+ $results = get_now_playing();
+ $result = $result.'<now_playing_display>';
+
+ if (count($results)) {
+
+ foreach($results as $item) {
+
+ $song = $item['song'];
+ $np_user = $item['user'];
+
+ if (is_object($song)) {
+
+ $result = $result.'<song>';
+
+ if (!$np_user->fullname) { $np_user->fullname = "Unknown User"; }
+
+ if (conf('use_auth')) {
+ $result = $result.'<fullname>'.$np_user->fullname.'</fullname>';
+ } else {
+ $result = $result.'<fullname></fullname>';
+ }
+
+ $result = $result.'<songid>'.$song->id.'</songid>';
+ $result = $result.'<albumid>'.$song->album.'</albumid>';
+ $result = $result.'<artistid>'.$song->artist.'</artistid>';
+ $result = $result.'<songtitle>'.htmlspecialchars($song->f_title).'</songtitle>';
+ $result = $result.'<songartist>'.htmlspecialchars($song->f_artist).'</songartist>';
+ $result = $result.'<songalbum>'.htmlspecialchars($song->f_album).'</songalbum>';
+
+ $result = $result.'</song>';
+
+ } // if it's a song
+ } // foreach song
+
+ } // if now playing
+ $result = $result.'</now_playing_display>';
+
}
@@ -38,13 +105,6 @@ instantiation of myMpd. Would be much faster if it only loaded limited info to
just grabbed what it needed. (Prolly tougher to maintain abstraction.)
**********************/
-$no_session = true;
-include ('../modules/init.php');
-$myMpd = init_mpd();
-
-$action = $_GET['action'];
-$result = '';
-
/*if (!$user->has_access(25)) { echo '<error>Inadequate access privileges!</error>'; return; }*/
switch ($action) {
@@ -70,6 +130,7 @@ case 'adjvol' :
case ' X ':
if ( is_null($myMpd->Stop()) ) $result = '<error>'.$myMpd->errStr.'</error>\n';
$result = $result.'<state>'. $myMpd->state. '</state>';
+ now_playing();
break;
case ' | | ':
case ' = ':
@@ -96,6 +157,7 @@ case 'adjvol' :
mpd_cur_track_pos();
state();
now_playing();
+// now_playing_display();
break;
@@ -103,7 +165,7 @@ case 'adjvol' :
echo '<properties>' .
- '<action>' . $action .'</action>' .
+ '<action>' . $action .$player.'</action>' .
$result .
'</properties>';
?>