From: Vincent Vanwaelscappel Date: Tue, 22 Mar 2022 17:38:24 +0000 (+0100) Subject: wait #5074 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=14b4d86033c56bd40dbb11cae96697728bff49b9;p=fluidbook-html5.git wait #5074 @1 --- diff --git a/js/libs/fluidbook/fluidbook.js b/js/libs/fluidbook/fluidbook.js index be34a2f8..f7e7afd8 100644 --- a/js/libs/fluidbook/fluidbook.js +++ b/js/libs/fluidbook/fluidbook.js @@ -20,6 +20,8 @@ Fluidbook.BOTTOM = 9; Fluidbook.prototype = { init: function (settings) { this.flags = {}; + this.secureOKDone = false; + this.initEventsWhenSecureOK = false; this.canNavigate = false; this.shortLoading = false; this.nointerface = false; @@ -159,6 +161,11 @@ Fluidbook.prototype = { this.initTheme(); this.initLoading(); + + this.secureOKDone = true; + if (this.initEventsWhenSecureOK) { + initEvents(); + } }, initSettings: function (settings) { @@ -751,11 +758,11 @@ Fluidbook.prototype = { }, hideMenuItems: function () { - gsap.to($('#menuList > ul > li, #shareLinks,footer#mobile-credits'),{duration:0.1, autoAlpha: 0}); + gsap.to($('#menuList > ul > li, #shareLinks,footer#mobile-credits'), {duration: 0.1, autoAlpha: 0}); }, showMenuItems: function () { - gsap.to($('#menuList > ul > li, #shareLinks,footer#mobile-credits'),{duration:0.3,autoAlpha:1}); + gsap.to($('#menuList > ul > li, #shareLinks,footer#mobile-credits'), {duration: 0.3, autoAlpha: 1}); }, print: function (button) { diff --git a/js/libs/fluidbook/fluidbook.secure.js b/js/libs/fluidbook/fluidbook.secure.js index ed5acfc5..4d9b9128 100644 --- a/js/libs/fluidbook/fluidbook.secure.js +++ b/js/libs/fluidbook/fluidbook.secure.js @@ -63,8 +63,21 @@ FluidbookSecure.prototype = { }, checkSecure: function (callback) { + var $this=this; + // Hybrid protection + if (this.fluidbook.settings.secureURL !== 'http://' && this.fluidbook.settings.secureURL !== '' && this.fluidbook.settings.secureClientSidePassword !== '') { + + return this.checkSecureByURL(function (res) { + if (res) { + callback(); + } else { + $this.checkSecureByClientSidePassword(callback); + } + }, false); + } + if (this.fluidbook.settings.secureURL !== 'http://' && this.fluidbook.settings.secureURL !== '') { - return this.checkSecureByURL(callback); + return this.checkSecureByURL(callback, true); } if (this.fluidbook.settings.secureClientSidePassword !== '') { return this.checkSecureByClientSidePassword(callback); @@ -73,23 +86,30 @@ FluidbookSecure.prototype = { callback(); }, - checkSecureByURL: function (callback) { + checkSecureByURL: function (callback, nokURL) { + if (nokURL === undefined) { + nokURL = true; + } var $this = this; $.ajax({ url: $this.fluidbook.settings.secureURL, crossDomain: true, method: 'GET', type: 'json', xhrFields: { withCredentials: true }, success: function (data) { - var res = data.data[0]['logged-in']; + var res = data !== undefined && data.data !== undefined && data.data[0] !== undefined && data.data[0]['logged-in']; if (res !== undefined && res !== null) { - if (res === true) { - callback(); - } else if (res === false) { - $this.secureByURLNOK(); + if (!nokURL) { + callback(res); + } else { + if (res === true) { + callback(true); + } else if (res === false) { + $this.secureByURLNOK(); + } } } }, error: function (e) { console.log(e); - callback(); + callback(false); } }); }, @@ -100,6 +120,7 @@ FluidbookSecure.prototype = { }, checkSecureByClientSidePassword: function (callback) { + var u = window.sessionStorage.getItem('secureUsername'); var p = window.sessionStorage.getItem('securePassword'); var ok = false; diff --git a/js/libs/fluidbook/fluidbook.slider.js b/js/libs/fluidbook/fluidbook.slider.js index a5253970..4a9cfb10 100644 --- a/js/libs/fluidbook/fluidbook.slider.js +++ b/js/libs/fluidbook/fluidbook.slider.js @@ -157,11 +157,15 @@ FluidbookSlider.prototype = { resizeSliderLink: function (ww, hh, single) { var r = document.getElementById("fluidbook").getBoundingClientRect(); - var scale = r.width / this.fluidbook.settings.sliderImageDimensions[0]; - var h = this.fluidbook.settings.sliderImageDimensions[1] * scale; + var iw = this.fluidbook.settings.sliderImageDimensions[0]; + var ih = this.fluidbook.settings.sliderImageDimensions[1]; + var ah = hh - r.top - r.height; + var scale = Math.min(r.width / iw, ah / ih); + var h = ih * scale; + var w = iw * scale; css = { - left: r.left, - top: (r.top + r.height) + ((hh - r.top - r.height - h) / 2), + left: r.left + ((r.width - w) / 2), + top: (r.top + r.height) + ((ah - h) / 2), transform: "scale(" + scale + ")" }; $("#sliderlinks").css(css); diff --git a/js/main.js b/js/main.js index 69a331fe..dfd70781 100644 --- a/js/main.js +++ b/js/main.js @@ -275,7 +275,11 @@ try { window.fluidbook.ready(); } - initEvents(); + if(this.fluidbook.secureOKDone) { + initEvents(); + }else{ + this.fluidbook.initEventsWhenSecureOK=true; + } } function initEvents() {