* [FIX] Force logout when copying password to clipboard and session has expired. Closes #700. Thanks to @jrfx85 for the feddback!

This commit is contained in:
nuxsmin
2017-08-18 12:31:16 +02:00
parent 0630fd6a64
commit 40a211d363
3 changed files with 38 additions and 30 deletions

View File

@@ -386,7 +386,7 @@ class Util
*/
public static function getVersion($retBuild = false, $normalized = false)
{
$build = 17081802;
$build = 17081803;
$version = [2, 1, 13];
if ($normalized === true) {

View File

@@ -652,17 +652,25 @@ sysPass.Main = function () {
$("body").on("click", ".clip-pass-button", function () {
var json = appActions.account.copypass($(this)).done(function (json) {
if (json.status !== 0) {
msg.out(json);
return false;
}
sk.set(json.csrf);
});
clipboard.copy(json.responseJSON.data.accpass).then(
function () {
msg.ok(config.LANG[45]);
},
function (err) {
msg.error(config.LANG[46]);
}
);
if (json !== false) {
clipboard.copy(json.responseJSON.data.accpass).then(
function () {
msg.ok(config.LANG[45]);
},
function (err) {
msg.error(config.LANG[46]);
}
);
}
}).on("click", ".dialog-clip-button", function () {
var $target = $(this.dataset.clipboardTarget);

42
js/app-main.min.js vendored
View File

@@ -1,24 +1,24 @@
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,f,e){if(e.get||e.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[f]=e.value)};$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,f,g){if(g.get||g.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[f]=g.value)};$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=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 f=0;return $jscomp.iteratorPrototype(function(){return f<b.length?{done:!1,value:b[f++]}:{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,f){$jscomp.initSymbolIterator();b instanceof String&&(b+="");var e=0,h={next:function(){if(e<b.length){var l=e++;return{value:f(l,b[l]),done:!1}}h.next=function(){return{done:!0,value:void 0}};return h.next()}};h[Symbol.iterator]=function(){return h};return h};
$jscomp.polyfill=function(b,f,e,h){if(f){e=$jscomp.global;b=b.split(".");for(h=0;h<b.length-1;h++){var l=b[h];l in e||(e[l]={});e=e[l]}b=b[b.length-1];h=e[b];f=f(h);f!=h&&null!=f&&$jscomp.defineProperty(e,b,{configurable:!0,writable:!0,value:f})}};$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,f,e){b instanceof String&&(b=String(b));for(var h=b.length,l=0;l<h;l++){var m=b[l];if(f.call(e,m,l,b))return{i:l,v:m}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,e){return $jscomp.findInternal(this,b,e).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,PLUGINS:[],LOGGEDIN:!1},f={passLength:0,minPasswordLength:8,complexity:{chars:!0,numbers:!0,symbols:!0,uppercase:!0,numlength:12}};Object.seal(f);var e={},h={},l={},m={},p={},q={},n={},g={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)}};Object.freeze(g);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 x=function(){g.info("setupCallbacks");var a=$("#container").data("page");if(""!==a&&"function"===typeof h.views[a])h.views[a]();0<$("footer").length&&
h.views.footer();$("#btnBack").click(function(){u("index.php")});h.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,c){var d={timeOut:0};"function"===typeof c&&(d.onHidden=c);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:l.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>"}}};Object.freeze(k);String.format||(String.format=function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,c){return"undefined"!=typeof b[c]?b[c]:a})});var y=function(){g.info("getEnvironment");
$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,f){$jscomp.initSymbolIterator();b instanceof String&&(b+="");var g=0,e={next:function(){if(g<b.length){var l=g++;return{value:f(l,b[l]),done:!1}}e.next=function(){return{done:!0,value:void 0}};return e.next()}};e[Symbol.iterator]=function(){return e};return e};
$jscomp.polyfill=function(b,f,g,e){if(f){g=$jscomp.global;b=b.split(".");for(e=0;e<b.length-1;e++){var l=b[e];l in g||(g[l]={});g=g[l]}b=b[b.length-1];e=g[b];f=f(e);f!=e&&null!=f&&$jscomp.defineProperty(g,b,{configurable:!0,writable:!0,value:f})}};$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,f,g){b instanceof String&&(b=String(b));for(var e=b.length,l=0;l<e;l++){var m=b[l];if(f.call(g,m,l,b))return{i:l,v:m}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,g){return $jscomp.findInternal(this,b,g).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,PLUGINS:[],LOGGEDIN:!1},f={passLength:0,minPasswordLength:8,complexity:{chars:!0,numbers:!0,symbols:!0,uppercase:!0,numlength:12}};Object.seal(f);var g={},e={},l={},m={},p={},q={},n={},k={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)}};Object.freeze(k);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 x=function(){k.info("setupCallbacks");var a=$("#container").data("page");if(""!==a&&"function"===typeof e.views[a])e.views[a]();0<$("footer").length&&
e.views.footer();$("#btnBack").click(function(){u("index.php")});e.bodyHooks()},h={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,c){var d={timeOut:0};"function"===typeof c&&(d.onHidden=c);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:h.ok(d);
break;case 1:case 2:case 4:h.error(d);break;case 3:h.warn(d);break;case 10:l.main.logout();break;case 100:h.ok(d);h.sticky(d);break;case 101:h.error(d);h.sticky(d);break;default:h.error(d)}}},html:{error:function(a){return'<p class="error round">Oops...<br>'+b.LANG[1]+"<br>"+a+"</p>"}}};Object.freeze(h);String.format||(String.format=function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,c){return"undefined"!=typeof b[c]?b[c]:a})});var y=function(){k.info("getEnvironment");
var a=window.location.pathname.split("/");b.APP_ROOT=window.location.protocol+"//"+window.location.host+function(){for(var b="",c=1;c<=a.length-2;c++)b+="/"+a[c];return b}();var c=m.getRequestOpts();c.url="/ajax/ajax_getEnvironment.php";c.method="get";c.useLoading=!1;c.data={isAjax:1};return m.getActionCall(c,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;b.PLUGINS=a.plugins;b.LOGGEDIN=a.loggedin;Object.freeze(b)})},r={current:"",get:function(){g.info("sk:get");return $("#container").attr("data-sk")},set:function(a){g.info("sk:set");$("#container").attr("data-sk",a);a.current=a}},z=function(){var a=$("#container");if(!a.hasClass("content-no-auto-resize")){var b=$("#content").height()+200;a.css("height",b)}},A=function(){$("html, body").animate({scrollTop:0},"slow")},B=function(a){for(var b=[],d,h=window.location.href.slice(window.location.href.indexOf("?")+
1).split("&"),g=0;g<h.length;g++)d=h[g].split("="),b.push(d[0]),b[d[0]]=d[1];return void 0!==a&&void 0!==b[a]?b[a]:b},C=function(){g.info("checkLogout");1===parseInt(B("logout"))&&k.sticky(b.LANG[61],function(){u("index.php")})},u=function(a){window.location.replace(a)},D=function(a){var c={actionId:a.data("action-id"),itemId:a.data("item-id"),sk:r.get()},d={requestDoneAction:"",setRequestData:function(a){$.extend(c,a)},getRequestData:function(){return c},beforeSendAction:"",url:""},h=function(a){if(void 0===
d.url||""===d.url)return!1;var b=new FormData;b.append("inFile",a);b.append("isAjax",1);c.sk=r.get();Object.keys(c).forEach(function(a){b.append(a,c[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?l.main.logout():k.error(a)})},f=function(c){if(5<c.length)k.error(b.LANG[17]+" (Max: 5)");else for(var d=0;d<c.length;d++){var t=
c[d];if(t.size/1E3>b.MAX_FILE_SIZE)k.error(b.LANG[18]+"<br>"+t.name+" (Max: "+b.MAX_FILE_SIZE+")");else{var g;a:{g=t.name;for(var f=a.data("files-ext").toLowerCase().split(","),e=0;e<=f.length;e++)if(-1!==g.indexOf(f[e])){g=!0;break a}g=!1}g?h(c[d]):k.error(b.LANG[19]+"<br>"+t.name)}}},e=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();f(this.files)});return a};window.File&&
window.FileList&&window.FileReader?function(){g.info("fileUpload:init");var b=e(!1);a.on("dragover dragenter",function(a){g.info("fileUpload:drag");a.stopPropagation();a.preventDefault()});a.on("drop",function(a){g.info("fileUpload:drop");a.stopPropagation();a.preventDefault();"function"===typeof d.beforeSendAction&&d.beforeSendAction();f(a.originalEvent.dataTransfer.files)});a.on("click",function(){b.click()})}():e(!0);return d},E=function(a){g.info("checkPassLevel");f.passLength=a.val().length;
w(zxcvbn(a.val()),a)},w=function(a,c){g.info("outputResult");var d=$(".passLevel-"+c.attr("id")),e=a.score;d.show();d.removeClass("weak good strong strongest");0===f.passLength?d.attr("title","").empty():f.passLength<f.minPasswordLength?d.attr("title",b.LANG[11]).addClass("weak"):0===e?d.attr("title",b.LANG[9]+" - "+a.feedback.warning).addClass("weak"):1===e||2===e?d.attr("title",b.LANG[8]+" - "+a.feedback.warning).addClass("good"):3===e?d.attr("title",b.LANG[7]).addClass("strong"):4===e&&d.attr("title",
b.LANG[10]).addClass("strongest")},v=function(a){g.info("encryptFormValue");var c=a.val();""!==c&&parseInt(a.attr("data-length"))!==c.length&&(c=b.CRYPT.encrypt(c),a.val(c),a.attr("data-length",c.length))},G=function(){g.info("initializeClipboard");if(clipboard.isSupported())$("body").on("click",".clip-pass-button",function(){var a=l.account.copypass($(this)).done(function(a){r.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(F(a.val())).then(function(){k.ok(b.LANG[45])},function(a){k.error(b.LANG[46])})});else g.warn(b.LANG[65])},H=function(){g.info("bindPassEncrypt");$("body").on("blur",":input[type=password]",
function(a){a=$(this);a.hasClass("passwordfield__no-pki")||v(a)}).on("keypress",":input[type=password]",function(a){13===a.keyCode&&(a.preventDefault(),a=$(this),v(a),a.closest("form").submit())})},I=function(a,b){g.info("Eval: "+a);if("function"===typeof a)a(b);else throw Error("Function not found: "+a);},J=function(a){g.info("resizeImage");var b=.9*$(window).width(),d=.9*$(window).height(),e={width:a.width(),height:a.height()},f={calc:0,main:0,secondary:0,factor:.9,rel:e.width/e.height},h=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,h(a));return a},k=function(){f.main=b;f.secondary=d;var c=h(f);a.css({width:c.main,height:c.calc});e.width=c.main;e.height=c.calc},l=function(){f.main=d;f.secondary=b;var c=h(f);a.css({width:c.calc,height:c.main});e.width=c.calc;e.height=c.main};e.width>b?k():e.height>d&&(g.info("height"),l());return e},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(){g.info("checkPluginUpdates");for(var a in p)"function"===typeof p[a].checkVersion&&p[a].checkVersion().then(function(a){0===a.status&&void 0!==a.data.plugin&&k.info(String.format(b.LANG[66],a.data.plugin,a.data.remoteVersion))})};return function(){g.info("init");q={actions:function(){return l},triggers:function(){return h},
theme:function(){return e},sk:r,msg:k,log:g,passwordData:f,outputResult:w,checkPassLevel:E,encryptFormValue:v,fileUpload:D,redirect:u,scrollUp:A,setContentSize:z};n=$.extend({log:g,config:function(){return b},appTheme:function(){return e},appActions:function(){return l},appTriggers:function(){return h},appRequests:function(){return m},appPlugins:function(){return p},evalAction:I,resizeImage:J},q);Object.freeze(q);Object.freeze(n);h=sysPass.Triggers(n);l=sysPass.Actions(n);m=sysPass.Requests(n);"function"===
typeof sysPass.Theme&&(e=sysPass.Theme(n));y().then(function(){""!==b.PK&&H();!0===b.CHECK_UPDATES&&l.main.getUpdates();!1===b.COOKIES_ENABLED&&k.sticky(b.LANG[64]);G();x();C();g.info("initPlugins");for(var a=0;a<b.PLUGINS.length;a++){var c=b.PLUGINS[a];"function"===typeof sysPass.Plugin[c]&&(p[c]=sysPass.Plugin[c](n))}Object.freeze(p);!0===b.LOGGEDIN&&!0===b.CHECK_UPDATES&&K()});return q}()};
b.COOKIES_ENABLED=a.cookies_enabled;b.PLUGINS=a.plugins;b.LOGGEDIN=a.loggedin;Object.freeze(b)})},r={current:"",get:function(){k.info("sk:get");return $("#container").attr("data-sk")},set:function(a){k.info("sk:set");$("#container").attr("data-sk",a);a.current=a}},z=function(){var a=$("#container");if(!a.hasClass("content-no-auto-resize")){var b=$("#content").height()+200;a.css("height",b)}},A=function(){$("html, body").animate({scrollTop:0},"slow")},B=function(a){for(var b=[],d,h=window.location.href.slice(window.location.href.indexOf("?")+
1).split("&"),e=0;e<h.length;e++)d=h[e].split("="),b.push(d[0]),b[d[0]]=d[1];return void 0!==a&&void 0!==b[a]?b[a]:b},C=function(){k.info("checkLogout");1===parseInt(B("logout"))&&h.sticky(b.LANG[61],function(){u("index.php")})},u=function(a){window.location.replace(a)},D=function(a){var c={actionId:a.data("action-id"),itemId:a.data("item-id"),sk:r.get()},d={requestDoneAction:"",setRequestData:function(a){$.extend(c,a)},getRequestData:function(){return c},beforeSendAction:"",url:""},e=function(a){if(void 0===
d.url||""===d.url)return!1;var b=new FormData;b.append("inFile",a);b.append("isAjax",1);c.sk=r.get();Object.keys(c).forEach(function(a){b.append(a,c[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(),h.ok(a)):10===b?l.main.logout():h.error(a)})},f=function(c){if(5<c.length)h.error(b.LANG[17]+" (Max: 5)");else for(var d=0;d<c.length;d++){var t=
c[d];if(t.size/1E3>b.MAX_FILE_SIZE)h.error(b.LANG[18]+"<br>"+t.name+" (Max: "+b.MAX_FILE_SIZE+")");else{var f;a:{f=t.name;for(var g=a.data("files-ext").toLowerCase().split(","),k=0;k<=g.length;k++)if(-1!==f.indexOf(g[k])){f=!0;break a}f=!1}f?e(c[d]):h.error(b.LANG[19]+"<br>"+t.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();f(this.files)});return a};window.File&&
window.FileList&&window.FileReader?function(){k.info("fileUpload:init");var b=g(!1);a.on("dragover dragenter",function(a){k.info("fileUpload:drag");a.stopPropagation();a.preventDefault()});a.on("drop",function(a){k.info("fileUpload:drop");a.stopPropagation();a.preventDefault();"function"===typeof d.beforeSendAction&&d.beforeSendAction();f(a.originalEvent.dataTransfer.files)});a.on("click",function(){b.click()})}():g(!0);return d},E=function(a){k.info("checkPassLevel");f.passLength=a.val().length;
w(zxcvbn(a.val()),a)},w=function(a,c){k.info("outputResult");var d=$(".passLevel-"+c.attr("id")),e=a.score;d.show();d.removeClass("weak good strong strongest");0===f.passLength?d.attr("title","").empty():f.passLength<f.minPasswordLength?d.attr("title",b.LANG[11]).addClass("weak"):0===e?d.attr("title",b.LANG[9]+" - "+a.feedback.warning).addClass("weak"):1===e||2===e?d.attr("title",b.LANG[8]+" - "+a.feedback.warning).addClass("good"):3===e?d.attr("title",b.LANG[7]).addClass("strong"):4===e&&d.attr("title",
b.LANG[10]).addClass("strongest")},v=function(a){k.info("encryptFormValue");var c=a.val();""!==c&&parseInt(a.attr("data-length"))!==c.length&&(c=b.CRYPT.encrypt(c),a.val(c),a.attr("data-length",c.length))},G=function(){k.info("initializeClipboard");if(clipboard.isSupported())$("body").on("click",".clip-pass-button",function(){var a=l.account.copypass($(this)).done(function(a){if(0!==a.status)return h.out(a),!1;r.set(a.csrf)});!1!==a&&clipboard.copy(a.responseJSON.data.accpass).then(function(){h.ok(b.LANG[45])},
function(a){h.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){h.error(b.LANG[46])})}).on("click",".clip-pass-icon",function(){var a=$(this.dataset.clipboardTarget);clipboard.copy(F(a.val())).then(function(){h.ok(b.LANG[45])},function(a){h.error(b.LANG[46])})});else k.warn(b.LANG[65])},H=function(){k.info("bindPassEncrypt");
$("body").on("blur",":input[type=password]",function(a){a=$(this);a.hasClass("passwordfield__no-pki")||v(a)}).on("keypress",":input[type=password]",function(a){13===a.keyCode&&(a.preventDefault(),a=$(this),v(a),a.closest("form").submit())})},I=function(a,b){k.info("Eval: "+a);if("function"===typeof a)a(b);else throw Error("Function not found: "+a);},J=function(a){k.info("resizeImage");var b=.9*$(window).width(),d=.9*$(window).height(),e={width:a.width(),height:a.height()},f={calc:0,main:0,secondary:0,
factor:.9,rel:e.width/e.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 c=g(f);a.css({width:c.main,height:c.calc});e.width=c.main;e.height=c.calc},l=function(){f.main=d;f.secondary=b;var c=g(f);a.css({width:c.calc,height:c.main});e.width=c.calc;e.height=c.main};e.width>b?h():e.height>d&&(k.info("height"),l());return e},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(){k.info("checkPluginUpdates");for(var a in p)"function"===typeof p[a].checkVersion&&p[a].checkVersion().then(function(a){0===a.status&&void 0!==a.data.plugin&&h.info(String.format(b.LANG[66],a.data.plugin,a.data.remoteVersion))})};return function(){k.info("init");q={actions:function(){return l},
triggers:function(){return e},theme:function(){return g},sk:r,msg:h,log:k,passwordData:f,outputResult:w,checkPassLevel:E,encryptFormValue:v,fileUpload:D,redirect:u,scrollUp:A,setContentSize:z};n=$.extend({log:k,config:function(){return b},appTheme:function(){return g},appActions:function(){return l},appTriggers:function(){return e},appRequests:function(){return m},appPlugins:function(){return p},evalAction:I,resizeImage:J},q);Object.freeze(q);Object.freeze(n);e=sysPass.Triggers(n);l=sysPass.Actions(n);
m=sysPass.Requests(n);"function"===typeof sysPass.Theme&&(g=sysPass.Theme(n));y().then(function(){""!==b.PK&&H();!0===b.CHECK_UPDATES&&l.main.getUpdates();!1===b.COOKIES_ENABLED&&h.sticky(b.LANG[64]);G();x();C();k.info("initPlugins");for(var a=0;a<b.PLUGINS.length;a++){var c=b.PLUGINS[a];"function"===typeof sysPass.Plugin[c]&&(p[c]=sysPass.Plugin[c](n))}Object.freeze(p);!0===b.LOGGEDIN&&!0===b.CHECK_UPDATES&&K()});return q}()};