connect(); $function = scrub_in($_GET['cmd']); $value = scrub_in($_GET['value']); /* Return information based on function */ switch($function) { case 'play': case 'stop': case 'pause': $results['lp_state'] = $localplay->get_user_state($function); $results['lp_playing'] = $localplay->get_user_playing(); break; case 'next': case 'prev': $results['lp_state'] = $localplay->get_user_state('play'); $results['lp_playing'] = $localplay->get_user_playing(); break; case 'volume_up': case 'volume_down': case 'volume_mute': $status = $localplay->status(); $results['lp_volume'] = $status['volume']; break; default: $results = array(); break; } // end switch on cmd $localplay->$function($value); $xml_doc = xml_from_array($results); echo $xml_doc; break; /* For changing the current play type FIXME:: need to allow select of any type */ case 'change_play_type': $_SESSION['data']['old_play_type'] = conf('play_type'); $pref_id = get_preference_id('play_type'); $GLOBALS['user']->update_preference($pref_id,$_GET['type']); /* Now Replace the text as you should */ $ajax_url = conf('ajax_url'); $required_info = conf('ajax_info'); ${$_GET['type']} = 'id="pt_active"'; ob_start(); require_once(conf('prefix') . '/templates/show_localplay_switch.inc.php'); $results['play_type'] = ob_get_contents(); ob_end_clean(); $xml_doc = xml_from_array($results); echo $xml_doc; break; /* reloading the now playing information */ case 'reloadnp': ob_start(); show_now_playing(); $results['np_data'] = ob_get_contents(); ob_end_clean(); $xml_doc = xml_from_array($results); echo $xml_doc; break; /* Reloading of the TV Now Playing, formated differently */ case 'reload_np_tv': /* Update the Now Playing */ ob_start(); require_once(conf('prefix') . '/templates/show_tv_nowplaying.inc.php'); $results = array(); $results['tv_np'] = ob_get_contents(); ob_end_clean(); /* Update the Playlist */ ob_start(); $tmp_playlist = get_democratic_playlist(-1); $songs = $tmp_playlist->get_items(); require_once(conf('prefix') . '/templates/show_tv_playlist.inc.php'); $results['tv_playlist'] = ob_get_contents(); ob_end_clean(); $xml_doc = xml_from_array($results); echo $xml_doc; break; /* Setting ratings */ case 'set_rating': ob_start(); $rating = new Rating($_REQUEST['object_id'],$_REQUEST['rating_type']); $rating->set_rating($_REQUEST['rating']); show_rating($_REQUEST['object_id'],$_REQUEST['rating_type']); $key = "rating_" . $_REQUEST['object_id'] . "_" . $_REQUEST['rating_type']; $results[$key] = ob_get_contents(); ob_end_clean(); $xml_doc = xml_from_array($results); echo $xml_doc; break; /* Activate the Democratic Instance */ case 'tv_activate': if (!$GLOBALS['user']->has_access(100)) { break; } $tmp_playlist = new tmpPlaylist(); /* Pull in the info we need */ $base_id = scrub_in($_REQUEST['playlist_id']); /* create the playlist */ $playlist_id = $tmp_playlist->create('0','vote','song',$base_id); $playlist = new tmpPlaylist($playlist_id); ob_start(); require_once(conf('prefix') . '/templates/show_tv_adminctl.inc.php'); $results['tv_control'] = ob_get_contents(); ob_end_clean(); $xml_doc = xml_from_array($results); echo $xml_doc; break; /* This can be a positve (1) or negative (-1) vote */ case 'vote': if (!$GLOBALS['user']->has_access(25) || $GLOBALS['user']->prefs['play_type'] != 'democratic') { break; } /* Get the playlist */ $tmp_playlist = get_democratic_playlist(-1); if ($_REQUEST['vote'] == '1') { $tmp_playlist->vote(array($_REQUEST['object_id'])); } else { $tmp_playlist->remove_vote($_REQUEST['object_id']); } ob_start(); $songs = $tmp_playlist->get_items(); require_once(conf('prefix') . '/templates/show_tv_playlist.inc.php'); $results['tv_playlist'] = ob_get_contents(); ob_end_clean(); $xml_doc = xml_from_array($results); echo $xml_doc; break; default: echo "Default Action"; break; } // end switch action ?>