diff options
author | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-05-08 04:11:39 +0000 |
---|---|---|
committer | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-05-08 04:11:39 +0000 |
commit | 6319e26250e7b63522c397639722b88998807256 (patch) | |
tree | 1d72b81a8c0cc99f1355130cef449b302ed9fda3 /democratic.php | |
parent | 7715ec7cf0ec34ef7c540ff9921d2fde4ce7ff9b (diff) | |
download | ampache-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.php | 98 |
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(); + +?> |