var sysPass=sysPass||{};sysPass.createNS=function(d){var e=d.split(".");var c=sysPass;if(e[0]==="sysPass"){e=e.slice(1)}for(var a=0;a105&&event.keyCode<123))){return}if(lenTxtSearch<3&&continous===1&&lenTxtSearch>window.lastlen&&event.keyCode!==13){return}window.lastlen=lenTxtSearch;$("#frmSearch").find('input[name="start"]').val(0);doSearch()};var searchSort=function(skey,start,dir){if(typeof skey==="undefined"||typeof start==="undefined"){return false}$("#frmSearch").find('input[name="skey"]').val(skey);$("#frmSearch").find('input[name="sorder"]').val(dir);$("#frmSearch").find('input[name="start"]').val(start);doSearch()};var doSearch=function(){var frmData=$("#frmSearch").serialize();$.ajax({type:"POST",dataType:"html",url:APP_ROOT+"/ajax/ajax_search.php",data:frmData,success:function(response){$("#resBuscar").html(response);$("#resBuscar").css("max-height",$("html").height()-windowAdjustSize)},error:function(){$("#resBuscar").html(resMsg("nofancyerror"))},complete:function(){sysPassUtil.hideLoading();scrollUp()}})};var showSearchOrder=function(){if(order.key){$("#search-sort-"+order.key).addClass("filterOn");if(order.dir===0){$("#search-sort-"+order.key).append('
')}else{$("#search-sort-"+order.key).append('
')}}};var navLog=function(start,current){if(typeof start==="undefined"){return false}$.ajax({type:"POST",dataType:"html",url:APP_ROOT+"/ajax/ajax_eventlog.php",data:{start:start,current:current},success:function(response){$("#content").html(response)},error:function(){$("#content").html(resMsg("nofancyerror"))},complete:function(){sysPassUtil.hideLoading();scrollUp()}})};var viewPass=function(id,show,history){$.ajax({type:"POST",url:APP_ROOT+"/ajax/ajax_viewpass.php",dataType:"json",async:false,data:{accountid:id,full:show,isHistory:history,isAjax:1},success:function(json){if(json.status===10){doLogout();return}if(show===false||show===0){$("#clip-pass-text").html(json.accpass);return}$("").dialog({modal:true,title:LANG[47],width:"auto",open:function(){var thisDialog=$(this);var content;var pass="";var clipboardUserButton='";var clipboardPassButton='";var useImage=json.useimage;var user=''+json.acclogin+"
";if(json.status===0){if(useImage===0){pass=''+json.accpass+"
"}else{pass='
';clipboardPassButton=""}content=user+pass+''+clipboardUserButton+clipboardPassButton+"
"}else{content=''+json.description+"";thisDialog.dialog("option","buttons",[{text:"Ok",icons:{primary:"ui-icon-close"},click:function(){thisDialog.dialog("close")}}])}thisDialog.html(content);thisDialog.dialog("option","position","center");$(this).parent().on("mouseleave",function(){clearTimeout(timeout);timeout=setTimeout(function(){thisDialog.dialog("close")},30000)})},close:function(){clearTimeout(timeout);$(this).dialog("destroy")}})}})};var getUrlVars=function(){var vars=[],hash;var hashes=window.location.href.slice(window.location.href.indexOf("?")+1).split("&");for(var i=0;i"+LANG[13]+"
";resMsg("error",txt)}}});return false};var doLogout=function(){var url=window.location.search;if(url.length>0){location.href="index.php"+url+"&logout=1"}else{location.href="index.php?logout=1"}};var checkLogout=function(){var session=getUrlVars()["session"];if(session===0){resMsg("warn",LANG[2],"","location.search = ''")}};var redirect=function(url){location.href=url};var saveAccount=function(frm){var data=$("#"+frm).serialize();var id=$('input[name="accountid"]').val();var action=$('input[name="next"]').val();$.ajax({type:"POST",dataType:"json",url:APP_ROOT+"/ajax/ajax_accountSave.php",data:data,success:function(json){var status=json.status;var description=json.description;if(status===0){resMsg("ok",description);if(action&&id){doAction(action,1,id)}else{if(action){doAction(action,1)}}}else{if(status===10){doLogout()}else{resMsg("error",description)}}},error:function(jqXHR,textStatus,errorThrown){var txt=LANG[1]+""+errorThrown+textStatus+"
";resMsg("error",txt)}})};var delAccount=function(id,action,sk){var data={accountid:id,actionId:action,sk:sk};var atext='";var url="/ajax/ajax_accountSave.php";alertify.okBtn(LANG[43]).cancelBtn(LANG[44]).confirm(atext,function(e){sendAjax(data,url)},function(e){e.preventDefault();alertify.error(LANG[44])})};var sendRequest=function(){var url="/ajax/ajax_sendRequest.php";var data=$("#frmRequestModify").serialize();sendAjax(data,url)};var configMgmt=function(action,obj){var url;switch(action){case"config":url="/ajax/ajax_configSave.php";break;case"export":url="/ajax/ajax_backup.php";break;case"import":url="/ajax/ajax_migrate.php";break;case"preferences":url="/ajax/ajax_userPrefsSave.php";break;default:return}var data=$(obj).serialize();sendAjax(data,url)};var downFile=function(id,sk,action){var data={fileId:id,sk:sk,action:action};if(action==="view"){$.ajax({type:"POST",cache:false,url:APP_ROOT+"/ajax/ajax_files.php",data:data,success:function(response){if(response){$.fancybox(response,{padding:[10,10,10,10]});setTimeout(function(){$.fancybox.update()},1000)}else{resMsg("error",LANG[14])}}})}else{if(action==="download"){$.fileDownload(APP_ROOT+"/ajax/ajax_files.php",{httpMethod:"POST",data:data})}}};var getFiles=function(id,isDel,sk){var data={id:id,del:isDel,sk:sk};$.ajax({type:"GET",cache:false,url:APP_ROOT+"/ajax/ajax_getFiles.php",data:data,success:function(response){$("#downFiles").html(response)}})};var delFile=function(id,sk,accid){var atext='";alertify.okBtn(LANG[43]).cancelBtn(LANG[44]).confirm(atext,function(e){var data={fileId:id,action:"delete",sk:sk};$.post(APP_ROOT+"/ajax/ajax_files.php",data,function(data){resMsg("ok",data);$("#downFiles").load(APP_ROOT+"/ajax/ajax_getFiles.php?id="+accid+"&del=1&isAjax=1&sk="+sk)})},function(e){e.preventDefault();alertify.error(LANG[44])})};var fileUpload=function(opts){var options={targetId:"",url:""};var requestDoneAction,requestData={},beforeSendAction;var setFn={setRequestDoneAction:function(a){requestDoneAction=a},setRequestData:function(d){requestData=d},setBeforeSendAction:function(a){beforeSendAction=a}};options=opts;if(typeof options.targetId==="undefined"||options.targetId===""){return setFn}var dropzone=document.getElementById(options.targetId);var sendFile=function(file){if(typeof options.url==="undefined"||options.url===""){return false}var fd=new FormData();fd.append("inFile",file);fd.append("isAjax",1);Object.keys(requestData).forEach(function(key){fd.append(key,requestData[key])});$.ajax({type:"POST",dataType:"json",cache:false,processData:false,contentType:false,url:APP_ROOT+options.url,data:fd,success:function(json){var status=json.status;var description=json.description;if(status===0){if(typeof requestDoneAction==="function"){requestDoneAction()}resMsg("ok",description)}else{if(status===10){doLogout()}else{resMsg("error",description)}}},error:function(jqXHR,textStatus,errorThrown){var txt=LANG[1]+""+errorThrown+textStatus+"
";resMsg("error",txt)}})};var checkFileSize=function(size){return(size/1000>MAX_FILE_SIZE)};var checkFileExtension=function(name){var file_exts_ok=dropzone.getAttribute("data-files-ext").toLowerCase().split(",");for(var i=0;i<=file_exts_ok.length;i++){if(name.indexOf(file_exts_ok[i])!==-1){return true}}return false};var handleFiles=function(filesArray){if(filesArray.length>5){resMsg("error",LANG[17]+" (Max: 5)");return}for(var i=0;i"+file.name+" (Max: "+MAX_FILE_SIZE+")")}else{if(!checkFileExtension(file.name)){resMsg("error",LANG[19]+"
"+file.name)}else{sendFile(filesArray[i])}}}};var init=function(){dropzone.ondragover=dropzone.ondragenter=function(event){event.stopPropagation();event.preventDefault()};dropzone.ondrop=function(event){event.stopPropagation();event.preventDefault();if(typeof beforeSendAction==="function"){beforeSendAction()}handleFiles(event.dataTransfer.files)};var fallback=initForm(false);dropzone.onclick=function(){fallback.click()}};var initForm=function(display){var form=document.getElementById("fileUploadForm");var formTags=form.getElementsByTagName("input");form.style.display=(display===false)?"none":"";if(formTags[0].type==="file"){formTags[0].addEventListener("change",function(){if(typeof beforeSendAction==="function"){beforeSendAction()}handleFiles(this.files)},false)}return formTags[0]};if(window.File&&window.FileList&&window.FileReader){init()}else{initForm(true)}return setFn};var sendAjax=function(data,url){$.ajax({type:"POST",dataType:"json",url:APP_ROOT+url,data:data,success:function(json){var status=json.status;var description=json.description;var action=json.action;switch(status){case 0:$.fancybox.close();resMsg("ok",description,undefined,action);break;case 1:$.fancybox.close();$(":input[type=password]").val("");resMsg("error",description,undefined,action);break;case 2:$("#resFancyAccion").html(''+description+"").show();break;case 3:$.fancybox.close();resMsg("warn",description,undefined,action);break;case 10:doLogout();break;default:return}},error:function(jqXHR,textStatus,errorThrown){var txt=LANG[1]+""+errorThrown+textStatus+"
";resMsg("error",txt)}})};var usrUpdPass=function(object,actionId,sk){var userId=$(object).attr("data-itemid");var data={userId:userId,actionId:actionId,sk:sk,isAjax:1};$.ajax({type:"GET",cache:false,url:APP_ROOT+"/ajax/ajax_usrpass.php",data:data,success:function(data){if(data.length===0){doLogout()}else{$.fancybox(data,{padding:0})}}})};var appMgmtData=function(obj,actionId,sk){var itemId=$(obj).attr("data-itemid");var activeTab=$(obj).attr("data-activetab");var data={itemId:itemId,actionId:actionId,sk:sk,activeTab:activeTab,isAjax:1};var url=APP_ROOT+"/ajax/ajax_appMgmtData.php";$.ajax({type:"POST",dataType:"html",url:url,data:data,success:function(response){$.fancybox(response,{padding:[0,10,10,10]})},error:function(jqXHR,textStatus,errorThrown){var txt=LANG[1]+""+errorThrown+textStatus+"
";resMsg("error",txt)}})};var appMgmtDelete=function(obj,actionId,sk){var itemId=$(obj).attr("data-itemid");var activeTab=$(obj).attr("data-activetab");var nextActionId=$(obj).attr("data-nextactionid");var atext='";var url="/ajax/ajax_appMgmtSave.php";var data={itemId:itemId,actionId:actionId,sk:sk,activeTab:activeTab,onCloseAction:nextActionId};alertify.okBtn(LANG[43]).cancelBtn(LANG[44]).confirm(atext,function(e){sendAjax(data,url)},function(e){e.preventDefault();alertify.error(LANG[44])})};var appMgmtSave=function(frmId){var url="/ajax/ajax_appMgmtSave.php";var data=$("#"+frmId).serialize();sendAjax(data,url)};var checkUpds=function(){$.ajax({type:"GET",dataType:"html",url:APP_ROOT+"/ajax/ajax_checkUpds.php",timeout:10000,success:function(response){$("#updates").html(response);if(typeof componentHandler!=="undefined"){componentHandler.upgradeDom()}},error:function(jqXHR,textStatus,errorThrown){$("#updates").html("!")}})};var clearEventlog=function(sk){var atext='";alertify.okBtn(LANG[43]).cancelBtn(LANG[44]).confirm(atext,function(e){var data={clear:1,sk:sk,isAjax:1};var url="/ajax/ajax_eventlog.php";sendAjax(data,url)},function(e){e.preventDefault();alertify.error(LANG[44])})};var showOptional=function(me){$(me).hide();var actions=$(me).parent().children(".actions-optional");actions.show(250)};var getTime=function(){var t=new Date();return t.getTime()};var checkPassLevel=function(password,dst){var level=zxcvbn(password);outputResult(level.score,dst)};var outputResult=function(level,dstId){var complexity,selector=".passLevel-"+dstId;complexity=$(selector);complexity.removeClass("weak good strong strongest");if(passwordData.passLength===0){complexity.attr("title","").empty()}else{if(passwordData.passLength");switch(type){case"ok":alertify.success(txt);break;case"error":alertify.error(txt);break;case"warn":alertify.log(txt);break;case"nofancyerror":html='Oops...
'+LANG[1]+"
"+txt+"
";return html;default:alertify.error(txt);break}if(typeof action!=="undefined"){eval(action)}};var checkLdapConn=function(formId){var form="#frmLdap";var ldapServer=$(form).find("[name=ldap_server]").val();var ldapBase=$(form).find("[name=ldap_base]").val();var ldapGroup=$(form).find("[name=ldap_group]").val();var ldapBindUser=$(form).find("[name=ldap_binduser]").val();var ldapBindPass=$(form).find("[name=ldap_bindpass]").val();var sk=$(form).find("[name=sk]").val();var data={ldap_server:ldapServer,ldap_base:ldapBase,ldap_group:ldapGroup,ldap_binduser:ldapBindUser,ldap_bindpass:ldapBindPass,isAjax:1,sk:sk};sendAjax(data,"/ajax/ajax_checkLdap.php")};var goLogin=function(){setTimeout(function(){location.href="index.php"},2000)};var getBrowser=function(){var browser;var ua=navigator.userAgent;var re=new RegExp("(MSIE|Firefox)[ /]?([0-9]{1,}[.0-9]{0,})","i");if(re.exec(ua)!==null){browser=RegExp.$1}return browser};var chosenDetect=function(){var selectWidth="250px";var searchTreshold=10;$(".sel-chosen-usergroup").chosen({placeholder_text_single:LANG[21],placeholder_text_multiple:LANG[21],disable_search_threshold:searchTreshold,no_results_text:LANG[26],width:selectWidth});$(".sel-chosen-user").chosen({placeholder_text_single:LANG[22],placeholder_text_multiple:LANG[22],disable_search_threshold:searchTreshold,no_results_text:LANG[26],width:selectWidth});$(".sel-chosen-profile").chosen({placeholder_text_single:LANG[23],disable_search_threshold:searchTreshold,no_results_text:LANG[26],width:selectWidth});$(".sel-chosen-customer").each(function(){var deselect=$(this).hasClass("sel-chosen-deselect");$(this).chosen({allow_single_deselect:deselect,placeholder_text_single:LANG[24],placeholder_text_multiple:LANG[24],disable_search_threshold:searchTreshold,no_results_text:LANG[26],width:selectWidth})});$(".sel-chosen-category").each(function(){var deselect=$(this).hasClass("sel-chosen-deselect");$(this).chosen({allow_single_deselect:deselect,placeholder_text_single:LANG[25],placeholder_text_multiple:LANG[25],disable_search_threshold:searchTreshold,no_results_text:LANG[26],width:selectWidth})});$(".sel-chosen-action").each(function(){var deselect=$(this).hasClass("sel-chosen-deselect");$(this).chosen({allow_single_deselect:deselect,placeholder_text_single:LANG[39],placeholder_text_multiple:LANG[39],disable_search_threshold:searchTreshold,no_results_text:LANG[26],width:selectWidth})});$(".sel-chosen-ns").chosen({disable_search:true,width:selectWidth})};var checkboxDetect=function(container){$(container).find(".checkbox").button({icons:{primary:"ui-icon-transferthick-e-w"}}).click(function(){if($(this).prop("checked")===true){$(this).button("option","label",LANG[40])}else{$(this).button("option","label",LANG[41])}})};var encryptFormValue=function(inputId){var input=$(inputId);var curValue=input.val();var nextName=inputId+"-encrypted";var nextInput=input.next(':input[name="'+nextName+'"]');if((curValue!==""&&nextInput.attr("name")!==nextName)||(curValue!==""&&nextInput.attr("name")===nextName&&parseInt(input.next().val())!==curValue.length)){var passEncrypted=encrypt.encrypt(curValue);input.val(passEncrypted);if(nextInput.length>0){nextInput.val(passEncrypted.length)}else{input.after('')}}};var initializeClipboard=function(){var clipboard=new Clipboard(".clip-pass-button",{text:function(trigger){sysPassUtil.Common.viewPass(trigger.getAttribute("data-account-id"),false);return $("#clip-pass-text").html()}});clipboard.on("success",function(e){sysPassUtil.Common.resMsg("ok",LANG[45])});clipboard.on("error",function(e){sysPassUtil.Common.resMsg("error",LANG[46])});var clipboardPass=new Clipboard(".dialog-clip-pass-button");var clipboardUser=new Clipboard(".dialog-clip-user-button");clipboardPass.on("success",function(e){$(".dialog-pass-text").addClass("dialog-clip-pass-copy round");e.clearSelection()});clipboardUser.on("success",function(e){e.clearSelection()})};var bindPassEncrypt=function(){$("body").delegate(":input[type=password]","blur",function(e){if($(this).hasClass("passwordfield__no-pki")){return}var id=$(this).attr("id");encryptFormValue("#"+id)});$("body").delegate(":input[type=password]","keypress",function(e){if(e.keyCode===13){e.preventDefault();var form=$(this).closest("form");var id=$(this).attr("id");encryptFormValue("#"+id);form.submit()}})};return{accSearch:accSearch,appMgmtData:appMgmtData,appMgmtSave:appMgmtSave,appMgmtDelete:appMgmtDelete,checkboxDetect:checkboxDetect,checkLdapConn:checkLdapConn,checkPassLevel:checkPassLevel,checkUpds:checkUpds,clearEventlog:clearEventlog,clearSearch:clearSearch,chosenDetect:chosenDetect,configMgmt:configMgmt,delAccount:delAccount,delFile:delFile,doAction:doAction,doLogin:doLogin,doLogout:doLogout,downFile:downFile,encryptFormValue:encryptFormValue,fileUpload:fileUpload,getFiles:getFiles,navLog:navLog,outputResult:outputResult,redirect:redirect,resMsg:resMsg,searchSort:searchSort,saveAccount:saveAccount,sendAjax:sendAjax,sendRequest:sendRequest,setContentSize:setContentSize,showOptional:showOptional,showSearchOrder:showSearchOrder,usrUpdPass:usrUpdPass,viewPass:viewPass,passwordData:passwordData,passToClip:passToClip,APP_ROOT:APP_ROOT,LANG:LANG,PK:PK}};