} $tracks_to_rm = array(); $map = array(); $items = $playlist->get_items(); foreach ($items as $item) { if (!array_key_exists($item['object_type'], $map)) { $map[$item['object_type']] = array(); } if (!in_array($item['object_id'], $map[$item['object_type']])) { $map[$item['object_type']][] = $item['object_id']; } else { $tracks_to_rm[] = $item['track_id']; } } foreach ($tracks_to_rm as $track_id) { $playlist->delete_track($track_id); } $object_ids = $playlist->get_items(); require_once AmpConfig::get('prefix') . UI::find_template('show_playlist.inc.php'); break; case 'sort_tracks': $playlist = new Playlist($_REQUEST['playlist_id']); if (!$playlist->has_access()) { access_denied(); break; } /* Sort the tracks */ $playlist->sort_tracks(); $object_ids = $playlist->get_items(); require_once AmpConfig::get('prefix') . UI::find_template('show_playlist.inc.php'); break;
* */ /** * Sub-Ajax page, requires AJAX_INCLUDE */ if (!defined('AJAX_INCLUDE')) { exit; } $results = array(); switch ($_REQUEST['action']) { case 'delete_track': // Create the object and remove the track $playlist = new Playlist($_REQUEST['playlist_id']); $playlist->format(); if ($playlist->has_access()) { $playlist->delete_track($_REQUEST['track_id']); // This could have performance issues $playlist->regenerate_track_numbers(); } $object_ids = $playlist->get_items(); ob_start(); $browse = new Browse(); $browse->set_type('playlist_song'); $browse->add_supplemental_object('playlist', $playlist->id); $browse->save_objects($object_ids); $browse->show_objects($object_ids); $browse->store(); $results[$browse->get_content_div()] = ob_get_clean(); break; case 'append_item': // Only song item are supported with playlists