summaryrefslogtreecommitdiffstats
path: root/lib/class/song.class.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2009-06-02 01:42:55 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2009-06-02 01:42:55 +0000
commit94f5610ef6c66dc094372e76df9a6d8783e9bc7f (patch)
tree90b9f2c265c29f50cd0e5a366b8a3cd90ee78593 /lib/class/song.class.php
parent778fe71fed0de15b7cda3efcf30d90739ec46c78 (diff)
downloadampache-94f5610ef6c66dc094372e76df9a6d8783e9bc7f.tar.gz
ampache-94f5610ef6c66dc094372e76df9a6d8783e9bc7f.tar.bz2
ampache-94f5610ef6c66dc094372e76df9a6d8783e9bc7f.zip
add MBID support Thx flowerysong
Diffstat (limited to 'lib/class/song.class.php')
-rw-r--r--lib/class/song.class.php18
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/class/song.class.php b/lib/class/song.class.php
index 9f5259ef..9a1b1bdd 100644
--- a/lib/class/song.class.php
+++ b/lib/class/song.class.php
@@ -34,6 +34,8 @@ class Song extends database_object implements media {
public $size;
public $time;
public $track;
+ public $album_mbid;
+ public $artist_mbid;
public $type;
public $mime;
public $played;
@@ -86,6 +88,7 @@ class Song extends database_object implements media {
// Song data cache
$sql = "SELECT song.id,file,catalog,album,year,artist,".
"title,bitrate,rate,mode,size,time,track,played,song.enabled,update_time,tag_map.tag_id,".
+ "mbid,".
"addition_time FROM `song` " .
"LEFT JOIN `tag_map` ON `tag_map`.`object_id`=`song`.`id` AND `tag_map`.`object_type`='song' " .
"WHERE `song`.`id` IN $idlist";
@@ -138,6 +141,7 @@ class Song extends database_object implements media {
/* Grab the basic information from the catalog and return it */
$sql = "SELECT song.id,file,catalog,album,year,artist,".
"title,bitrate,rate,mode,size,time,track,played,song.enabled,update_time,".
+ "mbid,".
"addition_time FROM `song` WHERE `song`.`id` = '$id'";
$db_results = Dba::query($sql);
@@ -323,7 +327,7 @@ class Song extends database_object implements media {
unset($song->catalog,$song->played,$song->enabled,$song->addition_time,$song->update_time,$song->type);
$string_array = array('title','comment','lyrics');
- $skip_array = array('id','tag_id','mime');
+ $skip_array = array('id','tag_id','mime','mb_artistid','mbid');
// Pull out all the currently set vars
$fields = get_object_vars($song);
@@ -369,11 +373,11 @@ class Song extends database_object implements media {
case 'artist':
// Don't do anything if we've negative one'd this baby
if ($value == '-1') {
- $value = Catalog::check_artist($data['artist_name']);
+ $value = Catalog::check_artist($data['artist_name'], $data['mb_artistid']);
}
case 'album':
if ($value == '-1') {
- $value = Catalog::check_album($data['album_name']);
+ $value = Catalog::check_album($data['album_name'], $data['year'], $data['disk'], $data['mb_albumid']);
}
case 'title':
case 'track':
@@ -416,6 +420,7 @@ class Song extends database_object implements media {
$size = Dba::escape($new_song->size);
$time = Dba::escape($new_song->time);
$track = Dba::escape($new_song->track);
+ $mbid = Dba::escape($new_song->mbid);
$artist = Dba::escape($new_song->artist);
$album = Dba::escape($new_song->album);
$year = Dba::escape($new_song->year);
@@ -426,6 +431,7 @@ class Song extends database_object implements media {
$sql = "UPDATE `song` SET `album`='$album', `year`='$year', `artist`='$artist', " .
"`title`='$title', `bitrate`='$bitrate', `rate`='$rate', `mode`='$mode', " .
"`size`='$size', `time`='$time', `track`='$track', " .
+ "`mbid`='$mbid', " .
"`update_time`='$update_time' WHERE `id`='$song_id'";
$db_results = Dba::query($sql);
@@ -550,6 +556,12 @@ class Song extends database_object implements media {
} // update_track
+ public static function update_mbid($new_mbid,$song_id) {
+
+ self::_update_item('mbid',$new_mbid,$song_id,'50');
+
+ } // update_mbid
+
/**
* update_artist
* updates the artist field