diff options
author | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2009-06-02 01:42:55 +0000 |
---|---|---|
committer | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2009-06-02 01:42:55 +0000 |
commit | 94f5610ef6c66dc094372e76df9a6d8783e9bc7f (patch) | |
tree | 90b9f2c265c29f50cd0e5a366b8a3cd90ee78593 /lib/class/song.class.php | |
parent | 778fe71fed0de15b7cda3efcf30d90739ec46c78 (diff) | |
download | ampache-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.php | 18 |
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 |