diff --git a/.gitignore b/.gitignore index a9996644..40a1f44e 100755 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ server/config/cert_config.js server/config/recaptcha.js server/config/analytics.js server/public/assets/dist/callback.min.js +server/public/assets/dist/token.min.js server/public/assets/dist/embed.min.js server/public/assets/dist/main.min.js server/public/assets/dist/remote.min.js diff --git a/server/public/assets/admin/authenticated/js/main.js b/server/public/assets/admin/authenticated/js/main.js index b0f7e85c..2b772a94 100644 --- a/server/public/assets/admin/authenticated/js/main.js +++ b/server/public/assets/admin/authenticated/js/main.js @@ -36,8 +36,9 @@ $(document).on("click", "#refresh_all", function(e){ to_add.find(".api_token_name").text(response[i].name); to_add.find(".api_token_usage").text(response[i].usage); to_add.find(".api_token_limit").attr("id", response[i]._id + "-limit"); - to_add.find("#delete_api_token").attr("data-id", response[i]._id); - to_add.find("#update_api_token").attr("data-id", response[i]._id); + to_add.find(".delete_api_token").attr("id", response[i]._id + "-delete"); + to_add.find(".delete_api_token").attr("data-id", response[i]._id); + to_add.find(".update_api_token").attr("data-id", response[i]._id); $(".channel_things").append(to_add); } }, @@ -120,14 +121,14 @@ if(!$(".channel_things").hasClass("hide")) { } $(".preloader-wrapper").removeClass("hide"); -$(document).on("click", "#update_api_token", function(e) { +$(document).on("click", ".update_api_token", function(e) { e.preventDefault(); var id = $(this).attr("data-id"); var limit = $("#" + id + "-limit").val(); var that = this; $(that).toggleClass("disabled"); - $("#delete_api_token").toggleClass("disabled"); + $("#" + id + "-delete").toggleClass("disabled"); $.ajax({ type: "PUT", url: "api/api_token", @@ -142,17 +143,17 @@ $(document).on("click", "#update_api_token", function(e) { Materialize.toast("Something went wrong...", 2000, "red lighten"); } $(that).toggleClass("disabled"); - $("#delete_api_token").toggleClass("disabled"); + $("#" + id + "-delete").toggleClass("disabled"); } }); }); -$(document).on("click", "#delete_api_token", function(e) { +$(document).on("click", ".delete_api_token", function(e) { e.preventDefault(); var id = $(this).attr("data-id"); var that = this; $(that).toggleClass("disabled"); - $("#update_api_token").toggleClass("disabled"); + $("#" + id + "-limit").toggleClass("disabled"); $.ajax({ type: "DELETE", url: "api/api_token", @@ -166,7 +167,7 @@ $(document).on("click", "#delete_api_token", function(e) { } else { Materialize.toast("Something went wrong...", 2000, "red lighten"); $(that).toggleClass("disabled"); - $("#update_api_token").toggleClass("disabled"); + $("#" + id + "-limit").toggleClass("disabled"); } }, }) @@ -191,8 +192,9 @@ function loaded() { to_add.find(".api_token_name").text(response[i].name); to_add.find(".api_token_usage").text(response[i].usage); to_add.find(".api_token_limit").attr("id", response[i]._id + "-limit"); - to_add.find("#delete_api_token").attr("data-id", response[i]._id); - to_add.find("#update_api_token").attr("data-id", response[i]._id); + to_add.find(".delete_api_token").attr("id", response[i]._id + "-delete"); + to_add.find(".delete_api_token").attr("data-id", response[i]._id); + to_add.find(".update_api_token").attr("data-id", response[i]._id); $(".channel_things").append(to_add); } }, diff --git a/server/public/assets/dist/token.min.js b/server/public/assets/dist/token.min.js deleted file mode 100644 index d919ec88..00000000 --- a/server/public/assets/dist/token.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(){$(document).ready(function(){$("#about").modal(),$(".help-button-footer").hide(),$("#contact").modal(),$("#contact-container").empty(),$("#contact-container").html("Send a mail to us: contact@zoff.me"),$("#submit-contact-form").hide(),$(".token-form").on("submit",function(e){e.preventDefault();var t=$("#email_address").val();$("#email_address").attr("readonly",!0),$(".submit").toggleClass("disabled"),$(".full-form-token").removeClass("hide");var a=grecaptcha.getResponse();$.ajax({type:"POST",url:"/api/apply",data:{email:t,"g-recaptcha-response":a},success:function(e){$(".full-form-token").addClass("hide"),"OK"!=e?($("#email_address").attr("readonly",!0),$(".submit").toggleClass("disabled"),Materialize.toast("Couldn't send email.",3e3,"red lighten")):(Materialize.toast("Email sent!",3e3,"green lighten"),grecaptcha.reset())},error:function(e){$(".full-form-token").addClass("hide"),$("#email_address").attr("readonly",!1),$(".submit").toggleClass("disabled")}})}),$("#submit-contact-form").on("click",function(e){e.preventDefault(),$("#contact-form").submit()})});Element.prototype.remove=function(){this.parentElement.removeChild(this)},NodeList.prototype.remove=HTMLCollection.prototype.remove=function(){for(var e=0,t=this.length;e -1) { diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index c0245dec..2c35ad86 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -12,6 +12,42 @@ var Player = { Helper.log(["object", obj]); var state; fix_too_far = false; + if(embed && !autoplay && obj && obj.np.length > 0) { + if(Object.keys(obj).length == 0) { + paused = false; + empty_clear = true; + } else { + empty_clear = false; + } + Player.getTitle(obj.np[0].title, viewers); + //Player.setBGimage(video_id); + if(!Helper.mobilecheck()) { + Player.notifyUser(obj.np[0].id, obj.np[0].title); + } + video_id = obj.np[0].id; + Player.np = { + id: video_id, + start: obj.np[0].start, + end: obj.np[0].end, + duration: obj.np[0].duration, + }; + if(!obj.np[0].hasOwnProperty("start")) { + Player.np.start = 0; + } + if(!obj.np[0].hasOwnProperty("end")) { + Player.np.end = Player.np.duration; + } + + 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.loadVideoById(video_id, duration); + Player.stopVideo(); + return; + } if(embed && obj.np) { if(window.parentWindow && window.parentOrigin) { window.parentWindow.postMessage({type: "np", title: obj.np[0].title}, window.parentOrigin); @@ -64,7 +100,6 @@ var Player = { } //List.importOldList(channel.toLowerCase()); } else if(paused){ - Player.getTitle(obj.np[0].title, viewers); //Player.setBGimage(video_id); if(!Helper.mobilecheck()) { @@ -162,7 +197,7 @@ var Player = { } } if(!paused){ - if((!mobile_beginning || chromecastAvailable) && prev_state != 2) { + if(((!mobile_beginning || chromecastAvailable) && prev_state != 2) && autoplay) { Player.playVideo(); } if(!durationBegun) { @@ -189,6 +224,9 @@ var Player = { } } } else { + if(!autoplay) { + Player.stopVideo(); + } Player.getTitle(song_title, viewers); } } @@ -213,7 +251,7 @@ var Player = { "New state\nState: ", newState ]); - if(player.getCurrentTime() > startTime + Player.np.start && !fix_too_far && autoplay) { + if(Player.player && Player.player.getCurrentTime() > startTime + Player.np.start && !fix_too_far && autoplay) { Player.seekTo(seekTo); Player.playVideo(); fix_too_far = true; @@ -237,6 +275,7 @@ var Player = { } break; case YT.PlayerState.PLAYING: + if(embed && !autoplay) autoplay = true; if(!window.MSStream) { $("#player").css("opacity", "1"); if(!Helper.mobilecheck()) { @@ -350,7 +389,7 @@ var Player = { chrome.cast.media.GenericMediaMetadata({metadataType: 0, title:song_title, image: 'https://img.youtube.com/vi/'+id+'/mqdefault.jpg', images: ['https://img.youtube.com/vi/'+id+'/mqdefault.jpg']}); chrome.cast.Image('https://img.youtube.com/vi/'+id+'/mqdefault.jpg'); } else { - window.player = Player.player; + //window.player = Player.player; Player.player.loadVideoById({'videoId': id, 'startSeconds': s, 'endSeconds': e}); } if(offline) { diff --git a/server/public/assets/js/token_apply.js b/server/public/assets/js/token_apply.js index 549ad1f9..7ae2cb95 100644 --- a/server/public/assets/js/token_apply.js +++ b/server/public/assets/js/token_apply.js @@ -23,13 +23,12 @@ $(document).ready(function() { }, success: function(response) { $(".full-form-token").addClass("hide"); - if(response != "OK") { + if(response == "success") { + Materialize.toast("Email sent!", 3000, "green lighten"); + } else { $("#email_address").attr("readonly", true); $(".submit").toggleClass("disabled"); - Materialize.toast("Couldn't send email.", 3000, "red lighten"); - } else { - Materialize.toast("Email sent!", 3000, "green lighten"); - grecaptcha.reset(); + Materialize.toast("Something went wrong. Sure that email hasn't been used for another token?", 3000, "red lighten"); } }, error: function(response) { diff --git a/server/public/layouts/admin/authenticated.handlebars b/server/public/layouts/admin/authenticated.handlebars index f5660c7e..6b037a7c 100644 --- a/server/public/layouts/admin/authenticated.handlebars +++ b/server/public/layouts/admin/authenticated.handlebars @@ -127,8 +127,8 @@
- UPDATE - X + UPDATE + X diff --git a/server/public/layouts/client/token.handlebars b/server/public/layouts/client/token.handlebars index 8aae6f2d..c0a05c24 100644 --- a/server/public/layouts/client/token.handlebars +++ b/server/public/layouts/client/token.handlebars @@ -50,7 +50,7 @@
- +