"+a.substring(20)),QH("d2optinfo",'Nainstalujte si Google Authenticator nebo kompatibilní aplikaci, použijte tento odkaz nebo vložte secret. Pak vložte aktuální 6 číselný token pro aktivaci 2-faktorového přihlašování.
'+a+'
Token:
'),QV("idx_dlgOkButton",!0),QE("idx_dlgOkButton",!1),Q("d2otpauthinput").focus()}break;case"otpauth-setup":if(xxdialogMode)return;setDialogMode(2,"Aplikace pro autentizaci",1,null,t.success?"2-faktorová autentizace zapnuta. Je třeba platný token k přihlášení.":"2-faktorové přihlášení selhalo. Je třeba smazat tajemství z aplikace a zkusit znovu. Na toto máte již jen pár minut.");break;case"otpauth-clear":if(xxdialogMode)return;setDialogMode(2,"Aplikace pro autentizaci",1,null,t.success?"2-faktorové přihlášení odstraněno. Lze znovu kdykoliv zapnout.":"Odstranění 2-faktorového přihlášení selhalo. Zkuste znovu.");break;case"otpauth-getpasswords":if(xxdialogMode)return;var i="Jednorázové tokeny lze použít jako sekundární autentizaci. Vytvořte sadu, vytiskněte je a uložte na bezpečném místě.";if(i+="
",t.passwords){var s=0;for(var l in t.passwords){++s%2&&(i+="
","otpauth-manage");break;case"event":if(t.event.noact)break;switch(t.event.action){case"userWebState":if(null!=localStorage){var d=JSON.parse(t.event.state);for(var l in d)localStorage.setItem(l,d[l]);null!=d.loctag&&d.loctag!=oldLoctag&&(null!=d.loctag?args.locale=d.loctag:delete args.locale,updateDevices(),updateMeshes())}break;case"accountchange":if(userinfo.name==t.event.account.name){var p=t.event.account.siteadmin?t.event.account.siteadmin:0,u=userinfo.siteadmin?userinfo.siteadmin:0;(t.event.account.quota!=userinfo.quota||0==(8&userinfo.siteadmin)&&0!=(8&t.event.account.siteadmin))&&meshserver.send({action:"files"}),userinfo=t.event.account,u!=p&&updateSiteAdmin(),updateSelf()}break;case"createmesh":null!=t.event.links[userinfo._id]&&(meshes[t.event.meshid]={_id:t.event.meshid,name:t.event.name,mtype:t.event.mtype,desc:t.event.desc,links:t.event.links},updateMeshes(),updateDevices(),meshserver.send({action:"files"}));break;case"meshchange":if(null==meshes[t.event.meshid])meshes[t.event.meshid]={_id:t.event.meshid,name:t.event.name,mtype:t.event.mtype,desc:t.event.desc,links:t.event.links},meshserver.send({action:"nodes"});else{if(meshes[t.event.meshid].name!=t.event.name)for(var l in meshes[t.event.meshid].name=t.event.name,nodes)nodes[l].meshid==t.event.meshid&&(nodes[l].meshnamel=t.event.name.toLowerCase());if(meshes[t.event.meshid].desc=t.event.desc,meshes[t.event.meshid].links=t.event.links,null==meshes[t.event.meshid].links[userinfo._id]){20==xxcurrentView&¤tMesh==meshes[t.event.meshid]&&go(2),delete meshes[t.event.meshid];var c=[];for(var l in nodes)nodes[l].meshid!=t.event.meshid&&c.push(nodes[l]);nodes=c,10<=xxcurrentView&&xxcurrentView<20&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2))}}updateMeshes(),updateDevices(),meshserver.send({action:"files"}),20==xxcurrentView&¤tMesh._id==t.event.meshid&&p20updateMesh();break;case"deletemesh":meshes[t.event.meshid]&&(delete meshes[t.event.meshid],updateMeshes(),meshserver.send({action:"files"}));c=[];for(var l in nodes)nodes[l].meshid!=t.event.meshid&&c.push(nodes[l]);nodes=c,updateDevices(),20<=xxcurrentView&&xxcurrentView<30&¤tMesh._id==t.event.meshid&&(setDialogMode(0),go(2)),10<=xxcurrentView&&xxcurrentView<20&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2));break;case"addnode":var m=t.event.node;if(!meshes[m.meshid])break;if(null!=getNodeFromId(m._id))break;m.namel=m.name.toLowerCase(),m.rname?m.rnamel=m.rname.toLowerCase():m.rnamel=m.namel,m.meshnamel=meshes[m.meshid].name.toLowerCase(),m.state=0,m.icon||(m.icon=1),m.ident=++nodeShortIdent,nodes.push(m),updateDevices();break;case"removenode":var v=-1;for(var l in nodes)if(nodes[l]._id==t.event.nodeid){v=l;break}if(-1!=v){m=nodes[v];currentNode==m&&(10<=xxcurrentView&&xxcurrentView<20&&(setDialogMode(0),go(2)),currentNode=null),nodes.splice(v,1),updateDevices()}break;case"changenode":v=-1;for(var l in nodes)if(nodes[l]._id==t.event.nodeid){v=l;break}if(-1!=v)(m=nodes[v]).name=t.event.node.name,m.rname=t.event.node.rname,m.host=t.event.node.host,m.desc=t.event.node.desc,m.publicip=t.event.node.publicip,m.iploc=t.event.node.iploc,m.wifiloc=t.event.node.wifiloc,m.gpsloc=t.event.node.gpsloc,m.tags=t.event.node.tags,m.userloc=t.event.node.userloc,null!=t.event.node.agent&&(null==m.agent&&(m.agent={}),null!=t.event.node.agent.ver&&(m.agent.ver=t.event.node.agent.ver),null!=t.event.node.agent.id&&(m.agent.id=t.event.node.agent.id),null!=t.event.node.agent.caps&&(m.agent.caps=t.event.node.agent.caps),null!=t.event.node.agent.core?m.agent.core=t.event.node.agent.core:m.agent.core&&delete m.agent.core,m.agent.tag=t.event.node.agent.tag),null!=t.event.node.intelamt&&(null==m.intelamt&&(m.intelamt={}),null!=t.event.node.intelamt.state&&(m.intelamt.state=t.event.node.intelamt.state),null!=t.event.node.intelamt.host&&(m.intelamt.user=t.event.node.intelamt.host),null!=t.event.node.intelamt.user&&(m.intelamt.user=t.event.node.intelamt.user),null!=t.event.node.intelamt.tls&&(m.intelamt.tls=t.event.node.intelamt.tls),null!=t.event.node.intelamt.ver&&(m.intelamt.ver=t.event.node.intelamt.ver),null!=t.event.node.intelamt.tag&&(m.intelamt.tag=t.event.node.intelamt.tag),null!=t.event.node.intelamt.uuid&&(m.intelamt.uuid=t.event.node.intelamt.uuid),null!=t.event.node.intelamt.realm&&(m.intelamt.realm=t.event.node.intelamt.realm)),m.namel=m.name.toLowerCase(),m.rname?m.rnamel=m.rname.toLowerCase():m.rnamel=m.namel,t.event.node.icon&&(m.icon=t.event.node.icon),refreshDevice(m._id),updateDevices();break;case"nodemeshchange":v=-1;for(var l in nodes)if(nodes[l]._id==t.event.nodeid){v=l;break}if(-1!=v){m=nodes[v];null==meshes[t.event.newMeshId]?(currentNode==m&&(10<=xxcurrentView&&xxcurrentView<20&&(setDialogMode(0),go(2)),currentNode=null),nodes.splice(v,1)):(m.meshid=t.event.newMeshId,m.meshnamel=meshes[t.event.newMeshId].name.toLowerCase()),updateDevices(),refreshDevice(t.event.nodeid)}else{m=t.event.node;if(!meshes[m.meshid])break;m.namel=m.name.toLowerCase(),m.rname?m.rnamel=m.rname.toLowerCase():m.rnamel=m.namel,m.meshnamel=meshes[m.meshid].name.toLowerCase(),m.state=0,m.icon||(m.icon=1),m.ident=++nodeShortIdent,nodes.push(m),updateDevices()}break;case"nodeconnect":v=-1;for(var l in nodes)if(nodes[l]._id==t.event.nodeid){v=l;break}if(-1!=v)(m=nodes[v]).conn=t.event.conn,m.pwr=t.event.pwr,updateDevices();break;case"login":null!=users&&users["user/"+domain+"/"+t.event.username.toLowerCase()]&&(users["user/"+domain+"/"+t.event.username.toLowerCase()].login=t.event.time)}}}function topMenu(e){null!=xxdialogMode&&0!=xxdialogMode&&999!=xxdialogMode||(void 0===e?1==("none"==QS("topMenu").display)?0!=xxdialogMode&&null!=xxdialogMode||(QV("topMenu",!0),xxdialogMode=999):(QV("topMenu",!1),xxdialogMode=0):(QV("topMenu",!1),xxdialogMode=0,1==e&&3!=xxcurrentView&&goForward("account"),2==e&&5!=xxcurrentView&&goForward("files")))}var filetreelinkpath,backStack=[];function goBack(){xxdialogMode||(0'+e[n].n,o=e[n].n;QH("footerMenu","
"+t)}function account_manageAuthApp(){xxdialogMode||0==(4096&features)||(1==userinfo.otpsecret?account_removeOtp():account_addOtp())}function account_addOtp(){xxdialogMode||1==userinfo.otpsecret||0==(4096&features)||(setDialogMode(2,"Aplikace pro autentizaci",2,function(){meshserver.send({action:"otpauth-setup",secret:Q("d2optsecret").attributes.secret.value,token:Q("d2otpauthinput").value})},"
Nahrávání...
","otpauth-request"),meshserver.send({action:"otpauth-request"}))}function account_addOtpCheck(e){var t=6==Q("d2otpauthinput").value.length;QE("idx_dlgOkButton",t),e&&13==e.keyCode&&t&&dialogclose(1)}function account_removeOtp(){xxdialogMode||1!=userinfo.otpsecret||0==(4096&features)||setDialogMode(2,"Aplikace pro autentizaci",3,function(){meshserver.send({action:"otpauth-clear"})},"Potvrdit odstranění autentizační aplikace pro 2-faktorové přihlašování?")}function account_manageOtp(e){2==xxdialogMode&&"otpauth-manage"==xxdialogTag&&dialogclose(0),xxdialogMode||1!=userinfo.otpsecret||0==(4096&features)||meshserver.send({action:"otpauth-getpasswords",subaction:e})}function account_showVerifyEmail(){xxdialogMode||1==userinfo.emailVerified||1!=serverinfo.emailcheck||setDialogMode(2,"Ověření emailu",3,account_showVerifyEmailEx,"Klikni na OK pro zaslání verifikačního emailu na:
"+EscapeHtml(userinfo.email)+"
Prosím počkejte pár minut než dojde k verifikaci.")}function account_showVerifyEmailEx(){meshserver.send({action:"verifyemail",email:userinfo.email})}function account_showChangeEmail(){xxdialogMode||(setDialogMode(2,"Změna emailové adresy",3,account_changeEmail,addHtmlValue("Email","")),null!=userinfo.email&&(Q("dp3email").value=userinfo.email),account_validateEmail(),Q("dp3email").focus())}function account_validateEmail(e,t){QE("idx_dlgOkButton",validateEmail(Q("dp3email").value)&&Q("dp3email").value!=userinfo.email),null!=e&&13==e.keyCode&&dialogclose(1)}function account_changeEmail(){meshserver.send({action:"changeemail",email:Q("dp3email").value})}function account_showDeleteAccount(){if(!xxdialogMode){var e=""),account_validateDeleteAccount(),Q("apassword1").focus()}}function account_showChangePassword(){if(xxdialogMode)return!1;var e="
";if(e+="
"+nobreak("Staré heslo:")+"
",e+="
"+nobreak("Nové heslo:")+"
",e+="
"+nobreak("Nové heslo:")+"
",65536&features&&(e+="
Nápověda k heslu:
"),e+="
",passRequirements){var t=[],o=0;for(var n in passRequirements)"reset"!=n&&"hint"!=n&&(t.push(n+":"+passRequirements[n]),o++);0"+format("Požadavky: {0}.",t.join(", "))+"")}return setDialogMode(2,"Změnit heslo",3,account_showChangePasswordEx,e+=" "),Q("apassword0").focus(),account_validateNewPassword(),!1}function account_showChangePasswordEx(){if(Q("apassword1").value==Q("apassword2").value){var e={action:"changepassword",oldpass:Q("apassword0").value,newpass:Q("apassword1").value};65536&features&&(e.hint=Q("apasswordhint").value),meshserver.send(e)}}function account_createMesh(){if(!xxdialogMode)if(4294967295==userinfo.siteadmin||0==(64&userinfo.siteadmin))if(!0===userinfo.emailVerified||1!=serverinfo.emailcheck||4294967295==userinfo.siteadmin)if(!(262144&features)||1==userinfo.otpsecret||0");e+=addHtmlValue("Typ",""),setDialogMode(2,"Vytvořit skupinu zařízení",3,account_createMeshEx,e+=addHtmlValue("Popis","")),account_validateMeshCreate(),Q("dp3meshname").focus()}else setDialogMode(2,"Nastavení bezpečnosti",1,null,'Nelze získat přístup k zařízení, dokud je 2-faktorová autentizace zapnuta. Toto je pro extra bezpečnost. Jdi do "Můj účet" a podívej se do sekce"Nastavení bezpečnosti".');else setDialogMode(2,"Nastavení bezpečnosti",1,null,'Nelze získat přístup k zařízení, dokud nebude ověřena e-mailová adresa. To je vyžadováno pro obnovení hesla. Jdi do "Můj účet" pro změnu a ověření emailu..');else setDialogMode(2,"Nová skupina zařízení",1,null,"Tento účet nemá práva k vytvoření nové skupiny zařízení.")}function account_validateMeshCreate(){QE("idx_dlgOkButton",0Strong":60<=o?"●":"●"}else{0==checkPasswordRequirements(Q("apassword1").value,passRequirements)&&(t=!1,e="Politika")}QH("dxPassWarn",e),QE("idx_dlgOkButton",t)}function checkPasswordStrength(e){var t=0,o={},n=0,a={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var i=0;it.max)return!1;for(var o=0,n=0,a=0,i=0,s=0;s",e+='',e+='
',e+="
"+EscapeHtml(meshes[i].name)+"
"+n+"
",e+="
"}QH("p3meshes",e),QV("p3noMeshFound",0==t)}function gotoMesh(e){null==(currentMesh=meshes[e])&&goBack(),p20updateMesh(),go(20)}var sortorder,filetreelocation=[];function p5refreshFiles(){meshserver.send({action:"files"})}function updateFiles(){if(QV("MainMenuMyFiles",0==(8&features)),0==(8&features)){for(var e,t="",o="",n="Root",a="Root",i=filetree,s=1,l=[],r=filetreelinkpath,d=[],p=document.getElementsByName("fc"),u=0;u"+(null!=(i=i.f[filetreelocation[u]]).n?i.n:filetreelocation[u])+"",s++}filetreelocation=l;var m=a.toLowerCase().startsWith("root / "+userinfo._id+" / public"),v=p5sort_files(i.f);for(var u in v){var h,f=v[u],g=f.n;h=40<(h=g).length?EscapeHtml(g.substring(0,40))+"...":EscapeHtml(g),g=EscapeHtml(g);var k="";null!=f.s&&(k=getFileSizeStr(f.s));var y="";if(f.t<3||4==f.t){y="
",deviceHeaderTotal++,void 0===deviceHeaderCount[nodes[i].state]?deviceHeaderCount[nodes[i].state]=1:deviceHeaderCount[nodes[i].state]++}}if(0==sort)for(var i in meshes){var c=meshes[i],m=c.links[userinfo._id];if(null!=m){m.rights;null==a[c._id]&&(""!=o&&""!=e&&(e+=""),e+="
",e+=''+EscapeHtml(c.name)+"
",1==c.mtype&&(e+="
Žádné Intel® AMT zařízení v této skupině"),2==c.mtype&&(e+="
Žádné zařízení v této skupině"),e+=".
",o=c._id,n++)}}for(var i in 0==n?QH("xdevices",'
Žádné zařízení
Pro přidání zařízení použijte desktop verzi těchto stránek.
'):QH("xdevices",e),deviceHeaderSet(),deviceHeaders)QH(i,deviceHeaders[i]);for(var i in deviceHeadersTitles)Q(i).title=deviceHeadersTitles[i]}var powerStatetable=["","Zapnuto","Spánek","Spánek","Spánek","Hibernuji","Vypnout","Současnost"],powerStateStrings=["","Zapnuto","Spí","Spí","Hluboký spánek","Hibernuji","Soft-Off","Současnost"],powerStateStrings2=["","Zařízení je zapnuto","Zařízení je ve stavu spánku (S1)","Zařízení je ve stavu spánku (S2)","Zařízení je v hlubokém spánku (S3)","Zařízení je hibernováno (S4)","Zařízení je ve stavu soft-off (S5)","Zařízení je přítomno, ale nelze získat stav napájení"],powerColorTable=["#00000000","black","blue","blue","lightblue","blueviolet","darkgreen","lightseagreen","lightseagreen"];function NodeStateStr(e){var t=[];return 0Agent"),0!=(2&e.conn)?t.push("CIRA"):0!=(4&e.conn)&&t.push("Intel® AMT"),0!=(8&e.conn)&&t.push("Přesměrování"),0!=(16&e.conn)&&t.push("MQTT")),null!=e.pwr&&0!=e.pwr&&t.push(powerStateStrings[e.pwr]),t.join(", ")}function PowerStateStr(e){return et.meshnamel?1:e.meshnamelt.rnamel?1:e.rnamelt.namel?1:e.namelt.rnamel?1:e.rnamelt.namel?1:e.namelt.namel?1:e.namelt.rnamel?1:e.rnamelNic"),0!=(4&i)&&(s=""+s+""),QH("p10deviceName",s);var l="
",QH("p10html3",l);var k=PowerStateStr(n.state);0!=(1&v)&&(0Mesh Agent"),0!=(2&v)?(0Intel® AMT připojeno"):0!=(4&v)&&(0Intel® AMT detekováno"),0!=(16&v)&&(0"),k+="MQTT kanál připojen"),QH("MainComputerState",k),QH("MainComputerImage",''),powerTimelineNode!=currentNode._id&&powerTimelineReq!=currentNode._id&&(QH("p10html2",""),powerTimelineReq=currentNode._id,meshserver.send({action:"powertimeline",nodeid:currentNode._id}))}setupDesktop(),go(t=t||10),setupDeviceMenu()}else goBack()}else goBack()}else setDialogMode(2,"Nastavení bezpečnosti",1,null,'Nelze získat přístup k zařízení, dokud je 2-faktorová autentizace zapnuta. Toto je pro extra bezpečnost. Jdi do "Můj účet" a podívej se do sekce"Nastavení bezpečnosti".');else setDialogMode(2,"Nastavení bezpečnosti",1,null,'Nelze získat přístup k zařízení, dokud nebude ověřena e-mailová adresa. To je vyžadováno pro obnovení hesla. Jdi do "Můj účet" pro změnu a ověření emailu..')}function deviceToastFunction(){xxdialogMode||setDialogMode(2,"Device Toast",3,deviceToastFunctionEx,"")}function deviceToastFunctionEx(){meshserver.send({action:"toast",nodeids:[currentNode._id],title:"MeshCentral",msg:Q("d2devToast").value})}function setupDeviceMenu(e,t){var o=0;currentNode&&(o=meshes[currentNode.meshid].links[userinfo._id].rights),null!=e&&(currentDevicePanel=e),QV("p10general",0==currentDevicePanel),QV("p10desktop",1==currentDevicePanel),QV("p10files",2==currentDevicePanel);var n=[];0!=currentDevicePanel&&n.push({n:"General",f:"setupDeviceMenu(0)"}),1!=currentDevicePanel&&null!=currentNode&&(8&o||256&o)&&(1==meshes[currentNode.meshid].mtype&&("number"!=typeof currentNode.intelamt.sku||0!=(8¤tNode.intelamt.sku))||currentNode.agent&&1¤tNode.agent.caps)&&n.push({n:"Desktop",f:"setupDeviceMenu(1)"}),2!=currentDevicePanel&&null!=currentNode&&8&o&&(4294967295==o||0==(1024&o))&&2==currentNode.mtype&&4¤tNode.agent.caps&&n.push({n:"Files",f:"setupDeviceMenu(2)"}),updateFooterMenu(n)}function deviceActionFunction(){if(!xxdialogMode){var e=meshes[currentNode.meshid].links[userinfo._id].rights,t="Vyber operaci na tomto zařízení.
",o=""))}}function deviceActionFunctionEx(){var e=Q("d2deviceop").value;100==e?meshserver.send({action:"wakedevices",nodeids:[currentNode._id]}):meshserver.send({action:"poweraction",nodeids:[currentNode._id],actiontype:e})}function updateDeviceTimeline(){2==meshserver.State&&null!=powerTimelineNode&&null!=powerTimelineUpdate&&null!=currentNode&&powerTimelineNode==powerTimelineReq&¤tNode._id==powerTimelineNode&&powerTimelineUpdatei+1&&(l=e[i+1]),n.push([a,a+l,s]),a+=l}}var r="",d=1,p=new Date,u=Q("masthead").offsetWidth-122;p.setHours(0,0,0,0);for(i=0;i<7;i++){var c="",m=p.getTime(),v=m+864e5;for(var h in n){var f=n[h];if(1==isTimeBlockInside(m,v,f[0],f[1])){var g=Math.max(m,f[0]),k=Math.min(Math.min(v,f[1]),t),y=Math.round((k-g)*u/864e5);0
");QH("DeskToolsProcesses",a)}}}else QH("DeskToolsProcesses","")}function deskSaveImage(){if(setSessionActivity(),!xxdialogMode&&null!=desktop&&3==desktop.State){var e=new Date,t="Desktop-"+currentNode.name+"-"+e.getFullYear()+"-"+("0"+(e.getMonth()+1)).slice(-2)+"-"+("0"+e.getDate()).slice(-2)+"-"+("0"+e.getHours()).slice(-2)+"-"+("0"+e.getMinutes()).slice(-2);Q("Desk").toBlob(function(e){saveAs(e,t+".jpg")})}}function deskDisplayInfo(e,t,o,n){var a=Q("termdisplays").value;if(0"+t[s]+"";QH("termdisplays",i)}QV("termdisplays",0Root",a=p13filetree.path.split("\\");for(var i in p13filetreelocation=[],a)""!=a[i]&&p13filetreelocation.push(a[i]);for(var i in p13filetreelocation)n+=" / "+p13filetreelocation[i]+"";var s=p13filetreelocation.join("/"),l=p13sort_files(p13filetree.dir);for(var i in l){var r,d=l[i],p=d.n;r=70<(r=p).length?EscapeHtml(p.substring(0,70))+"...":EscapeHtml(p),p=EscapeHtml(p);var u="";null!=d.s&&(u=getFileSizeStr(d.s));var c="";if(d.t<3){c="
';var a=1,i=[];for(var s in currentMesh.links)i.push({id:s,name:s.split("/")[2],rights:currentMesh.links[s].rights});for(var s in i.sort(function(e,t){return e.name>t.name?1:e.name'),o+='
"),QH("p20info",o)}}function p20showDeleteMeshDialog(){if(xxdialogMode)return!1;var e=format("Opravdu smazat skupinu {0}? Smazáním skupiny se smažou všechny informace o zařízeních v této skupině.",EscapeHtml(currentMesh.name))+"