diff --git a/server/public/assets/js/admin.js b/server/public/assets/js/admin.js index 218f4104..d817bcd7 100755 --- a/server/public/assets/js/admin.js +++ b/server/public/assets/js/admin.js @@ -143,6 +143,7 @@ var Admin = { }, pw: function(msg) { + if(msg == false) return; w_p = false; if(adminpass == undefined || adminpass == "") { adminpass = Crypt.get_pass(chan.toLowerCase()); @@ -354,8 +355,9 @@ var Admin = { userpass: Crypt.crypt_pass(pass_send), userpass_changed: userpass_changed }; - - Crypt.set_userpass(chan.toLowerCase(), CryptoJS.SHA256(userpass).toString()); + if(userpass_changed){ + Crypt.set_userpass(chan.toLowerCase(), CryptoJS.SHA256(userpass).toString()); + } emit("conf", configs); }, diff --git a/server/public/assets/js/listeners.js b/server/public/assets/js/listeners.js index 768d75a1..cee78390 100755 --- a/server/public/assets/js/listeners.js +++ b/server/public/assets/js/listeners.js @@ -74,6 +74,8 @@ var chromecastReady = false; var find_word = ""; var found_array = []; var found_array_index = 0; +var startTime = 0; +var fix_too_far = false; var guid = ""; var castSession; var width_timeout; @@ -141,9 +143,9 @@ window.zoff = { } if(!Helper.mobilecheck()) { - $(window).error(function(e){ - e.preventDefault(); - Helper.logs.unshift({log: e.originalEvent.error.stack.toString().replace(/(\r\n|\n|\r)/gm,""), date: new Date()}); + window.onerror = function(e) { + if(e == "Script error.") return true; + Helper.logs.unshift({log: e.toString().replace(/(\r\n|\n|\r)/gm,""), date: new Date()}); $(".contact-form-content").remove(); $("#submit-contact-form").remove(); $(".contact-modal-header").text("An error occurred"); @@ -159,8 +161,9 @@ if(!Helper.mobilecheck()) { $("#contact").modal("open"); /*$("#error-report-modal").modal();*/ $("#error-report-code").text(JSON.stringify(Helper.logs, undefined, 4)); - console.error(e.originalEvent.error); - }); + //console.error(e.originalEvent.error); + return true; + }; } $().ready(function(){ diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index 0b5b65d9..6635cc34 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -11,6 +11,7 @@ var Player = { youtube_listener: function(obj) { Helper.log(["object", obj]); var state; + fix_too_far = false; if(embed && obj.np) { if(window.parentWindow && window.parentOrigin) { window.parentWindow.postMessage({type: "np", title: obj.np[0].title}, window.parentOrigin); @@ -89,6 +90,7 @@ var Player = { conf = obj.conf[0]; time = obj.time; seekTo = (time - conf.startTime) + Player.np.start; + startTime = time - conf.startTime; song_title = obj.np[0].title; duration = obj.np[0].duration; //Player.setBGimage(video_id); @@ -116,6 +118,7 @@ var Player = { conf = obj.conf[0]; time = obj.time; seekTo = (time - conf.startTime) + Player.np.start; + startTime = time - conf.startTime; song_title = obj.np[0].title; duration = obj.np[0].duration; @@ -210,10 +213,15 @@ var Player = { "New state\nState: ", newState ]); - try{ + if(player.getCurrentTime() > startTime + Player.np.start && !fix_too_far) { + Player.seekTo(seekTo); + Player.playVideo(); + fix_too_far = true; + } + try { Helper.log(["Duration: " + Player.player.getDuration(), "Current time: " + Player.player.getCurrentTime()]); Helper.log(["getVideoUrl(): " + Player.player.getVideoUrl().split('v=')[1]]); - }catch(e){} + } catch(e){} Helper.log(["video_id variable: " + video_id]); switch(newState.data) { case YT.PlayerState.UNSTARTED: @@ -221,6 +229,7 @@ var Player = { case YT.PlayerState.ENDED: playing = false; paused = false; + if(!offline) { socket.emit("end", {id: video_id, channel: chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))}); } else { @@ -482,7 +491,7 @@ var Player = { if(!user_auth_started) { if(newState.data == 5 || newState.data == 100 || newState.data == 101 || newState.data == 150) { curr_playing = Player.player.getVideoUrl().replace("https://www.youtube.com/watch?v=", ""); - socket.emit("skip", {error: newState.data, id: video_id, pass: adminpass == "" ? "" : Crypt.crypt_pass(adminpass), channel: chan.toLowerCase(), userpass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))}); + emit("skip", {error: newState.data, id: video_id, pass: adminpass == "" ? "" : Crypt.crypt_pass(adminpass), channel: chan.toLowerCase(), userpass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))}); } else if(video_id !== undefined) { Player.loadVideoById(video_id, duration); @@ -573,7 +582,7 @@ var Player = { notifyUser: function(id, title) { title = title.replace(/\\\'/g, "'").replace(/"/g,"'").replace(/&/g,"&"); if (Notification.permission === "granted" && document.hidden && !embed) { - var notification = new Notification("Now Playing", {body: title, icon: "https://i.ytimg.com/vi/"+id+"/mqdefault.jpg", iconUrl: "http://i.ytimg.com/vi/"+id+"/mqdefault.jpg"}); + var notification = new Notification("Now Playing", {body: title, icon: "https://img.youtube.com/vi/"+id+"/mqdefault.jpg", iconUrl: "http://img.youtube.com/vi/"+id+"/mqdefault.jpg"}); notification.onclick = function(x) { window.focus(); this.cancel(); }; setTimeout(function(){ notification.close();