From a77f33d8d30a03b70cb1b0b41ce486d97b377637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Thu, 16 Apr 2015 13:33:04 +0200 Subject: [PATCH] End time bug fix --- server/server.js | 27 +++++++++++++++------------ static/js/search.js | 10 +++++----- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/server/server.js b/server/server.js index 236032eb..8977af50 100755 --- a/server/server.js +++ b/server/server.js @@ -115,6 +115,7 @@ io.on('connection', function(socket){ var id = arr[0]; var title = arr[1]; var hash = hash_pass(arr[2]); + var duration = arr[3]; db.collection(coll).find({views:{$exists:true}}, function(err, docs) { if((docs[0]["addsongs"] == true && (hash == docs[0]["adminpass"] || docs[0]["adminpass"] == "")) || docs[0]["addsongs"] == false) @@ -129,7 +130,7 @@ io.on('connection', function(socket){ np = true; else np = false; - db.collection(coll).insert({"added":get_time(),"guids":guids,"id":id,"now_playing":np,"title":title,"votes":votes}, function(err, docs){ + db.collection(coll).insert({"added":get_time(),"guids":guids,"id":id,"now_playing":np,"title":title,"votes":votes, "duration":duration}, function(err, docs){ sort_list(coll, undefined, np); }); }); @@ -327,6 +328,7 @@ function vote(coll, id, guid, socket) function change_song(coll, id, np_id) { db.collection(coll).find({views:{$exists:true}}, function(err, docs){ + var startTime = docs[0]["startTime"]; if(docs[0]["removeplay"] == true) { db.collection(coll).remove({now_playing:true}, function(err, docs) @@ -349,18 +351,19 @@ function change_song(coll, id, np_id) change_song_post(coll); }); }else{ - console.log(id); - console.log(np_id); - db.collection(coll).update({now_playing:true, id:id}, - {$set:{ - now_playing:false, - votes:0, - guids:[] - }}, function(err, docs) + db.collection(coll).find({id:id}, function(err, docs){ + if(startTime+docs[0]["duration"]<=get_time()-1) { - console.log(err); - console.log(docs); - change_song_post(coll); + db.collection(coll).update({now_playing:true, id:id}, + {$set:{ + now_playing:false, + votes:0, + guids:[] + }}, function(err, docs) + { + change_song_post(coll); + }); + } }); } } diff --git a/static/js/search.js b/static/js/search.js index 7e25ea06..999b7eee 100755 --- a/static/js/search.js +++ b/static/js/search.js @@ -141,7 +141,7 @@ function search(search_input){ var video_thumb = "http://i.ytimg.com/vi/"+data.id+"/default.jpg"; var length = Math.floor(data.duration/60)+":"+(data.duration-Math.floor(data.duration / 60)*60); var finalhtml="\ -
\ +
\ \
"+data.title+"\
"+views+" views • "+length+"
\ @@ -179,16 +179,16 @@ function search(search_input){ } -function submitAndClose(id,title){ - submit(id,title, true); +function submitAndClose(id,title,duration){ + submit(id,title, true, duration); $("#results").html(''); console.log("sub&closed"); } -function submit(id,title,type){ +function submit(id,title,type, duration){ - socket.emit("add", [id, decodeURIComponent(title), adminpass]); + socket.emit("add", [id, decodeURIComponent(title), adminpass, duration]); if(type){ document.getElementById("search").value = ""; $("#results").html = "";