get_albums(); // Set the offset xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::albums($albums); break; case 'artist_songs': $artist = new Artist($_REQUEST['filter']); $songs = $artist->get_songs(); // Set the offset xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::songs($songs); break; case 'albums': Browse::reset_filters(); Browse::set_type('album'); Browse::set_sort('name','ASC'); if ($_REQUEST['filter']) { Browse::set_filter('alpha_match',$_REQUEST['filter']); } $albums = Browse::get_objects(); // Set the offset xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::albums($albums); break; case 'album': $uid = scrub_in($_REQUEST['filter']); echo xmlData::albums(array($uid)); break; case 'album_songs': $album = new Album($_REQUEST['filter']); $songs = $album->get_songs(); // Set the offset xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::songs($songs); break; case 'genres': Browse::reset_filters(); Browse::set_type('genre'); Browse::set_sort('name','ASC'); if ($_REQUEST['filter']) { Browse::set_filter('alpha_match',$_REQUEST['filter']); } $genres = Browse::get_objects(); // Set the offset xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::genres($genres); break; case 'genre': $uid = scrub_in($_REQUEST['filter']); ob_end_clean(); echo xmlData::genres(array($uid)); break; case 'genre_artists': $genre = new Genre($_REQUEST['filter']); $artists = $genre->get_artists(); xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::artists($artists); break; case 'genre_albums': $genre = new Genre($_REQUEST['filter']); $albums = $genre->get_albums(); xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::albums($albums); break; case 'genre_songs': $genre = new Genre($_REQUEST['filter']); $songs = $genre->get_songs(); xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::songs($songs); break; case 'songs': Browse::reset_filters(); Browse::set_type('song'); Browse::set_sort('title','ASC'); if ($_REQUEST['filter']) { Browse::set_filter('alpha_match',$_REQUEST['filter']); } $songs = Browse::get_objects(); // Set the offset xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::songs($songs); break; case 'song': $uid = scrub_in($_REQUEST['filter']); ob_end_clean(); echo xmlData::songs(array($uid)); break; case 'url_to_song': $url = scrub_in($_REQUEST['url'); $song_id = Song::parse_song_url($url); ob_end_clean(); echo xmlData::songs(array($song_id)); break; case 'playlists': Browse::reset_filters(); Browse::set_type('playlist'); Browse::set_sort('name','ASC'); if ($_REQUEST['filter']) { Browse::set_filter('alpha_match',$_REQUEST['filter']); } $playlist_ids = Browse::get_objects(); xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::playlists($playlist_ids); break; case 'playlist': $uid = scrub_in($_REQUEST['filter']); ob_end_clean(); echo xmlData::playlists(array($uid)); break; case 'playlist_songs': $playlist = new Playlist($_REQUEST['filter']); $items = $playlist->get_items(); foreach ($items as $object) { if ($object['type'] == 'song') { $songs[] = $object['object_id']; } } // end foreach xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); ob_end_clean(); echo xmlData::songs($songs); break; case 'search_songs': $array['s_all'] = $_REQUEST['filter']; $results = run_search($array); ob_end_clean(); xmlData::set_offset($_REQUEST['offset']); xmlData::set_limit($_REQUEST['limit']); echo xmlData::songs($results); break; default: ob_end_clean(); echo xmlData::error('405','Invalid Request'); break; } // end switch action ?>