Exemple #1
0
     }
     $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;
Exemple #2
0
 *
 */
/**
 * 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