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 @@