Beispiel #1
0
 /**
  * democratic
  * This is for controlling democratic play
  */
 public static function democratic($input)
 {
     // Load up democratic information
     $democratic = Democratic::get_current_playlist();
     $democratic->set_parent();
     switch ($input['method']) {
         case 'vote':
             $type = 'song';
             $media = new $type($input['oid']);
             if (!$media->id) {
                 echo XML_Data::error('400', T_('Media Object Invalid or Not Specified'));
                 break;
             }
             $democratic->add_vote(array(array('object_type' => 'song', 'object_id' => $media->id)));
             // If everything was ok
             $xml_array = array('action' => $input['action'], 'method' => $input['method'], 'result' => true);
             echo XML_Data::keyed_array($xml_array);
             break;
         case 'devote':
             $type = 'song';
             $media = new $type($input['oid']);
             if (!$media->id) {
                 echo XML_Data::error('400', T_('Media Object Invalid or Not Specified'));
             }
             $uid = $democratic->get_uid_from_object_id($media->id, $type);
             $democratic->remove_vote($uid);
             // Everything was ok
             $xml_array = array('action' => $input['action'], 'method' => $input['method'], 'result' => true);
             echo XML_Data::keyed_array($xml_array);
             break;
         case 'playlist':
             $objects = $democratic->get_items();
             Song::build_cache($democratic->object_ids);
             Democratic::build_vote_cache($democratic->vote_ids);
             XML_Data::democratic($objects);
             break;
         case 'play':
             $url = $democratic->play_url();
             $xml_array = array('url' => $url);
             echo XML_Data::keyed_array($xml_array);
             break;
         default:
             echo XML_Data::error('405', T_('Invalid Request'));
             break;
     }
     // switch on method
 }
Beispiel #2
0
        if (!Access::check('interface', '75')) {
            UI::access_denied();
            break;
        }
        // Get all of the non-user playlists
        $playlists = Democratic::get_playlists();
        require_once AmpConfig::get('prefix') . UI::find_template('show_manage_democratic.inc.php');
        break;
    case 'show_playlist':
    default:
        $democratic = Democratic::get_current_playlist();
        if (!$democratic->id) {
            require_once AmpConfig::get('prefix') . UI::find_template('show_democratic.inc.php');
            break;
        }
        $democratic->set_parent();
        $democratic->format();
        require_once AmpConfig::get('prefix') . UI::find_template('show_democratic.inc.php');
        $objects = $democratic->get_items();
        Song::build_cache($democratic->object_ids);
        Democratic::build_vote_cache($democratic->vote_ids);
        $browse = new Browse();
        $browse->set_type('democratic');
        $browse->set_static_content(false);
        $browse->save_objects($objects);
        $browse->show_objects();
        $browse->store();
        break;
}
// end switch on action
UI::show_footer();