From 6eabefc024223f7e33131f9a01ba6725640dbc34 Mon Sep 17 00:00:00 2001 From: nuxsmin Date: Fri, 24 Mar 2017 01:11:39 +0100 Subject: [PATCH] * [MOD] Migrating to jQuery 3 * [MOD] Using promises to perform initialization --- inc/SP/Core/Upgrade/Upgrade.class.php | 18 ++++---- .../js/mdl-jquery-modal-dialog.js | 6 +-- .../js/mdl-jquery-modal-dialog.min.js | 4 +- js/app-main.js | 44 ++++-------------- js/app-main.min.js | 46 +++++++++---------- 5 files changed, 46 insertions(+), 72 deletions(-) diff --git a/inc/SP/Core/Upgrade/Upgrade.class.php b/inc/SP/Core/Upgrade/Upgrade.class.php index 62b87095..5a233d7c 100644 --- a/inc/SP/Core/Upgrade/Upgrade.class.php +++ b/inc/SP/Core/Upgrade/Upgrade.class.php @@ -149,17 +149,17 @@ class Upgrade if (PHP_INT_SIZE > 4) { return version_compare($version, $upgradeable) === -1; - } else { - list($version, $build) = explode('.', $version, 2); - list($upgradeVersion, $upgradeBuild) = explode('.', $upgradeable, 2); + } - $versionRes = (int)$version <= (int)$upgradeVersion; + list($version, $build) = explode('.', $version, 2); + list($upgradeVersion, $upgradeBuild) = explode('.', $upgradeable, 2); - if (($versionRes && (int)$upgradeBuild === 0) - || ($versionRes && (int)$build < (int)$upgradeBuild) - ) { - return true; - } + $versionRes = (int)$version <= (int)$upgradeVersion; + + if (($versionRes && (int)$upgradeBuild === 0) + || ($versionRes && (int)$build < (int)$upgradeBuild) + ) { + return true; } return false; diff --git a/inc/themes/material-blue/js/mdl-jquery-modal-dialog.js b/inc/themes/material-blue/js/mdl-jquery-modal-dialog.js index a509d379..a5bab50e 100644 --- a/inc/themes/material-blue/js/mdl-jquery-modal-dialog.js +++ b/inc/themes/material-blue/js/mdl-jquery-modal-dialog.js @@ -16,7 +16,7 @@ var mdlDialog = function () { if (options.hideOther) { // remove existing dialogs $('.dialog-container').remove(); - $(document).unbind("keyup.dialog"); + $(document).off("keyup.dialog"); } $('
').appendTo("body"); @@ -80,7 +80,7 @@ var mdlDialog = function () { dialog.click(function () { hideDialog(dialog); }); - $(document).bind("keyup.dialog", function (e) { + $(document).on("keyup.dialog", function (e) { if (e.which == 27) hideDialog(dialog); }); @@ -99,7 +99,7 @@ var mdlDialog = function () { } function hideDialog(dialog) { - $(document).unbind("keyup.dialog"); + $(document).off("keyup.dialog"); dialog.css({opacity: 0}); setTimeout(function () { dialog.remove(); diff --git a/inc/themes/material-blue/js/mdl-jquery-modal-dialog.min.js b/inc/themes/material-blue/js/mdl-jquery-modal-dialog.min.js index 3d8fc9b4..5beaadd1 100644 --- a/inc/themes/material-blue/js/mdl-jquery-modal-dialog.min.js +++ b/inc/themes/material-blue/js/mdl-jquery-modal-dialog.min.js @@ -1,7 +1,7 @@ var $jscomp={scope:{},findInternal:function(b,a,d){b instanceof String&&(b=String(b));for(var c=b.length,e=0;e
').appendTo("body"); +var mdlDialog=function(){function b(a){$(document).off("keyup.dialog");a.css({opacity:0});setTimeout(function(){a.remove()},400)}return{show:function(a){a=$.extend({id:"orrsDiag",title:null,text:null,neutral:!1,negative:!1,positive:!1,cancelable:!0,contentStyle:null,onLoaded:!1,hideOther:!0},a);a.hideOther&&($(".dialog-container").remove(),$(document).off("keyup.dialog"));$('
').appendTo("body"); var d=$("#"+a.id),c=d.find(".mdl-card");null!=a.contentStyle&&c.css(a.contentStyle);null!=a.title&&$("
"+a.title+"
").appendTo(c);null!=a.text&&$(a.text).appendTo(c);if(a.neutral||a.negative||a.positive){var e=$('
');if(a.neutral){a.neutral=$.extend({id:"neutral",title:"Neutral",onClick:null},a.neutral);var f=$('");f.click(function(c){c.preventDefault(); null!=a.neutral.onClick&&a.neutral.onClick(c)||b(d)});f.appendTo(e)}a.negative&&(a.negative=$.extend({id:"negative",title:"Cancel",onClick:null},a.negative),f=$('"),f.click(function(c){c.preventDefault();null!=a.negative.onClick&&a.negative.onClick(c)||b(d)}),f.appendTo(e));a.positive&&(a.positive=$.extend({id:"positive",title:"OK",onClick:null},a.positive),f=$('"),f.click(function(c){c.preventDefault();null!=a.positive.onClick&&a.positive.onClick(c)||b(d)}),f.appendTo(e));e.appendTo(c)}a.cancelable&&(d.click(function(){b(d)}),$(document).bind("keyup.dialog",function(a){27==a.which&&b(d)}),c.click(function(a){a.stopPropagation()}));setTimeout(function(){if(a.onLoaded)a.onLoaded();componentHandler.upgradeDom();d.css({opacity:1})},1)},hide:b}}; +a.positive.id+'">'+a.positive.title+""),f.click(function(c){c.preventDefault();null!=a.positive.onClick&&a.positive.onClick(c)||b(d)}),f.appendTo(e));e.appendTo(c)}a.cancelable&&(d.click(function(){b(d)}),$(document).on("keyup.dialog",function(a){27==a.which&&b(d)}),c.click(function(a){a.stopPropagation()}));setTimeout(function(){if(a.onLoaded)a.onLoaded();componentHandler.upgradeDom();d.css({opacity:1})},1)},hide:b}}; diff --git a/js/app-main.js b/js/app-main.js index ef2a8125..c319bb25 100644 --- a/js/app-main.js +++ b/js/app-main.js @@ -219,15 +219,15 @@ sysPass.Main = function () { appActions = sysPass.Actions(oProtected); appRequests = sysPass.Requests(oProtected); - getEnvironment(function () { + if (typeof sysPass.Theme === "function") { + appTheme = sysPass.Theme(oProtected); + } + + getEnvironment().then(function () { if (config.PK !== "") { bindPassEncrypt(); } - if (typeof sysPass.Theme === "function") { - appTheme = sysPass.Theme(oProtected); - } - if (config.CHECK_UPDATES === true) { appActions.main.getUpdates(); } @@ -245,7 +245,7 @@ sysPass.Main = function () { /** * Obtener las variables de entorno de sysPass */ - var getEnvironment = function (callback) { + var getEnvironment = function () { log.info("getEnvironment"); var path = window.location.pathname.split("/"); @@ -264,11 +264,11 @@ sysPass.Main = function () { var opts = appRequests.getRequestOpts(); opts.url = "/ajax/ajax_getEnvironment.php"; opts.method = "get"; - opts.async = false; + // opts.async = false; opts.useLoading = false; opts.data = {isAjax: 1}; - appRequests.getActionCall(opts, function (json) { + return appRequests.getActionCall(opts, function (json) { // config.APP_ROOT = json.app_root; config.LANG = json.lang; config.PK = json.pk; @@ -279,10 +279,6 @@ sysPass.Main = function () { config.DEBUG = json.debug; config.MAX_FILE_SIZE = parseInt(json.max_file_size); config.COOKIES_ENABLED = json.cookies_enabled; - - if (typeof callback === "function") { - callback(); - } }); }; @@ -548,27 +544,6 @@ sysPass.Main = function () { } }; - /** - * Detectar los imputs del tipo checkbox para generar botones - * - * @param container El contenedor donde buscar - */ - var checkboxDetect = function (container) { - $(container).find(".checkbox").button({ - icons: {primary: "ui-icon-transferthick-e-w"} - }).click( - function () { - var $this = $(this); - - if ($this.prop("checked") === true) { - $this.button("option", "label", config.LANG[40]); - } else { - $this.button("option", "label", config.LANG[41]); - } - } - ); - }; - /** * Encriptar el valor de un campo del formulario * @@ -669,7 +644,7 @@ sysPass.Main = function () { * @param $obj */ var evalAction = function (evalFn, $obj) { - console.info("Eval: " + evalFn); + log.info("Eval: " + evalFn); if (typeof evalFn === "function") { evalFn($obj); @@ -838,7 +813,6 @@ sysPass.Main = function () { passToClip: passToClip, passwordData: passwordData, outputResult: outputResult, - checkboxDetect: checkboxDetect, checkPassLevel: checkPassLevel, encryptFormValue: encryptFormValue, fileUpload: fileUpload, diff --git a/js/app-main.min.js b/js/app-main.min.js index 62bf7a02..29f4c00a 100644 --- a/js/app-main.min.js +++ b/js/app-main.min.js @@ -1,23 +1,23 @@ -var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,g,f){if(f.get||f.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[g]=f.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; -$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(a){return $jscomp.SYMBOL_PREFIX+(a||"")+$jscomp.symbolCounter_++}; -$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var g=0;return $jscomp.iteratorPrototype(function(){return g"+b.messages.join("
"));switch(a){case 0:k.ok(c);break;case 1:case 2:case 4:k.error(c);break;case 3:k.warn(c); -break;case 10:h.main.logout();break;case 100:k.ok(c);k.sticky(c);break;case 101:k.error(c);k.sticky(c);break;default:k.error(c)}}},html:{error:function(b){return'

Oops...
'+a.LANG[1]+"
"+b+"

"}}},x=function(b){l.info("getEnvironment");var e=window.location.pathname.split("/");a.APP_ROOT=window.location.protocol+"//"+window.location.host+function(){for(var b="",a=1;a<=e.length-2;a++)b+="/"+e[a];return b}();var c=m.getRequestOpts();c.url="/ajax/ajax_getEnvironment.php"; -c.method="get";c.async=!1;c.useLoading=!1;c.data={isAjax:1};m.getActionCall(c,function(e){a.LANG=e.lang;a.PK=e.pk;a.CHECK_UPDATES=e.check_updates;a.CRYPT.setPublicKey(e.pk);a.TIMEZONE=e.timezone;a.LOCALE=e.locale;a.DEBUG=e.debug;a.MAX_FILE_SIZE=parseInt(e.max_file_size);a.COOKIES_ENABLED=e.cookies_enabled;"function"===typeof b&&b()})},p={get:function(){l.info("sk:get");return $("#container").attr("data-sk")},set:function(b){l.info("sk:set");$("#container").attr("data-sk",b)}},y=function(){var b=$("#container"); -if(!b.hasClass("content-no-auto-resize")){var a=$("#content").height()+200;b.css("height",a)}},z=function(){$("html, body").animate({scrollTop:0},"slow")},A=function(a){for(var b=[],c,d=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),f=0;fa.MAX_FILE_SIZE)k.error(a.LANG[18]+"
"+q.name+" (Max: "+a.MAX_FILE_SIZE+")");else{var d;a:{d=q.name;for(var g=b.data("files-ext").toLowerCase().split(","),h=0;h<=g.length;h++)if(-1!==d.indexOf(g[h])){d=!0;break a}d=!1}d?f(e[c]):k.error(a.LANG[19]+ -"
"+q.name)}}},g=function(a){var b=$("#fileUploadForm");!1===a&&b.hide();a=b.find("input[type='file']");a.on("change",function(){"function"===typeof c.beforeSendAction&&c.beforeSendAction();d(this.files)});return a};window.File&&window.FileList&&window.FileReader?function(){l.info("fileUpload:init");var a=g(!1);b.on("dragover dragenter",function(a){l.info("fileUpload:drag");a.stopPropagation();a.preventDefault()});b.on("drop",function(a){l.info("fileUpload:drop");a.stopPropagation();a.preventDefault(); -"function"===typeof c.beforeSendAction&&c.beforeSendAction();d(a.originalEvent.dataTransfer.files)});b.on("click",function(){a.click()})}():g(!0);return c},D=function(a){l.info("checkPassLevel");g.passLength=a.val().length;v(zxcvbn(a.val()),a)},v=function(b,e){l.info("outputResult");var c=$(".passLevel-"+e.attr("id")),d=b.score;c.show();c.removeClass("weak good strong strongest");0===g.passLength?c.attr("title","").empty():g.passLengtha.secondary?a.calc=a.main/a.rel:a.main< -a.secondary&&(a.calc=a.main*a.rel);a.calc>a.secondary&&(a.main*=a.factor,g(a));return a},h=function(){f.main=b;f.secondary=c;var e=g(f);a.css({width:e.main,height:e.calc});d.width=e.main;d.height=e.calc},k=function(){f.main=c;f.secondary=b;var e=g(f);a.css({width:e.calc,height:e.main});d.width=e.calc;d.height=e.main};d.width>b?h():d.height>c&&(l.info("height"),k());return d},F=function(){var a=document.createElement("div");return function(b){b&&"string"===typeof b&&(b=b.replace(/]*>([\S\s]*?)<\/script>/gmi, -""),b=b.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi,""),a.innerHTML=b,b=a.textContent,a.textContent="");return b}}(),K=function(){return $.extend({log:l,config:function(){return a},appTheme:function(){return f},appActions:function(){return h},appTriggers:function(){return d},appRequests:function(){return m},evalAction:I,resizeImage:J},r)},L=function(){return{actions:function(){return h},triggers:function(){return d},theme:function(){return f},sk:p,msg:k,log:l,passToClip:0,passwordData:g,outputResult:v, -checkboxDetect:E,checkPassLevel:D,encryptFormValue:u,fileUpload:C,redirect:t,scrollUp:z,setContentSize:y}};(function(){l.info("init");r=L();n=K();d=sysPass.Triggers(n);h=sysPass.Actions(n);m=sysPass.Requests(n);x(function(){""!==a.PK&&H();"function"===typeof sysPass.Theme&&(f=sysPass.Theme(n));!0===a.CHECK_UPDATES&&h.main.getUpdates();!1===a.COOKIES_ENABLED&&k.sticky(a.LANG[64]);G();w();B()})})();return r}; +var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,g,f){if(f.get||f.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[g]=f.value)};$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; +$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+$jscomp.symbolCounter_++}; +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var b=$jscomp.global.Symbol.iterator;b||(b=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[b]&&$jscomp.defineProperty(Array.prototype,b,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(b){var g=0;return $jscomp.iteratorPrototype(function(){return g"+a.messages.join("
"));switch(b){case 0:k.ok(d);break;case 1:case 2:case 4:k.error(d);break;case 3:k.warn(d); +break;case 10:h.main.logout();break;case 100:k.ok(d);k.sticky(d);break;case 101:k.error(d);k.sticky(d);break;default:k.error(d)}}},html:{error:function(a){return'

Oops...
'+b.LANG[1]+"
"+a+"

"}}},x=function(){l.info("getEnvironment");var a=window.location.pathname.split("/");b.APP_ROOT=window.location.protocol+"//"+window.location.host+function(){for(var b="",e=1;e<=a.length-2;e++)b+="/"+a[e];return b}();var e=m.getRequestOpts();e.url="/ajax/ajax_getEnvironment.php"; +e.method="get";e.useLoading=!1;e.data={isAjax:1};return m.getActionCall(e,function(a){b.LANG=a.lang;b.PK=a.pk;b.CHECK_UPDATES=a.check_updates;b.CRYPT.setPublicKey(a.pk);b.TIMEZONE=a.timezone;b.LOCALE=a.locale;b.DEBUG=a.debug;b.MAX_FILE_SIZE=parseInt(a.max_file_size);b.COOKIES_ENABLED=a.cookies_enabled})},p={get:function(){l.info("sk:get");return $("#container").attr("data-sk")},set:function(a){l.info("sk:set");$("#container").attr("data-sk",a)}},y=function(){var a=$("#container");if(!a.hasClass("content-no-auto-resize")){var b= +$("#content").height()+200;a.css("height",b)}},z=function(){$("html, body").animate({scrollTop:0},"slow")},A=function(a){for(var b=[],d,c=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),f=0;fb.MAX_FILE_SIZE)k.error(b.LANG[18]+"
"+q.name+" (Max: "+b.MAX_FILE_SIZE+")");else{var c;a:{c=q.name;for(var g=a.data("files-ext").toLowerCase().split(","),h=0;h<=g.length;h++)if(-1!==c.indexOf(g[h])){c=!0;break a}c=!1}c?f(e[d]):k.error(b.LANG[19]+"
"+q.name)}}},g=function(a){var b= +$("#fileUploadForm");!1===a&&b.hide();a=b.find("input[type='file']");a.on("change",function(){"function"===typeof d.beforeSendAction&&d.beforeSendAction();c(this.files)});return a};window.File&&window.FileList&&window.FileReader?function(){l.info("fileUpload:init");var b=g(!1);a.on("dragover dragenter",function(a){l.info("fileUpload:drag");a.stopPropagation();a.preventDefault()});a.on("drop",function(a){l.info("fileUpload:drop");a.stopPropagation();a.preventDefault();"function"===typeof d.beforeSendAction&& +d.beforeSendAction();c(a.originalEvent.dataTransfer.files)});a.on("click",function(){b.click()})}():g(!0);return d},D=function(a){l.info("checkPassLevel");g.passLength=a.val().length;v(zxcvbn(a.val()),a)},v=function(a,e){l.info("outputResult");var d=$(".passLevel-"+e.attr("id")),c=a.score;d.show();d.removeClass("weak good strong strongest");0===g.passLength?d.attr("title","").empty():g.passLengtha.secondary?a.calc=a.main/a.rel:a.maina.secondary&&(a.main*=a.factor,g(a));return a},h=function(){f.main=b;f.secondary=d;var e=g(f);a.css({width:e.main,height:e.calc});c.width=e.main;c.height=e.calc},k=function(){f.main=d;f.secondary=b;var e=g(f); +a.css({width:e.calc,height:e.main});c.width=e.calc;c.height=e.main};c.width>b?h():c.height>d&&(l.info("height"),k());return c},E=function(){var a=document.createElement("div");return function(b){b&&"string"===typeof b&&(b=b.replace(/]*>([\S\s]*?)<\/script>/gmi,""),b=b.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi,""),a.innerHTML=b,b=a.textContent,a.textContent="");return b}}(),J=function(){return $.extend({log:l,config:function(){return b},appTheme:function(){return f},appActions:function(){return h}, +appTriggers:function(){return c},appRequests:function(){return m},evalAction:H,resizeImage:I},r)},K=function(){return{actions:function(){return h},triggers:function(){return c},theme:function(){return f},sk:p,msg:k,log:l,passToClip:0,passwordData:g,outputResult:v,checkPassLevel:D,encryptFormValue:u,fileUpload:C,redirect:t,scrollUp:z,setContentSize:y}};(function(){l.info("init");r=K();n=J();c=sysPass.Triggers(n);h=sysPass.Actions(n);m=sysPass.Requests(n);"function"===typeof sysPass.Theme&&(f=sysPass.Theme(n)); +x().then(function(){""!==b.PK&&G();!0===b.CHECK_UPDATES&&h.main.getUpdates();!1===b.COOKIES_ENABLED&&k.sticky(b.LANG[64]);F();w();B()})})();return r};