summaryrefslogtreecommitdiffstats
path: root/lib/class/xmldata.class.php
diff options
context:
space:
mode:
authorPaul Arthur <paul.arthur@flowerysong.com>2012-03-01 13:36:41 -0500
committerPaul Arthur <paul.arthur@flowerysong.com>2012-03-01 13:36:41 -0500
commit55ed43c3320689297f53e5a9cafc9e766aea3517 (patch)
treeba3d8badf5121bcce4b4f5872d3a0d72c3bf7c2d /lib/class/xmldata.class.php
parent6b33ec9be849cf9ba7de6799ec211bd85f701b61 (diff)
downloadampache-55ed43c3320689297f53e5a9cafc9e766aea3517.tar.gz
ampache-55ed43c3320689297f53e5a9cafc9e766aea3517.tar.bz2
ampache-55ed43c3320689297f53e5a9cafc9e766aea3517.zip
Clean up xmlData::songs
Drop call to Song->format(); two of the values that we use are exposed via public getters anyway, and it's not particularly ugly to call Tag::get_top_tags instead of relying on Song to do that for us. Remove genre cruft. Based on a patch by lotan_rm in FS#215
Diffstat (limited to 'lib/class/xmldata.class.php')
-rw-r--r--lib/class/xmldata.class.php58
1 files changed, 26 insertions, 32 deletions
diff --git a/lib/class/xmldata.class.php b/lib/class/xmldata.class.php
index a9ebc794..24cd2ba0 100644
--- a/lib/class/xmldata.class.php
+++ b/lib/class/xmldata.class.php
@@ -415,7 +415,7 @@ class xmlData {
$songs = array_slice($songs,self::$offset,self::$limit);
}
- Rating::build_cache('song',$songs);
+ Song::build_cache($songs);
Stream::set_session($_REQUEST['auth']);
// Foreach the ids!
@@ -424,41 +424,35 @@ class xmlData {
// If the song id is invalid/null
if (!$song->id) { continue; }
- $song->format();
-
- $tag_string = '';
-
- $tag = new Tag($song->tags['0']);
- $song->genre = $tag->id;
- $song->f_genre = $tag->name;
-
- $tag_string = self::tags_string($song->tags);
-
- $rating = new Rating($song_id,'song');
+ $tag_string = self::tags_string(Tag::get_top_tags('song', $song_id));
+ $rating = new Rating($song_id, 'song');
$art_url = Art::url($song->album, 'album', $_REQUEST['auth']);
$string .= "<song id=\"$song->id\">\n" .
- "\t<title><![CDATA[$song->title]]></title>\n" .
- "\t<artist id=\"$song->artist\"><![CDATA[$song->f_artist_full]]></artist>\n" .
- "\t<album id=\"$song->album\"><![CDATA[$song->f_album_full]]></album>\n" .
- "\t<genre id=\"$song->genre\"><![CDATA[$song->f_genre]]></genre>\n" .
- $tag_string .
- "\t<track>$song->track</track>\n" .
- "\t<time>$song->time</time>\n" .
- "\t<year>$song->year</year>\n" .
- "\t<bitrate>$song->bitrate</bitrate>\n".
- "\t<mode>$song->mode</mode>\n".
- "\t<mime>$song->mime</mime>\n" .
- "\t<url><![CDATA[" . Song::play_url($song->id) . "]]></url>\n" .
- "\t<size>$song->size</size>\n".
- "\t<mbid>$song->mbid</mbid>\n".
- "\t<album_mbid>$song->album_mbid</album_mbid>\n".
- "\t<artist_mbid>$song->artist_mbid</artist_mbid>\n".
- "\t<art><![CDATA[" . $art_url . "]]></art>\n" .
- "\t<preciserating>" . $rating->preciserating . "</preciserating>\n" .
- "\t<rating>" . $rating->rating . "</rating>\n" .
- "</song>\n";
+ "\t<title><![CDATA[$song->title]]></title>\n" .
+ "\t<artist id=\"" . $song->artist .
+ '"><![CDATA[' . $song->get_artist_name() .
+ "]]></artist>\n" .
+ "\t<album id=\"" . $song->album .
+ '"><![CDATA[' . $song->get_album_name().
+ "]]></album>\n" .
+ $tag_string .
+ "\t<track>$song->track</track>\n" .
+ "\t<time>$song->time</time>\n" .
+ "\t<year>$song->year</year>\n" .
+ "\t<bitrate>$song->bitrate</bitrate>\n".
+ "\t<mode>$song->mode</mode>\n".
+ "\t<mime>$song->mime</mime>\n" .
+ "\t<url><![CDATA[" . Song::play_url($song->id) . "]]></url>\n" .
+ "\t<size>$song->size</size>\n".
+ "\t<mbid>$song->mbid</mbid>\n".
+ "\t<album_mbid>$song->album_mbid</album_mbid>\n".
+ "\t<artist_mbid>$song->artist_mbid</artist_mbid>\n".
+ "\t<art><![CDATA[" . $art_url . "]]></art>\n" .
+ "\t<preciserating>" . $rating->preciserating . "</preciserating>\n" .
+ "\t<rating>" . $rating->rating . "</rating>\n" .
+ "</song>\n";
} // end foreach