mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Add setting to disable or enable skipping. Default is enabled
This commit is contained in:
@@ -6,7 +6,7 @@ function admin()
|
||||
adminTogg = !adminTogg;
|
||||
if(adminTogg)
|
||||
|
||||
if(adminTogg) $("#playlist").height($("#player").height()-250+30); //opening
|
||||
if(adminTogg) $("#playlist").height($("#player").height()-270+30); //opening
|
||||
if(!adminTogg)$("#playlist").height($("#player").height()+30);; //closing
|
||||
|
||||
$("#adminPanel").toggleClass("hiddenAdmin");
|
||||
@@ -22,13 +22,14 @@ function submitAdmin(form)
|
||||
allvideos = form.allvideos.value;
|
||||
removeplay = form.removeplay.value;
|
||||
adminpass = form.pass.value;
|
||||
skipping = form.skip.value;
|
||||
|
||||
|
||||
confRes = $.ajax({
|
||||
type: "POST",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "conf=start&vote="+voting+"&addsongs="+addsongs+"&longsongs="+longsongs+"&frontpage="+frontpage+"&allvideos="+allvideos+"&removeplay="+removeplay+"&pass="+adminpass,
|
||||
data: "conf=start&vote="+voting+"&addsongs="+addsongs+"&longsongs="+longsongs+"&frontpage="+frontpage+"&allvideos="+allvideos+"&removeplay="+removeplay+"&pass="+adminpass+"&skip="+skipping,
|
||||
|
||||
success: function() {
|
||||
console.log("configurations response: "+response);
|
||||
|
||||
28
js/list.js
28
js/list.js
@@ -83,7 +83,7 @@ function updateList()
|
||||
}
|
||||
if(!adminTogg)
|
||||
{
|
||||
names=["vote","addsongs","longsongs","frontpage", "allvideos", "removeplay"];
|
||||
names=["vote","addsongs","longsongs","frontpage", "allvideos", "removeplay", "skip"];
|
||||
for (var i = 0; i < names.length; i++) {
|
||||
document.getElementsByName(names[i])[0].checked = (conf[names[i]] === "true");
|
||||
document.getElementsByName(names[i])[1].checked = (conf[names[i]] === "false");
|
||||
@@ -144,23 +144,29 @@ function skip(){
|
||||
},
|
||||
}).responseText);
|
||||
|
||||
console.log(voteRes.split("/"));
|
||||
skipVotes = voteRes.split("/");
|
||||
if(skipVotes[0]>= skipVotes[1]/2)
|
||||
if(voteRes == "wrong!")
|
||||
{
|
||||
document.getElementById("sBar").innerHTML = "Successfully skipped!";
|
||||
$("#sBar").addClass("opacityFull");
|
||||
}else
|
||||
{
|
||||
document.getElementById("pBar").innerHTML = "Vote registrated! "+skipVotes[0]+" of "+skipVotes[1]+" has skipped. "+(Math.ceil(skipVotes[1]/2))+" or more is needed!";
|
||||
$("#pBar").addClass("opacityFull");
|
||||
document.getElementById("eBar").innerHTML = "Error: Skipping disabled.";
|
||||
$("#eBar").addClass("opacityFull");
|
||||
}else{
|
||||
skipVotes = voteRes.split("/");
|
||||
if(skipVotes[0]>= skipVotes[1]/2)
|
||||
{
|
||||
document.getElementById("sBar").innerHTML = "Successfully skipped!";
|
||||
$("#sBar").addClass("opacityFull");
|
||||
}else
|
||||
{
|
||||
document.getElementById("pBar").innerHTML = "Vote registrated! "+skipVotes[0]+" of "+skipVotes[1]+" has skipped. "+(Math.ceil(skipVotes[1]/2))+" or more is needed!";
|
||||
$("#pBar").addClass("opacityFull");
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function(){
|
||||
$("#search").removeClass("success");
|
||||
$("#sBar").removeClass("opacityFull");
|
||||
$("#pBar").removeClass("opacityFull");
|
||||
$("#eBar").removeClass("opacityFull");
|
||||
},1500);
|
||||
|
||||
}
|
||||
|
||||
function show(){
|
||||
|
||||
@@ -8,7 +8,7 @@ if($list[1]==""||!isset($list[1])||count($list)<=1)$list="videos";
|
||||
else $list = preg_replace('/[^\da-z=?]/i', '', urldecode($list[1]));
|
||||
|
||||
$list="../lists/".$list.".json"; //actually setting the list for the target. Under is the array for an empty list being created
|
||||
$array = array("nowPlaying" => array("30H2Z8Lr-4c" => array("id" => "30H2Z8Lr-4c", "title" => "Empty Channel, search to add a video")), "songs" => array(), "conf" => array("startTime" => time(), "views" => array(), "skips" => array(), "vote" => "false", "addsongs" => "false", "longsongs" => "true", "frontpage" => "true", "allvideos" => "true", "removeplay" => "false", "adminpass" => ""));
|
||||
$array = array("nowPlaying" => array("30H2Z8Lr-4c" => array("id" => "30H2Z8Lr-4c", "title" => "Empty Channel, search to add a video")), "songs" => array(), "conf" => array("startTime" => time(), "views" => array(), "skips" => array(), "vote" => "false", "addsongs" => "false", "longsongs" => "true", "frontpage" => "true", "allvideos" => "true", "removeplay" => "false", "skip" => "true", "adminpass" => ""));
|
||||
$array = json_encode($array); //encoding the array
|
||||
$f = @fopen($list,"x"); //opening a file, ignoring warnings
|
||||
if($f){ fwrite($f,$array); fclose($f); } //if the file doesn't exist, we create a new one, and adds the newly made array there
|
||||
@@ -124,7 +124,7 @@ else if(isset($_GET['v'])){ //if it
|
||||
$name = htmlspecialchars($_GET['n']); //name of the video
|
||||
if($np[0]["id"] == "30H2Z8Lr-4c")
|
||||
{
|
||||
$q = array("nowPlaying" => array($video => array("id" => $video, "title" => $name, "votes" => 0, "added" => time(), "guids" => array())), "songs" => array(), "conf" => array("startTime" => time(), "views" => array(), "skips" => array(), "vote" => "false", "addsongs" => "false", "longsongs" => "true", "frontpage" => "true", "allvideos" => "true", "removeplay" => "false", "adminpass" => ""));
|
||||
$q = array("nowPlaying" => array($video => array("id" => $video, "title" => $name, "votes" => 0, "added" => time(), "guids" => array())), "songs" => array(), "conf" => array("startTime" => time(), "views" => array(), "skips" => array(), "vote" => "false", "addsongs" => "false", "longsongs" => "true", "frontpage" => "true", "allvideos" => "true", "removeplay" => "false", "skip" => "true", "adminpass" => ""));
|
||||
//$q = array("nowPlaying" => array($video => array("id" => $video, "title" => $name, "votes" => 0, "added" => time(), "guids" => array())), "songs" => array(), "conf" => array("startTime" => time(), "views" => array(), "skips" => array()));
|
||||
$q["nowPlaying"][$video]["votes"] = 1; //Upping the votes, so it comes further up than the ones already played
|
||||
array_push($q["nowPlaying"][$video]["guids"], $guid);
|
||||
@@ -210,9 +210,11 @@ else if(isset($_GET['vote'])){ //if th
|
||||
}
|
||||
}
|
||||
else if(isset($_GET['skip'])){ //skip, really similar to the save function, not going in depth here.
|
||||
$viewers=count($data["conf"]["views"]);
|
||||
$q = $data["conf"];
|
||||
$q = array_key_exists("skip", $q);
|
||||
$viewers=count($data["conf"]["views"]);
|
||||
$skips=count($data["conf"]["skips"]); //Counting how many GUIDS there are under the skip key
|
||||
if(!in_array($guid, $data["conf"]["skips"])){ //If the users GUID isn't in the array, its added
|
||||
if(!in_array($guid, $data["conf"]["skips"]) && ($data["conf"]["skip"] == "true" || $q != 1)){ //If the users GUID isn't in the array, its added
|
||||
array_push($data["conf"]["skips"], $guid);
|
||||
$skips+=1; //and the number of skips is upped
|
||||
//$data["conf"]["skips"]=$skips;
|
||||
@@ -236,8 +238,11 @@ else if(isset($_GET['skip'])){ //skip,
|
||||
array_multisort($sort['votes'], SORT_DESC, $sort['added'], SORT_ASC, $data["songs"]);
|
||||
}
|
||||
file_put_contents($list, json_encode($data));
|
||||
}
|
||||
echo($skips."/".$viewers); //always printing out the skip/viewer ratio
|
||||
echo($skips."/".$viewers);
|
||||
}else if($data["conf"]["skip"] == "false")
|
||||
{
|
||||
echo("wrong!");
|
||||
}
|
||||
|
||||
}else if(isset($_POST['conf'])) //conf, this is for admin settings/channel settings
|
||||
{
|
||||
@@ -247,6 +252,7 @@ else if(isset($_GET['skip'])){ //skip,
|
||||
$data["conf"]["frontpage"] = $_POST['frontpage'];
|
||||
$data["conf"]["allvideos"] = $_POST['allvideos'];
|
||||
$data["conf"]["removeplay"] = $_POST['removeplay'];
|
||||
$data["conf"]["skip"] = $_POST['skip'];
|
||||
$pass = htmlspecialchars($_POST['pass']);
|
||||
if($pass != ""){
|
||||
$x = explode("/", htmlspecialchars(strtolower($_SERVER["REQUEST_URI"])));
|
||||
|
||||
@@ -5,33 +5,37 @@
|
||||
<form id="adminForm" onsubmit="return false" name="ufo" action="" class="daform nomargin" id="base">
|
||||
<div class="toggles">
|
||||
<div class="toggler">
|
||||
<label><input type="radio" class="radio"name="frontpage" value="true"><span>Display</span></label> /
|
||||
<label><input type="radio" class="radio"name="frontpage" value="false"><span>Hide</span></label>
|
||||
<label><input type="radio" class="radio" name="frontpage" value="true"><span>Display</span></label> /
|
||||
<label><input type="radio" class="radio" name="frontpage" value="false"><span>Hide</span></label>
|
||||
</div>
|
||||
|
||||
<div class="toggler">
|
||||
<label><input type="radio" class="radio"name="vote" value="true"><span>Admin</span></label> /
|
||||
<label><input type="radio" class="radio"name="vote" value="false"><span>Anyone</span></label>
|
||||
<label><input type="radio" class="radio" name="vote" value="true"><span>Admin</span></label> /
|
||||
<label><input type="radio" class="radio" name="vote" value="false"><span>Anyone</span></label>
|
||||
</div>
|
||||
|
||||
<div class="toggler">
|
||||
<label><input type="radio" class="radio"name="addsongs" value="true"><span>Admin</span></label> /
|
||||
<label><input type="radio" class="radio"name="addsongs" value="false"><span>Anyone</span></label>
|
||||
<label><input type="radio" class="radio" name="addsongs" value="true"><span>Admin</span></label> /
|
||||
<label><input type="radio" class="radio" name="addsongs" value="false"><span>Anyone</span></label>
|
||||
</div>
|
||||
|
||||
<div class="toggler">
|
||||
<label><input type="radio" class="radio"name="longsongs" value="true"><span>Allow</span></label> /
|
||||
<label><input type="radio" class="radio"name="longsongs" value="false"><span>Block</span></label>
|
||||
<label><input type="radio" class="radio" name="longsongs" value="true"><span>Allow</span></label> /
|
||||
<label><input type="radio" class="radio" name="longsongs" value="false"><span>Block</span></label>
|
||||
</div>
|
||||
|
||||
<div class="toggler">
|
||||
<label><input type="radio" class="radio"name="allvideos" value="true"><span>All</span></label> /
|
||||
<label><input type="radio" class="radio"name="allvideos" value="false"><span>Song</span></label>
|
||||
<label><input type="radio" class="radio" name="allvideos" value="true"><span>All</span></label> /
|
||||
<label><input type="radio" class="radio" name="allvideos" value="false"><span>Song</span></label>
|
||||
</div>
|
||||
|
||||
<div class="toggler">
|
||||
<label><input type="radio" class="radio"name="removeplay" value="true"><span>Remove</span></label> /
|
||||
<label><input type="radio" class="radio"name="removeplay" value="false"><span>Keep</span></label>
|
||||
<label><input type="radio" class="radio" name="removeplay" value="true"><span>Remove</span></label> /
|
||||
<label><input type="radio" class="radio" name="removeplay" value="false"><span>Keep</span></label>
|
||||
</div>
|
||||
<div class="toggler">
|
||||
<label><input type="radio" class="radio" name="skip" value="true"><span>Allow</span></label> /
|
||||
<label><input type="radio" class="radio" name="skip" value="false"><span>Block</span></label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -42,6 +46,7 @@
|
||||
<span title="(>12 min)">long songs</span><br>
|
||||
categories allowed<br>
|
||||
songs after playing<br>
|
||||
skipping<br>
|
||||
</div>
|
||||
<input type="password" name="pass" id="passbox" class="passbox" placeholder="Password">
|
||||
<input type="submit" class="button" value="Login/Save" onclick="submitAdmin(this.form);" title="Save settings/Login">
|
||||
|
||||
@@ -444,7 +444,7 @@ input[type="radio"] {
|
||||
#adminPanel {
|
||||
border-bottom:none;
|
||||
color:#fff;
|
||||
height:230px;
|
||||
height:250px;
|
||||
padding:10px;
|
||||
overflow:hidden;
|
||||
background-color:rgba(0,0,0,0.2);
|
||||
|
||||
Reference in New Issue
Block a user