summaryrefslogtreecommitdiffstats
path: root/democratic.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-05-08 04:11:39 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-05-08 04:11:39 +0000
commit6319e26250e7b63522c397639722b88998807256 (patch)
tree1d72b81a8c0cc99f1355130cef449b302ed9fda3 /democratic.php
parent7715ec7cf0ec34ef7c540ff9921d2fde4ce7ff9b (diff)
downloadampache-6319e26250e7b63522c397639722b88998807256.tar.gz
ampache-6319e26250e7b63522c397639722b88998807256.tar.bz2
ampache-6319e26250e7b63522c397639722b88998807256.zip
renamed tv, fixed up the tmp playlist, added two preferences and corrected some logic in play/index.php
Diffstat (limited to 'democratic.php')
-rw-r--r--democratic.php98
1 files changed, 98 insertions, 0 deletions
diff --git a/democratic.php b/democratic.php
new file mode 100644
index 00000000..e41fb0e3
--- /dev/null
+++ b/democratic.php
@@ -0,0 +1,98 @@
+<?php
+/*
+
+ Copyright (c) 2001 - 2006 Ampache.org
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License v2
+ as published by the Free Software Foundation
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+require_once('lib/init.php');
+
+$dbh = dbh();
+$web_path = conf('web_path');
+
+/* Make sure they have access to this */
+if (!conf('allow_democratic_playback')) {
+ access_denied();
+ exit;
+}
+
+/* Clean up the stuff we need */
+$action = scrub_in($_REQUEST['action']);
+
+
+switch ($action) {
+ case 'create_playlist':
+ /* Only Admins Here */
+ if (!$GLOBALS['user']->has_access(100)) {
+ access_denied();
+ break;
+ }
+ /* We need to make ourselfs a new tmp playlist */
+ $tmp_playlist = new tmpPlaylist();
+ $id = $tmp_playlist->create('-1','vote','song',$_REQUEST['playlist_id']);
+
+ /* Re-generate the playlist */
+ $tmp_playlist = new tmpPlaylist($id);
+ $songs = $tmp_playlist->get_items();
+ require_once(conf('prefix') . '/templates/show_tv.inc.php');
+ break;
+ /* This clears the entire democratic playlist, admin only */
+ case 'clear_playlist':
+ if (!$GLOBALS['user']->has_access(100)) {
+ access_denied();
+ break;
+ }
+
+ $tmp_playlist = new tmpPlaylist($_REQUEST['tmp_playlist_id']);
+ $tmp_playlist->clear_playlist();
+ require_once(conf('prefix') . '/templates/header.inc');
+ show_confirmation(_('Playlist Cleared'),'',conf('web_path') . '/tv.php');
+ require_once(conf('prefix') . '/templates/footer.inc');
+ break;
+ /* This sends the playlist to the 'method' of their chosing */
+ case 'send_playlist':
+ /* Only Admins Here */
+ if (!$GLOBALS['user']->has_access(100)) {
+ access_denied();
+ break;
+ }
+
+ $stream_type = scrub_in($_REQUEST['play_type']);
+ $tmp_playlist = new tmpPlaylist($_REQUEST['tmp_playlist_id']);
+ $stream = new Stream($stream_type,array());
+ $stream->manual_url_add(unhtmlentities($tmp_playlist->get_vote_url()));
+ $stream->start();
+ if ($stream_type != 'localplay') { exit; }
+ break;
+ case 'update_playlist':
+ /* Only Admins Here */
+ if (!$GLOBALS['user']->has_access(100)) {
+ access_denied();
+ break;
+ }
+ $tmp_playlist = new tmpPlaylist($_REQUEST['tmp_playlist_id']);
+ $tmp_playlist->update_playlist($_REQUEST['playlist_id']);
+ /* Display the default tv page */
+ default:
+ $tmp_playlist = get_democratic_playlist('-1');
+ $songs = $tmp_playlist->get_items();
+ require_once(conf('prefix') . '/templates/show_tv.inc.php');
+ break;
+} // end switch on action
+
+show_footer();
+
+?>