mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-06 16:36:59 +01:00
* [MOD] Migrating to jQuery 3
* [MOD] Using promises to perform initialization
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -16,7 +16,7 @@ var mdlDialog = function () {
|
||||
if (options.hideOther) {
|
||||
// remove existing dialogs
|
||||
$('.dialog-container').remove();
|
||||
$(document).unbind("keyup.dialog");
|
||||
$(document).off("keyup.dialog");
|
||||
}
|
||||
|
||||
$('<div id="' + options.id + '" class="dialog-container"><div class="mdl-card mdl-shadow--16dp" id="' + options.id + '_content"></div></div>').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();
|
||||
|
||||
@@ -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<c;e++){var f=b[e];if(a.call(d,f,e,b))return{i:e,v:f}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,a,d){if(d.get||d.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[a]=d.value)};
|
||||
$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,a,d,c){if(a){d=$jscomp.global;b=b.split(".");for(c=0;c<b.length-1;c++){var e=b[c];e in d||(d[e]={});d=d[e]}b=b[b.length-1];c=d[b];a=a(c);a!=c&&null!=a&&$jscomp.defineProperty(d,b,{configurable:!0,writable:!0,value:a})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6-impl","es3");
|
||||
var mdlDialog=function(){function b(a){$(document).unbind("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).unbind("keyup.dialog"));$('<div id="'+a.id+'" class="dialog-container"><div class="mdl-card mdl-shadow--16dp" id="'+a.id+'_content"></div></div>').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"));$('<div id="'+a.id+'" class="dialog-container"><div class="mdl-card mdl-shadow--16dp" id="'+a.id+'_content"></div></div>').appendTo("body");
|
||||
var d=$("#"+a.id),c=d.find(".mdl-card");null!=a.contentStyle&&c.css(a.contentStyle);null!=a.title&&$("<header>"+a.title+"</header>").appendTo(c);null!=a.text&&$(a.text).appendTo(c);if(a.neutral||a.negative||a.positive){var e=$('<div class="mdl-card__actions dialog-button-bar"></div>');if(a.neutral){a.neutral=$.extend({id:"neutral",title:"Neutral",onClick:null},a.neutral);var f=$('<button class="mdl-button mdl-js-button mdl-js-ripple-effect" id="'+a.neutral.id+'">'+a.neutral.title+"</button>");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=$('<button class="mdl-button mdl-js-button mdl-js-ripple-effect" id="'+a.negative.id+'">'+a.negative.title+"</button>"),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=$('<button class="mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect" id="'+
|
||||
a.positive.id+'">'+a.positive.title+"</button>"),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+"</button>"),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}};
|
||||
|
||||
@@ -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,
|
||||
|
||||
46
js/app-main.min.js
vendored
46
js/app-main.min.js
vendored
@@ -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<a.length?{done:!1,value:a[g++]}:{done:!0}})};
|
||||
$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(a,g){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var f=0,d={next:function(){if(f<a.length){var h=f++;return{value:g(h,a[h]),done:!1}}d.next=function(){return{done:!0,value:void 0}};return d.next()}};d[Symbol.iterator]=function(){return d};return d};
|
||||
$jscomp.polyfill=function(a,g,f,d){if(g){f=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var h=a[d];h in f||(f[h]={});f=f[h]}a=a[a.length-1];d=f[a];g=g(d);g!=d&&null!=g&&$jscomp.defineProperty(f,a,{configurable:!0,writable:!0,value:g})}};$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6-impl","es3");
|
||||
$jscomp.findInternal=function(a,g,f){a instanceof String&&(a=String(a));for(var d=a.length,h=0;h<d;h++){var m=a[h];if(g.call(f,m,h,a))return{i:h,v:m}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,f){return $jscomp.findInternal(this,a,f).v}},"es6-impl","es3");
|
||||
sysPass.Main=function(){var a={APP_ROOT:"",LANG:[],PK:"",MAX_FILE_SIZE:1024,CRYPT:new JSEncrypt,CHECK_UPDATES:!1,TIMEZONE:"",LOCALE:"",DEBUG:"",COOKIES_ENABLED:!1},g={passLength:0,minPasswordLength:8,complexity:{chars:!0,numbers:!0,symbols:!0,uppercase:!0,numlength:12}},f={},d={},h={},m={},r={},n={},l={log:function(b){!0===a.DEBUG&&console.log(b)},info:function(b){!0===a.DEBUG&&console.info(b)},error:function(b){console.error(b)},warn:function(b){console.warn(b)},debug:function(b){!0===a.DEBUG&&console.debug(b)}};
|
||||
toastr.options={closeButton:!0,debug:!1,newestOnTop:!1,progressBar:!1,positionClass:"toast-top-center",preventDuplicates:!1,onclick:null,showDuration:"300",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"};var w=function(){l.info("setupCallbacks");var b=$("#container").data("page");if(""!==b&&"function"===typeof d.views[b])d.views[b]();0<$("footer").length&&d.views.footer();$("#btnBack").click(function(){t("index.php")});
|
||||
d.bodyHooks()},k={ok:function(b){toastr.success(b)},error:function(b){toastr.error(b)},warn:function(b){toastr.warning(b)},info:function(b){toastr.info(b)},sticky:function(b,e){var c={timeOut:0};"function"===typeof e&&(c.onHidden=e);toastr.warning(b,a.LANG[60],c)},out:function(b){if("object"===typeof b){var a=b.status,c=b.description;void 0!==b.messages&&0<b.messages.length&&(c=c+"<br>"+b.messages.join("<br>"));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'<p class="error round">Oops...<br>'+a.LANG[1]+"<br>"+b+"</p>"}}},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;f<d.length;f++)c=d[f].split("="),b.push(c[0]),b[c[0]]=c[1];return void 0!==a&&void 0!==b[a]?b[a]:b},B=function(){l.info("checkLogout");1===parseInt(A("logout"))&&k.sticky(a.LANG[61],function(){t("index.php")})},t=function(a){window.location.replace(a)},
|
||||
C=function(b){var e={actionId:b.data("action-id"),itemId:b.data("item-id"),sk:p.get()},c={requestDoneAction:"",setRequestData:function(a){$.extend(e,a)},getRequestData:function(){return e},beforeSendAction:"",url:""},f=function(a){if(void 0===c.url||""===c.url)return!1;var b=new FormData;b.append("inFile",a);b.append("isAjax",1);e.sk=p.get();Object.keys(e).forEach(function(a){b.append(a,e[a])});a=m.getRequestOpts();a.url=c.url;a.processData=!1;a.contentType=!1;a.data=b;m.getActionCall(a,function(a){var b=
|
||||
a.status;a=a.description;0===b?("function"===typeof c.requestDoneAction&&c.requestDoneAction(),k.ok(a)):10===b?h.main.logout():k.error(a)})},d=function(e){if(5<e.length)k.error(a.LANG[17]+" (Max: 5)");else for(var c=0;c<e.length;c++){var q=e[c];if(q.size/1E3>a.MAX_FILE_SIZE)k.error(a.LANG[18]+"<br>"+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]+
|
||||
"<br>"+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.passLength<g.minPasswordLength?c.attr("title",a.LANG[11]).addClass("weak"):
|
||||
0===d?c.attr("title",a.LANG[9]+" - "+b.feedback.warning).addClass("weak"):1===d||2===d?c.attr("title",a.LANG[8]+" - "+b.feedback.warning).addClass("good"):3===d?c.attr("title",a.LANG[7]).addClass("strong"):4===d&&c.attr("title",a.LANG[10]).addClass("strongest")},E=function(b){$(b).find(".checkbox").button({icons:{primary:"ui-icon-transferthick-e-w"}}).click(function(){var b=$(this);!0===b.prop("checked")?b.button("option","label",a.LANG[40]):b.button("option","label",a.LANG[41])})},u=function(b){l.info("encryptFormValue");
|
||||
var e=b.val();""!==e&&parseInt(b.attr("data-length"))!==e.length&&(e=a.CRYPT.encrypt(e),b.val(e),b.attr("data-length",e.length))},G=function(){l.info("initializeClipboard");if(clipboard.isSupported())$("body").on("click",".clip-pass-button",function(){var b=h.account.copypass($(this)).done(function(a){p.set(a.csrf)});clipboard.copy(b.responseJSON.data.accpass).then(function(){k.ok(a.LANG[45])},function(b){k.error(a.LANG[46])})}).on("click",".dialog-clip-button",function(){var b=$(this.dataset.clipboardTarget);
|
||||
clipboard.copy(b.text()).then(function(){$(".dialog-text").removeClass("dialog-clip-copy");b.addClass("dialog-clip-copy")},function(b){k.error(a.LANG[46])})}).on("click",".clip-pass-icon",function(){var b=$(this.dataset.clipboardTarget);clipboard.copy(F(b.val())).then(function(){k.ok(a.LANG[45])},function(b){k.error(a.LANG[46])})});else l.warn(a.LANG[65])},H=function(){l.info("bindPassEncrypt");$("body").on("blur",":input[type=password]",function(a){a=$(this);a.hasClass("passwordfield__no-pki")||
|
||||
u(a)}).on("keypress",":input[type=password]",function(a){13===a.keyCode&&(a.preventDefault(),a=$(this),u(a),a.closest("form").submit())})},I=function(a,e){console.info("Eval: "+a);if("function"===typeof a)a(e);else throw Error("Function not found: "+a);},J=function(a){l.info("resizeImage");var b=.9*$(window).width(),c=.9*$(window).height(),d={width:a.width(),height:a.height()},f={calc:0,main:0,secondary:0,factor:.9,rel:d.width/d.height},g=function(a){a.main>a.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(/<script[^>]*>([\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<b.length?{done:!1,value:b[g++]}:{done:!0}})};
|
||||
$jscomp.iteratorPrototype=function(b){$jscomp.initSymbolIterator();b={next:b};b[$jscomp.global.Symbol.iterator]=function(){return this};return b};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(b,g){$jscomp.initSymbolIterator();b instanceof String&&(b+="");var f=0,c={next:function(){if(f<b.length){var h=f++;return{value:g(h,b[h]),done:!1}}c.next=function(){return{done:!0,value:void 0}};return c.next()}};c[Symbol.iterator]=function(){return c};return c};
|
||||
$jscomp.polyfill=function(b,g,f,c){if(g){f=$jscomp.global;b=b.split(".");for(c=0;c<b.length-1;c++){var h=b[c];h in f||(f[h]={});f=f[h]}b=b[b.length-1];c=f[b];g=g(c);g!=c&&null!=g&&$jscomp.defineProperty(f,b,{configurable:!0,writable:!0,value:g})}};$jscomp.polyfill("Array.prototype.keys",function(b){return b?b:function(){return $jscomp.iteratorFromArray(this,function(b){return b})}},"es6-impl","es3");
|
||||
$jscomp.findInternal=function(b,g,f){b instanceof String&&(b=String(b));for(var c=b.length,h=0;h<c;h++){var m=b[h];if(g.call(f,m,h,b))return{i:h,v:m}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,f){return $jscomp.findInternal(this,b,f).v}},"es6-impl","es3");
|
||||
sysPass.Main=function(){var b={APP_ROOT:"",LANG:[],PK:"",MAX_FILE_SIZE:1024,CRYPT:new JSEncrypt,CHECK_UPDATES:!1,TIMEZONE:"",LOCALE:"",DEBUG:"",COOKIES_ENABLED:!1},g={passLength:0,minPasswordLength:8,complexity:{chars:!0,numbers:!0,symbols:!0,uppercase:!0,numlength:12}},f={},c={},h={},m={},r={},n={},l={log:function(a){!0===b.DEBUG&&console.log(a)},info:function(a){!0===b.DEBUG&&console.info(a)},error:function(a){console.error(a)},warn:function(a){console.warn(a)},debug:function(a){!0===b.DEBUG&&console.debug(a)}};
|
||||
toastr.options={closeButton:!0,debug:!1,newestOnTop:!1,progressBar:!1,positionClass:"toast-top-center",preventDuplicates:!1,onclick:null,showDuration:"300",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"};var w=function(){l.info("setupCallbacks");var a=$("#container").data("page");if(""!==a&&"function"===typeof c.views[a])c.views[a]();0<$("footer").length&&c.views.footer();$("#btnBack").click(function(){t("index.php")});
|
||||
c.bodyHooks()},k={ok:function(a){toastr.success(a)},error:function(a){toastr.error(a)},warn:function(a){toastr.warning(a)},info:function(a){toastr.info(a)},sticky:function(a,e){var d={timeOut:0};"function"===typeof e&&(d.onHidden=e);toastr.warning(a,b.LANG[60],d)},out:function(a){if("object"===typeof a){var b=a.status,d=a.description;void 0!==a.messages&&0<a.messages.length&&(d=d+"<br>"+a.messages.join("<br>"));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'<p class="error round">Oops...<br>'+b.LANG[1]+"<br>"+a+"</p>"}}},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;f<c.length;f++)d=c[f].split("="),b.push(d[0]),b[d[0]]=d[1];return void 0!==a&&void 0!==b[a]?b[a]:b},B=function(){l.info("checkLogout");1===parseInt(A("logout"))&&k.sticky(b.LANG[61],function(){t("index.php")})},t=function(a){window.location.replace(a)},C=function(a){var e={actionId:a.data("action-id"),
|
||||
itemId:a.data("item-id"),sk:p.get()},d={requestDoneAction:"",setRequestData:function(a){$.extend(e,a)},getRequestData:function(){return e},beforeSendAction:"",url:""},f=function(a){if(void 0===d.url||""===d.url)return!1;var b=new FormData;b.append("inFile",a);b.append("isAjax",1);e.sk=p.get();Object.keys(e).forEach(function(a){b.append(a,e[a])});a=m.getRequestOpts();a.url=d.url;a.processData=!1;a.contentType=!1;a.data=b;m.getActionCall(a,function(a){var b=a.status;a=a.description;0===b?("function"===
|
||||
typeof d.requestDoneAction&&d.requestDoneAction(),k.ok(a)):10===b?h.main.logout():k.error(a)})},c=function(e){if(5<e.length)k.error(b.LANG[17]+" (Max: 5)");else for(var d=0;d<e.length;d++){var q=e[d];if(q.size/1E3>b.MAX_FILE_SIZE)k.error(b.LANG[18]+"<br>"+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]+"<br>"+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.passLength<g.minPasswordLength?d.attr("title",b.LANG[11]).addClass("weak"):0===c?d.attr("title",b.LANG[9]+" - "+
|
||||
a.feedback.warning).addClass("weak"):1===c||2===c?d.attr("title",b.LANG[8]+" - "+a.feedback.warning).addClass("good"):3===c?d.attr("title",b.LANG[7]).addClass("strong"):4===c&&d.attr("title",b.LANG[10]).addClass("strongest")},u=function(a){l.info("encryptFormValue");var e=a.val();""!==e&&parseInt(a.attr("data-length"))!==e.length&&(e=b.CRYPT.encrypt(e),a.val(e),a.attr("data-length",e.length))},F=function(){l.info("initializeClipboard");if(clipboard.isSupported())$("body").on("click",".clip-pass-button",
|
||||
function(){var a=h.account.copypass($(this)).done(function(a){p.set(a.csrf)});clipboard.copy(a.responseJSON.data.accpass).then(function(){k.ok(b.LANG[45])},function(a){k.error(b.LANG[46])})}).on("click",".dialog-clip-button",function(){var a=$(this.dataset.clipboardTarget);clipboard.copy(a.text()).then(function(){$(".dialog-text").removeClass("dialog-clip-copy");a.addClass("dialog-clip-copy")},function(a){k.error(b.LANG[46])})}).on("click",".clip-pass-icon",function(){var a=$(this.dataset.clipboardTarget);
|
||||
clipboard.copy(E(a.val())).then(function(){k.ok(b.LANG[45])},function(a){k.error(b.LANG[46])})});else l.warn(b.LANG[65])},G=function(){l.info("bindPassEncrypt");$("body").on("blur",":input[type=password]",function(a){a=$(this);a.hasClass("passwordfield__no-pki")||u(a)}).on("keypress",":input[type=password]",function(a){13===a.keyCode&&(a.preventDefault(),a=$(this),u(a),a.closest("form").submit())})},H=function(a,b){l.info("Eval: "+a);if("function"===typeof a)a(b);else throw Error("Function not found: "+
|
||||
a);},I=function(a){l.info("resizeImage");var b=.9*$(window).width(),d=.9*$(window).height(),c={width:a.width(),height:a.height()},f={calc:0,main:0,secondary:0,factor:.9,rel:c.width/c.height},g=function(a){a.main>a.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=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(/<script[^>]*>([\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};
|
||||
|
||||
Reference in New Issue
Block a user