summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/class/tmp_playlist.class.php14
-rw-r--r--lib/preferences.php3
-rw-r--r--lib/ui.lib.php48
-rw-r--r--server/ajax.server.php21
-rw-r--r--server/xml.server.php2
-rw-r--r--templates/javascript_refresh.inc.php2
-rw-r--r--templates/menu.inc86
-rw-r--r--templates/show_tv.inc.php58
-rw-r--r--templates/show_tv_adminctl.inc.php34
-rw-r--r--tv.php47
10 files changed, 156 insertions, 159 deletions
diff --git a/lib/class/tmp_playlist.class.php b/lib/class/tmp_playlist.class.php
index 2bf4cd4a..8829c41e 100644
--- a/lib/class/tmp_playlist.class.php
+++ b/lib/class/tmp_playlist.class.php
@@ -191,6 +191,20 @@ class tmpPlaylist {
} // has_vote
/**
+ * vote_active
+ * This checks to see if this playlist is a voting playlist
+ * and if it is active
+ */
+ function vote_active() {
+
+ /* Going to do a little more here later */
+ if ($this->type == 'vote') { return true; }
+
+ return false;
+
+ } // vote_active
+
+ /**
* delete_track
* This deletes a track and any assoicated votes, we only check for
* votes if it's a -1 session
diff --git a/lib/preferences.php b/lib/preferences.php
index bf995e4c..8bd01020 100644
--- a/lib/preferences.php
+++ b/lib/preferences.php
@@ -264,6 +264,7 @@ function create_preference_input($name,$value) {
case 'play_type':
if ($value == 'downsample') { $is_down = 'selected="selected"'; }
elseif ($value == 'localplay') { $is_local = 'selected="selected"'; }
+ elseif ($value == 'democratic') { $is_vote = 'selected="selected"'; }
else { $is_stream = "selected=\"selected\""; }
echo "<select name=\"$name\">\n";
echo "\t<option value=\"\">" . _('None') . "</option>\n";
@@ -274,7 +275,7 @@ function create_preference_input($name,$value) {
echo "\t<option value=\"downsample\" $is_down>" . _('Downsample') . "</option>\n";
}
if (conf('allow_democratic_playback')) {
- echo "\t<option value=\"democratic\" $is_demo>" . _('Democratic') . "</option>\n";
+ echo "\t<option value=\"democratic\" $is_vote>" . _('Democratic') . "</option>\n";
}
if (conf('allow_localplay_playback')) {
echo "\t<option value=\"localplay\" $is_local>" . _('Localplay') . "</option>\n";
diff --git a/lib/ui.lib.php b/lib/ui.lib.php
index f4f5e3bd..9fdd2cdb 100644
--- a/lib/ui.lib.php
+++ b/lib/ui.lib.php
@@ -76,7 +76,7 @@ function flip_class($array=0) {
*/
function clear_now_playing() {
- $sql = "DELETE FROM now_playing";
+ $sql = "TRUNCATE TABLE now_playing";
$db_results = mysql_query($sql, dbh());
return true;
@@ -84,31 +84,6 @@ function clear_now_playing() {
} // clear_now_playing
/**
- * show_menu_items
- * shows menu items
- */
-function show_menu_items ($high) {
-
- include(conf('prefix') . "/templates/menu.inc");
-
-} // show_menu_items
-
-/**
- * Show Browse Menu
- * Shows the menu used by the browse page
- * @package Web Interface
- * @cataogry Menu
- * @author Karl Vollmer
- */
-function show_browse_menu($highlight) {
-
- $highlight = ucfirst($highlight);
-
- include(conf('prefix'). "/templates/show_browse_menu.inc");
-
-} // show_browse_menu
-
-/**
* _
* checks to see if the alias _ is defined
* if it isn't it defines it as a simple return
@@ -1355,30 +1330,11 @@ function xml_from_array($array,$callback=0) {
} // end foreach elements
if (!$callback) {
- $string = "<root>\n" . $string . "</root>\n";
+ $string = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n" . $string . "</root>\n";
}
return $string;
} // xml_from_array
-/**
- * show_ajax_js
- * This displays the javascript array definition needed
- * For ajax to know what it should be replacing
- */
-function show_ajax_js($name,$array) {
-
- $elements = count($array);
-
- echo "<script type=\"text/javascript\" language=\"javascript\">\n";
- echo "<!--\n";
- echo "var $name = new Array($elements);\n";
- foreach ($array as $key=>$value) {
- echo $name . "[$key] = \"$value\";\n";
- }
- echo "-->\n</script>\n";
-
-} // show_ajax_js
-
?>
diff --git a/server/ajax.server.php b/server/ajax.server.php
index ee3578d5..5c173b10 100644
--- a/server/ajax.server.php
+++ b/server/ajax.server.php
@@ -34,7 +34,9 @@ $GLOBALS['user'] = new User($_REQUEST['user_id']);
$action = scrub_in($_REQUEST['action']);
/* Set the correct headers */
-header("Content-type: application/xhtml+xml");
+header("Content-type: text/xml; charset=utf-8");
+header("Content-Disposition: attachment; filename=ajax.xml");
+header("Cache-Control: no-cache");
switch ($action) {
/* Controls Localplay */
@@ -112,6 +114,23 @@ switch ($action) {
$xml_doc = xml_from_array($results);
echo $xml_doc;
break;
+ 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;
default:
echo "Default Action";
break;
diff --git a/server/xml.server.php b/server/xml.server.php
index 7ce510fa..352175d0 100644
--- a/server/xml.server.php
+++ b/server/xml.server.php
@@ -38,7 +38,7 @@ $GLOBALS['user'] = new User($_REQUEST['user_id']);
$action = scrub_in($_REQUEST['action']);
/* Set the correct headers */
-header("Content-type: application/xhtml+xml");
+header("Content-type: text/xml; charset=utf-8");
switch ($action) {
/* Returns an array of artist information */
diff --git a/templates/javascript_refresh.inc.php b/templates/javascript_refresh.inc.php
index 1da0c76b..5fa45604 100644
--- a/templates/javascript_refresh.inc.php
+++ b/templates/javascript_refresh.inc.php
@@ -20,7 +20,7 @@ function refresh()
}
// start with page-load
-window.onload=doLoad();
+window.onload=doLoad;
// End -->
</script>
diff --git a/templates/menu.inc b/templates/menu.inc
deleted file mode 100644
index 54e0ba05..00000000
--- a/templates/menu.inc
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/*
-
- Copyright (c) 2001 - 2005 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
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- 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.
-
-*/
-
-/*!
- @header
- A template file
-
-*/
-$web_path = conf('web_path');
-$items = array(_("Home") => htmlspecialchars($web_path . "/index.php"));
-
-if ($GLOBALS['user']->prefs['play_type'] == 'mpd' && conf('localplay_menu')) {
- $items += array(_("Local Play") => htmlspecialchars($web_path . "/mpd.php"));
-}
-
-$items += array(_("Browse") => htmlspecialchars($web_path . "/browse.php"),
-// _("Albums") => htmlspecialchars($web_path . "/albums.php"),
-// _("Artists") => htmlspecialchars($web_path . "/artists.php"),
- _("Playlists") => htmlspecialchars($web_path . "/playlist.php"),
- _("Search") => htmlspecialchars($web_path . "/search.php"),
- _("Preferences") => htmlspecialchars($web_path . "/preferences.php")
- );
-if ($GLOBALS['user']->prefs['upload']) {
- $items = array_merge($items, array(_("Upload") => $web_path . "/upload.php"));
-}
-?>
-
-<ul id="mainmenu">
-<?php
-foreach (array_keys($items) as $item) {
- if (_($high) == $item) {
- print("\t\t<li class=\"active\"><a class=\"active\" href=\"$items[$item]\">$item</a></li>\n");
- }
- else {
- print("\t\t<li><a href=\"$items[$item]\">$item</a></li>\n");
- }
-} // end foreach items
-
-if ((!conf('use_auth')) || ($GLOBALS['user']->has_access(100))) {
- if ($high == 'Admin') {
- print("\t\t<li class=\"active\"><a class=\"active\" href=\"" . $web_path . "/admin/\">" . _("Admin") . "</a></li>\n");
- }
- else {
- print("\t\t<li><a href=\"" . $web_path . "/admin/\">" . _("Admin") . "</a></li>\n");
- }
-} // if we aren't using auth or 100
-
-// now do the user specific stuff
-if (conf('use_auth')) {
- if (($high == 'Stats') || ($high == 'Profile')) {
- print("\t\t<li class=\"active\">".$GLOBALS['user']->username.": <a class=\"active\" href=\"".$web_path."/user.php?action=show_edit_profile\">" . _("Account") . "</a> |".
- "<a class=\"active\" href=\"".$web_path."/stats.php\">" . _("Stats") . "</a> |".
- "<a class=\"active\" href=\"".$web_path."/logout.php\">" . _("Logout") . "</a> </li>\n");
- } // if stats or profile
- else {
- echo "\t\t<li>".$GLOBALS['user']->username.": " .
- "<a href=\"".$web_path."/user.php?action=show_edit_profile\">" . _("Account") . "</a> |".
- "<a href=\"".$web_path."/stats.php\">" . _("Stats") . "</a> |".
- "<a href=\"".$web_path."/logout.php\">" . _("Logout") . "</a> </li>\n";
- } // else
-} // if use_auth
-elseif ($_SESSION['userdata']['id'] != '-1') {
- print("\t\t<li><a href=\"".$web_path."/logout.php\">" . _("Logout") . "</a> </li>\n");
-} // else no user
-?>
-</ul>
-<br />
diff --git a/templates/show_tv.inc.php b/templates/show_tv.inc.php
new file mode 100644
index 00000000..ddd0beea
--- /dev/null
+++ b/templates/show_tv.inc.php
@@ -0,0 +1,58 @@
+<?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
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ 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.
+
+*/
+
+$htmllang = str_replace("_","-",conf('lang'));
+$location = get_location();
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $htmllang; ?>" lang="<?php echo $htmllang; ?>">
+
+<head>
+<link rel="shortcut icon" href="<?php echo $web_path; ?>/favicon.ico" />
+<meta http-equiv="Content-Type" content="text/html; charset=<?php echo conf('site_charset'); ?>" />
+<title><?php echo conf('site_title'); ?> - <?php echo $location['title']; ?></title>
+<link rel="stylesheet" href="<?php echo $web_path; ?>/templates/default.css" type="text/css" />
+<link rel="stylesheet" href="<?php echo $web_path; ?><?php echo conf('theme_path'); ?>/templates/default.css" type="text/css" />
+</head>
+<body>
+<script src="<?php echo $web_path; ?>/lib/general.js" language="javascript" type="text/javascript"></script>
+<script src="<?php echo $web_path; ?>/modules/kajax/ajax.js" language="javascript" type="text/javascript"></script>
+<!-- Control DIV -->
+<div id="tv_control">
+<?php
+/* If they are a admin */
+if ($GLOBALS['user']->has_access(100)) {
+ require_once(conf('prefix') . '/templates/show_tv_adminctl.inc.php');
+}
+/* Else normal User */
+else {
+
+}
+
+?>
+</div>
+<!-- End Control Div -->
+<div id="tv_np">
+</div>
+<div id="tv_playlist">
+</div>
diff --git a/templates/show_tv_adminctl.inc.php b/templates/show_tv_adminctl.inc.php
new file mode 100644
index 00000000..d3bbcf5e
--- /dev/null
+++ b/templates/show_tv_adminctl.inc.php
@@ -0,0 +1,34 @@
+<?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
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ 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.
+
+*/
+?>
+<h3><?php echo _('Admin Controls'); ?></h3>
+<?php if (!$playlist->vote_active()) { ?>
+<form id="form_playlist">
+<?php echo _('Base Playlist'); ?>:
+<?php show_playlist_dropdown(); ?>
+<input type="button" onclick="ajaxPost('<?php conf('ajax_url'); ?>?action=tv_activate<?php echo conf('ajax_info'); ?>','form_playlist');return true;" value="<?php echo _('Activate'); ?>" />
+</form>
+
+<?php } else { ?>
+
+
+<?php } ?>
diff --git a/tv.php b/tv.php
index af1c4a2c..48a679ea 100644
--- a/tv.php
+++ b/tv.php
@@ -25,27 +25,28 @@ require_once('lib/init.php');
$dbh = dbh();
$web_path = conf('web_path');
-$htmllang = str_replace("_","-",conf('lang'));
-$location = get_location();
+
+/* Make sure they have access to this */
+if (!conf('allow_democratic_playback') || $GLOBALS['user']->prefs['play_type'] != 'democratic') {
+ access_denied();
+ exit;
+}
+
+/* Attempt to build the temp playlist */
+$playlist = new tmpPlaylist('-1');
+$action = scrub_in($_REQUEST['action']);
+
+
+switch ($action) {
+ case 'create_playlist':
+
+ break;
+ default:
+
+ require_once(conf('prefix') . '/templates/show_tv.inc.php');
+
+ break;
+} // end switch on action
+
+
?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $htmllang; ?>" lang="<?php echo $htmllang; ?>">
-
-<head>
-<link rel="shortcut icon" href="<?php echo $web_path; ?>/favicon.ico" />
-<meta http-equiv="Content-Type" content="text/html; charset=<?php echo conf('site_charset'); ?>" />
-<title><?php echo conf('site_title'); ?> - <?php echo $location['title']; ?></title>
-<link rel="stylesheet" href="<?php echo $web_path; ?>/templates/default.css" type="text/css" />
-<link rel="stylesheet" href="<?php echo $web_path; ?><?php echo conf('theme_path'); ?>/templates/default.css" type="text/css" />
-</head>
-<body>
-<script src="<?php echo $web_path; ?>/lib/general.js" language="javascript" type="text/javascript"></script>
-<script src="<?php echo $web_path; ?>/modules/kajax/ajax.js" language="javascript" type="text/javascript"></script>
-<!-- Control DIV -->
-<div id="tv_control">
-
-</div>
-<!-- End Control Div -->
-<div id="tv_np">
-<div id="tv_playlist">
-</div>