mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-03 07:04:07 +01:00
20 lines
8.5 KiB
JavaScript
20 lines
8.5 KiB
JavaScript
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,d,e){a instanceof String&&(a=String(a));for(var b=a.length,c=0;c<b;c++){var f=a[c];if(d.call(e,f,c,a))return{i:c,v:f}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,d,e){a!=Array.prototype&&a!=Object.prototype&&(a[d]=e.value)};
|
|
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,d,e,b){if(d){e=$jscomp.global;a=a.split(".");for(b=0;b<a.length-1;b++){var c=a[b];c in e||(e[c]={});e=e[c]}a=a[a.length-1];b=e[a];d=d(b);d!=b&&null!=d&&$jscomp.defineProperty(e,a,{configurable:!0,writable:!0,value:d})}};
|
|
$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,e){return $jscomp.findInternal(this,a,e).v}},"es6","es3");$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(d){return $jscomp.SYMBOL_PREFIX+(d||"")+a++}}();
|
|
$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.initSymbolAsyncIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.asyncIterator;a||(a=$jscomp.global.Symbol.asyncIterator=$jscomp.global.Symbol("asyncIterator"));$jscomp.initSymbolAsyncIterator=function(){}};$jscomp.arrayIterator=function(a){var d=0;return $jscomp.iteratorPrototype(function(){return d<a.length?{done:!1,value:a[d++]}:{done:!0}})};
|
|
$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.iteratorFromArray=function(a,d){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var e=0,b={next:function(){if(e<a.length){var c=e++;return{value:d(c,a[c]),done:!1}}b.next=function(){return{done:!0,value:void 0}};return b.next()}};b[Symbol.iterator]=function(){return b};return b};
|
|
$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6","es3");
|
|
sysPass.Util=function(a){var d={config:{passLength:0,minPasswordLength:12,complexity:{chars:!0,numbers:!0,symbols:!0,uppercase:!0,numlength:12},charset:{special:"!\"#$%&'*+,./:;=?@\\^`|~[]{}()<>",number:"1234567890",char:"abcdefghijklmnopqrstuvwxyz"}},random:function(b){a.info("password:random");var c="";this.config.complexity.symbols&&(c+=this.config.charset.special);this.config.complexity.numbers&&(c+=this.config.charset.number);this.config.complexity.chars&&(c+=this.config.charset.char,this.config.complexity.uppercase&&
|
|
(c+=this.config.charset.char.toUpperCase()));var f=function(){for(var a="",b=0;b++<d.config.complexity.numlength;)a+=c.charAt(Math.floor(Math.random()*(c.length-1)));return a},m=function(b){a.info("password:random:checkComplexity");b=b.split("");if(d.config.complexity.symbols){var c=b.some(function(a){return 0<d.config.charset.special.indexOf(a)});if(!1===c)return c}if(d.config.complexity.numbers&&(c=b.some(function(a){return 0<d.config.charset.number.indexOf(a)}),!1===c)||d.config.complexity.chars&&
|
|
(c=b.some(function(a){return 0<d.config.charset.char.indexOf(a)}),!1===c))return c;if(d.config.complexity.chars&&d.config.complexity.uppercase){var f=d.config.charset.char.toUpperCase();b=b.some(function(a){return 0<f.indexOf(a)});if(!1===b)return b}return!0},e="";do e=f();while(!m(e));this.config.passLength=e.length;"function"===typeof b&&b(e,zxcvbn(e))},output:function(b,c){a.info("password:outputResult");c=$("#password-level-"+c.attr("id"));var f=b.score;c.removeClass("weak good strong strongest");
|
|
0===this.config.passLength?c.attr("data-level-msg",""):this.config.passLength<this.config.minPasswordLength?c.attr("data-level-msg",sysPassApp.config.LANG[11]).addClass("weak"):0===f?c.attr("data-level-msg",sysPassApp.config.LANG[9]+" - "+b.feedback.warning).addClass("weak"):1===f||2===f?c.attr("data-level-msg",sysPassApp.config.LANG[8]+" - "+b.feedback.warning).addClass("good"):3===f?c.attr("data-level-msg",sysPassApp.config.LANG[7]).addClass("strong"):4===f&&c.attr("data-level-msg",sysPassApp.config.LANG[10]).addClass("strongest")},
|
|
checkLevel:function(b){a.info("password:checkPassLevel");this.config.passLength=b.val().length;d.output(zxcvbn(b.val()),b)}},e={state:{lastHash:""},send:function(b,c,f){a.info("sendNotification");if(!("Notification"in window))a.info("Notifications not supported");else if(f!==e.state.lastHash){var d=function(){a.info("sendNotification:fireMessage");e.state.lastHash=f;var d={};void 0!==c&&(d.body=c);new Notification(b,d)};"granted"===Notification.permission?d():"denied"!==Notification.permission&&Notification.requestPermission().then(function(b){"granted"===
|
|
b?d():a.info("Notifications disabled")})}}};return{decodeEntities:function(a){return $("<textarea />").html(a).text()},resizeImage:function(a){var b=.9*$(window).width(),d=.9*$(window).height(),e={width:a.width(),height:a.height()},g={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(){g.main=b;g.secondary=d;var c=h(g);a.css({width:c.main,
|
|
height:c.calc});e.width=c.main;e.height=c.calc},l=function(){g.main=d;g.secondary=b;var c=h(g);a.css({width:c.calc,height:c.main});e.width=c.calc;e.height=c.main};e.width>b?k():e.height>d&&l();return e},fileUpload:function(b){var c=function(a){var b=$("#fileUploadForm");!1===a&&b.hide();a=b.find("input[type='file']");a.on("change",function(){"function"===typeof e.beforeSendAction&&e.beforeSendAction();h(this.files)});return a},d={actionId:b.data("action-id"),itemId:b.data("item-id"),sk:sysPassApp.sk.get()},
|
|
e={requestDoneAction:"",setRequestData:function(a){$.extend(d,a)},getRequestData:function(){return d},beforeSendAction:"",url:"",allowedMime:[]},g=function(a){if(void 0===e.url||""===e.url)return!1;var b=new FormData;b.append("inFile",a);b.append("isAjax",1);d.sk=sysPassApp.sk.get();Object.keys(d).forEach(function(a){b.append(a,d[a])});a=sysPassApp.requests.getRequestOpts();a.url=e.url;a.processData=!1;a.contentType=!1;a.data=b;sysPassApp.requests.getActionCall(a,function(a){var b=a.status;a=a.description;
|
|
0===b?("function"===typeof e.requestDoneAction&&e.requestDoneAction(),sysPassApp.msg.ok(a)):10===b?sysPassApp.appActions().main.logout():sysPassApp.msg.error(a)})},h=function(a){if(5<a.length)sysPassApp.msg.error(sysPassApp.config.LANG[17]+" (Max: 5)");else for(var b=0;b<a.length;b++){var c=a[b];if(c.size/1E3>sysPassApp.config.FILES.MAX_SIZE)sysPassApp.msg.error(sysPassApp.config.LANG[18]+"<br>"+c.name+" (Max: "+sysPassApp.config.FILES.MAX_SIZE+")");else{a:{var d=void 0;var f=c.type;if(""===f)d=!0;
|
|
else{for(d in e.allowedMime)if(-1!==f.indexOf(e.allowedMime[d])){d=!0;break a}d=!1}}d?g(a[b]):sysPassApp.msg.error(sysPassApp.config.LANG[19]+"<br>"+c.type)}}},k=function(){a.info("fileUpload:init");var d=c(!1);b.on("dragover dragenter",function(b){a.info("fileUpload:drag");b.stopPropagation();b.preventDefault()});b.on("drop",function(b){a.info("fileUpload:drop");b.stopPropagation();b.preventDefault();"function"===typeof e.beforeSendAction&&e.beforeSendAction();h(b.originalEvent.dataTransfer.files)});
|
|
b.on("click",function(){d.click()})};window.File&&window.FileList&&window.FileReader?k():c(!0);return e},scrollUp:function(){$("html, body").animate({scrollTop:0},"slow")},setContentSize:function(){var a=$("#container");a.hasClass("content-no-auto-resize")||a.css("height",$("#content").height()+200)},redirect:function(a){window.location.replace(a)},uniqueId:function(){var a=String.fromCharCode(Math.floor(25*Math.random()+65));do{var c=Math.floor(42*Math.random()+48);if(58>c||64<c)a+=String.fromCharCode(c)}while(32>
|
|
a.length);return a.toLowerCase()},getUrl:function(a,c){return a+"?"+Object.keys(c).map(function(a){return Array.isArray(c[a])?a+"="+c[a].join("/"):a+"="+c[a]}).join("&")},focus:function(b){a.debug("focus");b.find("input:not([id*=selectized]):visible:first").focus()},sendNotification:e.send,password:d,hash:{md5:function(a){return SparkMD5.hash(a,!1)}}}};
|