mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-12-08 20:48:48 +00:00
Added a way of ensuring correct versions between server and client
This commit is contained in:
@@ -251,7 +251,7 @@ var Frontpage = {
|
||||
if(Frontpage.times_rotated == 50 && frontpage){
|
||||
Frontpage.times_rotated = 0;
|
||||
i = 0;
|
||||
socket.emit("frontpage_lists");
|
||||
socket.emit("frontpage_lists", {version: parseInt(localStorage.getItem("VERSION"))});
|
||||
socket.emit('get_userlists', Crypt.getCookie('_uI'));
|
||||
}else if(frontpage){
|
||||
Frontpage.times_rotated += 1;
|
||||
|
||||
@@ -100,6 +100,33 @@ var Helper = {
|
||||
} : null;
|
||||
},
|
||||
|
||||
hslToRgb: function(h, s, l) {
|
||||
var r, g, b;
|
||||
console.log(h, s, l);
|
||||
|
||||
if (s == 0) {
|
||||
r = g = b = l; // achromatic
|
||||
} else {
|
||||
function hue2rgb(p, q, t) {
|
||||
if (t < 0) t += 1;
|
||||
if (t > 1) t -= 1;
|
||||
if (t < 1/6) return p + (q - p) * 6 * t;
|
||||
if (t < 1/2) return q;
|
||||
if (t < 2/3) return p + (q - p) * (2/3 - t) * 6;
|
||||
return p;
|
||||
}
|
||||
|
||||
var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
||||
var p = 2 * l - q;
|
||||
|
||||
r = hue2rgb(p, q, h + 1/3);
|
||||
g = hue2rgb(p, q, h);
|
||||
b = hue2rgb(p, q, h - 1/3);
|
||||
}
|
||||
|
||||
return [ r * 255, g * 255, b * 255 ];
|
||||
},
|
||||
|
||||
|
||||
pad: function(n)
|
||||
{
|
||||
@@ -280,6 +307,31 @@ var Helper = {
|
||||
Helper.currentY = null;
|
||||
},
|
||||
|
||||
invertColor: function(hex) {
|
||||
if (hex.indexOf('#') === 0) {
|
||||
hex = hex.slice(1);
|
||||
}
|
||||
// convert 3-digit hex to 6-digits.
|
||||
if (hex.length === 3) {
|
||||
hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
||||
}
|
||||
if (hex.length !== 6) {
|
||||
throw new Error('Invalid HEX color.');
|
||||
}
|
||||
// invert color components
|
||||
var r = (255 - parseInt(hex.slice(0, 2), 16)).toString(16),
|
||||
g = (255 - parseInt(hex.slice(2, 4), 16)).toString(16),
|
||||
b = (255 - parseInt(hex.slice(4, 6), 16)).toString(16);
|
||||
// pad each with zeros and return
|
||||
return '#' + padZero(r) + padZero(g) + padZero(b);
|
||||
},
|
||||
|
||||
padZero: function(str, len) {
|
||||
len = len || 2;
|
||||
var zeros = new Array(len).join('0');
|
||||
return (zeros + str).slice(-len);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Element.prototype.remove = function() {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
var VERSION = 2;
|
||||
var chan = window.chan === undefined ? $("#chan").html() : window.chan;
|
||||
var w_p = true;
|
||||
var hasadmin = 0;
|
||||
@@ -14,6 +15,7 @@ var frontpage = 1;
|
||||
var adminpass = "";
|
||||
var showDiscovery = false;
|
||||
var filesadded = "";
|
||||
var chromecast_icon_color = "";
|
||||
var player_ready = false;
|
||||
var viewers = 1;
|
||||
var temp_user_pass = "";
|
||||
@@ -124,6 +126,9 @@ $.ajaxPrefilter(function( options, original_Options, jqXHR ) {
|
||||
});
|
||||
|
||||
$().ready(function(){
|
||||
if(!localStorage.getItem("VERSION") || parseInt(localStorage.getItem("VERSION")) != 2) {
|
||||
localStorage.setItem("VERSION", VERSION);
|
||||
}
|
||||
if(!fromFront && window.location.pathname != "/") init();
|
||||
else if(!fromChannel && window.location.pathname == "/"){
|
||||
initfp();
|
||||
@@ -287,7 +292,7 @@ function init(){
|
||||
if(no_socket){
|
||||
var add = "";
|
||||
if(private_channel) add = Crypt.getCookie("_uI") + "_";
|
||||
socket.emit("list", {channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
}
|
||||
$("#viewers").tooltip({
|
||||
delay: 5,
|
||||
@@ -683,7 +688,7 @@ function get_list_listener(){
|
||||
socket.on("get_list", function(){
|
||||
var add = "";
|
||||
if(private_channel) add = Crypt.getCookie("_uI") + "_";
|
||||
socket.emit("list", {channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -865,7 +870,7 @@ function change_offline(enabled, already_offline){
|
||||
socket.emit("pos", {channel: chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
var add = "";
|
||||
if(private_channel) add = Crypt.getCookie("_uI") + "_";
|
||||
socket.emit("list", {channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
if($("#controls").hasClass("ewresize")) $("#controls").removeClass("ewresize");
|
||||
}
|
||||
}
|
||||
@@ -1148,7 +1153,7 @@ $(document).on("submit", "#user-password-channel-form", function(e) {
|
||||
if(user_auth_started) {
|
||||
temp_user_pass = CryptoJS.SHA256($("#user-pass-input").val()).toString();
|
||||
$("#user-pass-input").val("");
|
||||
socket.emit("list", {channel: chan.toLowerCase(), pass: Crypt.crypt_pass(temp_user_pass)});
|
||||
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: chan.toLowerCase(), pass: Crypt.crypt_pass(temp_user_pass)});
|
||||
} else {
|
||||
$("#user_password").modal('close');
|
||||
userpass = $("#user-pass-input").val();
|
||||
@@ -1170,7 +1175,7 @@ $(document).on("click", ".submit-user-password", function(e) {
|
||||
if(user_auth_started) {
|
||||
temp_user_pass = CryptoJS.SHA256($("#user-pass-input").val()).toString();
|
||||
$("#user-pass-input").val("");
|
||||
socket.emit("list", {channel: chan.toLowerCase(), pass: Crypt.crypt_pass(temp_user_pass)});
|
||||
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: chan.toLowerCase(), pass: Crypt.crypt_pass(temp_user_pass)});
|
||||
} else {
|
||||
$("#user_password").modal('close');
|
||||
userpass = $("#user-pass-input").val();
|
||||
@@ -1840,7 +1845,7 @@ function onepage_load(){
|
||||
var add = "";
|
||||
w_p = true;
|
||||
if(private_channel) add = Crypt.getCookie("_uI") + "_";
|
||||
socket.emit("list", {channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||
}else if(url_split[3] === ""){
|
||||
$.contextMenu( 'destroy', ".playlist-element" );
|
||||
user_change_password = false;
|
||||
|
||||
@@ -413,6 +413,16 @@ var Player = {
|
||||
if(window.location.pathname != "/"){
|
||||
document.getElementById("main-container").style.backgroundColor = Helper.rgbToHsl(color,true);
|
||||
$("meta[name=theme-color]").attr("content", Helper.rgbToHex(color[0], color[1], color[2]));
|
||||
/*chromecast_icon_color = Helper.rgbToHsl(color,true).replace("hsl(", "").replace("%)", "").replace("%", "").replace(" ", "").replace(" ", "");
|
||||
console.log(chromecast_icon_color);
|
||||
chromecast_icon_color = chromecast_icon_color.split(",");
|
||||
console.log(chromecast_icon_color);
|
||||
chromecast_icon_color = Helper.hslToRgb(parseInt(chromecast_icon_color[0]), parseFloat(chromecast_icon_color[1]) / 100, parseFloat(chromecast_icon_color[2]) / 100);
|
||||
console.log(chromecast_icon_color);
|
||||
chromecast_icon_color = Helper.rgbToHex(parseInt(chromecast_icon_color[0]), parseInt(chromecast_icon_color[1]), parseInt(chromecast_icon_color[2]));
|
||||
console.log(chromecast_icon_color);
|
||||
|
||||
$(".castButton").attr("style", "display:" + $(".castButton").css("display") + ";--disconnected-color" + chromecast_icon_color + ";");*/
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user