private static function _updatePlaylist($id, $name, $songsIdToAdd = array(), $songIndexToRemove = array(), $public = true) { $playlist = new Playlist($id); $newdata = array(); $newdata['name'] = !empty($name) ? $name : $playlist->name; $newdata['pl_type'] = $public ? "public" : "private"; $playlist->update($newdata); if (!is_array($songsIdToAdd)) { $songsIdToAdd = array($songsIdToAdd); } if (count($songsIdToAdd) > 0) { $playlist->add_songs(Subsonic_XML_Data::getAmpacheIds($songsIdToAdd)); } if (!is_array($songIndexToRemove)) { $songIndexToRemove = array($songIndexToRemove); } if (is_array($songIndexToRemove) && count($songIndexToRemove) > 0) { $tracks = Subsonic_XML_Data::getAmpacheIds($songIndexToRemove); foreach ($tracks as $track) { $playlist->delete_track_number($track); } } }