mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Display and hide on frontpage only not working
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
var adminTogg = false;
|
||||
var pass_corr = "";
|
||||
|
||||
socket.on("success_settings", function()
|
||||
socket.on("success_settings", function(msg)
|
||||
{
|
||||
pass_corr = "correct";
|
||||
document.getElementById("sBar").innerHTML = "Successfully applied settings.";
|
||||
document.getElementById("sBar").innerHTML = msg;
|
||||
$("#sBar").addClass("opacityFull");
|
||||
document.getElementById("passbox").value = "";
|
||||
remove_bar();
|
||||
@@ -106,6 +106,7 @@ function remove_bar()
|
||||
function shuffle(form)
|
||||
{
|
||||
console.log(adminpass);
|
||||
socket.emit('shuffle', adminpass);
|
||||
/*
|
||||
confRes = $.ajax({
|
||||
type: "GET",
|
||||
|
||||
@@ -186,7 +186,14 @@ function submitAndClose(id,title){
|
||||
|
||||
function submit(id,title,type){
|
||||
|
||||
socket.emit("add", [id, title, adminpass]);
|
||||
socket.emit("add", [id, decodeURI(title), adminpass]);
|
||||
if(type){
|
||||
document.getElementById("search").value = "";
|
||||
$("#results").html = "";
|
||||
$(".main").removeClass("blurT");
|
||||
$("#controls").removeClass("blurT");
|
||||
$(".main").removeClass("clickthrough");
|
||||
}
|
||||
/*
|
||||
serverAns = $.ajax({
|
||||
type: "GET",
|
||||
|
||||
@@ -55,10 +55,9 @@ socket.on(chan.toLowerCase()+",np", function(obj)
|
||||
console.log(seekTo);
|
||||
if(player_ready)
|
||||
{
|
||||
if(!playing){
|
||||
if(ytplayer.getVideoUrl().split('v=')[1] != video_id)
|
||||
ytplayer.loadVideoById(video_id);
|
||||
ytplayer.playVideo();
|
||||
}
|
||||
ytplayer.playVideo();
|
||||
ytplayer.seekTo(seekTo);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -24,7 +24,7 @@ foreach($fil as $files){
|
||||
$time_lasted = time() - filemtime($files);
|
||||
if($time_lasted > $to)
|
||||
{
|
||||
$file = file_get_contents($files);
|
||||
$file = file_get_contents($files);
|
||||
$data = json_decode($file, TRUE);
|
||||
$q = array_values($data["nowPlaying"]);
|
||||
/*if($q[0]["id"] == "30H2Z8Lr-4c");
|
||||
@@ -54,6 +54,8 @@ foreach($fil as $files){
|
||||
}
|
||||
</style>
|
||||
<?php include("header.php"); ?>
|
||||
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
|
||||
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="bgimage" id="bgimage"></div>
|
||||
@@ -72,7 +74,7 @@ foreach($fil as $files){
|
||||
</div>
|
||||
<center>
|
||||
<div class="channels" id="channels">Active Channels<br>
|
||||
<?php foreach($channels as $channel){echo "<a class='channel' href='./".htmlspecialchars($channel)."' title='Viewers: ~".$viewers[$v]."'>".htmlspecialchars($channel)."</a>"; $v++;} ?>
|
||||
<div id="fp-chans"></div>
|
||||
</div>
|
||||
</center>
|
||||
</div>
|
||||
@@ -84,8 +86,8 @@ foreach($fil as $files){
|
||||
</a>
|
||||
</div>
|
||||
© <?php echo date("Y"); ?>
|
||||
<a class="anim" href="//nixo.no">Nixo</a> &
|
||||
<a class="anim" href="//kasperrt.no">KasperRT</a>
|
||||
<a class="anim" href="//nixo.no">Nixo</a> &
|
||||
<a class="anim" href="//kasperrt.no">KasperRT</a>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var deg = 0;
|
||||
@@ -144,6 +146,46 @@ foreach($fil as $files){
|
||||
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
var socket = io.connect('http://localhost:3000');
|
||||
var playlists = [];
|
||||
socket.emit('frontpage_lists');
|
||||
socket.on('playlists', function(msg){
|
||||
populate_channels(msg);
|
||||
})
|
||||
|
||||
function populate_channels(lists)
|
||||
{
|
||||
var output = "";
|
||||
|
||||
lists.sort(sortFunction);
|
||||
|
||||
for(x in lists)
|
||||
{
|
||||
var id = lists[x][1];
|
||||
var title = lists[x][2];
|
||||
var name = lists[x][3];
|
||||
var viewers = lists[x][0];
|
||||
//console.log("Channel name: "+name+", viewers: "+viewers);
|
||||
output += "<a class='channel' href='./"+name+"' title='Viewer(s): "+viewers+"'>"+name.capitalizeFirstLetter()+"</a>";
|
||||
}
|
||||
document.getElementById("fp-chans").innerHTML = output;
|
||||
}
|
||||
|
||||
String.prototype.capitalizeFirstLetter = function() {
|
||||
return this.charAt(0).toUpperCase() + this.slice(1);
|
||||
}
|
||||
|
||||
|
||||
function sortFunction(a, b) {
|
||||
if (a[0] === b[0]) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
return (a[0] < b[0]) ? 1 : -1;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<noscript><p><img src="//zoff.no/analyse/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
|
||||
<!-- End Piwik Code -->
|
||||
</body>
|
||||
|
||||
155
server/server.js
155
server/server.js
@@ -23,9 +23,52 @@ io.on('connection', function(socket){
|
||||
|
||||
var coll;
|
||||
var guid;
|
||||
var tot_lists = [];
|
||||
var in_list = false;
|
||||
|
||||
socket.on('frontpage_lists', function()
|
||||
{
|
||||
var playlists_to_send = [];
|
||||
var i = 0;
|
||||
var playlists_to_send = [];
|
||||
in_list = false;
|
||||
|
||||
db.getCollectionNames(function(err, colNames){
|
||||
colNames.forEach(function(name){
|
||||
if(name != "system.indexes")
|
||||
{
|
||||
db.collection(name).find({now_playing:true}, function(err, np){
|
||||
complete(np, i, colNames.length-2, name);
|
||||
i++;
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
var complete = function(list, curr, tot, name)
|
||||
{
|
||||
console.log("inside");
|
||||
if(list.length > 0)
|
||||
{
|
||||
var id = list[0]["id"];
|
||||
var title = list[0]["title"];
|
||||
try{
|
||||
var viewers = lists[name].length;
|
||||
}catch(err){console.log("no viewers"); var viewers = 0;}
|
||||
var to_push = [viewers, id, title, name];
|
||||
playlists_to_send.push(to_push);
|
||||
}
|
||||
if(curr == tot)
|
||||
{
|
||||
socket.emit("playlists", playlists_to_send);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
socket.on('list', function(list)
|
||||
{
|
||||
in_list = true;
|
||||
list = list.split(',');
|
||||
coll = list[0].toLowerCase();
|
||||
guid = list[1];
|
||||
@@ -110,7 +153,7 @@ io.on('connection', function(socket){
|
||||
{
|
||||
var id = msg[1];
|
||||
guid = msg[3];
|
||||
var hash = has_pass(msg[4]);
|
||||
var hash = hash_pass(msg[4]);
|
||||
db.collection(coll).find({views:{$exists:true}}, function(err, docs)
|
||||
{
|
||||
if((docs[0]["vote"] == "true" && (hash == docs[0]["adminpass"] || docs[0]["adminpass"] == "")) || docs[0]["vote"] == "false")
|
||||
@@ -174,7 +217,7 @@ io.on('connection', function(socket){
|
||||
shuffle:shuffling,
|
||||
longsongs:longsongs,
|
||||
adminpass:hash}}, function(err, docs){
|
||||
socket.emit("success_settings");
|
||||
socket.emit("success_settings", "Successfully applied settings!");
|
||||
sort_list(coll,undefined,false);
|
||||
});
|
||||
|
||||
@@ -185,14 +228,37 @@ io.on('connection', function(socket){
|
||||
});
|
||||
});
|
||||
|
||||
socket.on('shuffle', function(pass){
|
||||
var hash = hash_pass(pass);
|
||||
db.collection(coll).find({views:{$exists:true}}, function(err, docs){
|
||||
if((docs[0]["adminpass"] == hash || docs[0]["adminpass"] == "") || docs[0]["shuffle"] == "true")
|
||||
{
|
||||
db.collection(coll).find({now_playing:false}).forEach(function(err, docs){
|
||||
if(!docs){
|
||||
sort_list(coll, undefined, false);
|
||||
return;
|
||||
}else{
|
||||
console.log(docs);
|
||||
num = Math.floor(Math.random()*1000000);
|
||||
db.collection(coll).update({id:docs["id"]}, {$set:{added:num}}, function(err, d)
|
||||
{});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
socket.on('disconnect', function()
|
||||
{
|
||||
try
|
||||
{
|
||||
var index = lists[coll].indexOf(guid);
|
||||
lists[coll].splice(index, 1);
|
||||
io.sockets.emit(coll+",viewers", lists[coll].length);
|
||||
}catch(err){}
|
||||
if(in_list)
|
||||
{
|
||||
try
|
||||
{
|
||||
var index = lists[coll].indexOf(guid);
|
||||
lists[coll].splice(index, 1);
|
||||
io.sockets.emit(coll+",viewers", lists[coll].length);
|
||||
}catch(err){}
|
||||
}
|
||||
});
|
||||
|
||||
socket.on('pos', function()
|
||||
@@ -200,14 +266,16 @@ io.on('connection', function(socket){
|
||||
console.log("EMITTED");
|
||||
send_play(coll, socket);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function del(params)
|
||||
{
|
||||
db.collection(coll).find({adminpass:hash_pass(params[4])}, function(err, docs){
|
||||
if(docs.length == 1)
|
||||
var coll = params[0].toLowerCase();
|
||||
db.collection(coll).find({views:{$exists:true}}, function(err, docs){
|
||||
console.log(docs);
|
||||
if(docs[0]["adminpass"] == hash_pass(params[4]))
|
||||
{
|
||||
console.log("del");
|
||||
db.collection(coll).remove({id:params[1]}, function(err, docs){
|
||||
sort_list(coll, undefined, false);
|
||||
})
|
||||
@@ -227,41 +295,58 @@ function vote(coll, id, guid)
|
||||
{
|
||||
db.collection(coll).update({id:id}, {$inc:{votes:1}, $set:{added:get_time()}}, function(err, docs)
|
||||
{
|
||||
/*db.collection(coll).update({id:id}, {$push :{guids: guid}}, function(err, docs)
|
||||
db.collection(coll).update({id:id}, {$push :{guids: guid}}, function(err, docs)
|
||||
{
|
||||
sort_list(coll, undefined, false);
|
||||
});*/
|
||||
sort_list(coll, undefined, false);
|
||||
});
|
||||
//sort_list(coll, undefined, false);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function change_song(coll)
|
||||
{
|
||||
db.collection(coll).update({now_playing:true},
|
||||
{$set:{
|
||||
now_playing:false,
|
||||
votes:0,
|
||||
guids:[]
|
||||
}}, function(err, docs)
|
||||
db.collection(coll).find({views:{$exists:true}}, function(err, docs){
|
||||
if(docs[0]["removeplay"] == "true")
|
||||
{
|
||||
db.collection(coll).aggregate([
|
||||
{$match:{now_playing:false}},
|
||||
{$sort:{votes:-1, added:1}},
|
||||
{$limit:1}], function(err, docs){
|
||||
db.collection(coll).update({id:docs[0]["id"]},
|
||||
{$set:{
|
||||
now_playing:true,
|
||||
votes:0,
|
||||
guids:[],
|
||||
added:get_time()}}, function(err, docs){
|
||||
db.collection(coll).update({views:{$exists:true}},
|
||||
{$set:{startTime:get_time()}}, function(err, docs){
|
||||
sort_list(coll,undefined,true);
|
||||
});
|
||||
|
||||
db.collection(coll).remove({now_playing:true}, function(err, docs)
|
||||
{
|
||||
change_song_post(coll);
|
||||
})
|
||||
}else
|
||||
{
|
||||
db.collection(coll).update({now_playing:true},
|
||||
{$set:{
|
||||
now_playing:false,
|
||||
votes:0,
|
||||
guids:[]
|
||||
}}, function(err, docs)
|
||||
{
|
||||
change_song_post(coll);
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function change_song_post(coll)
|
||||
{
|
||||
db.collection(coll).aggregate([
|
||||
{$match:{now_playing:false}},
|
||||
{$sort:{votes:-1, added:1}},
|
||||
{$limit:1}], function(err, docs){
|
||||
db.collection(coll).update({id:docs[0]["id"]},
|
||||
{$set:{
|
||||
now_playing:true,
|
||||
votes:0,
|
||||
guids:[],
|
||||
added:get_time()}}, function(err, docs){
|
||||
db.collection(coll).update({views:{$exists:true}},
|
||||
{$set:{startTime:get_time()}}, function(err, docs){
|
||||
sort_list(coll,undefined,true);
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user