Added full Czech translation.

Ylian Saint-Hilaire committed Dec 11, 2019 at 10:17 UTC 94a85321b465638fbffb16f4968a0e8f86d3b2ea
36 files changed +8540 -3693
package.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "name": "meshcentral",
3 - "version": "0.4.5-p",
3 + "version": "0.4.5-q",
4 "keywords": [
5 "Remote Management",
6 "Intel AMT",
public/translations/player-min_cs.htm
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><body style=overflow:hidden;background-color:#000><div id=p11 class=noselect style=overflow:hidden><div id=deskarea0><div id=deskarea1 class=areaHead><div class=toright2><div class=deskareaicon title="Toggle View Mode"onclick=toggleAspectRatio(1)>⇲</div></div><div><input id=OpenFileButton type=button value="Otevřít soubor..."onclick=openfile()> <span id=deskstatus></span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x style="max-height:calc(100vh - 54px);height:calc(100vh - 54px)"onclick=togglePause()><div id=bigok style="display:none;left:calc((100vh / 2))"><b>✓</b></div><div id=bigfail style="display:none;left:calc((100vh / 2))"><b>✗</b></div><div id=metadatadiv style=padding:20px;color:#d3d3d3;text-align:left;display:none></div><div id=DeskParent><canvas id=Desk width=640 height=480></canvas></div><div id=TermParent style=display:none><pre id=Term></pre></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><div id=timespan style=padding-top:4px;padding-right:4px>00:00:00</div></div><div>&nbsp; <input id=PlayButton type=button value=Play disabled onclick=play()> <input id=PauseButton type=button value=Pause disabled onclick=pause()> <input id=RestartButton type=button value=Restart disabled onclick=restart()> <select id=PlaySpeed onchange=this.blur()><option value=4>1/4 rychlost<option value=2>1/2 rychlost<option value=1 selected>Normalní rychlost<option value=0.5>2x rychlost<option value=0.25>4x rychlost<option value=0.1>10x rychlost</select></div></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Zrušit onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Smazat style=display:none onclick=dialogclose(2)></div></div></div></div><script>var recFile=null,recFilePtr=0,recFileStartTime=0,recFileLastTime=0,recFileEndTime=0,recFileMetadata=null,recFileProtocol=0,agentDesktop=null,amtDesktop=null,playing=!1,readState=0,waitTimer=null,waitTimerArgs=null,deskAspectRatio=0,currentDeltaTimeTotalSec=0;function start(){window.onresize=deskAdjust,document.ondrop=ondrop,document.ondragover=ondragover,document.ondragleave=ondragleave,document.onkeypress=onkeypress,Q("PlaySpeed").value=1,cleanup()}function readNextBlock(l){if(recFilePtr+16>recFile.size)QS("progressbar").width="100%",l(-1);else{var e=new FileReader;e.onload=function(){var e=ReadShort(this.result,0),t=ReadShort(this.result,2),a=ReadInt(this.result,4),r=(ReadInt(this.result,8)<<32)+ReadInt(this.result,12);if(recFilePtr+16+a>recFile.size)QS("progressbar").width="100%",l(-1);else{var i=new FileReader;i.onload=function(){recFilePtr+=16+a,QS("progressbar").width=0==recFileEndTime?Math.floor(recFilePtr/recFile.size*100)+"%":Math.floor((recFileLastTime-recFileStartTime)/(recFileEndTime-recFileStartTime)*100)+"%",l(e,t,r,this.result)},i.readAsBinaryString(recFile.slice(recFilePtr+16,recFilePtr+16+a))}},e.readAsBinaryString(recFile.slice(recFilePtr,recFilePtr+16))}}function readLastBlock(i){if(recFile.size<32)i(-1);else{var e=new FileReader;e.onload=function(){var e=ReadShort(this.result,0),t=ReadShort(this.result,2),a=ReadInt(this.result,4),r=(ReadInt(this.result,8)<<32)+ReadInt(this.result,12);3==e&&16==a&&"MeshCentralMCREC"==this.result.substring(16,32)?i(e,t,r):i(-1)},e.readAsBinaryString(recFile.slice(recFile.size-32,recFile.size))}}function addInfo(e,t){return null==t?"":addInfoNoEsc(e,EscapeHtml(t))}function addInfoNoEsc(e,t){return null==t?"":"<span style=color:gray>"+EscapeHtml(e)+"</span>:&nbsp;<span style=font-size:20px>"+t+"</span><br/>"}function processFirstBlock(e,t,a,r){if(recFileProtocol=0,1==e&&0==t){try{recFileMetadata=JSON.parse(r)}catch(e){return void cleanup()}if(null!=recFileMetadata&&"MeshCentralRelaySession"==recFileMetadata.magic&&1==recFileMetadata.ver){var i="";if(i+=addInfo("Time",recFileMetadata.time),0!=recFileEndTime){var l=Math.floor((recFileEndTime-a)/1e3);i+=addInfo("Duration",format("{0} second{1}",l,1<l?"s":""))}if(i+=addInfo("Uživatel",recFileMetadata.username),i+=addInfo("UserID",recFileMetadata.userid),i+=addInfo("SessionID",recFileMetadata.sessionid),recFileMetadata.ipaddr1&&recFileMetadata.ipaddr2&&(i+=addInfo("Adresy",format("{0} to {1}",recFileMetadata.ipaddr1,recFileMetadata.ipaddr2))),recFileMetadata.devicename&&(i+=addInfo("Device Name",recFileMetadata.devicename)),i+=addInfo("NodeID",recFileMetadata.nodeid),recFileMetadata.protocol){var n=recFileMetadata.protocol;1==n?n="MeshCentral Terminal":2==n?n="MeshCentral Desktop":100==n?n="Intel&reg; AMT WSMAN":101==n&&(n="Intel&reg; AMT Redirection"),i+=addInfoNoEsc("Protokol",n)}QV("DeskParent",!0),QV("TermParent",!1),1==recFileMetadata.protocol?(recFileProtocol=1,i+="<br /><br /><span style=color:gray>Press [space] to play/pause.</span>",QE("PlayButton",!0),QE("PauseButton",!1),QE("RestartButton",!1),recFileStartTime=recFileLastTime=a):2==recFileMetadata.protocol?(recFileProtocol=2,i+="<br /><br /><span style=color:gray>Press [space] to play/pause.</span>",QE("PlayButton",!0),QE("PauseButton",!1),QE("RestartButton",!1),recFileStartTime=recFileLastTime=a,(agentDesktop=CreateAgentRemoteDesktop("Desk")).onScreenSizeChange=deskAdjust,agentDesktop.State=3,deskAdjust()):101==recFileMetadata.protocol&&(recFileProtocol=101,i+="<br /><br /><span style=color:gray>Press [space] to play/pause.</span>",QE("PlayButton",!0),QE("PauseButton",!1),QE("RestartButton",!1),recFileStartTime=recFileLastTime=a,(amtDesktop=CreateAmtRemoteDesktop("Desk")).onScreenSizeChange=deskAdjust,amtDesktop.State=3,amtDesktop.Start(),deskAdjust()),QV("metadatadiv",!0),QH("metadatadiv",i),QH("deskstatus",recFile.name)}else cleanup()}else cleanup()}function processBlock(e,t,a,r){if(e<0)pause();else{var i=Math.round((a-recFileLastTime)*parseFloat(Q("PlaySpeed").value));i<5?processBlockEx(e,t,a,r):(waitTimerArgs=[e,t,a,r],waitTimer=setTimeout(function(){waitTimer=null,processBlockEx(waitTimerArgs[0],waitTimerArgs[1],waitTimerArgs[2],waitTimerArgs[3])},i))}}function processBlockEx(e,t,a,r){if(0!=playing){var i=0!=(1&t),l=0!=(2&t),n=Math.floor((a-recFileStartTime)/1e3);if(currentDeltaTimeTotalSec!=n){currentDeltaTimeTotalSec=n;var o=Math.floor(n/3600);n-=3600*o;var s=Math.floor(n/60);n-=60*o;var c=Math.floor(n);QH("timespan",pad2(o)+":"+pad2(s)+":"+pad2(c))}2==e&&i&&!l?1==recFileProtocol?agentTerminal.ProcessData(r):2==recFileProtocol?agentDesktop.ProcessData(r):101==recFileProtocol&&(0==readState&&"4100000000000000"==rstr2hex(r)?(readState=1,8<r.length&&amtDesktop.ProcessData(r.substring(8))):1==readState&&amtDesktop.ProcessData(r)):2==e&&i&&l&&101==recFileProtocol&&"0000000008080001000700070003050200000000"==rstr2hex(r)&&(amtDesktop.bpp=1),recFileLastTime=a,playing&&readNextBlock(processBlock)}}function cleanup(){recFilePtr=0,playing=!1,(recFileMetadata=recFile=null)!=agentDesktop&&(agentDesktop.Canvas.clearRect(0,0,agentDesktop.CanvasId.width,agentDesktop.CanvasId.height),agentDesktop=null),null!=amtDesktop&&(amtDesktop.canvas.clearRect(0,0,amtDesktop.CanvasId.width,amtDesktop.CanvasId.height),amtDesktop=null),recFileEndTime=currentDeltaTimeTotalSec=readState=0,(agentTerminal=waitTimerArgs=null)!=waitTimer&&(clearTimeout(waitTimer),waitTimer=null),QH("deskstatus",""),QE("PlayButton",!1),QE("PauseButton",!1),QE("RestartButton",!1),QS("progressbar").width="0px",QH("timespan","00:00:00"),QV("metadatadiv",!0),QH("metadatadiv",'<span style="font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:28px">MeshCentral Session Player</span><br /><br /><span style=color:gray>Drag & drop a .mcrec file or click "Open File..."</span>'),QV("DeskParent",!0),QV("TermParent",!1)}function ondrop(e){if(haltEvent(e),QV("bigfail",!1),QV("bigok",!1),null!=e.dataTransfer){var t=[];for(var a in e.dataTransfer.files)null!=e.dataTransfer.files[a].type&&null!=e.dataTransfer.files[a].size&&0!=e.dataTransfer.files[a].size&&e.dataTransfer.files[a].name.endsWith(".mcrec")&&t.push(e.dataTransfer.files[a]);0!=t.length&&(cleanup(),recFile=t[0],recFilePtr=0,readNextBlock(processFirstBlock),readLastBlock(function(e,t,a){recFileEndTime=3==e?a:0}))}}var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,dragtimer=null;function ondragover(e){haltEvent(e),null!=dragtimer&&(clearTimeout(dragtimer),dragtimer=null);QV("bigok",!0),QV("bigfail",!1)}function ondragleave(e){haltEvent(e),dragtimer=setTimeout(function(){QV("bigfail",!1),QV("bigok",!1),dragtimer=null},10)}function onkeypress(e){xxdialogMode||(" "==e.key&&(togglePause(),haltEvent(e)),"1"==e.key&&(Q("PlaySpeed").value=4,haltEvent(e)),"2"==e.key&&(Q("PlaySpeed").value=2,haltEvent(e)),"3"==e.key&&(Q("PlaySpeed").value=1,haltEvent(e)),"4"==e.key&&(Q("PlaySpeed").value=.5,haltEvent(e)),"5"==e.key&&(Q("PlaySpeed").value=.25,haltEvent(e)),"6"==e.key&&(Q("PlaySpeed").value=.1,haltEvent(e)),"0"==e.key&&(pause(),restart(),haltEvent(e)))}function openfile(){setDialogMode(2,"Otevřít soubor...",3,openfileEx,'<input type=file name=files id=p2fileinput style=width:100% accept=".mcrec" onchange="openfileChanged()" />'),QE("idx_dlgOkButton",!1)}function openfileEx(){var e=Q("p2fileinput").files;if(null!=e){var t=[];for(var a in e)null!=e[a].type&&null!=e[a].size&&0!=e[a].size&&e[a].name.endsWith(".mcrec")&&t.push(e[a])}0!=t.length&&(cleanup(),recFile=t[0],recFilePtr=0,readNextBlock(processFirstBlock),readLastBlock(function(e,t,a){recFileEndTime=3==e?a:0}),Q("OpenFileButton").blur())}function openfileChanged(){var e=Q("p2fileinput").files;if(null!=e){var t=[];for(var a in e)null!=e[a].type&&null!=e[a].size&&0!=e[a].size&&e[a].name.endsWith(".mcrec")&&t.push(e[a])}QE("idx_dlgOkButton",1==t.length)}function togglePause(){return null!=recFile&&(1==playing?pause():recFilePtr!=recFile.size&&play()),!1}function play(){Q("PlayButton").blur(),1!=playing&&0!=recFileProtocol&&(playing=!0,QV("metadatadiv",!1),QE("PlayButton",!1),QE("PauseButton",!0),QE("RestartButton",!1),1==recFileProtocol&&null==agentTerminal&&(QV("DeskParent",!1),QV("TermParent",!0),agentTerminal=CreateAmtRemoteTerminal("Term",{}),agentTerminal.State=3),readNextBlock(processBlock))}function pause(){Q("PauseButton").blur(),0!=playing&&(playing=!1,QE("PlayButton",recFilePtr!=recFile.size),QE("PauseButton",!1),QE("RestartButton",0!=recFilePtr),null!=waitTimer&&(clearTimeout(waitTimer),waitTimer=null,processBlockEx(waitTimerArgs[0],waitTimerArgs[1],waitTimerArgs[2],waitTimerArgs[3]),waitTimerArgs=null))}function restart(){Q("RestartButton").blur(),1!=playing&&(currentDeltaTimeTotalSec=readState=recFilePtr=0,QV("metadatadiv",!0),QE("PlayButton",!0),QE("PauseButton",!1),QE("RestartButton",!1),QS("progressbar").width="0px",QH("timespan","00:00:00"),QV("DeskParent",!0),QV("TermParent",!1),agentDesktop?agentDesktop.Canvas.clearRect(0,0,agentDesktop.CanvasId.width,agentDesktop.CanvasId.height):amtDesktop?(amtDesktop.canvas.clearRect(0,0,amtDesktop.CanvasId.width,amtDesktop.CanvasId.height),(amtDesktop=CreateAmtRemoteDesktop("Desk")).onScreenSizeChange=deskAdjust,amtDesktop.State=3,amtDesktop.Start()):agentTerminal=agentTerminal&&null)}function clearConsoleMsg(){QH("p11DeskConsoleMsg","")}function toggleAspectRatio(e){1===e&&(deskAspectRatio=(deskAspectRatio+1)%3),deskAdjust()}function deskAdjust(){var e=Q("DeskParent").clientHeight,t=Q("DeskParent").clientWidth,a=Q("Desk").height,r=Q("Desk").width;if(2==deskAspectRatio)QS("Desk")["margin-top"]=null,QS("Desk").height="100%",QS("Desk").width="100%",QS("DeskParent").overflow="hidden";else if(1==deskAspectRatio)QS("Desk")["margin-top"]="0px",QS("Desk").height=a+"px",QS("Desk").width=r+"px",QS("DeskParent").overflow="scroll";else{if(a/r<e/t){var i=a*t/r+"px";QS("Desk").height=i,QS("Desk").width="100%"}else{var l=r*e/a+"px";QS("Desk").height="100%",QS("Desk").width=l}QS("Desk")["margin-top"]=null,QS("DeskParent").overflow="hidden"}}var xxcurrentView=-1;function setDialogMode(e,t,a,r,i,l){xxdialogMode=e,xxdialogFunc=r,xxdialogButtons=a,xxdialogTag=l,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&a),QV("idx_dlgCancelButton",2&a),QV("id_dialogclose",2&a||8&a),QV("idx_dlgDeleteButton",4&a),QV("idx_dlgButtonBar",7&a),t&&QH("id_dialogtitle",t);for(var n=1;n<3;n++)QV("dialog"+n,n==e);QV("dialog",e),i&&(2==e?QH("id_dialogOptions",i):QH("id_dialogMessage",i))}function dialogclose(e){var t=xxdialogFunc,a=xxdialogButtons,r=xxdialogTag;setDialogMode(),(8&a||e)&&t&&t(e,r)}function messagebox(e,t){setSessionActivity(),QH("id_dialogMessage",t),setDialogMode(1,e,1)}function statusbox(e,t){setSessionActivity(),QH("id_dialogMessage",t),setDialogMode(1,e)}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function pad2(e){var t="00"+e;return t.substr(t.length-2)}function format(e){var a=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,t){return void 0!==a[t]?a[t]:e})}start()</script>
\ No newline at end of file
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><body style=overflow:hidden;background-color:#000><div id=p11 class=noselect style=overflow:hidden><div id=deskarea0><div id=deskarea1 class=areaHead><div class=toright2><div class=deskareaicon title="Přepnout režim zobrazení"onclick=toggleAspectRatio(1)>⇲</div></div><div><input id=OpenFileButton type=button value="Otevřít soubor..."onclick=openfile()> <span id=deskstatus></span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x style="max-height:calc(100vh - 54px);height:calc(100vh - 54px)"onclick=togglePause()><div id=bigok style="display:none;left:calc((100vh / 2))"><b>✓</b></div><div id=bigfail style="display:none;left:calc((100vh / 2))"><b>✗</b></div><div id=metadatadiv style=padding:20px;color:#d3d3d3;text-align:left;display:none></div><div id=DeskParent><canvas id=Desk width=640 height=480></canvas></div><div id=TermParent style=display:none><pre id=Term></pre></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><div id=timespan style=padding-top:4px;padding-right:4px>00:00:00</div></div><div>&nbsp; <input id=PlayButton type=button value=Spustit disabled onclick=play()> <input id=PauseButton type=button value=Pauza disabled onclick=pause()> <input id=RestartButton type=button value=Restart disabled onclick=restart()> <select id=PlaySpeed onchange=this.blur()><option value=4>1/4 rychlost<option value=2>1/2 rychlost<option value=1 selected>Normalní rychlost<option value=0.5>2x rychlost<option value=0.25>4x rychlost<option value=0.1>10x rychlost</select></div></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Zrušit onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Smazat style=display:none onclick=dialogclose(2)></div></div></div></div><script>var recFile=null,recFilePtr=0,recFileStartTime=0,recFileLastTime=0,recFileEndTime=0,recFileMetadata=null,recFileProtocol=0,agentDesktop=null,amtDesktop=null,playing=!1,readState=0,waitTimer=null,waitTimerArgs=null,deskAspectRatio=0,currentDeltaTimeTotalSec=0;function start(){window.onresize=deskAdjust,document.ondrop=ondrop,document.ondragover=ondragover,document.ondragleave=ondragleave,document.onkeypress=onkeypress,Q("PlaySpeed").value=1,cleanup()}function readNextBlock(l){if(recFilePtr+16>recFile.size)QS("progressbar").width="100%",l(-1);else{var e=new FileReader;e.onload=function(){var e=ReadShort(this.result,0),t=ReadShort(this.result,2),a=ReadInt(this.result,4),r=(ReadInt(this.result,8)<<32)+ReadInt(this.result,12);if(recFilePtr+16+a>recFile.size)QS("progressbar").width="100%",l(-1);else{var i=new FileReader;i.onload=function(){recFilePtr+=16+a,QS("progressbar").width=0==recFileEndTime?Math.floor(recFilePtr/recFile.size*100)+"%":Math.floor((recFileLastTime-recFileStartTime)/(recFileEndTime-recFileStartTime)*100)+"%",l(e,t,r,this.result)},i.readAsBinaryString(recFile.slice(recFilePtr+16,recFilePtr+16+a))}},e.readAsBinaryString(recFile.slice(recFilePtr,recFilePtr+16))}}function readLastBlock(i){if(recFile.size<32)i(-1);else{var e=new FileReader;e.onload=function(){var e=ReadShort(this.result,0),t=ReadShort(this.result,2),a=ReadInt(this.result,4),r=(ReadInt(this.result,8)<<32)+ReadInt(this.result,12);3==e&&16==a&&"MeshCentralMCREC"==this.result.substring(16,32)?i(e,t,r):i(-1)},e.readAsBinaryString(recFile.slice(recFile.size-32,recFile.size))}}function addInfo(e,t){return null==t?"":addInfoNoEsc(e,EscapeHtml(t))}function addInfoNoEsc(e,t){return null==t?"":"<span style=color:gray>"+EscapeHtml(e)+"</span>:&nbsp;<span style=font-size:20px>"+t+"</span><br/>"}function processFirstBlock(e,t,a,r){if(recFileProtocol=0,1==e&&0==t){try{recFileMetadata=JSON.parse(r)}catch(e){return void cleanup()}if(null!=recFileMetadata&&"MeshCentralRelaySession"==recFileMetadata.magic&&1==recFileMetadata.ver){var i="";if(i+=addInfo("Čas",recFileMetadata.time),0!=recFileEndTime){var l=Math.floor((recFileEndTime-a)/1e3);i+=addInfo("Trvání",format("{0} sekund{1}",l,1<l?"s":""))}if(i+=addInfo("Uživatel",recFileMetadata.username),i+=addInfo("Uživatelské ID",recFileMetadata.userid),i+=addInfo("SessionID",recFileMetadata.sessionid),recFileMetadata.ipaddr1&&recFileMetadata.ipaddr2&&(i+=addInfo("Adresy",format("{0} na {1}",recFileMetadata.ipaddr1,recFileMetadata.ipaddr2))),recFileMetadata.devicename&&(i+=addInfo("Název zařízení",recFileMetadata.devicename)),i+=addInfo("NodeID",recFileMetadata.nodeid),recFileMetadata.protocol){var n=recFileMetadata.protocol;1==n?n="MeshCentral terminal":2==n?n="MeshCentral plocha":100==n?n="Intel&reg; AMT WSMAN":101==n&&(n="Intel&reg; AMT přesměrování"),i+=addInfoNoEsc("Protokol",n)}QV("DeskParent",!0),QV("TermParent",!1),1==recFileMetadata.protocol?(recFileProtocol=1,i+="<br /><br /><span style=color:gray>Zmáčkni [mezerník] pro spuštění/pauzu.</span>",QE("PlayButton",!0),QE("PauseButton",!1),QE("RestartButton",!1),recFileStartTime=recFileLastTime=a):2==recFileMetadata.protocol?(recFileProtocol=2,i+="<br /><br /><span style=color:gray>Zmáčkni [mezerník] pro spuštění/pauzu.</span>",QE("PlayButton",!0),QE("PauseButton",!1),QE("RestartButton",!1),recFileStartTime=recFileLastTime=a,(agentDesktop=CreateAgentRemoteDesktop("Desk")).onScreenSizeChange=deskAdjust,agentDesktop.State=3,deskAdjust()):101==recFileMetadata.protocol&&(recFileProtocol=101,i+="<br /><br /><span style=color:gray>Press [space] to play/pause.</span>",QE("PlayButton",!0),QE("PauseButton",!1),QE("RestartButton",!1),recFileStartTime=recFileLastTime=a,(amtDesktop=CreateAmtRemoteDesktop("Desk")).onScreenSizeChange=deskAdjust,amtDesktop.State=3,amtDesktop.Start(),deskAdjust()),QV("metadatadiv",!0),QH("metadatadiv",i),QH("deskstatus",recFile.name)}else cleanup()}else cleanup()}function processBlock(e,t,a,r){if(e<0)pause();else{var i=Math.round((a-recFileLastTime)*parseFloat(Q("PlaySpeed").value));i<5?processBlockEx(e,t,a,r):(waitTimerArgs=[e,t,a,r],waitTimer=setTimeout(function(){waitTimer=null,processBlockEx(waitTimerArgs[0],waitTimerArgs[1],waitTimerArgs[2],waitTimerArgs[3])},i))}}function processBlockEx(e,t,a,r){if(0!=playing){var i=0!=(1&t),l=0!=(2&t),n=Math.floor((a-recFileStartTime)/1e3);if(currentDeltaTimeTotalSec!=n){currentDeltaTimeTotalSec=n;var o=Math.floor(n/3600);n-=3600*o;var s=Math.floor(n/60);n-=60*o;var c=Math.floor(n);QH("timespan",pad2(o)+":"+pad2(s)+":"+pad2(c))}2==e&&i&&!l?1==recFileProtocol?agentTerminal.ProcessData(r):2==recFileProtocol?agentDesktop.ProcessData(r):101==recFileProtocol&&(0==readState&&"4100000000000000"==rstr2hex(r)?(readState=1,8<r.length&&amtDesktop.ProcessData(r.substring(8))):1==readState&&amtDesktop.ProcessData(r)):2==e&&i&&l&&101==recFileProtocol&&"0000000008080001000700070003050200000000"==rstr2hex(r)&&(amtDesktop.bpp=1),recFileLastTime=a,playing&&readNextBlock(processBlock)}}function cleanup(){recFilePtr=0,playing=!1,(recFileMetadata=recFile=null)!=agentDesktop&&(agentDesktop.Canvas.clearRect(0,0,agentDesktop.CanvasId.width,agentDesktop.CanvasId.height),agentDesktop=null),null!=amtDesktop&&(amtDesktop.canvas.clearRect(0,0,amtDesktop.CanvasId.width,amtDesktop.CanvasId.height),amtDesktop=null),recFileEndTime=currentDeltaTimeTotalSec=readState=0,(agentTerminal=waitTimerArgs=null)!=waitTimer&&(clearTimeout(waitTimer),waitTimer=null),QH("deskstatus",""),QE("PlayButton",!1),QE("PauseButton",!1),QE("RestartButton",!1),QS("progressbar").width="0px",QH("timespan","00:00:00"),QV("metadatadiv",!0),QH("metadatadiv",'<span style="font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:28px">MeshCentral Session Player</span><br /><br /><span style=color:gray>Drag & drop soubor .mcrec nebo klikni na "Otevřít soubor..."</span>'),QV("DeskParent",!0),QV("TermParent",!1)}function ondrop(e){if(haltEvent(e),QV("bigfail",!1),QV("bigok",!1),null!=e.dataTransfer){var t=[];for(var a in e.dataTransfer.files)null!=e.dataTransfer.files[a].type&&null!=e.dataTransfer.files[a].size&&0!=e.dataTransfer.files[a].size&&e.dataTransfer.files[a].name.endsWith(".mcrec")&&t.push(e.dataTransfer.files[a]);0!=t.length&&(cleanup(),recFile=t[0],recFilePtr=0,readNextBlock(processFirstBlock),readLastBlock(function(e,t,a){recFileEndTime=3==e?a:0}))}}var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,dragtimer=null;function ondragover(e){haltEvent(e),null!=dragtimer&&(clearTimeout(dragtimer),dragtimer=null);QV("bigok",!0),QV("bigfail",!1)}function ondragleave(e){haltEvent(e),dragtimer=setTimeout(function(){QV("bigfail",!1),QV("bigok",!1),dragtimer=null},10)}function onkeypress(e){xxdialogMode||(" "==e.key&&(togglePause(),haltEvent(e)),"1"==e.key&&(Q("PlaySpeed").value=4,haltEvent(e)),"2"==e.key&&(Q("PlaySpeed").value=2,haltEvent(e)),"3"==e.key&&(Q("PlaySpeed").value=1,haltEvent(e)),"4"==e.key&&(Q("PlaySpeed").value=.5,haltEvent(e)),"5"==e.key&&(Q("PlaySpeed").value=.25,haltEvent(e)),"6"==e.key&&(Q("PlaySpeed").value=.1,haltEvent(e)),"0"==e.key&&(pause(),restart(),haltEvent(e)))}function openfile(){setDialogMode(2,"Otevřít soubor...",3,openfileEx,'<input type=file name=files id=p2fileinput style=width:100% accept=".mcrec" onchange="openfileChanged()" />'),QE("idx_dlgOkButton",!1)}function openfileEx(){var e=Q("p2fileinput").files;if(null!=e){var t=[];for(var a in e)null!=e[a].type&&null!=e[a].size&&0!=e[a].size&&e[a].name.endsWith(".mcrec")&&t.push(e[a])}0!=t.length&&(cleanup(),recFile=t[0],recFilePtr=0,readNextBlock(processFirstBlock),readLastBlock(function(e,t,a){recFileEndTime=3==e?a:0}),Q("OpenFileButton").blur())}function openfileChanged(){var e=Q("p2fileinput").files;if(null!=e){var t=[];for(var a in e)null!=e[a].type&&null!=e[a].size&&0!=e[a].size&&e[a].name.endsWith(".mcrec")&&t.push(e[a])}QE("idx_dlgOkButton",1==t.length)}function togglePause(){return null!=recFile&&(1==playing?pause():recFilePtr!=recFile.size&&play()),!1}function play(){Q("PlayButton").blur(),1!=playing&&0!=recFileProtocol&&(playing=!0,QV("metadatadiv",!1),QE("PlayButton",!1),QE("PauseButton",!0),QE("RestartButton",!1),1==recFileProtocol&&null==agentTerminal&&(QV("DeskParent",!1),QV("TermParent",!0),agentTerminal=CreateAmtRemoteTerminal("Term",{}),agentTerminal.State=3),readNextBlock(processBlock))}function pause(){Q("PauseButton").blur(),0!=playing&&(playing=!1,QE("PlayButton",recFilePtr!=recFile.size),QE("PauseButton",!1),QE("RestartButton",0!=recFilePtr),null!=waitTimer&&(clearTimeout(waitTimer),waitTimer=null,processBlockEx(waitTimerArgs[0],waitTimerArgs[1],waitTimerArgs[2],waitTimerArgs[3]),waitTimerArgs=null))}function restart(){Q("RestartButton").blur(),1!=playing&&(currentDeltaTimeTotalSec=readState=recFilePtr=0,QV("metadatadiv",!0),QE("PlayButton",!0),QE("PauseButton",!1),QE("RestartButton",!1),QS("progressbar").width="0px",QH("timespan","00:00:00"),QV("DeskParent",!0),QV("TermParent",!1),agentDesktop?agentDesktop.Canvas.clearRect(0,0,agentDesktop.CanvasId.width,agentDesktop.CanvasId.height):amtDesktop?(amtDesktop.canvas.clearRect(0,0,amtDesktop.CanvasId.width,amtDesktop.CanvasId.height),(amtDesktop=CreateAmtRemoteDesktop("Desk")).onScreenSizeChange=deskAdjust,amtDesktop.State=3,amtDesktop.Start()):agentTerminal=agentTerminal&&null)}function clearConsoleMsg(){QH("p11DeskConsoleMsg","")}function toggleAspectRatio(e){1===e&&(deskAspectRatio=(deskAspectRatio+1)%3),deskAdjust()}function deskAdjust(){var e=Q("DeskParent").clientHeight,t=Q("DeskParent").clientWidth,a=Q("Desk").height,r=Q("Desk").width;if(2==deskAspectRatio)QS("Desk")["margin-top"]=null,QS("Desk").height="100%",QS("Desk").width="100%",QS("DeskParent").overflow="hidden";else if(1==deskAspectRatio)QS("Desk")["margin-top"]="0px",QS("Desk").height=a+"px",QS("Desk").width=r+"px",QS("DeskParent").overflow="scroll";else{if(a/r<e/t){var i=a*t/r+"px";QS("Desk").height=i,QS("Desk").width="100%"}else{var l=r*e/a+"px";QS("Desk").height="100%",QS("Desk").width=l}QS("Desk")["margin-top"]=null,QS("DeskParent").overflow="hidden"}}var xxcurrentView=-1;function setDialogMode(e,t,a,r,i,l){xxdialogMode=e,xxdialogFunc=r,xxdialogButtons=a,xxdialogTag=l,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&a),QV("idx_dlgCancelButton",2&a),QV("id_dialogclose",2&a||8&a),QV("idx_dlgDeleteButton",4&a),QV("idx_dlgButtonBar",7&a),t&&QH("id_dialogtitle",t);for(var n=1;n<3;n++)QV("dialog"+n,n==e);QV("dialog",e),i&&(2==e?QH("id_dialogOptions",i):QH("id_dialogMessage",i))}function dialogclose(e){var t=xxdialogFunc,a=xxdialogButtons,r=xxdialogTag;setDialogMode(),(8&a||e)&&t&&t(e,r)}function messagebox(e,t){setSessionActivity(),QH("id_dialogMessage",t),setDialogMode(1,e,1)}function statusbox(e,t){setSessionActivity(),QH("id_dialogMessage",t),setDialogMode(1,e)}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function pad2(e){var t="00"+e;return t.substr(t.length-2)}function format(e){var a=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,t){return void 0!==a[t]?a[t]:e})}start()</script>
\ No newline at end of file
public/translations/player_cs.htm
+14 -14
@@ -19,7 +19,7 @@
19 <div id="deskarea0">
20 <div id="deskarea1" class="areaHead">
21 <div class="toright2">
22 - <div class="deskareaicon" title="Toggle View Mode" onclick="toggleAspectRatio(1)">⇲</div>
22 + <div class="deskareaicon" title="Přepnout režim zobrazení" onclick="toggleAspectRatio(1)">⇲</div>
23 </div>
24 <div>
25 <input id="OpenFileButton" type="button" value="Otevřít soubor..." onclick="openfile()">
@@ -47,8 +47,8 @@
47 </div>
48 <div>
49 &nbsp;
50 - <input id="PlayButton" type="button" value="Play" disabled="disabled" onclick="play()">
51 - <input id="PauseButton" type="button" value="Pause" disabled="disabled" onclick="pause()">
50 + <input id="PlayButton" type="button" value="Spustit" disabled="disabled" onclick="play()">
51 + <input id="PauseButton" type="button" value="Pauza" disabled="disabled" onclick="pause()">
52 <input id="RestartButton" type="button" value="Restart" disabled="disabled" onclick="restart()">
53 <select id="PlaySpeed" onchange="this.blur();">
54 <option value="4">1/4 rychlost</option>
@@ -163,20 +163,20 @@
163 try { recFileMetadata = JSON.parse(data) } catch (ex) { cleanup(); return; }
164 if ((recFileMetadata == null) || (recFileMetadata.magic != 'MeshCentralRelaySession') || (recFileMetadata.ver != 1)) { cleanup(); return; }
165 var x = '';
166 - x += addInfo("Time", recFileMetadata.time);
167 - if (recFileEndTime != 0) { var secs = Math.floor((recFileEndTime - time) / 1000); x += addInfo("Duration", format("{0} second{1}", secs, (secs > 1) ? 's' : '')); }
166 + x += addInfo("Čas", recFileMetadata.time);
167 + if (recFileEndTime != 0) { var secs = Math.floor((recFileEndTime - time) / 1000); x += addInfo("Trvání", format("{0} sekund{1}", secs, (secs > 1) ? 's' : '')); }
168 x += addInfo("Uživatel", recFileMetadata.username);
169 - x += addInfo("UserID", recFileMetadata.userid);
169 + x += addInfo("Uživatelské ID", recFileMetadata.userid);
170 x += addInfo("SessionID", recFileMetadata.sessionid);
171 - if (recFileMetadata.ipaddr1 && recFileMetadata.ipaddr2) { x += addInfo("Adresy", format("{0} to {1}", recFileMetadata.ipaddr1, recFileMetadata.ipaddr2)); }
172 - if (recFileMetadata.devicename) { x += addInfo("Device Name", recFileMetadata.devicename); }
171 + if (recFileMetadata.ipaddr1 && recFileMetadata.ipaddr2) { x += addInfo("Adresy", format("{0} na {1}", recFileMetadata.ipaddr1, recFileMetadata.ipaddr2)); }
172 + if (recFileMetadata.devicename) { x += addInfo("Název zařízení", recFileMetadata.devicename); }
173 x += addInfo("NodeID", recFileMetadata.nodeid);
174 if (recFileMetadata.protocol) {
175 var p = recFileMetadata.protocol;
176 - if (p == 1) { p = "MeshCentral Terminal"; }
177 - else if (p == 2) { p = "MeshCentral Desktop"; }
176 + if (p == 1) { p = "MeshCentral terminal"; }
177 + else if (p == 2) { p = "MeshCentral plocha"; }
178 else if (p == 100) { p = "Intel&reg; AMT WSMAN"; }
179 - else if (p == 101) { p = "Intel&reg; AMT Redirection"; }
179 + else if (p == 101) { p = "Intel&reg; AMT přesměrování"; }
180 x += addInfoNoEsc("Protokol", p);
181 }
182 QV('DeskParent', true);
@@ -184,7 +184,7 @@
184 if (recFileMetadata.protocol == 1) {
185 // MeshCentral remote terminal
186 recFileProtocol = 1;
187 - x += '<br /><br /><span style=color:gray>' + "Press [space] to play/pause." + '</span>';
187 + x += '<br /><br /><span style=color:gray>' + "Zmáčkni [mezerník] pro spuštění/pauzu." + '</span>';
188 QE('PlayButton', true);
189 QE('PauseButton', false);
190 QE('RestartButton', false);
@@ -193,7 +193,7 @@
193 else if (recFileMetadata.protocol == 2) {
194 // MeshCentral remote desktop
195 recFileProtocol = 2;
196 - x += '<br /><br /><span style=color:gray>' + "Press [space] to play/pause." + '</span>';
196 + x += '<br /><br /><span style=color:gray>' + "Zmáčkni [mezerník] pro spuštění/pauzu." + '</span>';
197 QE('PlayButton', true);
198 QE('PauseButton', false);
199 QE('RestartButton', false);
@@ -299,7 +299,7 @@
299 QS('progressbar').width = '0px';
300 QH('timespan', '00:00:00');
301 QV('metadatadiv', true);
302 - QH('metadatadiv', '<span style=\"font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:28px\">MeshCentral Session Player</span><br /><br /><span style=color:gray>' + "Drag & drop a .mcrec file or click \"Open File...\"" + '</span>');
302 + QH('metadatadiv', '<span style=\"font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:28px\">MeshCentral Session Player</span><br /><br /><span style=color:gray>' + "Drag & drop soubor .mcrec nebo klikni na \"Otevřít soubor...\"" + '</span>');
303 QV('DeskParent', true);
304 QV('TermParent', false);
305 }
translate/translate.js
+3 -1
@@ -313,7 +313,9 @@ function merge(source, target, lang) {
313 // Merge the translation
314 for (var i in sourceLangFileData.strings) {
315 if ((sourceLangFileData.strings[i].en != null) && (sourceLangFileData.strings[i][lang] != null) && (index[sourceLangFileData.strings[i].en] != null)) {
316 - if (sourceLangFileData.strings[i][lang] == null) { index[sourceLangFileData.strings[i].en][lang] = sourceLangFileData.strings[i][lang]; }
316 + //if (sourceLangFileData.strings[i][lang] == null) {
317 + index[sourceLangFileData.strings[i].en][lang] = sourceLangFileData.strings[i][lang];
318 + //}
319 }
320 }
321
translate/translate.json
+7273 -2392
@@ -2,34 +2,52 @@
2 "strings": [
3 {
4 "en": "0",
5 - "xloc": [ "default.handlebars->container->masthead->5->notificationCount", "default-mobile.handlebars->9->229" ],
5 + "xloc": [
6 + "default.handlebars->container->masthead->5->notificationCount",
7 + "default-mobile.handlebars->9->229"
8 + ],
9 "pt": "0",
7 - "ja": "0"
10 + "ja": "0",
11 + "cs": "0"
12 },
13 {
14 "en": "3",
11 - "xloc": [ "default-mobile.handlebars->9->266" ],
15 + "xloc": [
16 + "default-mobile.handlebars->9->266"
17 + ],
18 "pt": "3",
13 - "ja": "3"
19 + "ja": "3",
20 + "cs": "3"
21 },
22 {
23 "en": "404",
17 - "xloc": [ "error404.handlebars->container->column_l->1->0", "error404-mobile.handlebars->container->page_content->column_l->1->0" ],
24 + "xloc": [
25 + "error404.handlebars->container->column_l->1->0",
26 + "error404-mobile.handlebars->container->page_content->column_l->1->0"
27 + ],
28 "pt": "404",
19 - "ja": "404"
29 + "ja": "404",
30 + "cs": "404"
31 },
32 {
33 "en": " + CIRA",
34 "fr": " + CIRA",
24 - "xloc": [ "default.handlebars->23->965", "default.handlebars->23->967" ],
35 + "xloc": [
36 + "default.handlebars->23->965",
37 + "default.handlebars->23->967"
38 + ],
39 "pt": " + CIRA",
26 - "ja": " + CIRA"
40 + "ja": " + CIRA",
41 + "cs": "+ CIRA"
42 },
43 {
44 "en": " - Reset in {0} day{1}.",
45 "cs": " - Reset v {0} den{1}.",
46 "fr": " - Réinitialiser dans le {0} jour {1}.",
32 - "xloc": [ "default.handlebars->23->24", "default-mobile.handlebars->9->13" ],
47 + "xloc": [
48 + "default.handlebars->23->24",
49 + "default-mobile.handlebars->9->13"
50 + ],
51 "pt": " - Redefinir em {0} dia {1}.",
52 "ja": " -{0}日でリセット{1}。"
53 },
@@ -37,7 +55,10 @@
55 "en": " - Reset in {0} hour{1}.",
56 "cs": " - Reset v {0} hodin{1}.",
57 "fr": " - Réinitialisation dans {0} heure {1}.",
40 - "xloc": [ "default.handlebars->23->23", "default-mobile.handlebars->9->12" ],
58 + "xloc": [
59 + "default.handlebars->23->23",
60 + "default-mobile.handlebars->9->12"
61 + ],
62 "pt": " - Redefinir em {0} hora {1}.",
63 "ja": " -{0}時間でリセット{1}。"
64 },
@@ -45,7 +66,10 @@
66 "en": " - Reset in {0} minute{1}.",
67 "cs": " - Reset v {0} minut{1}.",
68 "fr": "- Réinitialisation en {0} minute {1}.",
48 - "xloc": [ "default.handlebars->23->22", "default-mobile.handlebars->9->11" ],
69 + "xloc": [
70 + "default.handlebars->23->22",
71 + "default-mobile.handlebars->9->11"
72 + ],
73 "pt": "- Redefinir em {0} minuto {1}.",
74 "ja": " -{0}分でリセット{1}。"
75 },
@@ -53,21 +77,31 @@
77 "en": " - Reset on next login.",
78 "cs": " - Reset při příštím přihlášení.",
79 "fr": " - Réinitialiser à la prochaine connexion.",
56 - "xloc": [ "default.handlebars->23->20", "default.handlebars->23->21", "default-mobile.handlebars->9->9", "default-mobile.handlebars->9->10" ],
80 + "xloc": [
81 + "default.handlebars->23->20",
82 + "default.handlebars->23->21",
83 + "default-mobile.handlebars->9->9",
84 + "default-mobile.handlebars->9->10"
85 + ],
86 "pt": " - Redefinir no próximo login.",
87 "ja": " -次回ログイン時にリセット。"
88 },
89 {
90 "en": " / ",
62 - "xloc": [ "default-mobile.handlebars->9->91" ],
91 + "xloc": [
92 + "default-mobile.handlebars->9->91"
93 + ],
94 "pt": " / ",
64 - "ja": " /"
95 + "ja": " /",
96 + "cs": " / "
97 },
98 {
99 "en": " Add User",
100 "cs": " Přidat uživatele",
101 "fr": " Ajouter un utilisateur",
70 - "xloc": [ "default-mobile.handlebars->9->277" ],
102 + "xloc": [
103 + "default-mobile.handlebars->9->277"
104 + ],
105 "pt": " Adicionar usuário",
106 "ja": " ユーザーを追加する"
107 },
@@ -75,7 +109,9 @@
109 "en": " and authenticate to the server using this username and any password.",
110 "cs": " a autentizovat se na serveru pomocí tohoto uživatelského jména a hesla.",
111 "fr": " et vous authentifier sur le serveur en utilisant ce nom d'utilisateur et n'importe quel mot de passe.",
78 - "xloc": [ "default.handlebars->23->231" ],
112 + "xloc": [
113 + "default.handlebars->23->231"
114 + ],
115 "pt": " e autenticar no servidor usando esse nome de usuário e qualquer senha.",
116 "ja": " このユーザー名とパスワードを使用してサーバーに対して認証します。"
117 },
@@ -83,7 +119,9 @@
119 "en": " and authenticate to the server using this username and password.",
120 "cs": " a autentizovat se na serveru pomocí tohoto uživatelského jména a hesla.",
121 "fr": " et authentifiez-vous sur le serveur en utilisant ce nom d'utilisateur et mot de passe.",
86 - "xloc": [ "default.handlebars->23->230" ],
122 + "xloc": [
123 + "default.handlebars->23->230"
124 + ],
125 "pt": " e autenticar no servidor usando esse nome de usuário e senha.",
126 "ja": " このユーザー名とパスワードを使用してサーバーに対して認証します。"
127 },
@@ -91,7 +129,9 @@
129 "en": " node",
130 "cs": " nód",
131 "fr": " nœud",
94 - "xloc": [ "default-mobile.handlebars->9->124" ],
132 + "xloc": [
133 + "default-mobile.handlebars->9->124"
134 + ],
135 "pt": " nó",
136 "ja": " ノード"
137 },
@@ -99,7 +139,9 @@
139 "en": " nodes",
140 "cs": " nódy",
141 "fr": " noeuds",
102 - "xloc": [ "default-mobile.handlebars->9->125" ],
142 + "xloc": [
143 + "default-mobile.handlebars->9->125"
144 + ],
145 "pt": " nós",
146 "ja": " ノード"
147 },
@@ -107,7 +149,9 @@
149 "en": " Password hint can be used but is not recommanded.",
150 "cs": " Nápověda hesla může být použita, ale není doporučováno.",
151 "fr": " Un indice de mot de passe peut être utilisé mais n'est pas recommandé.",
110 - "xloc": [ "default.handlebars->23->897" ],
152 + "xloc": [
153 + "default.handlebars->23->897"
154 + ],
155 "pt": " Dica de senha pode ser usada, mas não é recomendada.",
156 "ja": " パスワードヒントは使用できますが、推奨されません。"
157 },
@@ -115,7 +159,9 @@
159 "en": " Users need to login to this server once before they can be added to a device group.",
160 "cs": " Uživatelé se musí před přidáním do skupiny zařízení jednou přihlásit k tomuto serveru.",
161 "fr": " Les utilisateurs doivent se connecter une fois sur ce serveur avant de pouvoir être ajoutés à un groupe de périphériques..",
118 - "xloc": [ "default.handlebars->23->1037" ],
162 + "xloc": [
163 + "default.handlebars->23->1037"
164 + ],
165 "pt": " Os usuários precisam fazer login neste servidor uma vez antes de poderem ser adicionados a um grupo de dispositivos.",
166 "ja": " ユーザーは、デバイスグループに追加する前にこのサーバーに1回ログインする必要があります。"
167 },
@@ -123,7 +169,9 @@
169 "en": " with TLS.",
170 "cs": " s TLS.",
171 "fr": " avec TLS.",
126 - "xloc": [ "default.handlebars->23->128" ],
172 + "xloc": [
173 + "default.handlebars->23->128"
174 + ],
175 "pt": " com TLS.",
176 "ja": " TLSを使用。"
177 },
@@ -131,131 +179,204 @@
179 "en": " without TLS.",
180 "cs": " bez TLS.",
181 "fr": " sans TLS.",
134 - "xloc": [ "default.handlebars->23->129" ],
182 + "xloc": [
183 + "default.handlebars->23->129"
184 + ],
185 "pt": " sem TLS.",
186 "ja": " TLSなし。"
187 },
188 {
189 "en": "(",
140 - "xloc": [ "default.handlebars->container->column_l->p2->p2createMeshLink1", "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3createMeshLink1" ],
190 + "xloc": [
191 + "default.handlebars->container->column_l->p2->p2createMeshLink1",
192 + "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3createMeshLink1"
193 + ],
194 "pt": "(",
142 - "ja": "("
195 + "ja": "(",
196 + "cs": "("
197 },
198 {
199 "en": "(optional)",
200 "cs": "(volitelné)",
147 - "xloc": [ "default.handlebars->23->267" ],
201 + "xloc": [
202 + "default.handlebars->23->267"
203 + ],
204 "pt": "(opcional)",
205 "ja": "(オプション)"
206 },
207 {
208 "en": ")",
153 - "xloc": [ "default.handlebars->container->column_l->p2->p2createMeshLink1", "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3createMeshLink1" ],
209 + "xloc": [
210 + "default.handlebars->container->column_l->p2->p2createMeshLink1",
211 + "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3createMeshLink1"
212 + ],
213 "pt": ")",
155 - "ja": ")"
214 + "ja": ")",
215 + "cs": ")"
216 },
217 {
218 "en": "* For BSD, run \\\"pkg install wget sudo bash\\\" first.",
219 "cs": "* Pro BSD, spusť \\\"pkg install wget sudo bash\\\" nejprve.",
160 - "xloc": [ "default.handlebars->23->298" ],
220 + "xloc": [
221 + "default.handlebars->23->298"
222 + ],
223 "pt": "* Para o BSD, execute \\\"pkg install wget sudo bash\\\".",
224 "ja": "* BSDの場合、最初に\\\"pkg install wget sudo bash \\\"を実行します。"
225 },
226 {
227 "en": "* Leave blank to assign a random password to each device.",
228 "cs": "* Ponechat prázdné pro vygenerování náhodného hesla každému zařízení.",
167 - "xloc": [ "default.handlebars->23->1014" ],
229 + "xloc": [
230 + "default.handlebars->23->1014"
231 + ],
232 "pt": "* Deixe em branco para atribuir uma senha aleatória a cada dispositivo.",
233 "ja": "*空白のままにして、各デバイスにランダムなパスワードを割り当てます。"
234 },
235 {
236 "en": ",",
173 - "xloc": [ "default.handlebars->container->column_l->p0->p0message", "default-mobile.handlebars->container->page_content->column_l->p0->1->p0message" ],
237 + "xloc": [
238 + "default.handlebars->container->column_l->p0->p0message",
239 + "default-mobile.handlebars->container->page_content->column_l->p0->1->p0message"
240 + ],
241 "pt": ",",
175 - "ja": "、"
242 + "ja": "、",
243 + "cs": ","
244 },
245 {
246 "en": ", ",
179 - "xloc": [ "default.handlebars->23->1080", "default-mobile.handlebars->9->327" ],
247 + "xloc": [
248 + "default.handlebars->23->1080",
249 + "default-mobile.handlebars->9->327"
250 + ],
251 "pt": ",",
181 - "ja": "、"
252 + "ja": "、",
253 + "cs": ", "
254 },
255 {
256 "en": ", click here to enable it.",
257 "cs": ", zde kliknout pro aktivaci.",
186 - "xloc": [ "default.handlebars->container->column_l->p11->p11warning->3->p11warninga", "default.handlebars->container->column_l->p12->p12warning->3->p12warninga" ],
258 + "xloc": [
259 + "default.handlebars->container->column_l->p11->p11warning->3->p11warninga",
260 + "default.handlebars->container->column_l->p12->p12warning->3->p12warninga"
261 + ],
262 "pt": ", clique aqui para habilitá-lo.",
263 "ja": "、ここをクリックして有効にします。"
264 },
265 {
266 "en": ", Intel&reg; AMT only",
267 "cs": ", Intel&reg; AMT pouze",
193 - "xloc": [ "default.handlebars->23->145", "default-mobile.handlebars->9->89" ],
268 + "xloc": [
269 + "default.handlebars->23->145",
270 + "default-mobile.handlebars->9->89"
271 + ],
272 "pt": "Intelreg; ",
273 "ja": "、Intel&reg; AMTのみ"
274 },
275 {
276 "en": ", MQTT is online",
277 "cs": ", MQTT je online",
200 - "xloc": [ "default.handlebars->23->651" ],
278 + "xloc": [
279 + "default.handlebars->23->651"
280 + ],
281 "pt": ", O MQTT está online",
282 "ja": "、MQTTはオンラインです"
283 },
284 {
285 "en": ", right click on it or press \"control\" and click on the file. Then select \"Open\" and follow the instructions.",
286 "cs": ", poté spusťe instalaci. Postupujte dle instrukcí.",
207 - "xloc": [ "agentinvite.handlebars->container->column_l->5->macostab->3" ],
287 + "xloc": [
288 + "agentinvite.handlebars->container->column_l->5->macostab->3"
289 + ],
290 "pt": ", clique com o botão direito do mouse ou pressione \"control\".Em seguida, selecione \"Open\".",
291 "ja": "、それを右クリックするか、「control」を押してファイルをクリックします。次に、「開く」を選択し、指示に従います。"
292 },
293 {
294 "en": ", run it and press \"Install\" or \"Connect\".",
295 "cs": ", spusťte soubor a zvolte \"Install\" nebo \"Connect\".",
214 - "xloc": [ "agentinvite.handlebars->container->column_l->5->wintab64->3", "agentinvite.handlebars->container->column_l->5->wintab32->3" ],
296 + "xloc": [
297 + "agentinvite.handlebars->container->column_l->5->wintab64->3",
298 + "agentinvite.handlebars->container->column_l->5->wintab32->3"
299 + ],
300 "pt": ", execute-o e pressione \"Install\" or \"Connect\".",
301 "ja": "、実行して「インストール」または「接続」を押します。"
302 },
303 {
304 "en": ", Soft-KVM",
220 - "xloc": [ "default.handlebars->23->569" ],
305 + "xloc": [
306 + "default.handlebars->23->569"
307 + ],
308 "pt": ", Soft-KVM",
222 - "ja": "、Soft-KVM"
309 + "ja": "、Soft-KVM",
310 + "cs": ", Soft-KVM"
311 },
312 {
313 "en": ", WebRTC",
226 - "xloc": [ "default.handlebars->23->570", "default.handlebars->23->601", "default.handlebars->23->613", "default-mobile.handlebars->9->225", "default-mobile.handlebars->9->235" ],
314 + "xloc": [
315 + "default.handlebars->23->570",
316 + "default.handlebars->23->601",
317 + "default.handlebars->23->613",
318 + "default-mobile.handlebars->9->225",
319 + "default-mobile.handlebars->9->235"
320 + ],
321 "pt": ", WebRTC",
228 - "ja": "、WebRTC"
322 + "ja": "、WebRTC",
323 + "cs": ", WebRTC"
324 },
325 {
326 "en": "-",
232 - "xloc": [ "default-mobile.handlebars->9->228" ],
327 + "xloc": [
328 + "default-mobile.handlebars->9->228"
329 + ],
330 "pt": "-",
234 - "ja": "-"
331 + "ja": "-",
332 + "cs": "-"
333 },
334 {
335 "en": ".",
238 - "xloc": [ "default.handlebars->container->column_l->p0->p0message", "default.handlebars->container->column_l->p1->NoMeshesPanel->1->1->0->3->getStarted1", "default-mobile.handlebars->container->page_content->column_l->p0->1->p0message", "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->resetAccountDiv", "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->newAccountDiv", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->resetAccountDiv", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->newAccountDiv", "terms.handlebars->container->column_l->75->1", "terms-mobile.handlebars->container->page_content->column_l->75->1" ],
336 + "xloc": [
337 + "default.handlebars->container->column_l->p0->p0message",
338 + "default.handlebars->container->column_l->p1->NoMeshesPanel->1->1->0->3->getStarted1",
339 + "default-mobile.handlebars->container->page_content->column_l->p0->1->p0message",
340 + "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->resetAccountDiv",
341 + "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->newAccountDiv",
342 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->resetAccountDiv",
343 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->newAccountDiv",
344 + "terms.handlebars->container->column_l->75->1",
345 + "terms-mobile.handlebars->container->page_content->column_l->75->1"
346 + ],
347 "pt": ".",
240 - "ja": "。"
348 + "ja": "。",
349 + "cs": "."
350 },
351 {
352 "en": "...",
244 - "xloc": [ "default.handlebars->23->615", "default.handlebars->23->1086", "default.handlebars->23->1244", "default-mobile.handlebars->9->64", "default-mobile.handlebars->9->240" ],
353 + "xloc": [
354 + "default.handlebars->23->615",
355 + "default.handlebars->23->1086",
356 + "default.handlebars->23->1244",
357 + "default-mobile.handlebars->9->64",
358 + "default-mobile.handlebars->9->240"
359 + ],
360 "pt": "...",
246 - "ja": "..."
361 + "ja": "...",
362 + "cs": "..."
363 },
364 {
365 "en": "00:00:00",
250 - "xloc": [ "player.htm->p11->deskarea0->deskarea4->1->timespan" ],
366 + "xloc": [
367 + "player.htm->p11->deskarea0->deskarea4->1->timespan"
368 + ],
369 "pt": "00:00:00",
252 - "ja": "00:00:00"
370 + "ja": "00:00:00",
371 + "cs": "00:00:00"
372 },
373 {
374 "en": "1 active session",
375 "cs": "1 session aktivní",
376 "fr": "1 session active",
258 - "xloc": [ "default.handlebars->23->1230" ],
377 + "xloc": [
378 + "default.handlebars->23->1230"
379 + ],
380 "pt": "1 sessão ativa",
381 "ja": "1つのアクティブなセッション"
382 },
@@ -263,7 +384,11 @@
384 "en": "1 byte",
385 "cs": "1 byte",
386 "fr": "1 octet",
266 - "xloc": [ "default.handlebars->23->1103", "default-mobile.handlebars->9->74", "default-mobile.handlebars->9->331" ],
387 + "xloc": [
388 + "default.handlebars->23->1103",
389 + "default-mobile.handlebars->9->74",
390 + "default-mobile.handlebars->9->331"
391 + ],
392 "pt": "1 byte",
393 "ja": "1バイト"
394 },
@@ -271,7 +396,11 @@
396 "en": "1 day",
397 "cs": "1 den",
398 "fr": "1 jour",
274 - "xloc": [ "default.handlebars->23->132", "default.handlebars->23->258", "default.handlebars->23->272" ],
399 + "xloc": [
400 + "default.handlebars->23->132",
401 + "default.handlebars->23->258",
402 + "default.handlebars->23->272"
403 + ],
404 "pt": "1 dia",
405 "ja": "1日"
406 },
@@ -279,7 +408,9 @@
408 "en": "1 group",
409 "cs": "1 skupina",
410 "fr": "1 groupe",
282 - "xloc": [ "default.handlebars->23->1216" ],
411 + "xloc": [
412 + "default.handlebars->23->1216"
413 + ],
414 "pt": "1 grupo",
415 "ja": "1グループ"
416 },
@@ -287,7 +418,10 @@
418 "en": "1 hour",
419 "cs": "1 hodina",
420 "fr": "1 heure",
290 - "xloc": [ "default.handlebars->23->256", "default.handlebars->23->270" ],
421 + "xloc": [
422 + "default.handlebars->23->256",
423 + "default.handlebars->23->270"
424 + ],
425 "pt": "1 hora",
426 "ja": "1時間"
427 },
@@ -295,14 +429,20 @@
429 "en": "1 month",
430 "cs": "1 měsíc",
431 "fr": "1 mois",
298 - "xloc": [ "default.handlebars->23->134", "default.handlebars->23->260", "default.handlebars->23->274" ],
432 + "xloc": [
433 + "default.handlebars->23->134",
434 + "default.handlebars->23->260",
435 + "default.handlebars->23->274"
436 + ],
437 "pt": "1 mês",
438 "ja": "1ヶ月"
439 },
440 {
441 "en": "1 more user not shown, use search box to look for users...",
442 "cs": "1 další uživatel není zobrazen, pomocí vyhledávacího pole vyhledejte uživatele ...",
305 - "xloc": [ "default.handlebars->23->1136" ],
443 + "xloc": [
444 + "default.handlebars->23->1136"
445 + ],
446 "pt": "Mais 1 usuário não mostrado, use a caixa de pesquisa para procurar usuários...",
447 "ja": "さらに1人のユーザーが表示されていません。検索ボックスを使用してユーザーを検索してください..."
448 },
@@ -310,7 +450,9 @@
450 "en": "1 node",
451 "cs": "1 nód",
452 "fr": "1 appareil",
313 - "xloc": [ "default.handlebars->23->311" ],
453 + "xloc": [
454 + "default.handlebars->23->311"
455 + ],
456 "pt": "1 nó",
457 "ja": "1ノード"
458 },
@@ -318,7 +460,9 @@
460 "en": "1 session",
461 "cs": "1 session",
462 "fr": "1 session",
321 - "xloc": [ "default.handlebars->23->1140" ],
463 + "xloc": [
464 + "default.handlebars->23->1140"
465 + ],
466 "pt": "1 sessão",
467 "ja": "1セッション"
468 },
@@ -326,21 +470,33 @@
470 "en": "1 week",
471 "cs": "1 týden",
472 "fr": "1 semaine",
329 - "xloc": [ "default.handlebars->23->133", "default.handlebars->23->259", "default.handlebars->23->273" ],
473 + "xloc": [
474 + "default.handlebars->23->133",
475 + "default.handlebars->23->259",
476 + "default.handlebars->23->273"
477 + ],
478 "pt": "1 semana",
479 "ja": "1週間"
480 },
481 {
482 "en": "1.AJAX Control Toolkit - New BSD License",
483 "cs": "1.AJAX Control Toolkit - Nová BSD Licence",
336 - "xloc": [ "terms.handlebars->container->column_l->9->1->0", "terms-mobile.handlebars->container->page_content->column_l->9->1->0" ],
484 + "xloc": [
485 + "terms.handlebars->container->column_l->9->1->0",
486 + "terms-mobile.handlebars->container->page_content->column_l->9->1->0"
487 + ],
488 "pt": "1.AJAX Control Toolkit - Nova licença BSD",
489 "ja": "1.AJAX Control Toolkit-新しいBSDライセンス"
490 },
491 {
492 "en": "1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.",
493 "cs": "1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.",
343 - "xloc": [ "terms.handlebars->container->column_l->15->1", "terms.handlebars->container->column_l->31->1", "terms-mobile.handlebars->container->page_content->column_l->15->1", "terms-mobile.handlebars->container->page_content->column_l->31->1" ],
494 + "xloc": [
495 + "terms.handlebars->container->column_l->15->1",
496 + "terms.handlebars->container->column_l->31->1",
497 + "terms-mobile.handlebars->container->page_content->column_l->15->1",
498 + "terms-mobile.handlebars->container->page_content->column_l->31->1"
499 + ],
500 "pt": "1.As redistribuições do código-fonte devem manter o aviso de direitos autorais acima, esta lista de condições e o aviso de isenção de responsabilidade a seguir.",
501 "ja": "1.ソースコードの再配布には、上記の著作権表示、この条件リスト、および以下の免責事項を保持する必要があります。"
502 },
@@ -348,7 +504,9 @@
504 "en": "1/2 Speed",
505 "cs": "1/2 rychlost",
506 "fr": "1/2 vitesse",
351 - "xloc": [ "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->3" ],
507 + "xloc": [
508 + "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->3"
509 + ],
510 "pt": "1/2 velocidade",
511 "ja": "1/2速度"
512 },
@@ -356,356 +514,522 @@
514 "en": "1/4 Speed",
515 "cs": "1/4 rychlost",
516 "fr": "1/4 vitesse",
359 - "xloc": [ "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->1" ],
517 + "xloc": [
518 + "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->1"
519 + ],
520 "pt": "1/4 de velocidade",
521 "ja": "1/4スピード"
522 },
523 {
524 "en": "100%",
365 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->1", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->1" ],
525 + "xloc": [
526 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->1",
527 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->1"
528 + ],
529 "pt": "100%",
367 - "ja": "100%"
530 + "ja": "100%",
531 + "cs": "100%"
532 },
533 {
534 "en": "100x30",
371 - "xloc": [ "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSizeDropDown->termSizeList->1" ],
535 + "xloc": [
536 + "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSizeDropDown->termSizeList->1"
537 + ],
538 "pt": "100x30",
373 - "ja": "100x30"
539 + "ja": "100x30",
540 + "cs": "100x30"
541 },
542 {
543 "en": "10x Speed",
544 "cs": "10x rychlost",
545 "fr": "10x vitesse",
379 - "xloc": [ "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->11" ],
546 + "xloc": [
547 + "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->11"
548 + ],
549 "pt": "10x Velocidade",
550 "ja": "10倍速"
551 },
552 {
553 "en": "12.5%",
385 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->15", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->15" ],
554 + "xloc": [
555 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->15",
556 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->15"
557 + ],
558 "pt": "12.5%",
387 - "ja": "12.5%"
559 + "ja": "12.5%",
560 + "cs": "12.5%"
561 },
562 {
563 "en": "2-step login activation failed.",
564 "cs": "aktivace 2-faktorového přihlašování selhalo.",
392 - "xloc": [ "default.handlebars->23->89" ],
565 + "xloc": [
566 + "default.handlebars->23->89"
567 + ],
568 "pt": "Falha na ativação do login em duas etapas.",
569 "ja": "2段階ログインのアクティベーションに失敗しました。"
570 },
571 {
572 "en": "2-step login activation removal failed.",
573 "cs": "odstranění 2-faktorového přihlašování selhalo.",
399 - "xloc": [ "default.handlebars->23->94" ],
574 + "xloc": [
575 + "default.handlebars->23->94"
576 + ],
577 "pt": "A remoção da ativação do login em duas etapas falhou.",
578 "ja": "2段階ログインアクティベーションの削除に失敗しました。"
579 },
580 {
581 "en": "2.OpenSSL – OpenSSL and SSLeay License",
582 "cs": "2.OpenSSL – OpenSSL a SSLeay licence",
406 - "xloc": [ "terms.handlebars->container->column_l->23->1->0", "terms-mobile.handlebars->container->page_content->column_l->23->1->0" ],
583 + "xloc": [
584 + "terms.handlebars->container->column_l->23->1->0",
585 + "terms-mobile.handlebars->container->page_content->column_l->23->1->0"
586 + ],
587 "pt": "2.OpenSSL - Licença OpenSSL e SSLeay",
588 "ja": "2.OpenSSL – OpenSSLおよびSSLeayライセンス"
589 },
590 {
591 "en": "2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.",
592 "cs": "2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.",
413 - "xloc": [ "terms.handlebars->container->column_l->17->1", "terms.handlebars->container->column_l->33->1", "terms-mobile.handlebars->container->page_content->column_l->17->1", "terms-mobile.handlebars->container->page_content->column_l->33->1" ],
593 + "xloc": [
594 + "terms.handlebars->container->column_l->17->1",
595 + "terms.handlebars->container->column_l->33->1",
596 + "terms-mobile.handlebars->container->page_content->column_l->17->1",
597 + "terms-mobile.handlebars->container->page_content->column_l->33->1"
598 + ],
599 "pt": "2.As redistribuições em formato binário devem reproduzir o aviso de direitos autorais acima, esta lista de condições e o aviso de isenção de responsabilidade a seguir na documentação e / ou outros materiais fornecidos com a distribuição.",
600 "ja": "2.バイナリ形式での再配布では、上記の著作権表示、この条件リスト、および以下の免責事項を、配布物とともに提供されるドキュメントおよび/またはその他の資料に複製する必要があります。"
601 },
602 {
603 "en": "25%",
419 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->13", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->13" ],
604 + "xloc": [
605 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->13",
606 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->13"
607 + ],
608 "pt": "25%",
421 - "ja": "25%"
609 + "ja": "25%",
610 + "cs": "25%"
611 },
612 {
613 "en": "2x Speed",
614 "cs": "2x rychlost",
615 "fr": "2x vitesse",
427 - "xloc": [ "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->7" ],
616 + "xloc": [
617 + "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->7"
618 + ],
619 "pt": "2x velocidade",
620 "ja": "2倍速"
621 },
622 {
623 "en": "3.All advertising materials mentioning features or use of this software must display the following acknowledgment: \"This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)\"",
624 "cs": "Všechny reklamní materiály uvádějící funkce nebo použití tohoto softwaru musí obsahovat následující potvrzení: \"Tento produkt zahrnuje software vyvinutý projektem OpenSSL pro použití v sadě OpenSSL Toolkit. (http://www.openssl.org/)\"",
434 - "xloc": [ "terms.handlebars->container->column_l->35->1", "terms-mobile.handlebars->container->page_content->column_l->35->1" ],
625 + "xloc": [
626 + "terms.handlebars->container->column_l->35->1",
627 + "terms-mobile.handlebars->container->page_content->column_l->35->1"
628 + ],
629 "pt": "3.Todos os materiais publicitários que mencionam os recursos ou o uso deste software devem exibir o seguinte reconhecimento: \"This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)\"",
630 "ja": "3.このソフトウェアの機能または使用について言及するすべての広告資料には、「この製品には、OpenSSL Toolkitで使用するためにOpenSSL Projectによって開発されたソフトウェアが含まれます。(http://www.openssl.org/)」"
631 },
632 {
633 "en": "3.jQuery Foundation - MIT License",
634 "cs": "3.jQuery Foundation - MIT licence",
441 - "xloc": [ "terms.handlebars->container->column_l->45->1->0", "terms-mobile.handlebars->container->page_content->column_l->45->1->0" ],
635 + "xloc": [
636 + "terms.handlebars->container->column_l->45->1->0",
637 + "terms-mobile.handlebars->container->page_content->column_l->45->1->0"
638 + ],
639 "pt": "3.jQuery Foundation - Licença MIT",
640 "ja": "3. jQuery Foundation-MITライセンス"
641 },
642 {
643 "en": "3.Neither the name of CodePlex Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.",
644 "cs": "3.Název Nadace CodePlex Foundation ani jména jejích přispěvatelů nesmí být bez předchozího písemného svolení použita k podpoře nebo propagaci produktů odvozených od tohoto softwaru.",
448 - "xloc": [ "terms.handlebars->container->column_l->19->1", "terms-mobile.handlebars->container->page_content->column_l->19->1" ],
645 + "xloc": [
646 + "terms.handlebars->container->column_l->19->1",
647 + "terms-mobile.handlebars->container->page_content->column_l->19->1"
648 + ],
649 "pt": "3.Nem o nome da CodePlex Foundation nem os nomes de seus colaboradores podem ser usados \\u200b\\u200bpara endossar ou promover produtos derivados deste software sem permissão prévia por escrito específica.",
650 "ja": "3. CodePlex Foundationの名前もその貢献者の名前も、書面による事前の許可なしに、このソフトウェアから派生した製品を推奨または宣伝するために使用することはできません。"
651 },
652 {
653 "en": "32bit version of the MeshAgent",
654 "cs": "32bit verze MeshAgent",
455 - "xloc": [ "default.handlebars->23->290", "default.handlebars->23->304" ],
655 + "xloc": [
656 + "default.handlebars->23->290",
657 + "default.handlebars->23->304"
658 + ],
659 "pt": "Versão de 32 bits do MeshAgent",
660 "ja": "MeshAgentの32ビットバージョン"
661 },
662 {
663 "en": "37.5%",
461 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->11", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->11" ],
664 + "xloc": [
665 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->11",
666 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->11"
667 + ],
668 "pt": "37..5%",
463 - "ja": "37.5%"
669 + "ja": "37.5%",
670 + "cs": "37.5%"
671 },
672 {
673 "en": "4.jQuery User Interface - MIT License",
674 "cs": "4.jQuery User Interface - MIT Licence",
468 - "xloc": [ "terms.handlebars->container->column_l->51->1->0", "terms-mobile.handlebars->container->page_content->column_l->51->1->0" ],
675 + "xloc": [
676 + "terms.handlebars->container->column_l->51->1->0",
677 + "terms-mobile.handlebars->container->page_content->column_l->51->1->0"
678 + ],
679 "pt": "4.Interface do Usuário jQuery - Licença MIT",
680 "ja": "4. jQueryユーザーインターフェイス-MITライセンス"
681 },
682 {
683 "en": "4.The names \"OpenSSL Toolkit\" and \"OpenSSL Project\" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.",
684 "cs": "4.Názvy \"OpenSSL Toolkit\" a \"OpenSSL Project\" nesmí být bez předchozího písemného souhlasu použity k propagaci nebo propagaci produktů odvozených z tohoto softwaru. Pro písemné povolení nás prosím kontaktujte openssl-core@openssl.org.",
475 - "xloc": [ "terms.handlebars->container->column_l->37->1", "terms-mobile.handlebars->container->page_content->column_l->37->1" ],
685 + "xloc": [
686 + "terms.handlebars->container->column_l->37->1",
687 + "terms-mobile.handlebars->container->page_content->column_l->37->1"
688 + ],
689 "ja": "4.「OpenSSL Toolkit」および「OpenSSL Project」という名前は、事前の書面による許可なしに、このソフトウェアから派生した製品を推奨または宣伝するために使用しないでください。書面による許可については、openssl-core @ openssl.orgにお問い合わせください。"
690 },
691 {
692 "en": "4x Speed",
693 "cs": "4x rychlost",
694 "fr": "4x vitesse",
482 - "xloc": [ "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->9" ],
695 + "xloc": [
696 + "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->9"
697 + ],
698 "pt": "4x velocidade",
699 "ja": "4倍速"
700 },
701 {
702 "en": "5.noVNC - Mozilla Public License 2.0",
703 "cs": "5.noVNC - Mozilla Public licence 2.0",
489 - "xloc": [ "terms.handlebars->container->column_l->59->1->0", "terms-mobile.handlebars->container->page_content->column_l->59->1->0" ],
704 + "xloc": [
705 + "terms.handlebars->container->column_l->59->1->0",
706 + "terms-mobile.handlebars->container->page_content->column_l->59->1->0"
707 + ],
708 "pt": "5.noVNC - Licença Pública Mozilla 2.0 0",
709 "ja": "5. noVNC-Mozilla Public License 2.0"
710 },
711 {
712 "en": "5.Products derived from this software may not be called \"OpenSSL\" nor may \"OpenSSL\" appear in their names without prior written permission of the OpenSSL Project.",
713 "cs": "5.Produkty odvozené od tohoto softwaru nesmí být nazývány \"OpenSSL\" ani se nesmí \"OpenSSL\" objevit v jejich jménech bez předchozího písemného souhlasu projektu OpenSSL.",
496 - "xloc": [ "terms.handlebars->container->column_l->39->1", "terms-mobile.handlebars->container->page_content->column_l->39->1" ],
714 + "xloc": [
715 + "terms.handlebars->container->column_l->39->1",
716 + "terms-mobile.handlebars->container->page_content->column_l->39->1"
717 + ],
718 "ja": "5.このソフトウェアから派生した製品は、OpenSSL Projectの事前の書面による許可なしに、「OpenSSL」と呼ばれたり、名前に「OpenSSL」が表示されたりすることはありません。"
719 },
720 {
721 "en": "50%",
501 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->9", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->9" ],
722 + "xloc": [
723 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->9",
724 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->9"
725 + ],
726 "pt": "50%",
503 - "ja": "50%"
727 + "ja": "50%",
728 + "cs": "50%"
729 },
730 {
731 "en": "6.Redistributions of any form whatsoever must retain the following acknowledgment: \"This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)\".",
732 "cs": "6.Redistribuce jakékoli formy si musí zachovat následující potvrzení: \"Tento produkt zahrnuje software vyvinutý v rámci projektu OpenSSL pro použití v sadě OpenSSL Toolkit (http://www.openssl.org/)\".",
508 - "xloc": [ "terms.handlebars->container->column_l->41->1", "terms-mobile.handlebars->container->page_content->column_l->41->1" ],
733 + "xloc": [
734 + "terms.handlebars->container->column_l->41->1",
735 + "terms-mobile.handlebars->container->page_content->column_l->41->1"
736 + ],
737 "pt": "6.As redistribuições de qualquer forma devem manter o seguinte reconhecimento: \"Este produto inclui software desenvolvido pelo OpenSSL Project para uso no OpenSSL Toolkit (http://www.openssl.org/)\".",
738 "ja": "6.いかなる形式の再配布でも、「この製品には、OpenSSL Toolkit(http://www.openssl.org/)で使用するためにOpenSSL Projectによって開発されたソフトウェアが含まれます」という承認を保持する必要があります。"
739 },
740 {
741 "en": "62.5%",
514 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->7", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->7" ],
742 + "xloc": [
743 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->7",
744 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->7"
745 + ],
746 "pt": "62.5%",
516 - "ja": "62.5%"
747 + "ja": "62.5%",
748 + "cs": "62.5%"
749 },
750 {
751 "en": "64bit version of the MeshAgent",
752 "cs": "64bit verze MeshAgent",
521 - "xloc": [ "default.handlebars->23->293", "default.handlebars->23->307" ],
753 + "xloc": [
754 + "default.handlebars->23->293",
755 + "default.handlebars->23->307"
756 + ],
757 "pt": "Versão de 64 bits do MeshAgent",
758 "ja": "MeshAgentの64ビットバージョン"
759 },
760 {
761 "en": "7 Day Power State",
762 "cs": "7 denní statistika provozu",
528 - "xloc": [ "default.handlebars->23->523" ],
763 + "xloc": [
764 + "default.handlebars->23->523"
765 + ],
766 "pt": "Estado de energia de 7 dias",
767 "ja": "7日間の電源状態"
768 },
769 {
770 "en": "7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License",
771 "cs": "7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK licence",
535 - "xloc": [ "terms.handlebars->container->column_l->73->1->0", "terms-mobile.handlebars->container->page_content->column_l->73->1->0" ],
772 + "xloc": [
773 + "terms.handlebars->container->column_l->73->1->0",
774 + "terms-mobile.handlebars->container->page_content->column_l->73->1->0"
775 + ],
776 "pt": "7.Webtoolkit Javascript Base 64 - Licença Creative Commons Attribution 2.0 UK",
777 "ja": "7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UKライセンス"
778 },
779 {
780 "en": "75%",
541 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->5", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->5" ],
781 + "xloc": [
782 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->5",
783 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->5"
784 + ],
785 "pt": "75%",
543 - "ja": "75%"
786 + "ja": "75%",
787 + "cs": "75%"
788 },
789 {
790 "en": "8 hours",
791 "cs": "8 hodin",
792 "fr": "8 heures",
549 - "xloc": [ "default.handlebars->23->257", "default.handlebars->23->271" ],
793 + "xloc": [
794 + "default.handlebars->23->257",
795 + "default.handlebars->23->271"
796 + ],
797 "pt": "8 horas",
798 "ja": "8時間"
799 },
800 {
801 "en": "80x25",
555 - "xloc": [ "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSizeDropDown->termSizeList->0" ],
802 + "xloc": [
803 + "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSizeDropDown->termSizeList->0"
804 + ],
805 "pt": "80x25",
557 - "ja": "80x25"
806 + "ja": "80x25",
807 + "cs": "80x25"
808 },
809 {
810 "en": "87.5%",
561 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->3", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->3" ],
811 + "xloc": [
812 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->3",
813 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->3"
814 + ],
815 "pt": "87.5%",
563 - "ja": "87.5%"
816 + "ja": "87.5%",
817 + "cs": "87.5%"
818 },
819 {
820 "en": ":",
567 - "xloc": [ "agentinvite.handlebars->3->1" ],
821 + "xloc": [
822 + "agentinvite.handlebars->3->1"
823 + ],
824 "pt": ":",
569 - "ja": ":"
825 + "ja": ":",
826 + "cs": ":"
827 },
828 {
829 "en": "<a href=\\\"https://www.yubico.com/\\\" rel=\\\"noreferrer noopener\\\" target=\\\"_blank\\\">Hardware keys</a> are used as secondary login authentication.",
830 "cs": "<a href=\\\"https://www.yubico.com/\\\" rel=\\\"noreferrer noopener\\\" target=\\\"_blank\\\">Hardwarové klíče</a> jsou použity jako druhá možnost autentizace.",
574 - "xloc": [ "default.handlebars->23->103" ],
831 + "xloc": [
832 + "default.handlebars->23->103"
833 + ],
834 "pt": "<a href=\\\"https://www.yubico.com/\\\" rel=\\\"noreferrer noopener\\\" target=\\\"_blank\\\">Chaves Hardware</a> são usados como autenticação de login secundária.",
835 "ja": "<a href=\\\"https://www.yubico.com/\\\" rel=\\\"noreferrer noopener\\\" target=\\\"_blank\\\">ハードウェアキー</a>は、セカンダリログイン認証として使用されます。"
836 },
837 {
838 "en": "<b style=color:green>2-step login activation removed</b>. You can reactivate this feature at any time.",
839 "cs": "<b style=color:green>2-faktorové přihlášení odstraněno</b>. Lze znovu kdykoliv zapnout.",
581 - "xloc": [ "default-mobile.handlebars->9->19" ],
840 + "xloc": [
841 + "default-mobile.handlebars->9->19"
842 + ],
843 "pt": "<b style=color:green>Ativação de login em duas etapas removida</b>. Você pode reativar esse recurso a qualquer momento.",
844 "ja": "<b style = color:green> 2段階のログインアクティベーションが削除されました</ b>。この機能はいつでも再アクティブ化できます。"
845 },
846 {
847 "en": "<b style=color:green>2-step login activation successful</b>. You will now need a valid token to login again.",
848 "cs": "<b style=color:green>2-faktorová autentizace zapnuta</b>. Je třeba platný token k přihlášení.",
588 - "xloc": [ "default-mobile.handlebars->9->16" ],
849 + "xloc": [
850 + "default-mobile.handlebars->9->16"
851 + ],
852 "pt": "<b style=color:green> ativação de login em duas etapas </b>. Agora você precisará de um token válido para fazer login novamente.",
853 "ja": "<b style = color:green> 2段階ログインの有効化に成功</ b>。再度ログインするには、有効なトークンが必要になります。"
854 },
855 {
856 "en": "<b style=color:red>2-step login activation failed</b>. Clear the secret from the application and try again. You only have a few minutes to enter the proper code.",
857 "cs": "<b style=color:red>2-faktorové přihlášení selhalo</b>. Je třeba smazat tajemství z aplikace a zkusit znovu. Na toto máte již jen pár minut.",
595 - "xloc": [ "default-mobile.handlebars->9->17" ],
858 + "xloc": [
859 + "default-mobile.handlebars->9->17"
860 + ],
861 "pt": "<b style=color:red> falha na ativação do login em duas etapas </b>. Limpe o segredo do aplicativo e tente novamente. Você tem apenas alguns minutos para inserir o código correto.",
862 "ja": "<b style = color:red> 2段階ログインの有効化に失敗しました</ b>。アプリケーションから秘密をクリアして、再試行してください。適切なコードを入力するのに数分しかかかりません。"
863 },
864 {
865 "en": "<b style=color:red>2-step login activation removal failed</b>. Try again.",
866 "cs": "<b style=color:red>Odstranění 2-faktorového přihlášení selhalo</b>. Zkuste znovu.",
602 - "xloc": [ "default-mobile.handlebars->9->20" ],
867 + "xloc": [
868 + "default-mobile.handlebars->9->20"
869 + ],
870 "pt": "<b style=color:red> falha na remoção da ativação do login em duas etapas </b>. Tente novamente.",
871 "ja": "<b style = color:red> 2段階のログインアクティベーションの削除に失敗しました</ b>。再試行する。"
872 },
873 {
874 "en": "\\\\",
608 - "xloc": [ "default-mobile.handlebars->9->236", "default-mobile.handlebars->9->237", "default-mobile.handlebars->9->238" ],
609 - "ja": "\\\\"
875 + "xloc": [
876 + "default-mobile.handlebars->9->236",
877 + "default-mobile.handlebars->9->237",
878 + "default-mobile.handlebars->9->238"
879 + ],
880 + "ja": "\\\\",
881 + "cs": "\\\\"
882 },
883 {
884 "en": "Access Denied",
885 "cs": "Přístup zamítnut",
886 "fr": "Accès refusé",
615 - "xloc": [ "default.handlebars->23->652" ],
887 + "xloc": [
888 + "default.handlebars->23->652"
889 + ],
890 "pt": "Acesso Negado",
891 "ja": "アクセスが拒否されました"
892 },
893 {
894 "en": "Access denied.",
895 "cs": "Přístup zamítnut",
622 - "xloc": [ "login.handlebars->5->13", "login-mobile.handlebars->5->13" ],
896 + "xloc": [
897 + "login.handlebars->5->13",
898 + "login-mobile.handlebars->5->13"
899 + ],
900 "ja": "アクセスが拒否されました。"
901 },
902 {
903 "en": "Access to server files",
904 "cs": "Přístup k souborům na serveru",
628 - "xloc": [ "default.handlebars->23->1197" ],
905 + "xloc": [
906 + "default.handlebars->23->1197"
907 + ],
908 "pt": "Acesso aos arquivos do servidor",
909 "ja": "サーバーファイルへのアクセス"
910 },
911 {
912 "en": "Account actions",
913 "cs": "Akce účtu",
635 - "xloc": [ "default.handlebars->container->column_l->p2->p2AccountActions->1->0" ],
914 + "xloc": [
915 + "default.handlebars->container->column_l->p2->p2AccountActions->1->0"
916 + ],
917 "pt": "Ações da conta",
918 "ja": "アカウントアクション"
919 },
920 {
921 "en": "Account Actions",
922 "cs": "Akce účtu",
642 - "xloc": [ "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->5->0" ],
923 + "xloc": [
924 + "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->5->0"
925 + ],
926 "pt": "Ações da Conta",
927 "ja": "アカウントアクション"
928 },
929 {
930 "en": "Account Creation",
931 "cs": "Vytvoření účtu",
649 - "xloc": [ "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->5->1", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->5->1" ],
932 + "xloc": [
933 + "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->5->1",
934 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->5->1"
935 + ],
936 "pt": "Criação de conta",
937 "ja": "アカウント作成"
938 },
939 {
940 "en": "Account limit reached.",
941 "cs": "Maximální počet účtů dosažen.",
656 - "xloc": [ "login.handlebars->5->3", "login-mobile.handlebars->5->3" ],
942 + "xloc": [
943 + "login.handlebars->5->3",
944 + "login-mobile.handlebars->5->3"
945 + ],
946 "ja": "アカウントの上限に達しました。"
947 },
948 {
949 "en": "Account locked.",
950 "cs": "Účet uzamknut.",
662 - "xloc": [ "login.handlebars->5->12", "login-mobile.handlebars->5->12" ],
951 + "xloc": [
952 + "login.handlebars->5->12",
953 + "login-mobile.handlebars->5->12"
954 + ],
955 "ja": "アカウントがロックされました。"
956 },
957 {
958 "en": "Account not found.",
959 "cs": "Účet nenalezen.",
668 - "xloc": [ "login.handlebars->5->9", "login-mobile.handlebars->5->9" ],
960 + "xloc": [
961 + "login.handlebars->5->9",
962 + "login-mobile.handlebars->5->9"
963 + ],
964 "ja": "アカウントが見つかりませんでした。"
965 },
966 {
967 "en": "Account Reset",
968 "cs": "Reset hesla",
674 - "xloc": [ "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpanel->1->5->1", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpanel->1->5->1" ],
969 + "xloc": [
970 + "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpanel->1->5->1",
971 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpanel->1->5->1"
972 + ],
973 "pt": "Redefinição de conta",
974 "ja": "アカウントのリセット"
975 },
976 {
977 "en": "Account security",
978 "cs": "Nastavení bezpečnosti",
681 - "xloc": [ "default.handlebars->container->column_l->p2->p2AccountSecurity->1->0" ],
979 + "xloc": [
980 + "default.handlebars->container->column_l->p2->p2AccountSecurity->1->0"
981 + ],
982 "pt": "Segurança da conta",
983 "ja": "アカウントのセキュリティ"
984 },
985 {
986 "en": "Account Security",
987 "cs": "Nastavení bezpečnosti",
688 - "xloc": [ "default.handlebars->23->383", "default.handlebars->23->385", "default.handlebars->23->906", "default.handlebars->23->908", "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->1->0", "default-mobile.handlebars->9->49", "default-mobile.handlebars->9->51", "default-mobile.handlebars->9->126", "default-mobile.handlebars->9->128" ],
988 + "xloc": [
989 + "default.handlebars->23->383",
990 + "default.handlebars->23->385",
991 + "default.handlebars->23->906",
992 + "default.handlebars->23->908",
993 + "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->1->0",
994 + "default-mobile.handlebars->9->49",
995 + "default-mobile.handlebars->9->51",
996 + "default-mobile.handlebars->9->126",
997 + "default-mobile.handlebars->9->128"
998 + ],
999 "pt": "Segurança da Conta",
1000 "ja": "アカウントのセキュリティ"
1001 },
1002 {
1003 "en": "ACM",
694 - "xloc": [ "default.handlebars->23->441", "default-mobile.handlebars->9->179" ],
1004 + "xloc": [
1005 + "default.handlebars->23->441",
1006 + "default-mobile.handlebars->9->179"
1007 + ],
1008 "pt": "ACM",
696 - "ja": "ACM"
1009 + "ja": "ACM",
1010 + "cs": "ACM"
1011 },
1012 {
1013 "en": "Action",
1014 "cs": "Akce",
701 - "xloc": [ "default.handlebars->container->column_l->p42->p42tbl->1->0->8", "default.handlebars->23->657" ],
1015 + "xloc": [
1016 + "default.handlebars->container->column_l->p42->p42tbl->1->0->8",
1017 + "default.handlebars->23->657"
1018 + ],
1019 "pt": "Ação",
1020 "ja": "アクション"
1021 },
1022 {
1023 "en": "Actions",
1024 "cs": "Akce",
708 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1", "default.handlebars->container->column_l->p12->termTable->1->1->0->1->1", "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->1", "default.handlebars->23->473", "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea4->1->3", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->1" ],
1025 + "xloc": [
1026 + "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1",
1027 + "default.handlebars->container->column_l->p12->termTable->1->1->0->1->1",
1028 + "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->1",
1029 + "default.handlebars->23->473",
1030 + "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea4->1->3",
1031 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->1"
1032 + ],
1033 "pt": "Ações",
1034 "ja": "行動"
1035 },
@@ -713,7 +1037,9 @@
1037 "en": "Activate camera & microphone",
1038 "cs": "Aktivovat kameru & mikrofon",
1039 "fr": "Activer caméra et microphone",
716 - "xloc": [ "messenger.handlebars->xtop->1" ],
1040 + "xloc": [
1041 + "messenger.handlebars->xtop->1"
1042 + ],
1043 "pt": "Ativar câmera e microfone",
1044 "ja": "カメラとマイクを有効にする"
1045 },
@@ -721,7 +1047,9 @@
1047 "en": "Activate microphone",
1048 "cs": "Aktivovat mikrofon",
1049 "fr": "Activer le microphone",
724 - "xloc": [ "messenger.handlebars->xtop->1" ],
1050 + "xloc": [
1051 + "messenger.handlebars->xtop->1"
1052 + ],
1053 "pt": "Ativar microfone",
1054 "ja": "マイクを有効にする"
1055 },
@@ -729,56 +1057,81 @@
1057 "en": "Activated",
1058 "cs": "Aktivováno",
1059 "fr": "Activé",
732 - "xloc": [ "default.handlebars->23->434", "default.handlebars->23->436", "default-mobile.handlebars->9->174", "default-mobile.handlebars->9->176" ],
1060 + "xloc": [
1061 + "default.handlebars->23->434",
1062 + "default.handlebars->23->436",
1063 + "default-mobile.handlebars->9->174",
1064 + "default-mobile.handlebars->9->176"
1065 + ],
1066 "pt": "ativado",
1067 "ja": "有効化"
1068 },
1069 {
1070 "en": "Activation",
1071 "cs": "Aktivace",
739 - "xloc": [ "default.handlebars->23->194", "default.handlebars->23->196", "default.handlebars->23->977", "default.handlebars->23->979" ],
1072 + "xloc": [
1073 + "default.handlebars->23->194",
1074 + "default.handlebars->23->196",
1075 + "default.handlebars->23->977",
1076 + "default.handlebars->23->979"
1077 + ],
1078 "pt": "Ativação",
1079 "ja": "アクティベーション"
1080 },
1081 {
1082 "en": "Active User{0}",
1083 "cs": "Aktivní uživatel{0}",
746 - "xloc": [ "default.handlebars->23->460" ],
1084 + "xloc": [
1085 + "default.handlebars->23->460"
1086 + ],
1087 "pt": "Usuário ativo {0}",
1088 "ja": "アクティブユーザー{0}"
1089 },
1090 {
1091 "en": "Add a new computer to this mesh by installing the mesh agent.",
1092 "cs": "Přidat nový počítač pomocí agenta.",
753 - "xloc": [ "default.handlebars->23->197", "default.handlebars->23->980" ],
1093 + "xloc": [
1094 + "default.handlebars->23->197",
1095 + "default.handlebars->23->980"
1096 + ],
1097 "pt": "Adicione um novo computador a essa malha instalando o agente de malha.",
1098 "ja": "メッシュエージェントをインストールして、このメッシュに新しいコンピューターを追加します。"
1099 },
1100 {
1101 "en": "Add a new Intel&reg; AMT computer by scanning the local network.",
1102 "cs": "Přidat nový Intel&reg; AMT počítač pomocí skenu lokální sítě.",
760 - "xloc": [ "default.handlebars->23->191" ],
1103 + "xloc": [
1104 + "default.handlebars->23->191"
1105 + ],
1106 "pt": "Adicione um novo Intelreg; Computador AMT digitalizando a rede local.",
1107 "ja": "新しいIntel&reg;を追加しますローカルネットワークをスキャンしてAMTコンピューター。"
1108 },
1109 {
1110 "en": "Add a new Intel&reg; AMT computer that is located on the internet.",
1111 "cs": "Přidat nový Intel&reg; AMT počítač, který je umístěn v síti Internet.",
767 - "xloc": [ "default.handlebars->23->187", "default.handlebars->23->972" ],
1112 + "xloc": [
1113 + "default.handlebars->23->187",
1114 + "default.handlebars->23->972"
1115 + ],
1116 "pt": "Adicione um novo Intel&reg; Computador AMT localizado na Internet.",
1117 "ja": "新しいIntel&reg;を追加しますインターネット上にあるAMTコンピューター。"
1118 },
1119 {
1120 "en": "Add a new Intel&reg; AMT computer that is located on the local network.",
1121 "cs": "Přidat nový Intel&reg; AMT počítač, který je umístěn v lokální síti.",
774 - "xloc": [ "default.handlebars->23->189", "default.handlebars->23->974" ],
1122 + "xloc": [
1123 + "default.handlebars->23->189",
1124 + "default.handlebars->23->974"
1125 + ],
1126 "pt": "Adicione um novo Intel&reg; AMT computer that is located on the local network.",
1127 "ja": "新しいIntel&reg;を追加しますローカルネットワーク上にあるAMTコンピューター。"
1128 },
1129 {
1130 "en": "Add a new Intel&reg; AMT device to device group \\\"{0}\\\".",
1131 "cs": "Přidat nové Intel&reg; AMT zařízení do skupiny \\\"{0}\\\".",
781 - "xloc": [ "default.handlebars->23->201" ],
1132 + "xloc": [
1133 + "default.handlebars->23->201"
1134 + ],
1135 "pt": "Adicione um novo Intel&reg; Dispositivo AMT para grupo de dispositivos \\\"{0}\\\".",
1136 "ja": "新しいIntel&reg;を追加しますAMTデバイスからデバイスグループ\\\"{0} \\\"へ。"
1137 },
@@ -786,7 +1139,9 @@
1139 "en": "Add Agent",
1140 "cs": "Přidat agenta",
1141 "fr": "Ajouter un agent",
789 - "xloc": [ "default.handlebars->23->198" ],
1142 + "xloc": [
1143 + "default.handlebars->23->198"
1144 + ],
1145 "pt": "Adicionar agente",
1146 "ja": "エージェントを追加"
1147 },
@@ -794,7 +1149,9 @@
1149 "en": "Add CIRA",
1150 "cs": "Přidat CIRA",
1151 "fr": "Ajouter CIRA",
797 - "xloc": [ "default.handlebars->23->188" ],
1152 + "xloc": [
1153 + "default.handlebars->23->188"
1154 + ],
1155 "pt": "Adicionar CIRA",
1156 "ja": "CIRAを追加"
1157 },
@@ -802,7 +1159,9 @@
1159 "en": "Add Device Event",
1160 "cs": "Přidat událost zařízení",
1161 "fr": "Ajouter un événement",
805 - "xloc": [ "default.handlebars->23->506" ],
1162 + "xloc": [
1163 + "default.handlebars->23->506"
1164 + ],
1165 "pt": "Adicionar evento do dispositivo",
1166 "ja": "デバイスイベントを追加"
1167 },
@@ -810,42 +1169,54 @@
1169 "en": "Add Device Group",
1170 "cs": "Přidat skupinu zařízení",
1171 "fr": "Ajouter un groupe",
813 - "xloc": [ "default.handlebars->23->169" ],
1172 + "xloc": [
1173 + "default.handlebars->23->169"
1174 + ],
1175 "pt": "Adicionar grupo de dispositivos",
1176 "ja": "デバイスグループを追加"
1177 },
1178 {
1179 "en": "Add Intel&reg; AMT CIRA device",
1180 "cs": "Přidat Intel&reg; AMT CIRA zařízení",
820 - "xloc": [ "default.handlebars->23->243" ],
1181 + "xloc": [
1182 + "default.handlebars->23->243"
1183 + ],
1184 "pt": "Adicione Intelreg; ",
1185 "ja": "Intel&reg;を追加AMT CIRAデバイス"
1186 },
1187 {
1188 "en": "Add Intel&reg; AMT device",
1189 "cs": "Přidat Intel&reg; AMT zařízení",
827 - "xloc": [ "default.handlebars->23->211" ],
1190 + "xloc": [
1191 + "default.handlebars->23->211"
1192 + ],
1193 "pt": "Adicione Intelreg; dispositivo AMT",
1194 "ja": "Intel&reg;を追加AMTデバイス"
1195 },
1196 {
1197 "en": "Add Key",
1198 "cs": "Přidat klíč",
834 - "xloc": [ "default.handlebars->23->107" ],
1199 + "xloc": [
1200 + "default.handlebars->23->107"
1201 + ],
1202 "pt": "Adicionar chave",
1203 "ja": "キーを追加"
1204 },
1205 {
1206 "en": "Add Local",
1207 "cs": "Přidat lokálně",
841 - "xloc": [ "default.handlebars->23->190" ],
1208 + "xloc": [
1209 + "default.handlebars->23->190"
1210 + ],
1211 "pt": "Adicionar local",
1212 "ja": "ローカルを追加"
1213 },
1214 {
1215 "en": "Add Mesh Agent",
1216 "cs": "Přidat agenta",
848 - "xloc": [ "default.handlebars->23->310" ],
1217 + "xloc": [
1218 + "default.handlebars->23->310"
1219 + ],
1220 "pt": "Adicionar agente de malha",
1221 "ja": "メッシュエージェントを追加"
1222 },
@@ -853,7 +1224,10 @@
1224 "en": "add one",
1225 "cs": "přidat",
1226 "fr": "ajoute un",
856 - "xloc": [ "default.handlebars->23->165", "default.handlebars->23->167" ],
1227 + "xloc": [
1228 + "default.handlebars->23->165",
1229 + "default.handlebars->23->167"
1230 + ],
1231 "pt": "Adicione um",
1232 "ja": "ひとつ追加"
1233 },
@@ -861,7 +1235,14 @@
1235 "en": "Add Security Key",
1236 "cs": "Přidat bezpečnostní klíč",
1237 "fr": "Ajouter une clé de sécurité",
864 - "xloc": [ "default.handlebars->23->110", "default.handlebars->23->112", "default.handlebars->23->115", "default.handlebars->23->116", "default.handlebars->23->676", "default.handlebars->23->677" ],
1238 + "xloc": [
1239 + "default.handlebars->23->110",
1240 + "default.handlebars->23->112",
1241 + "default.handlebars->23->115",
1242 + "default.handlebars->23->116",
1243 + "default.handlebars->23->676",
1244 + "default.handlebars->23->677"
1245 + ],
1246 "pt": "Adicionar chave de segurança",
1247 "ja": "セキュリティキーを追加"
1248 },
@@ -869,7 +1250,9 @@
1250 "en": "Add User to Mesh",
1251 "cs": "Přidat uživatele do skupiny",
1252 "fr": "Ajouter un utilisateur au groupe",
872 - "xloc": [ "default-mobile.handlebars->9->306" ],
1253 + "xloc": [
1254 + "default-mobile.handlebars->9->306"
1255 + ],
1256 "pt": "Adicionar usuário à malha",
1257 "ja": "メッシュにユーザーを追加"
1258 },
@@ -877,2364 +1260,3677 @@
1260 "en": "Add Users",
1261 "cs": "Přidat uživatele",
1262 "fr": "Ajouter des utilisateurs",
880 - "xloc": [ "default.handlebars->23->971" ],
1263 + "xloc": [
1264 + "default.handlebars->23->971"
1265 + ],
1266 "pt": "Adicionar usuários",
1267 "ja": "ユーザーを追加"
1268 },
1269 {
1270 "en": "Add Users to Device Group",
1271 "cs": "Přidat uživatele do skupiny zařizení",
887 - "xloc": [ "default.handlebars->23->1057" ],
1272 + "xloc": [
1273 + "default.handlebars->23->1057"
1274 + ],
1275 "pt": "Adicionar usuários ao grupo de dispositivos",
1276 "ja": "ユーザーをデバイスグループに追加する"
1277 },
1278 {
1279 "en": "Add YubiKey&reg; OTP",
1280 "cs": "Přidat YubiKey&reg; OTP",
894 - "xloc": [ "default.handlebars->23->108" ],
1281 + "xloc": [
1282 + "default.handlebars->23->108"
1283 + ],
1284 "pt": "Adicione YubiKeyreg; OTP",
1285 "ja": "YubiKey&reg;を追加OTP"
1286 },
1287 {
1288 "en": "Address",
1289 "cs": "Adresa",
901 - "xloc": [ "default.handlebars->23->143", "default.handlebars->23->160" ],
1290 + "xloc": [
1291 + "default.handlebars->23->143",
1292 + "default.handlebars->23->160"
1293 + ],
1294 "pt": "Endereço",
1295 "ja": "住所"
1296 },
1297 {
1298 "en": "Addresses",
1299 "cs": "Adresy",
908 - "xloc": [ "player.htm->3->7" ],
1300 + "xloc": [
1301 + "player.htm->3->7"
1302 + ],
1303 "pt": "Endereços",
1304 "ja": "住所"
1305 },
1306 {
1307 "en": "admin",
914 - "xloc": [ "default.handlebars->23->206" ],
1308 + "xloc": [
1309 + "default.handlebars->23->206"
1310 + ],
1311 "pt": "admin",
916 - "ja": "管理者"
1312 + "ja": "管理者",
1313 + "cs": "admin"
1314 },
1315 {
1316 "en": "Admin Realms",
1317 "cs": "Administrátorské realmy",
921 - "xloc": [ "default.handlebars->23->1220" ],
1318 + "xloc": [
1319 + "default.handlebars->23->1220"
1320 + ],
1321 "pt": "Admin Realms",
1322 "ja": "管理レルム"
1323 },
1324 {
1325 "en": "Administrative Realms",
1326 "cs": "Administrátorské realmy",
928 - "xloc": [ "default.handlebars->23->1184" ],
1327 + "xloc": [
1328 + "default.handlebars->23->1184"
1329 + ],
1330 "pt": "Domínios Administrativos",
1331 "ja": "管理レルム"
1332 },
1333 {
1334 "en": "Administrator",
934 - "xloc": [ "default.handlebars->23->1147" ],
1335 + "xloc": [
1336 + "default.handlebars->23->1147"
1337 + ],
1338 "pt": "Administrador",
936 - "ja": "管理者"
1339 + "ja": "管理者",
1340 + "cs": "Administrátor"
1341 },
1342 {
1343 "en": "Afrikaans",
940 - "xloc": [ "default.handlebars->23->679" ],
1344 + "xloc": [
1345 + "default.handlebars->23->679"
1346 + ],
1347 "pt": "afrikaans",
942 - "ja": "アフリカーンス語"
1348 + "ja": "アフリカーンス語",
1349 + "cs": "Afrikaans"
1350 },
1351 {
1352 "en": "Agent",
1353 "cs": "Agent",
1354 "fr": "Agent",
948 - "xloc": [ "default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->1", "default.handlebars->23->149", "default.handlebars->23->335", "default-mobile.handlebars->9->118", "default-mobile.handlebars->9->171", "default-mobile.handlebars->9->187" ],
1355 + "xloc": [
1356 + "default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->1",
1357 + "default.handlebars->23->149",
1358 + "default.handlebars->23->335",
1359 + "default-mobile.handlebars->9->118",
1360 + "default-mobile.handlebars->9->171",
1361 + "default-mobile.handlebars->9->187"
1362 + ],
1363 "pt": "Agente",
1364 "ja": "エージェント"
1365 },
1366 {
1367 "en": "Agent Action",
1368 "cs": "Akce agenta",
955 - "xloc": [ "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1" ],
1369 + "xloc": [
1370 + "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1"
1371 + ],
1372 "pt": "Ação do agente",
1373 "ja": "エージェントアクション"
1374 },
1375 {
1376 "en": "Agent connected",
1377 "cs": "Agent připojen",
962 - "xloc": [ "default.handlebars->23->118", "default.handlebars->23->497", "default.handlebars->23->498" ],
1378 + "xloc": [
1379 + "default.handlebars->23->118",
1380 + "default.handlebars->23->497",
1381 + "default.handlebars->23->498"
1382 + ],
1383 "pt": "Agente conectado",
1384 "ja": "接続されたエージェント"
1385 },
1386 {
1387 "en": "Agent Console",
1388 "cs": "Konzole agenta",
969 - "xloc": [ "default.handlebars->23->1064", "default-mobile.handlebars->9->312" ],
1389 + "xloc": [
1390 + "default.handlebars->23->1064",
1391 + "default-mobile.handlebars->9->312"
1392 + ],
1393 "pt": "Console do agente",
1394 "ja": "エージェントコンソール"
1395 },
1396 {
1397 "en": "Agent disconnected",
1398 "cs": "Agent odpojen",
976 - "xloc": [ "default.handlebars->23->122" ],
1399 + "xloc": [
1400 + "default.handlebars->23->122"
1401 + ],
1402 "pt": "Agente desconectado",
1403 "ja": "エージェントが切断されました"
1404 },
1405 {
1406 "en": "Agent is offline",
1407 "cs": "Agent je offline",
983 - "xloc": [ "default.handlebars->23->650" ],
1408 + "xloc": [
1409 + "default.handlebars->23->650"
1410 + ],
1411 "pt": "O agente está offline",
1412 "ja": "エージェントはオフラインです"
1413 },
1414 {
1415 "en": "Agent is online",
1416 "cs": "Agent je online",
990 - "xloc": [ "default.handlebars->23->649" ],
1417 + "xloc": [
1418 + "default.handlebars->23->649"
1419 + ],
1420 "pt": "Agente está online",
1421 "ja": "エージェントはオンラインです"
1422 },
1423 {
1424 "en": "Agent Relay",
996 - "xloc": [ "default-mobile.handlebars->9->190" ],
1425 + "xloc": [
1426 + "default-mobile.handlebars->9->190"
1427 + ],
1428 "pt": "Retransmissão do agente",
998 - "ja": "エージェントリレー"
1429 + "ja": "エージェントリレー",
1430 + "cs": "Agent Relay (přesměrování)"
1431 },
1432 {
1433 "en": "Agent Remote Desktop",
1002 - "xloc": [ "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->1", "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->1" ],
1434 + "xloc": [
1435 + "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->1",
1436 + "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->1"
1437 + ],
1438 "pt": "Área de trabalho remota do agente",
1004 - "ja": "エージェントリモートデスクトップ"
1439 + "ja": "エージェントリモートデスクトップ",
1440 + "cs": "Agent vzdálené plochy"
1441 },
1442 {
1443 "en": "Agent Tag",
1008 - "xloc": [ "default.handlebars->23->453", "default-mobile.handlebars->9->186" ],
1444 + "xloc": [
1445 + "default.handlebars->23->453",
1446 + "default-mobile.handlebars->9->186"
1447 + ],
1448 "pt": "Etiqueta do agente",
1010 - "ja": "エージェントタグ"
1449 + "ja": "エージェントタグ",
1450 + "cs": "Značka agenta"
1451 },
1452 {
1453 "en": "Agents",
1454 "cs": "Agenti",
1015 - "xloc": [ "default.handlebars->23->1258" ],
1455 + "xloc": [
1456 + "default.handlebars->23->1258"
1457 + ],
1458 "pt": "Agentes",
1459 "ja": "エージェント"
1460 },
1461 {
1462 "en": "Albanian",
1021 - "xloc": [ "default.handlebars->23->680" ],
1463 + "xloc": [
1464 + "default.handlebars->23->680"
1465 + ],
1466 "pt": "albanês",
1023 - "ja": "アルバニア語"
1467 + "ja": "アルバニア語",
1468 + "cs": "Albanian"
1469 },
1470 {
1471 "en": "All",
1472 "cs": "Vše",
1473 "fr": "Tout",
1029 - "xloc": [ "default-mobile.handlebars->9->73", "default-mobile.handlebars->9->241", "default-mobile.handlebars->9->243" ],
1474 + "xloc": [
1475 + "default-mobile.handlebars->9->73",
1476 + "default-mobile.handlebars->9->241",
1477 + "default-mobile.handlebars->9->243"
1478 + ],
1479 "pt": "Todos",
1480 "ja": "すべて"
1481 },
1482 {
1483 "en": "All Displays",
1484 "cs": "Všechny displeje",
1036 - "xloc": [ "default-mobile.handlebars->9->230" ],
1485 + "xloc": [
1486 + "default-mobile.handlebars->9->230"
1487 + ],
1488 "pt": "Todas as telas",
1489 "ja": "すべてのディスプレイ"
1490 },
1491 {
1492 "en": "All Focus",
1042 - "xloc": [ "default.handlebars->23->571", "default.handlebars->23->573", "default.handlebars->23->574" ],
1493 + "xloc": [
1494 + "default.handlebars->23->571",
1495 + "default.handlebars->23->573",
1496 + "default.handlebars->23->574"
1497 + ],
1498 "pt": "All Focus",
1044 - "ja": "オールフォーカス"
1499 + "ja": "オールフォーカス",
1500 + "cs": "Zaměřit vše"
1501 },
1502 {
1503 "en": "Allow users to manage this device group and devices in this group.",
1504 "fr": "Autoriser les utilisateurs à gérer ce groupe et les périphériques de ce groupe.",
1049 - "xloc": [ "default.handlebars->23->1036" ],
1505 + "xloc": [
1506 + "default.handlebars->23->1036"
1507 + ],
1508 "pt": "Permitir que os usuários gerenciem esse grupo de dispositivos e dispositivos neste grupo.",
1051 - "ja": "ユーザーがこのデバイスグループとこのグループ内のデバイスを管理できるようにします。"
1509 + "ja": "ユーザーがこのデバイスグループとこのグループ内のデバイスを管理できるようにします。",
1510 + "cs": "Umožnit uživatelům spravovat tuto skupinu a zařízení v této skupině."
1511 },
1512 {
1513 "en": "Alt-F4",
1055 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->17", "default-mobile.handlebars->dialog->3->dialog3->deskkeys->19" ],
1514 + "xloc": [
1515 + "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->17",
1516 + "default-mobile.handlebars->dialog->3->dialog3->deskkeys->19"
1517 + ],
1518 "pt": "Alt-F4",
1057 - "ja": "Alt-F4"
1519 + "ja": "Alt-F4",
1520 + "cs": "Alt-F4"
1521 },
1522 {
1523 "en": "Alt-Tab",
1061 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->21", "default-mobile.handlebars->dialog->3->dialog3->deskkeys->23" ],
1524 + "xloc": [
1525 + "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->21",
1526 + "default-mobile.handlebars->dialog->3->dialog3->deskkeys->23"
1527 + ],
1528 "pt": "Alt-Tab",
1063 - "ja": "Alt-Tab"
1529 + "ja": "Alt-Tab",
1530 + "cs": "Alt-Tab"
1531 },
1532 {
1533 "en": "Alternate (F10 = ESC+0)",
1067 - "xloc": [ "default.handlebars->23->606" ],
1534 + "xloc": [
1535 + "default.handlebars->23->606"
1536 + ],
1537 "pt": "Alternativo (F10 = ESC + 0)",
1069 - "ja": "代替(F10 = ESC + 0)"
1538 + "ja": "代替(F10 = ESC + 0)",
1539 + "cs": "Nebo (F10 = ESC+0)"
1540 },
1541 {
1542 "en": "Always Notify",
1543 "fr": "Toujours aviser",
1074 - "xloc": [ "default.handlebars->23->954" ],
1544 + "xloc": [
1545 + "default.handlebars->23->954"
1546 + ],
1547 "pt": "Notificar sempre",
1076 - "ja": "常に通知する"
1548 + "ja": "常に通知する",
1549 + "cs": "Vždy upozorňovat"
1550 },
1551 {
1552 "en": "Always Prompt",
1080 - "xloc": [ "default.handlebars->23->955" ],
1553 + "xloc": [
1554 + "default.handlebars->23->955"
1555 + ],
1556 "pt": "Sempre alerta",
1082 - "ja": "常にプロンプ​​ト"
1557 + "ja": "常にプロンプ​​ト",
1558 + "cs": "Vždy se dotázat"
1559 },
1560 {
1561 "en": "AMT",
1086 - "xloc": [ "default.handlebars->23->153", "default.handlebars->23->339" ],
1562 + "xloc": [
1563 + "default.handlebars->23->153",
1564 + "default.handlebars->23->339"
1565 + ],
1566 "pt": "AMT",
1088 - "ja": "AMT"
1567 + "ja": "AMT",
1568 + "cs": "AMT"
1569 },
1570 {
1571 "en": "and its source can be downloaded from",
1092 - "xloc": [ "terms.handlebars->container->column_l->75->1", "terms-mobile.handlebars->container->page_content->column_l->75->1" ],
1572 + "xloc": [
1573 + "terms.handlebars->container->column_l->75->1",
1574 + "terms-mobile.handlebars->container->page_content->column_l->75->1"
1575 + ],
1576 "pt": "e sua fonte pode ser baixada de",
1094 - "ja": "そのソースはからダウンロードできます"
1577 + "ja": "そのソースはからダウンロードできます",
1578 + "cs": "a jeho zdroj může být stažen z"
1579 },
1580 {
1581 "en": "Android APK",
1098 - "xloc": [ "default.handlebars->23->414", "default-mobile.handlebars->9->154" ],
1582 + "xloc": [
1583 + "default.handlebars->23->414",
1584 + "default-mobile.handlebars->9->154"
1585 + ],
1586 "pt": "Android APK",
1100 - "ja": "Android APK"
1587 + "ja": "Android APK",
1588 + "cs": "Android APK"
1589 },
1590 {
1591 "en": "Android ARM",
1104 - "xloc": [ "default.handlebars->23->409", "default-mobile.handlebars->9->149" ],
1592 + "xloc": [
1593 + "default.handlebars->23->409",
1594 + "default-mobile.handlebars->9->149"
1595 + ],
1596 "pt": "Android ARM",
1106 - "ja": "Android ARM"
1597 + "ja": "Android ARM",
1598 + "cs": "Android ARM"
1599 },
1600 {
1601 "en": "Android x86",
1110 - "xloc": [ "default.handlebars->23->412", "default-mobile.handlebars->9->152" ],
1602 + "xloc": [
1603 + "default.handlebars->23->412",
1604 + "default-mobile.handlebars->9->152"
1605 + ],
1606 "pt": "Android x86",
1112 - "ja": "Android x86"
1607 + "ja": "Android x86",
1608 + "cs": "Android x86"
1609 },
1610 {
1611 "en": "Antivirus",
1612 "fr": "Antivirus",
1117 - "xloc": [ "default.handlebars->23->459" ],
1613 + "xloc": [
1614 + "default.handlebars->23->459"
1615 + ],
1616 "pt": "Antivírus",
1119 - "ja": "アンチウイルス"
1617 + "ja": "アンチウイルス",
1618 + "cs": "Antivir"
1619 },
1620 {
1621 "en": "Any supported",
1123 - "xloc": [ "default.handlebars->23->251" ],
1622 + "xloc": [
1623 + "default.handlebars->23->251"
1624 + ],
1625 "pt": "Qualquer suportado",
1125 - "ja": "サポートされているもの"
1626 + "ja": "サポートされているもの",
1627 + "cs": "Všechny podporovány"
1628 },
1629 {
1630 "en": "Apple MacOS",
1129 - "xloc": [ "default.handlebars->23->281" ],
1631 + "xloc": [
1632 + "default.handlebars->23->281"
1633 + ],
1634 "pt": "Apple MacOS",
1131 - "ja": "Apple MacOS"
1635 + "ja": "Apple MacOS",
1636 + "cs": "Apple MacOS"
1637 },
1638 {
1639 "en": "Apple MacOS only",
1135 - "xloc": [ "default.handlebars->23->253" ],
1640 + "xloc": [
1641 + "default.handlebars->23->253"
1642 + ],
1643 "pt": "Apenas Apple MacOS ",
1137 - "ja": "Apple MacOSのみ"
1644 + "ja": "Apple MacOSのみ",
1645 + "cs": "Apple MacOS pouze"
1646 },
1647 {
1648 "en": "Apple™ MacOS",
1141 - "xloc": [ "agentinvite.handlebars->container->column_l->5->macostab->1" ],
1649 + "xloc": [
1650 + "agentinvite.handlebars->container->column_l->5->macostab->1"
1651 + ],
1652 "pt": "Apple™ MacOS",
1143 - "ja": "Apple™MacOS"
1653 + "ja": "Apple™MacOS",
1654 + "cs": "Apple™ MacOS"
1655 },
1656 {
1657 "en": "Arabic (Algeria)",
1147 - "xloc": [ "default.handlebars->23->682" ],
1658 + "xloc": [
1659 + "default.handlebars->23->682"
1660 + ],
1661 "pt": "Árabe (Argélia)",
1149 - "ja": "アラビア語(アルジェリア)"
1662 + "ja": "アラビア語(アルジェリア)",
1663 + "cs": "Arabic (Algeria)"
1664 },
1665 {
1666 "en": "Arabic (Bahrain)",
1153 - "xloc": [ "default.handlebars->23->683" ],
1667 + "xloc": [
1668 + "default.handlebars->23->683"
1669 + ],
1670 "pt": "Árabe (Bahrain)",
1155 - "ja": "アラビア語(バーレーン)"
1671 + "ja": "アラビア語(バーレーン)",
1672 + "cs": "Arabic (Bahrain)"
1673 },
1674 {
1675 "en": "Arabic (Egypt)",
1159 - "xloc": [ "default.handlebars->23->684" ],
1676 + "xloc": [
1677 + "default.handlebars->23->684"
1678 + ],
1679 "pt": "Árabe (Egito)",
1161 - "ja": "アラビア語(エジプト)"
1680 + "ja": "アラビア語(エジプト)",
1681 + "cs": "Arabic (Egypt)"
1682 },
1683 {
1684 "en": "Arabic (Iraq)",
1165 - "xloc": [ "default.handlebars->23->685" ],
1685 + "xloc": [
1686 + "default.handlebars->23->685"
1687 + ],
1688 "pt": "Árabe (Iraque)",
1167 - "ja": "アラビア語(イラク)"
1689 + "ja": "アラビア語(イラク)",
1690 + "cs": "Arabic (Iraq)"
1691 },
1692 {
1693 "en": "Arabic (Jordan)",
1171 - "xloc": [ "default.handlebars->23->686" ],
1694 + "xloc": [
1695 + "default.handlebars->23->686"
1696 + ],
1697 "pt": "Árabe (Jordânia)",
1173 - "ja": "アラビア語(ヨルダン)"
1698 + "ja": "アラビア語(ヨルダン)",
1699 + "cs": "Arabic (Jordan)"
1700 },
1701 {
1702 "en": "Arabic (Kuwait)",
1177 - "xloc": [ "default.handlebars->23->687" ],
1703 + "xloc": [
1704 + "default.handlebars->23->687"
1705 + ],
1706 "pt": "Árabe (Kuwait)",
1179 - "ja": "アラビア語(クウェート)"
1707 + "ja": "アラビア語(クウェート)",
1708 + "cs": "Arabic (Kuwait)"
1709 },
1710 {
1711 "en": "Arabic (Lebanon)",
1183 - "xloc": [ "default.handlebars->23->688" ],
1712 + "xloc": [
1713 + "default.handlebars->23->688"
1714 + ],
1715 "pt": "Árabe (Líbano)",
1185 - "ja": "アラビア語(レバノン)"
1716 + "ja": "アラビア語(レバノン)",
1717 + "cs": "Arabic (Lebanon)"
1718 },
1719 {
1720 "en": "Arabic (Libya)",
1189 - "xloc": [ "default.handlebars->23->689" ],
1721 + "xloc": [
1722 + "default.handlebars->23->689"
1723 + ],
1724 "pt": "Árabe (Líbia)",
1191 - "ja": "アラビア語(リビア)"
1725 + "ja": "アラビア語(リビア)",
1726 + "cs": "Arabic (Libya)"
1727 },
1728 {
1729 "en": "Arabic (Morocco)",
1195 - "xloc": [ "default.handlebars->23->690" ],
1730 + "xloc": [
1731 + "default.handlebars->23->690"
1732 + ],
1733 "pt": "Árabe (Marrocos)",
1197 - "ja": "アラビア語(モロッコ)"
1734 + "ja": "アラビア語(モロッコ)",
1735 + "cs": "Arabic (Morocco)"
1736 },
1737 {
1738 "en": "Arabic (Oman)",
1201 - "xloc": [ "default.handlebars->23->691" ],
1739 + "xloc": [
1740 + "default.handlebars->23->691"
1741 + ],
1742 "pt": "Árabe (Omã)",
1203 - "ja": "アラビア語(オマーン)"
1743 + "ja": "アラビア語(オマーン)",
1744 + "cs": "Arabic (Oman)"
1745 },
1746 {
1747 "en": "Arabic (Qatar)",
1207 - "xloc": [ "default.handlebars->23->692" ],
1748 + "xloc": [
1749 + "default.handlebars->23->692"
1750 + ],
1751 "pt": "Árabe (Catar)",
1209 - "ja": "アラビア語(カタール)"
1752 + "ja": "アラビア語(カタール)",
1753 + "cs": "Arabic (Qatar)"
1754 },
1755 {
1756 "en": "Arabic (Saudi Arabia)",
1213 - "xloc": [ "default.handlebars->23->693" ],
1757 + "xloc": [
1758 + "default.handlebars->23->693"
1759 + ],
1760 "pt": "Árabe (Arábia Saudita)",
1215 - "ja": "アラビア語(サウジアラビア)"
1761 + "ja": "アラビア語(サウジアラビア)",
1762 + "cs": "Arabic (Saudi Arabia)"
1763 },
1764 {
1765 "en": "Arabic (Standard)",
1219 - "xloc": [ "default.handlebars->23->681" ],
1766 + "xloc": [
1767 + "default.handlebars->23->681"
1768 + ],
1769 "pt": "Árabe (padrão)",
1221 - "ja": "アラビア語(標準)"
1770 + "ja": "アラビア語(標準)",
1771 + "cs": "Arabic (Standard)"
1772 },
1773 {
1774 "en": "Arabic (Syria)",
1225 - "xloc": [ "default.handlebars->23->694" ],
1775 + "xloc": [
1776 + "default.handlebars->23->694"
1777 + ],
1778 "pt": "Árabe (Síria)",
1227 - "ja": "アラビア語(シリア)"
1779 + "ja": "アラビア語(シリア)",
1780 + "cs": "Arabic (Syria)"
1781 },
1782 {
1783 "en": "Arabic (Tunisia)",
1231 - "xloc": [ "default.handlebars->23->695" ],
1784 + "xloc": [
1785 + "default.handlebars->23->695"
1786 + ],
1787 "pt": "Árabe (Tunísia)",
1233 - "ja": "アラビア語(チュニジア)"
1788 + "ja": "アラビア語(チュニジア)",
1789 + "cs": "Arabic (Tunisia)"
1790 },
1791 {
1792 "en": "Arabic (U.A.E.)",
1237 - "xloc": [ "default.handlebars->23->696" ],
1793 + "xloc": [
1794 + "default.handlebars->23->696"
1795 + ],
1796 "pt": "Árabe (U.A.E)",
1239 - "ja": "アラビア語(U.A.E.)"
1797 + "ja": "アラビア語(U.A.E.)",
1798 + "cs": "Arabic (U.A.E.)"
1799 },
1800 {
1801 "en": "Arabic (Yemen)",
1243 - "xloc": [ "default.handlebars->23->697" ],
1802 + "xloc": [
1803 + "default.handlebars->23->697"
1804 + ],
1805 "pt": "Árabe (Iêmen)",
1245 - "ja": "アラビア語(イエメン)"
1806 + "ja": "アラビア語(イエメン)",
1807 + "cs": "Arabic (Yemen)"
1808 },
1809 {
1810 "en": "Aragonese",
1249 - "xloc": [ "default.handlebars->23->698" ],
1811 + "xloc": [
1812 + "default.handlebars->23->698"
1813 + ],
1814 "pt": "Aragonês",
1251 - "ja": "アラゴン語"
1815 + "ja": "アラゴン語",
1816 + "cs": "Aragonese"
1817 },
1818 {
1819 "en": "Architecture",
1820 "cs": "Architektura",
1821 "fr": "Architecture",
1257 - "xloc": [ "default.handlebars->23->46" ],
1822 + "xloc": [
1823 + "default.handlebars->23->46"
1824 + ],
1825 "pt": "Arquitetura",
1826 "ja": "建築"
1827 },
1828 {
1829 "en": "Are you sure you want to connect to {0} devices?",
1263 - "xloc": [ "default.handlebars->23->182" ],
1264 - "ja": "{0}台のデバイスに接続してもよろしいですか?"
1830 + "xloc": [
1831 + "default.handlebars->23->182"
1832 + ],
1833 + "ja": "{0}台のデバイスに接続してもよろしいですか?",
1834 + "cs": "Opravdu připojit k {0} zařízení?"
1835 },
1836 {
1837 "en": "Are you sure you want to delete group {0}? Deleting the device group will also delete all information about devices within this group.",
1838 "fr": "Êtes-vous sûr de vouloir supprimer le groupe {0}? La suppression du groupe de périphériques supprimera également toutes les informations relatives aux périphériques de ce groupe.",
1269 - "xloc": [ "default.handlebars->23->1018", "default-mobile.handlebars->9->283" ],
1839 + "xloc": [
1840 + "default.handlebars->23->1018",
1841 + "default-mobile.handlebars->9->283"
1842 + ],
1843 "pt": "Tem certeza de que deseja excluir o grupo {0}? A exclusão do grupo de dispositivos também excluirá todas as informações sobre os dispositivos desse grupo.",
1271 - "ja": "グループ{0}を削除してもよろしいですか?デバイスグループを削除すると、このグループ内のデバイスに関するすべての情報も削除されます。"
1844 + "ja": "グループ{0}を削除してもよろしいですか?デバイスグループを削除すると、このグループ内のデバイスに関するすべての情報も削除されます。",
1845 + "cs": "Opravdu smazat skupinu {0}? Smazáním skupiny se smažou všechny informace o zařízeních v této skupině."
1846 },
1847 {
1848 "en": "Are you sure you want to delete node {0}?",
1849 "fr": "Êtes-vous sûr de vouloir supprimer le noeud {0}?",
1276 - "xloc": [ "default.handlebars->23->545" ],
1850 + "xloc": [
1851 + "default.handlebars->23->545"
1852 + ],
1853 "pt": "Tem certeza de que deseja excluir o nó {0}?",
1278 - "ja": "ノード{0}を削除してもよろしいですか?"
1854 + "ja": "ノード{0}を削除してもよろしいですか?",
1855 + "cs": "Opravdu smazat nód {0}?"
1856 },
1857 {
1858 "en": "Are you sure you want to uninstall selected agent?",
1282 - "xloc": [ "default.handlebars->23->534" ],
1283 - "ja": "選択したエージェントをアンインストールしてもよろしいですか?"
1859 + "xloc": [
1860 + "default.handlebars->23->534"
1861 + ],
1862 + "ja": "選択したエージェントをアンインストールしてもよろしいですか?",
1863 + "cs": "Opravdu odinstalovat vybraného agenta?"
1864 },
1865 {
1866 "en": "Are you sure you want to uninstall the selected {0} agents?",
1287 - "xloc": [ "default.handlebars->23->533" ],
1288 - "ja": "選択した{0}エージェントをアンインストールしてもよろしいですか?"
1867 + "xloc": [
1868 + "default.handlebars->23->533"
1869 + ],
1870 + "ja": "選択した{0}エージェントをアンインストールしてもよろしいですか?",
1871 + "cs": "Opravdu odinstalovat vybraných {0} agentů?"
1872 },
1873 {
1874 "en": "Are you sure you want to {0} the plugin: {1}",
1292 - "xloc": [ "default.handlebars->23->1289" ],
1293 - "ja": "プラグインを{0}してもよろしいですか:{1}"
1875 + "xloc": [
1876 + "default.handlebars->23->1289"
1877 + ],
1878 + "ja": "プラグインを{0}してもよろしいですか:{1}",
1879 + "cs": "Opravdu {0} plugin: {1}"
1880 },
1881 {
1882 "en": "ARM-Linaro",
1297 - "xloc": [ "default.handlebars->23->424", "default-mobile.handlebars->9->164" ],
1883 + "xloc": [
1884 + "default.handlebars->23->424",
1885 + "default-mobile.handlebars->9->164"
1886 + ],
1887 "pt": "ARM-Linaro",
1299 - "ja": "ARM-リナロ"
1888 + "ja": "ARM-リナロ",
1889 + "cs": "ARM-Linaro"
1890 },
1891 {
1892 "en": "Armenian",
1303 - "xloc": [ "default.handlebars->23->699" ],
1893 + "xloc": [
1894 + "default.handlebars->23->699"
1895 + ],
1896 "pt": "Armênio",
1305 - "ja": "アルメニア人"
1897 + "ja": "アルメニア人",
1898 + "cs": "Armenian"
1899 },
1900 {
1901 "en": "ARMv6l / ARMv7l",
1309 - "xloc": [ "default.handlebars->23->425", "default-mobile.handlebars->9->165" ],
1902 + "xloc": [
1903 + "default.handlebars->23->425",
1904 + "default-mobile.handlebars->9->165"
1905 + ],
1906 "pt": "ARMv6l / ARMv7l",
1311 - "ja": "ARMv6l / ARMv7l"
1907 + "ja": "ARMv6l / ARMv7l",
1908 + "cs": "ARMv6l / ARMv7l"
1909 },
1910 {
1911 "en": "ARMv6l / ARMv7l / NoKVM",
1315 - "xloc": [ "default.handlebars->23->427", "default-mobile.handlebars->9->167" ],
1912 + "xloc": [
1913 + "default.handlebars->23->427",
1914 + "default-mobile.handlebars->9->167"
1915 + ],
1916 "pt": "ARMv6l / ARMv7l / NoKVM",
1317 - "ja": "ARMv6l / ARMv7l / NoKVM"
1917 + "ja": "ARMv6l / ARMv7l / NoKVM",
1918 + "cs": "ARMv6l / ARMv7l / NoKVM"
1919 },
1920 {
1921 "en": "ARMv8 64bit",
1321 - "xloc": [ "default.handlebars->23->426", "default-mobile.handlebars->9->166" ],
1922 + "xloc": [
1923 + "default.handlebars->23->426",
1924 + "default-mobile.handlebars->9->166"
1925 + ],
1926 "pt": "ARMv8 64bit",
1323 - "ja": "ARMv8 64ビット"
1927 + "ja": "ARMv8 64ビット",
1928 + "cs": "ARMv8 64bit"
1929 },
1930 {
1931 "en": "Assamese",
1327 - "xloc": [ "default.handlebars->23->700" ],
1932 + "xloc": [
1933 + "default.handlebars->23->700"
1934 + ],
1935 "pt": "Assamese",
1329 - "ja": "アッサム語"
1936 + "ja": "アッサム語",
1937 + "cs": "Assamese"
1938 },
1939 {
1940 "en": "Asturian",
1333 - "xloc": [ "default.handlebars->23->701" ],
1941 + "xloc": [
1942 + "default.handlebars->23->701"
1943 + ],
1944 "pt": "Asturiano",
1335 - "ja": "アストゥリアス"
1945 + "ja": "アストゥリアス",
1946 + "cs": "Asturian"
1947 },
1948 {
1949 "en": "Authentication App",
1339 - "xloc": [ "default.handlebars->23->1221" ],
1950 + "xloc": [
1951 + "default.handlebars->23->1221"
1952 + ],
1953 "pt": "Aplicativo de autenticação",
1341 - "ja": "認証アプリ"
1954 + "ja": "認証アプリ",
1955 + "cs": "Autentizační aplikace"
1956 },
1957 {
1958 "en": "Authenticator App",
1345 - "xloc": [ "default.handlebars->23->86", "default.handlebars->23->91", "default.handlebars->23->665", "default.handlebars->23->667", "default-mobile.handlebars->9->15", "default-mobile.handlebars->9->18", "default-mobile.handlebars->9->27", "default-mobile.handlebars->9->29" ],
1959 + "xloc": [
1960 + "default.handlebars->23->86",
1961 + "default.handlebars->23->91",
1962 + "default.handlebars->23->665",
1963 + "default.handlebars->23->667",
1964 + "default-mobile.handlebars->9->15",
1965 + "default-mobile.handlebars->9->18",
1966 + "default-mobile.handlebars->9->27",
1967 + "default-mobile.handlebars->9->29"
1968 + ],
1969 "pt": "Autenticador de aplicativo",
1347 - "ja": "認証アプリ"
1970 + "ja": "認証アプリ",
1971 + "cs": "Aplikace pro autentizaci"
1972 },
1973 {
1974 "en": "Authenticator app activation successful.",
1351 - "xloc": [ "default.handlebars->23->87" ],
1975 + "xloc": [
1976 + "default.handlebars->23->87"
1977 + ],
1978 "pt": "Ativação do aplicativo autenticador bem-sucedida.",
1353 - "ja": "認証アプリのアクティベーションが成功しました。"
1979 + "ja": "認証アプリのアクティベーションが成功しました。",
1980 + "cs": "Aktivace autentizační aplikace úspěšná."
1981 },
1982 {
1983 "en": "Authenticator application removed.",
1357 - "xloc": [ "default.handlebars->23->92" ],
1984 + "xloc": [
1985 + "default.handlebars->23->92"
1986 + ],
1987 "pt": "Aplicativo autenticador removido.",
1359 - "ja": "認証アプリケーションが削除されました。"
1988 + "ja": "認証アプリケーションが削除されました。",
1989 + "cs": "Autentizační aplikace odstraněna."
1990 },
1991 {
1992 "en": "Auto",
1993 "fr": "Automatique",
1364 - "xloc": [ "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar->5", "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSizeDropDown->termSizeList->2" ],
1994 + "xloc": [
1995 + "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar->5",
1996 + "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSizeDropDown->termSizeList->2"
1997 + ],
1998 "pt": "Auto",
1366 - "ja": "オート"
1999 + "ja": "オート",
2000 + "cs": "Auto"
2001 },
2002 {
2003 "en": "Auto-Remove",
1370 - "xloc": [ "default.handlebars->23->942" ],
2004 + "xloc": [
2005 + "default.handlebars->23->942"
2006 + ],
2007 "pt": "Remover automaticamente",
1372 - "ja": "自動削除"
2008 + "ja": "自動削除",
2009 + "cs": "Automatické odstranění"
2010 },
2011 {
2012 "en": "AutoConnect",
1376 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3", "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3", "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3" ],
2013 + "xloc": [
2014 + "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3",
2015 + "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3",
2016 + "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3",
2017 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3"
2018 + ],
2019 "pt": "Conexão automática",
1378 - "ja": "自動接続"
2020 + "ja": "自動接続",
2021 + "cs": "Automatické připojení"
2022 },
2023 {
2024 "en": "Automatic connect",
2025 "fr": "Connexion automatique",
1383 - "xloc": [ "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar->5" ],
2026 + "xloc": [
2027 + "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar->5"
2028 + ],
2029 "pt": "Conexão automática",
1385 - "ja": "自動接続"
2030 + "ja": "自動接続",
2031 + "cs": "Automatické připojení"
2032 },
2033 {
2034 "en": "Azerbaijani",
1389 - "xloc": [ "default.handlebars->23->702" ],
2035 + "xloc": [
2036 + "default.handlebars->23->702"
2037 + ],
2038 "pt": "Azerbaijão",
1391 - "ja": "アゼルバイジャン語"
2039 + "ja": "アゼルバイジャン語",
2040 + "cs": "Azerbaijani"
2041 },
2042 {
2043 "en": "Back",
2044 "cs": "Zpět",
2045 "fr": "Retour",
1397 - "xloc": [ "default.handlebars->container->column_l->p10->1->1->0->1->p10title->p10BackButton", "default.handlebars->container->column_l->p11->p11title->p11deviceNameHeader->p11BackButton", "default.handlebars->container->column_l->p12->p12title->p12BackButton", "default.handlebars->container->column_l->p13->p13title->p13BackButton", "default.handlebars->container->column_l->p14->p14title->p14BackButton", "default.handlebars->container->column_l->p15->p15title->p15BackButton", "default.handlebars->container->column_l->p16->p16title->p16BackButton", "default.handlebars->container->column_l->p17->p17title->p17BackButton", "default.handlebars->container->column_l->p20->3", "default.handlebars->container->column_l->p30->1->1->0->1->p30title->1", "default.handlebars->container->column_l->p31->1", "default.handlebars->container->column_l->p43->p43BackButton", "error404.handlebars->container->footer->1->1->0->3->0", "error404-mobile.handlebars->container->footer->1->1->0->3->1", "terms.handlebars->container->footer->1->1->0->3->0", "terms-mobile.handlebars->container->footer->1->1->0->3->1" ],
2046 + "xloc": [
2047 + "default.handlebars->container->column_l->p10->1->1->0->1->p10title->p10BackButton",
2048 + "default.handlebars->container->column_l->p11->p11title->p11deviceNameHeader->p11BackButton",
2049 + "default.handlebars->container->column_l->p12->p12title->p12BackButton",
2050 + "default.handlebars->container->column_l->p13->p13title->p13BackButton",
2051 + "default.handlebars->container->column_l->p14->p14title->p14BackButton",
2052 + "default.handlebars->container->column_l->p15->p15title->p15BackButton",
2053 + "default.handlebars->container->column_l->p16->p16title->p16BackButton",
2054 + "default.handlebars->container->column_l->p17->p17title->p17BackButton",
2055 + "default.handlebars->container->column_l->p20->3",
2056 + "default.handlebars->container->column_l->p30->1->1->0->1->p30title->1",
2057 + "default.handlebars->container->column_l->p31->1",
2058 + "default.handlebars->container->column_l->p43->p43BackButton",
2059 + "error404.handlebars->container->footer->1->1->0->3->0",
2060 + "error404-mobile.handlebars->container->footer->1->1->0->3->1",
2061 + "terms.handlebars->container->footer->1->1->0->3->0",
2062 + "terms-mobile.handlebars->container->footer->1->1->0->3->1"
2063 + ],
2064 "pt": "Voltar",
2065 "ja": "バック"
2066 },
2067 {
2068 "en": "Back to login",
1403 - "xloc": [ "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->12", "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpanel->1->10", "login.handlebars->container->column_l->centralTable->1->0->logincell->tokenpanel->1->10", "login.handlebars->container->column_l->centralTable->1->0->logincell->resettokenpanel->1->8", "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpasswordpanel->1->10", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->12", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpanel->1->10", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->10", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resettokenpanel->1->8", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpasswordpanel->1->10" ],
2069 + "xloc": [
2070 + "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->12",
2071 + "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpanel->1->10",
2072 + "login.handlebars->container->column_l->centralTable->1->0->logincell->tokenpanel->1->10",
2073 + "login.handlebars->container->column_l->centralTable->1->0->logincell->resettokenpanel->1->8",
2074 + "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpasswordpanel->1->10",
2075 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->12",
2076 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpanel->1->10",
2077 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->10",
2078 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resettokenpanel->1->8",
2079 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpasswordpanel->1->10"
2080 + ],
2081 "pt": "Volte ao login",
1405 - "ja": "ログインに戻る"
2082 + "ja": "ログインに戻る",
2083 + "cs": "Zpět na přihlášení"
2084 },
2085 {
2086 "en": "Background & interactive",
1409 - "xloc": [ "default.handlebars->23->285" ],
2087 + "xloc": [
2088 + "default.handlebars->23->285"
2089 + ],
2090 "pt": "Segundo plano e interativo",
1411 - "ja": "背景とインタラクティブ"
2091 + "ja": "背景とインタラクティブ",
2092 + "cs": "Na pozadí & interaktivní"
2093 },
2094 {
2095 "en": "Background and interactive",
1415 - "xloc": [ "default.handlebars->23->263" ],
2096 + "xloc": [
2097 + "default.handlebars->23->263"
2098 + ],
2099 "pt": "Segundo plano e interativo",
1417 - "ja": "背景とインタラクティブ"
2100 + "ja": "背景とインタラクティブ",
2101 + "cs": "Na pozadí a interaktivní"
2102 },
2103 {
2104 "en": "Background only",
1421 - "xloc": [ "default.handlebars->23->264", "default.handlebars->23->286" ],
2105 + "xloc": [
2106 + "default.handlebars->23->264",
2107 + "default.handlebars->23->286"
2108 + ],
2109 "pt": "Apenas em segundo plano",
1423 - "ja": "背景のみ"
2110 + "ja": "背景のみ",
2111 + "cs": "Pouze na pozadí"
2112 },
2113 {
2114 "en": "Backspace",
2115 "fr": "Retour arrière",
1428 - "xloc": [ "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3" ],
2116 + "xloc": [
2117 + "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3"
2118 + ],
2119 "pt": "Excluir",
1430 - "ja": "バックスペース"
2120 + "ja": "バックスペース",
2121 + "cs": "Zpětná klávesa (backspace)"
2122 },
2123 {
2124 "en": "Backup Codes",
1434 - "xloc": [ "default.handlebars->23->1223" ],
2125 + "xloc": [
2126 + "default.handlebars->23->1223"
2127 + ],
2128 "pt": "Códigos de backup",
1436 - "ja": "バックアップコード"
2129 + "ja": "バックアップコード",
2130 + "cs": "Záloha kódu"
2131 },
2132 {
2133 "en": "Basque",
1440 - "xloc": [ "default.handlebars->23->703" ],
2134 + "xloc": [
2135 + "default.handlebars->23->703"
2136 + ],
2137 "pt": "Basco",
1442 - "ja": "バスク"
2138 + "ja": "バスク",
2139 + "cs": "Basque"
2140 },
2141 {
2142 "en": "Batch create many user accounts",
1446 - "xloc": [ "default.handlebars->container->column_l->p4->3->1->0->3->1->5" ],
2143 + "xloc": [
2144 + "default.handlebars->container->column_l->p4->3->1->0->3->1->5"
2145 + ],
2146 "pt": "Lote criar muitas contas de usuário",
1448 - "ja": "多数のユーザーアカウントをバッチ作成する"
2147 + "ja": "多数のユーザーアカウントをバッチ作成する",
2148 + "cs": "Dávkově vytvořit více uživatelů"
2149 },
2150 {
2151 "en": "Belarusian",
1452 - "xloc": [ "default.handlebars->23->705" ],
2152 + "xloc": [
2153 + "default.handlebars->23->705"
2154 + ],
2155 "pt": "Bielorrusso",
1454 - "ja": "ベラルーシ語"
2156 + "ja": "ベラルーシ語",
2157 + "cs": "Belarusian"
2158 },
2159 {
2160 "en": "Bengali",
1458 - "xloc": [ "default.handlebars->23->706" ],
2161 + "xloc": [
2162 + "default.handlebars->23->706"
2163 + ],
2164 "pt": "Bengali",
1460 - "ja": "ベンガル語"
2165 + "ja": "ベンガル語",
2166 + "cs": "Bengali"
2167 },
2168 {
2169 "en": "BIOS",
1464 - "xloc": [ "default.handlebars->23->30" ],
2170 + "xloc": [
2171 + "default.handlebars->23->30"
2172 + ],
2173 "pt": "BIOS",
1466 - "ja": "BIOS"
2174 + "ja": "BIOS",
2175 + "cs": "BIOS"
2176 },
2177 {
2178 "en": "Bosnian",
1470 - "xloc": [ "default.handlebars->23->707" ],
2179 + "xloc": [
2180 + "default.handlebars->23->707"
2181 + ],
2182 "pt": "Bósnia",
1472 - "ja": "ボスニア語"
2183 + "ja": "ボスニア語",
2184 + "cs": "Bosnian"
2185 },
2186 {
2187 "en": "Breton",
1476 - "xloc": [ "default.handlebars->23->708" ],
2188 + "xloc": [
2189 + "default.handlebars->23->708"
2190 + ],
2191 "pt": "Breton",
1478 - "ja": "ブルトン"
2192 + "ja": "ブルトン",
2193 + "cs": "Breton"
2194 },
2195 {
2196 "en": "Broadcast",
2197 "fr": "Diffuser",
1483 - "xloc": [ "default.handlebars->container->column_l->p4->3->1->0->3->1" ],
2198 + "xloc": [
2199 + "default.handlebars->container->column_l->p4->3->1->0->3->1"
2200 + ],
2201 "pt": "Broadcast",
1485 - "ja": "放送"
2202 + "ja": "放送",
2203 + "cs": "Hromadná zpráva"
2204 },
2205 {
2206 "en": "Broadcast a message to all connected users.",
1489 - "xloc": [ "default.handlebars->23->1169" ],
2207 + "xloc": [
2208 + "default.handlebars->23->1169"
2209 + ],
2210 "pt": "Transmita uma mensagem para todos os usuários conectados.",
1491 - "ja": "接続されているすべてのユーザーにメッセージをブロードキャストします。"
2211 + "ja": "接続されているすべてのユーザーにメッセージをブロードキャストします。",
2212 + "cs": "Zaslat hromadnou zprávu všem připojeným uživatelům."
2213 },
2214 {
2215 "en": "Broadcast Message",
2216 "fr": "Diffusion d'un Message",
1496 - "xloc": [ "default.handlebars->23->1170" ],
2217 + "xloc": [
2218 + "default.handlebars->23->1170"
2219 + ],
2220 "pt": "Mensagem de transmissão",
1498 - "ja": "同報メッセージ"
2221 + "ja": "同報メッセージ",
2222 + "cs": "Hromadná zpráva"
2223 },
2224 {
2225 "en": "Bulgarian",
1502 - "xloc": [ "default.handlebars->23->704" ],
2226 + "xloc": [
2227 + "default.handlebars->23->704"
2228 + ],
2229 "pt": "Búlgaria",
1504 - "ja": "ブルガリア語"
2230 + "ja": "ブルガリア語",
2231 + "cs": "Bulgarian"
2232 },
2233 {
2234 "en": "Burmese",
1508 - "xloc": [ "default.handlebars->23->709" ],
2235 + "xloc": [
2236 + "default.handlebars->23->709"
2237 + ],
2238 "pt": "Birmanês",
1510 - "ja": "ビルマ語"
2239 + "ja": "ビルマ語",
2240 + "cs": "Burmese"
2241 },
2242 {
2243 "en": "Call Error",
2244 "fr": "Erreur d'appel",
1515 - "xloc": [ "default.handlebars->23->1290" ],
2245 + "xloc": [
2246 + "default.handlebars->23->1290"
2247 + ],
2248 "pt": "Erro de chamada",
1517 - "ja": "呼び出しエラー"
2249 + "ja": "呼び出しエラー",
2250 + "cs": "Chybová volání"
2251 },
2252 {
2253 "en": "Cancel",
2254 "cs": "Zrušit",
2255 "fr": "Annuler",
1523 - "xloc": [ "default.handlebars->container->dialog->idx_dlgButtonBar", "default.handlebars->23->927", "default-mobile.handlebars->dialog->idx_dlgButtonBar", "default-mobile.handlebars->9->38", "login.handlebars->dialog->idx_dlgButtonBar", "login-mobile.handlebars->dialog->idx_dlgButtonBar", "player.htm->p11->dialog->idx_dlgButtonBar" ],
2256 + "xloc": [
2257 + "default.handlebars->container->dialog->idx_dlgButtonBar",
2258 + "default.handlebars->23->927",
2259 + "default-mobile.handlebars->dialog->idx_dlgButtonBar",
2260 + "default-mobile.handlebars->9->38",
2261 + "login.handlebars->dialog->idx_dlgButtonBar",
2262 + "login-mobile.handlebars->dialog->idx_dlgButtonBar",
2263 + "player.htm->p11->dialog->idx_dlgButtonBar"
2264 + ],
2265 "pt": "Cancelar",
2266 "ja": "キャンセル"
2267 },
2268 {
2269 "en": "Capacity / Speed",
1529 - "xloc": [ "default.handlebars->23->40" ],
2270 + "xloc": [
2271 + "default.handlebars->23->40"
2272 + ],
2273 "pt": "Capacidade / velocidade",
1531 - "ja": "容量/速度"
2274 + "ja": "容量/速度",
2275 + "cs": "Kapacita / Rychlost"
2276 },
2277 {
2278 "en": "Catalan",
1535 - "xloc": [ "default.handlebars->23->710" ],
2279 + "xloc": [
2280 + "default.handlebars->23->710"
2281 + ],
2282 "pt": "Catalão",
1537 - "ja": "カタロニア語"
2283 + "ja": "カタロニア語",
2284 + "cs": "Catalan"
2285 },
2286 {
2287 "en": "CCM",
1541 - "xloc": [ "default.handlebars->23->439", "default-mobile.handlebars->9->178" ],
2288 + "xloc": [
2289 + "default.handlebars->23->439",
2290 + "default-mobile.handlebars->9->178"
2291 + ],
2292 "pt": "CCM",
1543 - "ja": "CCM"
2293 + "ja": "CCM",
2294 + "cs": "CCM"
2295 },
2296 {
2297 "en": "Center map here",
2298 "fr": "Centré la carte ici",
1548 - "xloc": [ "default.handlebars->23->373" ],
2299 + "xloc": [
2300 + "default.handlebars->23->373"
2301 + ],
2302 "pt": "Centralize o mapa aqui",
1550 - "ja": "センターマップはこちら"
2303 + "ja": "センターマップはこちら",
2304 + "cs": "Vycentrovat mapu zde"
2305 },
2306 {
2307 "en": "Chamorro",
1554 - "xloc": [ "default.handlebars->23->711" ],
2308 + "xloc": [
2309 + "default.handlebars->23->711"
2310 + ],
2311 "pt": "Chamorro",
1556 - "ja": "チャモロ"
2312 + "ja": "チャモロ",
2313 + "cs": "Chamorro"
2314 },
2315 {
2316 "en": "Change email address",
2317 "cs": "Změnit emailovou adresu",
1561 - "xloc": [ "default.handlebars->container->column_l->p2->p2AccountActions->3->accountChangeEmailAddressSpan->0", "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->3->changeEmailId->0" ],
2318 + "xloc": [
2319 + "default.handlebars->container->column_l->p2->p2AccountActions->3->accountChangeEmailAddressSpan->0",
2320 + "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->3->changeEmailId->0"
2321 + ],
2322 "pt": "Mude o endereço de email",
2323 "ja": "メールアドレスを変更する"
2324 },
2325 {
2326 "en": "Change Email for {0}",
2327 "cs": "Změnit email pro {0}",
1568 - "xloc": [ "default.handlebars->23->1234" ],
2328 + "xloc": [
2329 + "default.handlebars->23->1234"
2330 + ],
2331 "pt": "Alterar email para {0}",
2332 "ja": "{0}のメールを変更"
2333 },
2334 {
2335 "en": "Change Group",
2336 "cs": "Změnit skupinu",
1575 - "xloc": [ "default.handlebars->23->480", "default.handlebars->23->542", "default.handlebars->23->543" ],
2337 + "xloc": [
2338 + "default.handlebars->23->480",
2339 + "default.handlebars->23->542",
2340 + "default.handlebars->23->543"
2341 + ],
2342 "pt": "Alterar grupo",
2343 "ja": "グループを変更"
2344 },
2345 {
2346 "en": "Change Password",
2347 "cs": "Změnit heslo",
1582 - "xloc": [ "default.handlebars->23->903", "default-mobile.handlebars->9->46" ],
2348 + "xloc": [
2349 + "default.handlebars->23->903",
2350 + "default-mobile.handlebars->9->46"
2351 + ],
2352 "pt": "Mudar senha",
2353 "ja": "パスワードを変更する"
2354 },
2355 {
2356 "en": "Change password",
2357 "cs": "Změnit heslo",
1589 - "xloc": [ "default.handlebars->container->column_l->p2->p2AccountActions->3->13", "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->5->0" ],
2358 + "xloc": [
2359 + "default.handlebars->container->column_l->p2->p2AccountActions->3->13",
2360 + "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->5->0"
2361 + ],
2362 "pt": "Mudar senha",
2363 "ja": "パスワードを変更する"
2364 },
2365 {
2366 "en": "Change Password for {0}",
1595 - "xloc": [ "default.handlebars->23->1241" ],
2367 + "xloc": [
2368 + "default.handlebars->23->1241"
2369 + ],
2370 "pt": "Alterar senha para {0}",
1597 - "ja": "{0}のパスワードを変更"
2371 + "ja": "{0}のパスワードを変更",
2372 + "cs": "Změnit heslo pro {0}"
2373 },
2374 {
2375 "en": "Change the agent Java Script code module",
1601 - "xloc": [ "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1" ],
2376 + "xloc": [
2377 + "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1"
2378 + ],
2379 "pt": "Alterar o módulo de código Java Script do agente",
1603 - "ja": "エージェントのJava Scriptコードモジュールを変更する"
2380 + "ja": "エージェントのJava Scriptコードモジュールを変更する",
2381 + "cs": "Změnit kód modulu agenta Java Script"
2382 },
2383 {
2384 "en": "Change the power state of the remote machine",
1607 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1" ],
2385 + "xloc": [
2386 + "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1"
2387 + ],
2388 "pt": "Alterar o estado de energia da máquina remota",
1609 - "ja": "リモートマシンの電源状態を変更する"
2389 + "ja": "リモートマシンの電源状態を変更する",
2390 + "cs": "Změnit stav napájení vzdáleného zařízení"
2391 },
2392 {
2393 "en": "Change your account email address here.",
1613 - "xloc": [ "default.handlebars->23->890" ],
2394 + "xloc": [
2395 + "default.handlebars->23->890"
2396 + ],
2397 "pt": "Mude o endereço de e-mail da sua conta aqui.",
1615 - "ja": "ここでアカウントのメールアドレスを変更します。"
2398 + "ja": "ここでアカウントのメールアドレスを変更します。",
2399 + "cs": "Změň si svůj email zde."
2400 },
2401 {
2402 "en": "Change your account password by entering the old password and new password twice in the boxes below.",
2403 "cs": "Změnit heslo zadáním starého a dvakrát nového hesla níže.",
1620 - "xloc": [ "default.handlebars->23->896" ],
2404 + "xloc": [
2405 + "default.handlebars->23->896"
2406 + ],
2407 "pt": "Altere a senha da sua conta digitando a senha antiga e a nova senha duas vezes nas caixas abaixo.",
2408 "ja": "下のボックスに古いパスワードと新しいパスワードを2回入力して、アカウントのパスワードを変更します。"
2409 },
2410 {
2411 "en": "Changing the language will require a refresh of the page.",
1626 - "xloc": [ "default.handlebars->23->876" ],
2412 + "xloc": [
2413 + "default.handlebars->23->876"
2414 + ],
2415 "pt": "Alterar o idioma exigirá uma atualização da página.",
1628 - "ja": "言語を変更するには、ページを更新する必要があります。"
2416 + "ja": "言語を変更するには、ページを更新する必要があります。",
2417 + "cs": "Změna jazyka vyžaduje obnovení stránky."
2418 },
2419 {
2420 "en": "Chat",
1632 - "xloc": [ "default.handlebars->23->1139" ],
2421 + "xloc": [
2422 + "default.handlebars->23->1139"
2423 + ],
2424 "pt": "Chat",
1634 - "ja": "チャット"
2425 + "ja": "チャット",
2426 + "cs": "Chat"
2427 },
2428 {
2429 "en": "Chat & Notify",
1638 - "xloc": [ "default.handlebars->23->1055", "default.handlebars->23->1074", "default-mobile.handlebars->9->304", "default-mobile.handlebars->9->322" ],
2430 + "xloc": [
2431 + "default.handlebars->23->1055",
2432 + "default.handlebars->23->1074",
2433 + "default-mobile.handlebars->9->304",
2434 + "default-mobile.handlebars->9->322"
2435 + ],
2436 "pt": "Chat & Notificação",
1640 - "ja": "チャットと通知"
2437 + "ja": "チャットと通知",
2438 + "cs": "Chat & Upozornění"
2439 },
2440 {
2441 "en": "Chechen",
1644 - "xloc": [ "default.handlebars->23->712" ],
2442 + "xloc": [
2443 + "default.handlebars->23->712"
2444 + ],
2445 "pt": "Checheno",
1646 - "ja": "チェチェン"
2446 + "ja": "チェチェン",
2447 + "cs": "Chechen"
2448 },
2449 {
2450 "en": "Check and click OK to clear error log.",
1650 - "xloc": [ "default.handlebars->23->83" ],
2451 + "xloc": [
2452 + "default.handlebars->23->83"
2453 + ],
2454 "pt": "Verifique e clique em OK para limpar o log de erros.",
1652 - "ja": "チェックして[OK]をクリックし、エラーログをクリアします。"
2455 + "ja": "チェックして[OK]をクリックし、エラーログをクリアします。",
2456 + "cs": "Zatrhni a klikni na OK pro vymazaní chybového logu."
2457 },
2458 {
2459 "en": "Check and click OK to start server self-update.",
1656 - "xloc": [ "default.handlebars->23->78" ],
2460 + "xloc": [
2461 + "default.handlebars->23->78"
2462 + ],
2463 "pt": "Marque e clique em OK para iniciar a atualização automática do servidor.",
1658 - "ja": "チェックして[OK]をクリックし、サーバーの自己更新を開始します。"
2464 + "ja": "チェックして[OK]をクリックし、サーバーの自己更新を開始します。",
2465 + "cs": "Zatrhni a klikni na OK pro automatickou aktializaci serveru. "
2466 },
2467 {
2468 "en": "Check server version",
2469 "cs": "Zkontrolovat verzi serveru",
1663 - "xloc": [ "default.handlebars->container->column_l->p6->p2ServerActions->3->p2ServerActionsVersion->0" ],
2470 + "xloc": [
2471 + "default.handlebars->container->column_l->p6->p2ServerActions->3->p2ServerActionsVersion->0"
2472 + ],
2473 "pt": "Verifique a versão do servidor",
2474 "ja": "サーバーのバージョンを確認する"
2475 },
2476 {
2477 "en": "Checking...",
2478 "cs": "Kontrola...",
1670 - "xloc": [ "default.handlebars->23->678", "default.handlebars->23->1286" ],
2479 + "xloc": [
2480 + "default.handlebars->23->678",
2481 + "default.handlebars->23->1286"
2482 + ],
2483 "pt": "Verificando ...",
2484 "ja": "確認しています..."
2485 },
2486 {
2487 "en": "Chinese",
1676 - "xloc": [ "default.handlebars->23->713" ],
2488 + "xloc": [
2489 + "default.handlebars->23->713"
2490 + ],
2491 "pt": "Chinês",
1678 - "ja": "中国語"
2492 + "ja": "中国語",
2493 + "cs": "Chinese"
2494 },
2495 {
2496 "en": "Chinese (Hong Kong)",
1682 - "xloc": [ "default.handlebars->23->714" ],
2497 + "xloc": [
2498 + "default.handlebars->23->714"
2499 + ],
2500 "pt": "Chinês (Hong Kong)",
1684 - "ja": "中国語(香港)"
2501 + "ja": "中国語(香港)",
2502 + "cs": "Chinese (Hong Kong)"
2503 },
2504 {
2505 "en": "Chinese (PRC)",
1688 - "xloc": [ "default.handlebars->23->715" ],
2506 + "xloc": [
2507 + "default.handlebars->23->715"
2508 + ],
2509 "pt": "Chinês (PRC)",
1690 - "ja": "中国語(PRC)"
2510 + "ja": "中国語(PRC)",
2511 + "cs": "Chinese (PRC)"
2512 },
2513 {
2514 "en": "Chinese (Singapore)",
1694 - "xloc": [ "default.handlebars->23->716" ],
2515 + "xloc": [
2516 + "default.handlebars->23->716"
2517 + ],
2518 "pt": "Chinês (Singapura)",
1696 - "ja": "中国語(シンガポール)"
2519 + "ja": "中国語(シンガポール)",
2520 + "cs": "Chinese (Singapore)"
2521 },
2522 {
2523 "en": "Chinese (Taiwan)",
1700 - "xloc": [ "default.handlebars->23->717" ],
2524 + "xloc": [
2525 + "default.handlebars->23->717"
2526 + ],
2527 "pt": "Chinês (Taiwan)",
1702 - "ja": "中国語(台湾)"
2528 + "ja": "中国語(台湾)",
2529 + "cs": "Chinese (Taiwan)"
2530 },
2531 {
2532 "en": "ChromeOS",
1706 - "xloc": [ "default.handlebars->23->417", "default-mobile.handlebars->9->157" ],
2533 + "xloc": [
2534 + "default.handlebars->23->417",
2535 + "default-mobile.handlebars->9->157"
2536 + ],
2537 "pt": "ChromeOS",
1708 - "ja": "ChromeOS"
2538 + "ja": "ChromeOS",
2539 + "cs": "ChromeOS"
2540 },
2541 {
2542 "en": "Chuvash",
1712 - "xloc": [ "default.handlebars->23->718" ],
2543 + "xloc": [
2544 + "default.handlebars->23->718"
2545 + ],
2546 "pt": "Chuvash",
1714 - "ja": "チュヴァシュ"
2547 + "ja": "チュヴァシュ",
2548 + "cs": "Chuvash"
2549 },
2550 {
2551 "en": "CIRA",
1718 - "xloc": [ "default.handlebars->23->151", "default.handlebars->23->337", "default.handlebars->23->1006", "default.handlebars->23->1011", "default-mobile.handlebars->9->119" ],
2552 + "xloc": [
2553 + "default.handlebars->23->151",
2554 + "default.handlebars->23->337",
2555 + "default.handlebars->23->1006",
2556 + "default.handlebars->23->1011",
2557 + "default-mobile.handlebars->9->119"
2558 + ],
2559 "pt": "CIRA",
1720 - "ja": "CIRA"
2560 + "ja": "CIRA",
2561 + "cs": "CIRA"
2562 },
2563 {
2564 "en": "CIRA Server",
1724 - "xloc": [ "default.handlebars->23->1280" ],
2565 + "xloc": [
2566 + "default.handlebars->23->1280"
2567 + ],
2568 "pt": "Servidor CIRA",
1726 - "ja": "CIRAサーバー"
2569 + "ja": "CIRAサーバー",
2570 + "cs": "CIRA Server"
2571 },
2572 {
2573 "en": "CIRA Server Commands",
1730 - "xloc": [ "default.handlebars->23->1281" ],
2574 + "xloc": [
2575 + "default.handlebars->23->1281"
2576 + ],
2577 "pt": "Comandos do servidor CIRA",
1732 - "ja": "CIRAサーバーコマンド"
2578 + "ja": "CIRAサーバーコマンド",
2579 + "cs": "CIRA Server příkazy"
2580 },
2581 {
2582 "en": "Cleanup CIRA",
1736 - "xloc": [ "default.handlebars->23->228" ],
2583 + "xloc": [
2584 + "default.handlebars->23->228"
2585 + ],
2586 "pt": "Limpeza CIRA",
1738 - "ja": "CIRAのクリーンアップ"
2587 + "ja": "CIRAのクリーンアップ",
2588 + "cs": "Vymazat CIRA"
2589 },
2590 {
2591 "en": "Clear",
1742 - "xloc": [ "default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->7", "default.handlebars->container->column_l->p41->3->1", "default.handlebars->23->634", "default.handlebars->23->636", "default.handlebars->23->638", "default.handlebars->23->640", "default.handlebars->23->1118", "default-mobile.handlebars->9->25", "default-mobile.handlebars->9->88", "default-mobile.handlebars->9->259", "default-mobile.handlebars->9->261", "default-mobile.handlebars->9->263", "default-mobile.handlebars->9->265", "messenger.handlebars->xbottom" ],
2592 + "xloc": [
2593 + "default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->7",
2594 + "default.handlebars->container->column_l->p41->3->1",
2595 + "default.handlebars->23->634",
2596 + "default.handlebars->23->636",
2597 + "default.handlebars->23->638",
2598 + "default.handlebars->23->640",
2599 + "default.handlebars->23->1118",
2600 + "default-mobile.handlebars->9->25",
2601 + "default-mobile.handlebars->9->88",
2602 + "default-mobile.handlebars->9->259",
2603 + "default-mobile.handlebars->9->261",
2604 + "default-mobile.handlebars->9->263",
2605 + "default-mobile.handlebars->9->265",
2606 + "messenger.handlebars->xbottom"
2607 + ],
2608 "pt": "Limpo",
1744 - "ja": "クリア"
2609 + "ja": "クリア",
2610 + "cs": "Vymazat"
2611 },
2612 {
2613 "en": "Clear the core",
1748 - "xloc": [ "default.handlebars->23->659" ],
2614 + "xloc": [
2615 + "default.handlebars->23->659"
2616 + ],
2617 "pt": "Limpe o núcleo",
1750 - "ja": "コアをクリアする"
2618 + "ja": "コアをクリアする",
2619 + "cs": "Vymazat jádro"
2620 },
2621 {
2622 "en": "Clear the secret from the application and try again. You only have a few minutes to enter the proper code.",
1754 - "xloc": [ "default.handlebars->23->90" ],
2623 + "xloc": [
2624 + "default.handlebars->23->90"
2625 + ],
2626 "pt": "Limpe o segredo do aplicativo e tente novamente. Você tem apenas alguns minutos para inserir o código correto.",
1756 - "ja": "アプリケーションから秘密をクリアして、再試行してください。適切なコードを入力するのに数分しかかかりません。"
2627 + "ja": "アプリケーションから秘密をクリアして、再試行してください。適切なコードを入力するのに数分しかかかりません。",
2628 + "cs": "Vymaž tajemství z aplikace a zkus to znovu. Máš na zadání správného kódu jen pár minut."
2629 },
2630 {
2631 "en": "Clear Tokens",
1760 - "xloc": [ "default.handlebars->23->100" ],
2632 + "xloc": [
2633 + "default.handlebars->23->100"
2634 + ],
2635 "pt": "Limpar Tokens",
1762 - "ja": "クリアトークン"
2636 + "ja": "クリアトークン",
2637 + "cs": "Vymazat tokeny"
2638 },
2639 {
2640 "en": "click here to create a device group",
1766 - "xloc": [ "default.handlebars->container->column_l->p1->NoMeshesPanel->1->1->0->3->getStarted1->1->0" ],
2641 + "xloc": [
2642 + "default.handlebars->container->column_l->p1->NoMeshesPanel->1->1->0->3->getStarted1->1->0"
2643 + ],
2644 "pt": "clique aqui para criar um grupo de dispositivos",
1768 - "ja": "ここをクリックしてデバイスグループを作成します"
2645 + "ja": "ここをクリックしてデバイスグループを作成します",
2646 + "cs": "klikni zde pro vytvoření skupiny zařízení"
2647 },
2648 {
2649 "en": "Click here to edit the server-side device name",
1772 - "xloc": [ "default.handlebars->23->388" ],
2650 + "xloc": [
2651 + "default.handlebars->23->388"
2652 + ],
2653 "pt": "clique aqui para criar um grupo de dispositivos",
1774 - "ja": "サーバー側のデバイス名を編集するにはここをクリックしてください"
2654 + "ja": "サーバー側のデバイス名を編集するにはここをクリックしてください",
2655 + "cs": "Klikni zde pro úpravu server-side jména zařízení"
2656 },
2657 {
2658 "en": "Click ok to send a verification mail to:",
1778 - "xloc": [ "default.handlebars->23->887", "default-mobile.handlebars->9->31" ],
2659 + "xloc": [
2660 + "default.handlebars->23->887",
2661 + "default-mobile.handlebars->9->31"
2662 + ],
2663 "pt": "Clique em ok para enviar um email de verificação para:",
1780 - "ja": "[OK]をクリックして確認メールを送信します:"
2664 + "ja": "[OK]をクリックして確認メールを送信します:",
2665 + "cs": "Klikni na OK pro zaslání verifikačního emailu na:"
2666 },
2667 {
2668 "en": "click to reconnect",
2669 "cs": "klikni pro opětovné připojení",
1785 - "xloc": [ "default.handlebars->container->column_l->p0->p0message->2->0", "default-mobile.handlebars->container->page_content->column_l->p0->1->p0message->2->0" ],
2670 + "xloc": [
2671 + "default.handlebars->container->column_l->p0->p0message->2->0",
2672 + "default-mobile.handlebars->container->page_content->column_l->p0->1->p0message->2->0"
2673 + ],
2674 "pt": "clique para reconectar",
2675 "ja": "クリックして再接続"
2676 },
2677 {
2678 "en": "Click to view current notifications",
1791 - "xloc": [ "default.handlebars->container->masthead->5" ],
2679 + "xloc": [
2680 + "default.handlebars->container->masthead->5"
2681 + ],
2682 "pt": "Clique para visualizar as notificações atuais",
1793 - "ja": "クリックして現在の通知を表示します"
2683 + "ja": "クリックして現在の通知を表示します",
2684 + "cs": "Klikni pro zobrazení nastavení notifikací"
2685 },
2686 {
2687 "en": "Client Initiated Remote Access",
1797 - "xloc": [ "default.handlebars->23->1005", "default.handlebars->23->1010" ],
2688 + "xloc": [
2689 + "default.handlebars->23->1005",
2690 + "default.handlebars->23->1010"
2691 + ],
2692 "pt": "Acesso remoto iniciado pelo cliente",
1799 - "ja": "クライアントが開始したリモートアクセス"
2693 + "ja": "クライアントが開始したリモートアクセス",
2694 + "cs": "Vzdálený přístup iniciováný klientem"
2695 },
2696 {
2697 "en": "Clipboard",
1803 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3" ],
2698 + "xloc": [
2699 + "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3"
2700 + ],
2701 "pt": "Área de transferência",
1805 - "ja": "クリップボード"
2702 + "ja": "クリップボード",
2703 + "cs": "Schránka"
2704 },
2705 {
2706 "en": "Close",
1809 - "xloc": [ "default.handlebars->23->98", "default.handlebars->23->106", "default.handlebars->23->591", "default-mobile.handlebars->9->23" ],
2707 + "xloc": [
2708 + "default.handlebars->23->98",
2709 + "default.handlebars->23->106",
2710 + "default.handlebars->23->591",
2711 + "default-mobile.handlebars->9->23"
2712 + ],
2713 "pt": "Fechar",
1811 - "ja": "閉じる"
2714 + "ja": "閉じる",
2715 + "cs": "Zavřít"
2716 },
2717 {
2718 "en": "Columns",
2719 "cs": "Buňky",
1816 - "xloc": [ "default.handlebars->container->column_l->p1->devListToolbarViewIcons", "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarView->viewselect->1" ],
2720 + "xloc": [
2721 + "default.handlebars->container->column_l->p1->devListToolbarViewIcons",
2722 + "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarView->viewselect->1"
2723 + ],
2724 "pt": "Colunas",
2725 "ja": "列"
2726 },
2727 {
2728 "en": "Confim {0} of {1} entrie{2} to this location?",
1822 - "xloc": [ "default.handlebars->23->1113", "default-mobile.handlebars->9->83" ],
2729 + "xloc": [
2730 + "default.handlebars->23->1113",
2731 + "default-mobile.handlebars->9->83"
2732 + ],
2733 "pt": "Confirme {0} da {1} entrada {2} para este local?",
1824 - "ja": "{1}エントリ{2}のうち{0}をこの場所に拘束しますか?"
2734 + "ja": "{1}エントリ{2}のうち{0}をこの場所に拘束しますか?",
2735 + "cs": "Potvrdit {0} z {1} záznam{2} do tohoto umístění?"
2736 },
2737 {
2738 "en": "Confirm",
1828 - "xloc": [ "default.handlebars->23->360", "default.handlebars->23->537", "default.handlebars->23->546", "default.handlebars->23->1019", "default-mobile.handlebars->9->217", "default-mobile.handlebars->9->284" ],
2739 + "xloc": [
2740 + "default.handlebars->23->360",
2741 + "default.handlebars->23->537",
2742 + "default.handlebars->23->546",
2743 + "default.handlebars->23->1019",
2744 + "default-mobile.handlebars->9->217",
2745 + "default-mobile.handlebars->9->284"
2746 + ],
2747 "pt": "Confirme",
1830 - "ja": "確認する"
2748 + "ja": "確認する",
2749 + "cs": "Potvrdit"
2750 },
2751 {
2752 "en": "Confirm copy of 1 entrie to this location?",
1834 - "xloc": [ "default.handlebars->23->629", "default-mobile.handlebars->9->254" ],
2753 + "xloc": [
2754 + "default.handlebars->23->629",
2755 + "default-mobile.handlebars->9->254"
2756 + ],
2757 "pt": "Confirmar cópia de 1 entrada para este local?",
1836 - "ja": "この場所への1つのエントリのコピーを確認しますか?"
2758 + "ja": "この場所への1つのエントリのコピーを確認しますか?",
2759 + "cs": "Potvrdit kopírování jednoho záznamu do tohoto umístění?"
2760 },
2761 {
2762 "en": "Confirm copy of {0} entries's to this location?",
1840 - "xloc": [ "default.handlebars->23->628", "default-mobile.handlebars->9->253" ],
2763 + "xloc": [
2764 + "default.handlebars->23->628",
2765 + "default-mobile.handlebars->9->253"
2766 + ],
2767 "pt": "Confirmar cópia de {0} entradas para este local?",
1842 - "ja": "{0}エントリのコピーをこの場所に確認しますか?"
2768 + "ja": "{0}エントリのコピーをこの場所に確認しますか?",
2769 + "cs": "Potvrdit kopírování {0} zaznámů do tohoto umístění?"
2770 },
2771 {
2772 "en": "Confirm delete selected devices(s)?",
2773 "cs": "Potvrdit smázání vybraných zařízení?",
1847 - "xloc": [ "default.handlebars->23->359" ],
2774 + "xloc": [
2775 + "default.handlebars->23->359"
2776 + ],
2777 "pt": "Confirmar a exclusão dos dispositivos selecionados?",
2778 "ja": "選択したデバイスの削除を確認しますか?"
2779 },
2780 {
2781 "en": "Confirm move of 1 entrie to this location?",
1853 - "xloc": [ "default.handlebars->23->631", "default-mobile.handlebars->9->256" ],
2782 + "xloc": [
2783 + "default.handlebars->23->631",
2784 + "default-mobile.handlebars->9->256"
2785 + ],
2786 "pt": "Confirmar a movimentação de 1 entrada para este local?",
1855 - "ja": "1エントリのこの場所への移動を確認しますか?"
2787 + "ja": "1エントリのこの場所への移動を確認しますか?",
2788 + "cs": "Potvrdit přesun jednoho záznamu do tohoto umístění?"
2789 },
2790 {
2791 "en": "Confirm move of {0} entries's to this location?",
1859 - "xloc": [ "default.handlebars->23->630", "default-mobile.handlebars->9->255" ],
2792 + "xloc": [
2793 + "default.handlebars->23->630",
2794 + "default-mobile.handlebars->9->255"
2795 + ],
2796 "pt": "Confirmar a movimentação de {0} entradas para este local?",
1861 - "ja": "{0}エントリのこの場所への移動を確認しますか?"
2797 + "ja": "{0}エントリのこの場所への移動を確認しますか?",
2798 + "cs": "Potvrdit přesun {0} záznamů do tohoto umístění?"
2799 },
2800 {
2801 "en": "Confirm overwrite?",
1865 - "xloc": [ "default.handlebars->23->1112" ],
1866 - "ja": "上書きを確認しますか?"
2802 + "xloc": [
2803 + "default.handlebars->23->1112"
2804 + ],
2805 + "ja": "上書きを確認しますか?",
2806 + "cs": "Potvrdit přepsání?"
2807 },
2808 {
2809 "en": "Confirm removal of authenticator application 2-step login?",
1870 - "xloc": [ "default.handlebars->23->668", "default-mobile.handlebars->9->30" ],
2810 + "xloc": [
2811 + "default.handlebars->23->668",
2812 + "default-mobile.handlebars->9->30"
2813 + ],
2814 "pt": "Confirmar remoção do login do aplicativo autenticador em duas etapas?",
1872 - "ja": "認証アプリケーションの削除2段階ログインを確認しますか?"
2815 + "ja": "認証アプリケーションの削除2段階ログインを確認しますか?",
2816 + "cs": "Potvrdit odstranění autentizační aplikace pro 2-faktorové přihlašování?"
2817 },
2818 {
2819 "en": "Confirm removal of user {0}?",
1876 - "xloc": [ "default.handlebars->23->1083", "default-mobile.handlebars->9->330" ],
2820 + "xloc": [
2821 + "default.handlebars->23->1083",
2822 + "default-mobile.handlebars->9->330"
2823 + ],
2824 "pt": "Confirmar remoção do usuário {0}?",
1878 - "ja": "ユーザー{0}の削除を確認しますか?"
2825 + "ja": "ユーザー{0}の削除を確認しますか?",
2826 + "cs": "Potvrdit odstranění uživatele {0}?"
2827 },
2828 {
2829 "en": "Connect",
2830 "cs": "Připojit",
1883 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1span", "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2span", "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3", "default.handlebars->23->611", "default.handlebars->23->958", "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3", "default-mobile.handlebars->9->233" ],
2831 + "xloc": [
2832 + "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1span",
2833 + "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2span",
2834 + "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3",
2835 + "default.handlebars->23->611",
2836 + "default.handlebars->23->958",
2837 + "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
2838 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3",
2839 + "default-mobile.handlebars->9->233"
2840 + ],
2841 "pt": "Conectar",
2842 "ja": "つなぐ"
2843 },
2844 {
2845 "en": "Connect All",
1889 - "xloc": [ "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar", "default.handlebars->23->181" ],
2846 + "xloc": [
2847 + "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar",
2848 + "default.handlebars->23->181"
2849 + ],
2850 "pt": "Conectar todos",
1891 - "ja": "すべて接続"
2851 + "ja": "すべて接続",
2852 + "cs": "Připojit vše"
2853 },
2854 {
2855 "en": "Connect to server",
2856 "cs": "Připojit se na server",
1896 - "xloc": [ "default.handlebars->23->1009", "default.handlebars->23->1013" ],
2857 + "xloc": [
2858 + "default.handlebars->23->1009",
2859 + "default.handlebars->23->1013"
2860 + ],
2861 "pt": "Conecte-se ao servidor",
2862 "ja": "サーバーに接続する"
2863 },
2864 {
2865 "en": "Connect using Intel AMT hardware KVM",
1902 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1hspan", "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2hspan" ],
1903 - "ja": "Intel AMTハードウェアKVMを使用して接続する"
2866 + "xloc": [
2867 + "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1hspan",
2868 + "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2hspan"
2869 + ],
2870 + "ja": "Intel AMTハードウェアKVMを使用して接続する",
2871 + "cs": "Připojit pomocí Intel AMT hardware KVM"
2872 },
2873 {
2874 "en": "Connected",
1907 - "xloc": [ "default.handlebars->23->11", "default-mobile.handlebars->9->4" ],
2875 + "xloc": [
2876 + "default.handlebars->23->11",
2877 + "default-mobile.handlebars->9->4"
2878 + ],
2879 "pt": "Conectado",
1909 - "ja": "接続済み"
2880 + "ja": "接続済み",
2881 + "cs": "Připojeno"
2882 },
2883 {
2884 "en": "Connected.",
2885 "cs": "Připojeno.",
1914 - "xloc": [ "messenger.handlebars->13->7" ],
2886 + "xloc": [
2887 + "messenger.handlebars->13->7"
2888 + ],
2889 "pt": "Conectado.",
2890 "ja": "接続済み。"
2891 },
2892 {
2893 "en": "Connecting...",
1920 - "xloc": [ "default.handlebars->23->9", "default.handlebars->23->175", "default.handlebars->23->178", "default.handlebars->23->184", "default.handlebars->23->645", "default-mobile.handlebars->9->2", "default-mobile.handlebars->9->6", "default-mobile.handlebars->9->269" ],
2894 + "xloc": [
2895 + "default.handlebars->23->9",
2896 + "default.handlebars->23->175",
2897 + "default.handlebars->23->178",
2898 + "default.handlebars->23->184",
2899 + "default.handlebars->23->645",
2900 + "default-mobile.handlebars->9->2",
2901 + "default-mobile.handlebars->9->6",
2902 + "default-mobile.handlebars->9->269"
2903 + ],
2904 "pt": "Conectando...",
1922 - "ja": "接続しています..."
2905 + "ja": "接続しています...",
2906 + "cs": "Připojování..."
2907 },
2908 {
2909 "en": "Connection closed.",
1926 - "xloc": [ "messenger.handlebars->13->3" ],
2910 + "xloc": [
2911 + "messenger.handlebars->13->3"
2912 + ],
2913 "pt": "Conexão fechada.",
1928 - "ja": "接続が閉じられました。"
2914 + "ja": "接続が閉じられました。",
2915 + "cs": "Připojení ukončeno."
2916 },
2917 {
2918 "en": "Connection Count",
1932 - "xloc": [ "default.handlebars->23->1257" ],
2919 + "xloc": [
2920 + "default.handlebars->23->1257"
2921 + ],
2922 "pt": "Contagem de conexões",
1934 - "ja": "接続数"
2923 + "ja": "接続数",
2924 + "cs": "Čítač připojení"
2925 },
2926 {
2927 "en": "Connection Relay",
1938 - "xloc": [ "default.handlebars->23->1279" ],
2928 + "xloc": [
2929 + "default.handlebars->23->1279"
2930 + ],
2931 "pt": "Encaminhador de conexão",
1940 - "ja": "接続リレー"
2932 + "ja": "接続リレー",
2933 + "cs": "Přesměrování spojení"
2934 },
2935 {
2936 "en": "Connections",
1944 - "xloc": [ "default.handlebars->container->column_l->p40->3->1->p40type->1" ],
2937 + "xloc": [
2938 + "default.handlebars->container->column_l->p40->3->1->p40type->1"
2939 + ],
2940 "pt": "Conexões",
1946 - "ja": "接続"
2941 + "ja": "接続",
2942 + "cs": "Spojení"
2943 },
2944 {
2945 "en": "Connectivity",
1950 - "xloc": [ "default.handlebars->23->144", "default.handlebars->23->161", "default.handlebars->23->471", "default-mobile.handlebars->9->192" ],
2946 + "xloc": [
2947 + "default.handlebars->23->144",
2948 + "default.handlebars->23->161",
2949 + "default.handlebars->23->471",
2950 + "default-mobile.handlebars->9->192"
2951 + ],
2952 "pt": "Conectividade",
1952 - "ja": "接続性"
2953 + "ja": "接続性",
2954 + "cs": "Konektivita"
2955 },
2956 {
2957 "en": "Console",
2958 "cs": "Konzole",
1957 - "xloc": [ "default.handlebars->contextMenu->cxconsole", "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevConsole", "default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerConsole" ],
2959 + "xloc": [
2960 + "default.handlebars->contextMenu->cxconsole",
2961 + "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevConsole",
2962 + "default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerConsole"
2963 + ],
2964 "pt": "Console",
2965 "ja": "コンソール"
2966 },
2967 {
2968 "en": "Console - ",
2969 "cs": "Konzole - ",
1964 - "xloc": [ "default.handlebars->23->389" ],
2970 + "xloc": [
2971 + "default.handlebars->23->389"
2972 + ],
2973 "pt": "Console - ",
2974 "ja": "コンソール -"
2975 },
2976 {
2977 "en": "console.txt",
1970 - "xloc": [ "default.handlebars->23->655" ],
2978 + "xloc": [
2979 + "default.handlebars->23->655"
2980 + ],
2981 "pt": "console.txt",
1972 - "ja": "console.txt"
2982 + "ja": "console.txt",
2983 + "cs": "console.txt"
2984 },
2985 {
2986 "en": "Cookie encoder",
1976 - "xloc": [ "default.handlebars->23->1267" ],
2987 + "xloc": [
2988 + "default.handlebars->23->1267"
2989 + ],
2990 "pt": "Codificador de cookies",
1978 - "ja": "Cookieエンコーダー"
2991 + "ja": "Cookieエンコーダー",
2992 + "cs": "Cookie dekodér"
2993 },
2994 {
2995 "en": "Copy",
2996 "cs": "Kopírovat",
1983 - "xloc": [ "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3", "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3", "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->3", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->3" ],
2997 + "xloc": [
2998 + "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
2999 + "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
3000 + "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->3",
3001 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->3"
3002 + ],
3003 "pt": "Copiar",
3004 "ja": "コピー"
3005 },
3006 {
3007 "en": "copy",
1989 - "xloc": [ "default.handlebars->23->1116", "default-mobile.handlebars->9->86" ],
3008 + "xloc": [
3009 + "default.handlebars->23->1116",
3010 + "default-mobile.handlebars->9->86"
3011 + ],
3012 "pt": "Copiar",
1991 - "ja": "コピー"
3013 + "ja": "コピー",
3014 + "cs": "kopírovat"
3015 },
3016 {
3017 "en": "Copy address to clipboard",
1995 - "xloc": [ "default.handlebars->23->54", "default.handlebars->23->56", "default.handlebars->23->65", "default.handlebars->23->67", "default.handlebars->23->69" ],
3018 + "xloc": [
3019 + "default.handlebars->23->54",
3020 + "default.handlebars->23->56",
3021 + "default.handlebars->23->65",
3022 + "default.handlebars->23->67",
3023 + "default.handlebars->23->69"
3024 + ],
3025 "pt": "Copiar endereço para a área de transferência",
1997 - "ja": "クリップボードにアドレスをコピー"
3026 + "ja": "クリップボードにアドレスをコピー",
3027 + "cs": "Kopírovat adresu do schránky"
3028 },
3029 {
3030 "en": "Copy link to clipboard",
2001 - "xloc": [ "default.handlebars->23->276" ],
3031 + "xloc": [
3032 + "default.handlebars->23->276"
3033 + ],
3034 "pt": "Copiar link para a área de transferência",
2003 - "ja": "リンクをクリップボードにコピー"
3035 + "ja": "リンクをクリップボードにコピー",
3036 + "cs": "Kopírovat odkaz do schránky"
3037 },
3038 {
3039 "en": "Copy MAC address to clipboard",
3040 "cs": "Kopírovat MAC adresu do schránky",
2008 - "xloc": [ "default.handlebars->23->63", "default.handlebars->23->71" ],
3041 + "xloc": [
3042 + "default.handlebars->23->63",
3043 + "default.handlebars->23->71"
3044 + ],
3045 "pt": "Copiar endereço MAC para a área de transferência",
3046 "ja": "MACアドレスをクリップボードにコピー"
3047 },
3048 {
3049 "en": "Copy MacOS agent URL to clipboard",
3050 "cs": "Kopírovat odkaz pro MacOS agenta do schránky",
2015 - "xloc": [ "default.handlebars->23->301" ],
3051 + "xloc": [
3052 + "default.handlebars->23->301"
3053 + ],
3054 "pt": "Copiar o URL do agente MacOS para a área de transferência",
3055 "ja": "MacOSエージェントのURLをクリップボードにコピーします"
3056 },
3057 {
3058 "en": "Copy name to clipboard",
3059 "cs": "Zkopírovat jméno do schránky",
2022 - "xloc": [ "default.handlebars->23->61" ],
3060 + "xloc": [
3061 + "default.handlebars->23->61"
3062 + ],
3063 "pt": "Copiar nome para a área de transferência",
3064 "ja": "名前をクリップボードにコピー"
3065 },
3066 {
3067 "en": "Copy to clipboard",
3068 "cs": "Zkopírovat do schránky",
2029 - "xloc": [ "agentinvite.handlebars->container->column_l->5->linuxtab", "agentinvite.handlebars->container->column_l->5->linuxtab" ],
3069 + "xloc": [
3070 + "agentinvite.handlebars->container->column_l->5->linuxtab",
3071 + "agentinvite.handlebars->container->column_l->5->linuxtab"
3072 + ],
3073 "pt": "Copiar para área de transferência",
3074 "ja": "クリップボードにコピー"
3075 },
3076 {
3077 "en": "Copy valid codes to clipboard",
2035 - "xloc": [ "default.handlebars->23->101" ],
3078 + "xloc": [
3079 + "default.handlebars->23->101"
3080 + ],
3081 "pt": "Copiar códigos válidos para a área de transferência",
2037 - "ja": "有効なコードをクリップボードにコピー"
3082 + "ja": "有効なコードをクリップボードにコピー",
3083 + "cs": "Kopírovat platné kódy do schránky"
3084 },
3085 {
3086 "en": "Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.",
2041 - "xloc": [ "terms.handlebars->container->column_l->27->1", "terms-mobile.handlebars->container->page_content->column_l->27->1" ],
3087 + "xloc": [
3088 + "terms.handlebars->container->column_l->27->1",
3089 + "terms-mobile.handlebars->container->page_content->column_l->27->1"
3090 + ],
3091 "pt": "Copyright (c) 1998-2011 O Projeto OpenSSL.Todos os direitos reservados.",
2043 - "ja": "Copyright(c)1998-2011 The OpenSSL Project。全著作権所有。"
3092 + "ja": "Copyright(c)1998-2011 The OpenSSL Project。全著作権所有。",
3093 + "cs": "Copyright (c) 1998-2011 The OpenSSL Project. Všechna práva vyhrazena."
3094 },
3095 {
3096 "en": "Copyright (c) 2009, CodePlex Foundation. All rights reserved.",
2047 - "xloc": [ "terms.handlebars->container->column_l->11->1", "terms-mobile.handlebars->container->page_content->column_l->11->1" ],
3097 + "xloc": [
3098 + "terms.handlebars->container->column_l->11->1",
3099 + "terms-mobile.handlebars->container->page_content->column_l->11->1"
3100 + ],
3101 "pt": "Direitos autorais (c) 2009, CodePlex Foundation.Todos os direitos reservados.",
2049 - "ja": "Copyright(c)2009、CodePlex Foundation。全著作権所有。"
3102 + "ja": "Copyright(c)2009、CodePlex Foundation。全著作権所有。",
3103 + "cs": "Copyright (c) 2009, CodePlex Foundation. Všechna práva vyhrazena."
3104 },
3105 {
3106 "en": "Copyright (c) 2010 Wojciech 'RRH' Ryrych",
2053 - "xloc": [ "terms.handlebars->container->column_l->69->1", "terms-mobile.handlebars->container->page_content->column_l->69->1" ],
3107 + "xloc": [
3108 + "terms.handlebars->container->column_l->69->1",
3109 + "terms-mobile.handlebars->container->page_content->column_l->69->1"
3110 + ],
3111 "pt": "Copyright (c) 2010 Wojciech 'RRH' Ryrych",
2055 - "ja": "Copyright(c)2010 Wojciech 'RRH' Ryrych"
3112 + "ja": "Copyright(c)2010 Wojciech 'RRH' Ryrych",
3113 + "cs": "Copyright (c) 2010 Wojciech 'RRH' Ryrych"
3114 },
3115 {
3116 "en": "Copyright (C) 2011 Joel Martin This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.",
2059 - "xloc": [ "terms.handlebars->container->column_l->63->1", "terms-mobile.handlebars->container->page_content->column_l->63->1" ],
3117 + "xloc": [
3118 + "terms.handlebars->container->column_l->63->1",
3119 + "terms-mobile.handlebars->container->page_content->column_l->63->1"
3120 + ],
3121 "pt": "Copyright (C) 2011 Joel Martin Este formulário de código-fonte está sujeito aos termos da Licença Pública Mozilla, v.2.0 0.Se uma cópia da MPL não foi distribuída com este arquivo, você pode obter uma em http: // mozilla.org / MPL / 2.0 /.",
2061 - "ja": "Copyright(C)2011 Joel Martinこのソースコードフォームには、Mozilla Public License v。2.0の条件が適用されます。 MPLのコピーがこのファイルとともに配布されていない場合は、http://mozilla.org/MPL/2.0/から入手できます。"
3122 + "ja": "Copyright(C)2011 Joel Martinこのソースコードフォームには、Mozilla Public License v。2.0の条件が適用されます。 MPLのコピーがこのファイルとともに配布されていない場合は、http://mozilla.org/MPL/2.0/から入手できます。",
3123 + "cs": "Copyright (C) 2011 Joel Martin This Source Code Form podléhá podmínkám Mozilla Public licence, v. 2.0. Pokud kopie tohoto MPL nebyla distribuována s tímto souborem, můžete si ji pořídit na adrese http://mozilla.org/MPL/2.0/."
3124 },
3125 {
3126 "en": "Copyright 2013 jQuery Foundation and other contributors",
2065 - "xloc": [ "terms.handlebars->container->column_l->47->1", "terms-mobile.handlebars->container->page_content->column_l->47->1" ],
3127 + "xloc": [
3128 + "terms.handlebars->container->column_l->47->1",
3129 + "terms-mobile.handlebars->container->page_content->column_l->47->1"
3130 + ],
3131 "pt": "Copyright 2013 jQuery Foundation e outros colaboradores",
2067 - "ja": "Copyright 2013 jQuery Foundationおよびその他の貢献者"
3132 + "ja": "Copyright 2013 jQuery Foundationおよびその他の貢献者",
3133 + "cs": "Copyright 2013 jQuery Foundation a ostatní přispěvatelé"
3134 },
3135 {
3136 "en": "Copyright 2013 jQuery Foundation and other contributors,",
2071 - "xloc": [ "terms.handlebars->container->column_l->53->1", "terms-mobile.handlebars->container->page_content->column_l->53->1" ],
3137 + "xloc": [
3138 + "terms.handlebars->container->column_l->53->1",
3139 + "terms-mobile.handlebars->container->page_content->column_l->53->1"
3140 + ],
3141 "pt": "Copyright 2013 jQuery Foundation e outros colaboradores,",
2073 - "ja": "Copyright 2013 jQuery Foundationおよびその他の貢献者、"
3142 + "ja": "Copyright 2013 jQuery Foundationおよびその他の貢献者、",
3143 + "cs": "Copyright 2013 jQuery Foundation a ostatní přispěvatelé,"
3144 },
3145 {
3146 "en": "Core Server",
2077 - "xloc": [ "default.handlebars->23->1266" ],
3147 + "xloc": [
3148 + "default.handlebars->23->1266"
3149 + ],
3150 "pt": "Servidor Core",
2079 - "ja": "コアサーバー"
3151 + "ja": "コアサーバー",
3152 + "cs": "Hlavní server"
3153 },
3154 {
3155 "en": "Corsican",
2083 - "xloc": [ "default.handlebars->23->719" ],
3156 + "xloc": [
3157 + "default.handlebars->23->719"
3158 + ],
3159 "pt": "Corso",
2085 - "ja": "コルシカ"
3160 + "ja": "コルシカ",
3161 + "cs": "Corsican"
3162 },
3163 {
3164 "en": "CPU load in the last 15 minutes",
2089 - "xloc": [ "default.handlebars->23->1253" ],
3165 + "xloc": [
3166 + "default.handlebars->23->1253"
3167 + ],
3168 "pt": "Carga da CPU nos últimos 15 minutos",
2091 - "ja": "過去15分間のCPU負荷"
3169 + "ja": "過去15分間のCPU負荷",
3170 + "cs": "CPU zatížení v posledních 15 minutách"
3171 },
3172 {
3173 "en": "CPU load in the last 5 minutes",
2095 - "xloc": [ "default.handlebars->23->1252" ],
3174 + "xloc": [
3175 + "default.handlebars->23->1252"
3176 + ],
3177 "pt": "Carga da CPU nos últimos 5 minutos",
2097 - "ja": "過去5分間のCPU負荷"
3178 + "ja": "過去5分間のCPU負荷",
3179 + "cs": "CPU zatížení v posledních 5 minutách"
3180 },
3181 {
3182 "en": "CPU load in the last minute",
3183 "cs": "CPU zatížení v poslední minutě",
2102 - "xloc": [ "default.handlebars->23->1251" ],
3184 + "xloc": [
3185 + "default.handlebars->23->1251"
3186 + ],
3187 "pt": "Carga da CPU no último minuto",
3188 "ja": "直前のCPU負荷"
3189 },
3190 {
3191 "en": "CR+LF",
2108 - "xloc": [ "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons", "default.handlebars->23->599", "default.handlebars->23->608" ],
3192 + "xloc": [
3193 + "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons",
3194 + "default.handlebars->23->599",
3195 + "default.handlebars->23->608"
3196 + ],
3197 "pt": "CR + LF",
2110 - "ja": "CR + LF"
3198 + "ja": "CR + LF",
3199 + "cs": "CR+LF"
3200 },
3201 {
3202 "en": "Create a new device group using the options below.",
3203 "cs": "Vytvořit novou skupinu zařízení podle nastavení níže.",
2115 - "xloc": [ "default.handlebars->23->910" ],
3204 + "xloc": [
3205 + "default.handlebars->23->910"
3206 + ],
3207 "pt": "Crie um novo grupo de dispositivos usando as opções abaixo.",
3208 "ja": "以下のオプションを使用して、新しいデバイスグループを作成します。"
3209 },
3210 {
3211 "en": "Create a new group of devices.",
3212 "cs": "Vytvořit novou skupinu zařízení.",
2122 - "xloc": [ "default.handlebars->23->168" ],
3213 + "xloc": [
3214 + "default.handlebars->23->168"
3215 + ],
3216 "pt": "Crie um novo grupo de dispositivos.",
3217 "ja": "デバイスの新しいグループを作成します。"
3218 },
3219 {
3220 "en": "Create Account",
2128 - "xloc": [ "default.handlebars->23->1180", "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->12->1->1" ],
3221 + "xloc": [
3222 + "default.handlebars->23->1180",
3223 + "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1",
3224 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->12->1->1"
3225 + ],
3226 "pt": "Criar conta",
2130 - "ja": "アカウントを作成する"
3227 + "ja": "アカウントを作成する",
3228 + "cs": "Vytvořit účet"
3229 },
3230 {
3231 "en": "Create Device Group",
3232 "cs": "Vytvořit skupinu zařízení",
2135 - "xloc": [ "default-mobile.handlebars->9->58" ],
3233 + "xloc": [
3234 + "default-mobile.handlebars->9->58"
3235 + ],
3236 "pt": "Criar grupo de dispositivo",
3237 "ja": "デバイスグループを作成する"
3238 },
3239 {
3240 "en": "Create many accounts at once by importing a JSON file with the following format:",
2141 - "xloc": [ "default.handlebars->23->1152" ],
3241 + "xloc": [
3242 + "default.handlebars->23->1152"
3243 + ],
3244 "pt": "Crie várias contas ao mesmo tempo importando um arquivo JSON com o seguinte formato:",
2143 - "ja": "次の形式のJSONファイルをインポートして、一度に多くのアカウントを作成します。"
3245 + "ja": "次の形式のJSONファイルをインポートして、一度に多くのアカウントを作成します。",
3246 + "cs": "Vytvořit více účtu najednou pomocí importu JSON souboru s následujícím formátem:"
3247 },
3248 {
3249 "en": "Create one",
3250 "cs": "Vytvořit",
2148 - "xloc": [ "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->newAccountDiv->1", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->newAccountDiv->1" ],
3251 + "xloc": [
3252 + "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->newAccountDiv->1",
3253 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->newAccountDiv->1"
3254 + ],
3255 "pt": "Crie um",
3256 "ja": "一つ作る"
3257 },
3258 {
3259 "en": "Creation",
2154 - "xloc": [ "default.handlebars->23->1209" ],
3260 + "xloc": [
3261 + "default.handlebars->23->1209"
3262 + ],
3263 "pt": "Criação",
2156 - "ja": "作成"
3264 + "ja": "作成",
3265 + "cs": "Vytváření"
3266 },
3267 {
3268 "en": "Creation Token:",
2160 - "xloc": [ "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->newAccountPass->nuToken", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->newAccountPass->1" ],
3269 + "xloc": [
3270 + "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->newAccountPass->nuToken",
3271 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->newAccountPass->1"
3272 + ],
3273 "pt": "Token de criação",
2162 - "ja": "作成トークン:"
3274 + "ja": "作成トークン:",
3275 + "cs": "Vytvoření tokenu:"
3276 },
3277 {
3278 "en": "Cree",
2166 - "xloc": [ "default.handlebars->23->720" ],
3279 + "xloc": [
3280 + "default.handlebars->23->720"
3281 + ],
3282 "pt": "Cree",
2168 - "ja": "クリー語"
3283 + "ja": "クリー語",
3284 + "cs": "Cree"
3285 },
3286 {
3287 "en": "Croatian",
2172 - "xloc": [ "default.handlebars->23->721" ],
3288 + "xloc": [
3289 + "default.handlebars->23->721"
3290 + ],
3291 "pt": "Croata",
2174 - "ja": "クロアチア語"
3292 + "ja": "クロアチア語",
3293 + "cs": "Croatian"
3294 },
3295 {
3296 "en": "CSV Format",
2178 - "xloc": [ "default.handlebars->23->1123", "default.handlebars->23->1161" ],
3297 + "xloc": [
3298 + "default.handlebars->23->1123",
3299 + "default.handlebars->23->1161"
3300 + ],
3301 "pt": "Formato CSV",
2180 - "ja": "CSV形式"
3302 + "ja": "CSV形式",
3303 + "cs": "CSV formát"
3304 },
3305 {
3306 "en": "Ctl-C",
2184 - "xloc": [ "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3" ],
3307 + "xloc": [
3308 + "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3"
3309 + ],
3310 "pt": "CTRL-C",
2186 - "ja": "Ctl-C"
3311 + "ja": "Ctl-C",
3312 + "cs": "Ctl-C"
3313 },
3314 {
3315 "en": "Ctl-X",
2190 - "xloc": [ "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3" ],
3316 + "xloc": [
3317 + "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3"
3318 + ],
3319 "pt": "CTRL-X",
2192 - "ja": "Ctl-X"
3320 + "ja": "Ctl-X",
3321 + "cs": "Ctl-X"
3322 },
3323 {
3324 "en": "Ctrl",
2196 - "xloc": [ "default.handlebars->23->15" ],
3325 + "xloc": [
3326 + "default.handlebars->23->15"
3327 + ],
3328 "pt": "CTRL",
2198 - "ja": "Ctrl"
3329 + "ja": "Ctrl",
3330 + "cs": "Ctrl"
3331 },
3332 {
3333 "en": "Ctrl+Alt+Del",
2202 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->1", "default-mobile.handlebars->dialog->3->dialog3->deskkeys->1" ],
3334 + "xloc": [
3335 + "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->1",
3336 + "default-mobile.handlebars->dialog->3->dialog3->deskkeys->1"
3337 + ],
3338 "pt": "CTRL+ALT+DEL",
2204 - "ja": "Ctrl + Alt + Del"
3339 + "ja": "Ctrl + Alt + Del",
3340 + "cs": "Ctrl+Alt+Del"
3341 },
3342 {
3343 "en": "Ctrl-W",
2208 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->19", "default-mobile.handlebars->dialog->3->dialog3->deskkeys->21" ],
3344 + "xloc": [
3345 + "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->19",
3346 + "default-mobile.handlebars->dialog->3->dialog3->deskkeys->21"
3347 + ],
3348 "pt": "CTRL-W",
2210 - "ja": "Ctrl-W"
3349 + "ja": "Ctrl-W",
3350 + "cs": "Ctrl-W"
3351 },
3352 {
3353 "en": "Current Version",
2214 - "xloc": [ "default.handlebars->23->74" ],
3354 + "xloc": [
3355 + "default.handlebars->23->74"
3356 + ],
3357 "pt": "Versão Atual",
2216 - "ja": "現行版"
3358 + "ja": "現行版",
3359 + "cs": "Aktuální verze"
3360 },
3361 {
3362 "en": "Cut",
3363 "cs": "Vyjmout",
2221 - "xloc": [ "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3", "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3", "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->3", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->3" ],
3364 + "xloc": [
3365 + "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
3366 + "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
3367 + "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->3",
3368 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->3"
3369 + ],
3370 "pt": "Cortar",
3371 "ja": "カット"
3372 },
3373 {
3374 "en": "Czech",
2227 - "xloc": [ "default.handlebars->23->722" ],
3375 + "xloc": [
3376 + "default.handlebars->23->722"
3377 + ],
3378 "pt": "Tcheco",
2229 - "ja": "チェコ語"
3379 + "ja": "チェコ語",
3380 + "cs": "Czech"
3381 },
3382 {
3383 "en": "Danish",
2233 - "xloc": [ "default.handlebars->23->723" ],
3384 + "xloc": [
3385 + "default.handlebars->23->723"
3386 + ],
3387 "pt": "Dinamarquês",
2235 - "ja": "デンマーク語"
3388 + "ja": "デンマーク語",
3389 + "cs": "Danish"
3390 },
3391 {
3392 "en": "DataChannel",
2239 - "xloc": [ "default.handlebars->23->568" ],
3393 + "xloc": [
3394 + "default.handlebars->23->568"
3395 + ],
3396 "pt": "DataChannel",
2241 - "ja": "データチャネル"
3397 + "ja": "データチャネル",
3398 + "cs": "Datový kanál"
3399 },
3400 {
3401 "en": "Dates & Time",
3402 "cs": "Datum & čas",
2246 - "xloc": [ "default.handlebars->23->879" ],
3403 + "xloc": [
3404 + "default.handlebars->23->879"
3405 + ],
3406 "pt": "Datas e Horário",
3407 "ja": "日時"
3408 },
3409 {
3410 "en": "Day",
3411 "cs": "Den",
2253 - "xloc": [ "default.handlebars->23->521" ],
3412 + "xloc": [
3413 + "default.handlebars->23->521"
3414 + ],
3415 "pt": "Dia",
3416 "ja": "日"
3417 },
3418 {
3419 "en": "Deactivate Client Control Mode (CCM)",
2259 - "xloc": [ "default.handlebars->23->997" ],
3420 + "xloc": [
3421 + "default.handlebars->23->997"
3422 + ],
3423 "pt": "Desativar o modo de controle do cliente (CCM)",
2261 - "ja": "クライアント制御モード(CCM)を無効にする"
3424 + "ja": "クライアント制御モード(CCM)を無効にする",
3425 + "cs": "Deaktivace Client Control Mode (CCM)"
3426 },
3427 {
3428 "en": "Deep Sleep",
2265 - "xloc": [ "default.handlebars->23->320", "default-mobile.handlebars->9->107" ],
3429 + "xloc": [
3430 + "default.handlebars->23->320",
3431 + "default-mobile.handlebars->9->107"
3432 + ],
3433 "pt": "Deep Sleep",
2267 - "ja": "深い眠り"
3434 + "ja": "深い眠り",
3435 + "cs": "Hluboký spánek"
3436 },
3437 {
3438 "en": "Delete",
3439 "cs": "Smazat",
2272 - "xloc": [ "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3", "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3", "default.handlebars->container->dialog->idx_dlgButtonBar->5", "default.handlebars->23->621", "default.handlebars->23->1107", "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1", "default-mobile.handlebars->9->78", "default-mobile.handlebars->9->246", "player.htm->p11->dialog->idx_dlgButtonBar->5" ],
3440 + "xloc": [
3441 + "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
3442 + "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
3443 + "default.handlebars->container->dialog->idx_dlgButtonBar->5",
3444 + "default.handlebars->23->621",
3445 + "default.handlebars->23->1107",
3446 + "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
3447 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1",
3448 + "default-mobile.handlebars->9->78",
3449 + "default-mobile.handlebars->9->246",
3450 + "player.htm->p11->dialog->idx_dlgButtonBar->5"
3451 + ],
3452 "pt": "Deletar",
3453 "ja": "削除する"
3454 },
3455 {
3456 "en": "Delete Account",
3457 "cs": "Smazat účet",
2279 - "xloc": [ "default.handlebars->23->895", "default-mobile.handlebars->9->40" ],
3458 + "xloc": [
3459 + "default.handlebars->23->895",
3460 + "default-mobile.handlebars->9->40"
3461 + ],
3462 "pt": "Deletar Conta",
3463 "ja": "アカウントを削除する"
3464 },
3465 {
3466 "en": "Delete account",
3467 "cs": "Smazat účet",
2286 - "xloc": [ "default.handlebars->container->column_l->p2->p2AccountActions->3->17", "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->7->0" ],
3468 + "xloc": [
3469 + "default.handlebars->container->column_l->p2->p2AccountActions->3->17",
3470 + "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->7->0"
3471 + ],
3472 "pt": "Deletar conta",
3473 "ja": "アカウントを削除する"
3474 },
3475 {
3476 "en": "Delete Device",
3477 "cs": "Smazat zařízení",
2293 - "xloc": [ "default.handlebars->23->482", "default-mobile.handlebars->9->196" ],
3478 + "xloc": [
3479 + "default.handlebars->23->482",
3480 + "default-mobile.handlebars->9->196"
3481 + ],
3482 "pt": "Excluir dispositivo",
3483 "ja": "デバイスを削除"
3484 },
3485 {
3486 "en": "Delete devices",
2299 - "xloc": [ "default.handlebars->23->356" ],
3487 + "xloc": [
3488 + "default.handlebars->23->356"
3489 + ],
3490 "pt": "Excluir Dispositivos",
2301 - "ja": "デバイスを削除する"
3491 + "ja": "デバイスを削除する",
3492 + "cs": "Smazat zařízení"
3493 },
3494 {
3495 "en": "Delete Group",
3496 "cs": "Smazat skupinu",
2306 - "xloc": [ "default.handlebars->23->990", "default.handlebars->23->1020", "default-mobile.handlebars->9->282", "default-mobile.handlebars->9->285" ],
3497 + "xloc": [
3498 + "default.handlebars->23->990",
3499 + "default.handlebars->23->1020",
3500 + "default-mobile.handlebars->9->282",
3501 + "default-mobile.handlebars->9->285"
3502 + ],
3503 "pt": "Excluir grupo",
3504 "ja": "グループを削除"
3505 },
3506 {
3507 "en": "Delete Node",
3508 "cs": "Smazat nod",
2313 - "xloc": [ "default.handlebars->23->547", "default-mobile.handlebars->9->215" ],
3509 + "xloc": [
3510 + "default.handlebars->23->547",
3511 + "default-mobile.handlebars->9->215"
3512 + ],
3513 "pt": "Excluir nó",
3514 "ja": "ノードを削除"
3515 },
3516 {
3517 "en": "Delete Nodes",
3518 "cs": "Smazat nody",
2320 - "xloc": [ "default.handlebars->23->361" ],
3519 + "xloc": [
3520 + "default.handlebars->23->361"
3521 + ],
3522 "pt": "Excluir nós",
3523 "ja": "ノードを削除する"
3524 },
3525 {
3526 "en": "Delete selected item?",
3527 "cs": "Smazat vybraný prvek?",
2327 - "xloc": [ "default.handlebars->23->623", "default.handlebars->23->1109", "default-mobile.handlebars->9->80", "default-mobile.handlebars->9->248" ],
3528 + "xloc": [
3529 + "default.handlebars->23->623",
3530 + "default.handlebars->23->1109",
3531 + "default-mobile.handlebars->9->80",
3532 + "default-mobile.handlebars->9->248"
3533 + ],
3534 "pt": "Excluir item selecionado?",
3535 "ja": "選択したアイテムを削除しますか?"
3536 },
3537 {
3538 "en": "Delete User {0}",
3539 "cs": "Smazat uživatele {0}",
2334 - "xloc": [ "default.handlebars->23->1242" ],
3540 + "xloc": [
3541 + "default.handlebars->23->1242"
3542 + ],
3543 "pt": "Excluir usuário {0}",
3544 "ja": "ユーザーを削除{0}"
3545 },
3546 {
3547 "en": "Delete {0} selected items?",
3548 "cs": "Smazat {0} vybrané prvky?",
2341 - "xloc": [ "default.handlebars->23->622", "default.handlebars->23->1108", "default-mobile.handlebars->9->79", "default-mobile.handlebars->9->247" ],
3549 + "xloc": [
3550 + "default.handlebars->23->622",
3551 + "default.handlebars->23->1108",
3552 + "default-mobile.handlebars->9->79",
3553 + "default-mobile.handlebars->9->247"
3554 + ],
3555 "pt": "Excluir {0} itens selecionados?",
3556 "ja": "選択したアイテム{0}を削除しますか?"
3557 },
3558 {
3559 "en": "Delete {0}?",
3560 "cs": "Smazat {0}?",
2348 - "xloc": [ "default-mobile.handlebars->9->216" ],
3561 + "xloc": [
3562 + "default-mobile.handlebars->9->216"
3563 + ],
3564 "pt": "Excluir {0}?",
3565 "ja": "{0}を削除しますか?"
3566 },
3567 {
3568 "en": "Descend by date",
2354 - "xloc": [ "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->11", "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->11", "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->11", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->11" ],
3569 + "xloc": [
3570 + "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->11",
3571 + "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->11",
3572 + "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->11",
3573 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->11"
3574 + ],
3575 "pt": "Descrescente por data",
2356 - "ja": "日付で降順"
3576 + "ja": "日付で降順",
3577 + "cs": "Sestupně podle datumu"
3578 },
3579 {
3580 "en": "Descend by name",
2360 - "xloc": [ "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->7", "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->7", "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->7", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->7" ],
3581 + "xloc": [
3582 + "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->7",
3583 + "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->7",
3584 + "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->7",
3585 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->7"
3586 + ],
3587 "pt": "Decrescente por nome",
2362 - "ja": "名前で降順"
3588 + "ja": "名前で降順",
3589 + "cs": "Sestupně podle jména"
3590 },
3591 {
3592 "en": "Descend by size",
2366 - "xloc": [ "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->9", "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->9", "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->9", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->9" ],
3593 + "xloc": [
3594 + "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->9",
3595 + "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->9",
3596 + "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->9",
3597 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->9"
3598 + ],
3599 "pt": "Decrescente por tamanho",
2368 - "ja": "サイズで降順"
3600 + "ja": "サイズで降順",
3601 + "cs": "Sestupně podle velikosti"
3602 },
3603 {
3604 "en": "Description",
3605 "cs": "Popis",
2373 - "xloc": [ "default.handlebars->container->column_l->p42->p42tbl->1->0->3", "default.handlebars->23->59", "default.handlebars->23->398", "default.handlebars->23->399", "default.handlebars->23->564", "default.handlebars->23->915", "default.handlebars->23->939", "default.handlebars->23->1022", "default-mobile.handlebars->9->57", "default-mobile.handlebars->9->138", "default-mobile.handlebars->9->139", "default-mobile.handlebars->9->221", "default-mobile.handlebars->9->274", "default-mobile.handlebars->9->287" ],
3606 + "xloc": [
3607 + "default.handlebars->container->column_l->p42->p42tbl->1->0->3",
3608 + "default.handlebars->23->59",
3609 + "default.handlebars->23->398",
3610 + "default.handlebars->23->399",
3611 + "default.handlebars->23->564",
3612 + "default.handlebars->23->915",
3613 + "default.handlebars->23->939",
3614 + "default.handlebars->23->1022",
3615 + "default-mobile.handlebars->9->57",
3616 + "default-mobile.handlebars->9->138",
3617 + "default-mobile.handlebars->9->139",
3618 + "default-mobile.handlebars->9->221",
3619 + "default-mobile.handlebars->9->274",
3620 + "default-mobile.handlebars->9->287"
3621 + ],
3622 "pt": "Descrição",
3623 "ja": "説明"
3624 },
3625 {
3626 "en": "DeskControl",
2379 - "xloc": [ "default.handlebars->23->596" ],
3627 + "xloc": [
3628 + "default.handlebars->23->596"
3629 + ],
3630 "pt": "DeskControl",
2381 - "ja": "DeskControl"
3631 + "ja": "DeskControl",
3632 + "cs": "DeskControl"
3633 },
3634 {
3635 "en": "Desktop",
3636 "cs": "Plocha",
2386 - "xloc": [ "default.handlebars->contextMenu->cxdesktop", "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop", "default.handlebars->23->366", "default.handlebars->23->1024" ],
3637 + "xloc": [
3638 + "default.handlebars->contextMenu->cxdesktop",
3639 + "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop",
3640 + "default.handlebars->23->366",
3641 + "default.handlebars->23->1024"
3642 + ],
3643 "pt": "Área de Trabalho",
3644 "ja": "デスクトップ"
3645 },
3646 {
3647 "en": "Desktop -",
2392 - "xloc": [ "default.handlebars->container->column_l->p11->p11title->p11deviceNameHeader->5" ],
3648 + "xloc": [
3649 + "default.handlebars->container->column_l->p11->p11title->p11deviceNameHeader->5"
3650 + ],
3651 "pt": "Área de Trabalho - ",
2394 - "ja": "デスクトップ-"
3652 + "ja": "デスクトップ-",
3653 + "cs": "Plocha -"
3654 },
3655 {
3656 "en": "Desktop Notify",
2398 - "xloc": [ "default.handlebars->23->949" ],
3657 + "xloc": [
3658 + "default.handlebars->23->949"
3659 + ],
3660 "pt": "Notificação na área de trabalho",
2400 - "ja": "デスクトップ通知"
3661 + "ja": "デスクトップ通知",
3662 + "cs": "Informovat na ploše"
3663 },
3664 {
3665 "en": "Desktop Prompt",
2404 - "xloc": [ "default.handlebars->23->948" ],
3666 + "xloc": [
3667 + "default.handlebars->23->948"
3668 + ],
3669 "pt": "Prompt da área de trabalho",
2406 - "ja": "デスクトッププロンプト"
3670 + "ja": "デスクトッププロンプト",
3671 + "cs": "Výzva na ploše"
3672 },
3673 {
3674 "en": "Desktop Prompt+Toolbar",
2410 - "xloc": [ "default.handlebars->23->946" ],
3675 + "xloc": [
3676 + "default.handlebars->23->946"
3677 + ],
3678 "pt": "Prompt da área de trabalho + barra de ferramentas",
2412 - "ja": "デスクトッププロンプト+ツールバー"
3679 + "ja": "デスクトッププロンプト+ツールバー",
3680 + "cs": "Výzva na ploše+panel nástrojů"
3681 },
3682 {
3683 "en": "Desktop Toolbar",
2416 - "xloc": [ "default.handlebars->23->947" ],
3684 + "xloc": [
3685 + "default.handlebars->23->947"
3686 + ],
3687 "pt": "Barra de ferramentas da área de trabalho",
2418 - "ja": "デスクトップツールバー"
3688 + "ja": "デスクトップツールバー",
3689 + "cs": "Panel nástrojů na ploše"
3690 },
3691 {
3692 "en": "Desktops",
3693 "cs": "Desktopy",
2423 - "xloc": [ "default.handlebars->container->column_l->p1->devListToolbarViewIcons", "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarView->viewselect->5" ],
3694 + "xloc": [
3695 + "default.handlebars->container->column_l->p1->devListToolbarViewIcons",
3696 + "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarView->viewselect->5"
3697 + ],
3698 "pt": "Áreas de trabalho",
3699 "ja": "デスクトップ"
3700 },
3701 {
3702 "en": "Details",
3703 "cs": "Detaily",
2430 - "xloc": [ "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevInfo" ],
3704 + "xloc": [
3705 + "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevInfo"
3706 + ],
3707 "pt": "Detalhes",
3708 "ja": "詳細"
3709 },
3710 {
3711 "en": "Details -",
3712 "cs": "Detaily -",
2437 - "xloc": [ "default.handlebars->container->column_l->p17->p17title->3" ],
3713 + "xloc": [
3714 + "default.handlebars->container->column_l->p17->p17title->3"
3715 + ],
3716 "pt": "Detalhes - ",
3717 "ja": "詳細-"
3718 },
3719 {
3720 "en": "Device",
3721 "cs": "Zařízení",
2444 - "xloc": [ "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->5" ],
3722 + "xloc": [
3723 + "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->5"
3724 + ],
3725 "pt": "Dispositivo",
3726 "ja": "デバイス"
3727 },
3728 {
3729 "en": "Device Action",
3730 "cs": "Akce zařízení",
2451 - "xloc": [ "default.handlebars->23->520", "default-mobile.handlebars->9->208" ],
3731 + "xloc": [
3732 + "default.handlebars->23->520",
3733 + "default-mobile.handlebars->9->208"
3734 + ],
3735 "pt": "Ação do dispositivo",
3736 "ja": "デバイスアクション"
3737 },
3738 {
3739 "en": "Device connections.",
2457 - "xloc": [ "default.handlebars->23->883" ],
3740 + "xloc": [
3741 + "default.handlebars->23->883"
3742 + ],
3743 "pt": "Conexões de dispositivos.",
2459 - "ja": "デバイス接続。"
3744 + "ja": "デバイス接続。",
3745 + "cs": "Připojení zařízení"
3746 },
3747 {
3748 "en": "Device disconnections.",
2463 - "xloc": [ "default.handlebars->23->884" ],
3749 + "xloc": [
3750 + "default.handlebars->23->884"
3751 + ],
3752 "pt": "Desconexões de dispositivos.",
2465 - "ja": "デバイスの切断。"
3753 + "ja": "デバイスの切断。",
3754 + "cs": "Odpojení zařízení"
3755 },
3756 {
3757 "en": "Device group notes can be viewed and changed by other device group administrators.",
2469 - "xloc": [ "default.handlebars->23->509" ],
3758 + "xloc": [
3759 + "default.handlebars->23->509"
3760 + ],
3761 "pt": "As notas do grupo de dispositivos podem ser visualizadas e alteradas por outros administradores do grupo de dispositivos.",
2471 - "ja": "デバイスグループのメモは、他のデバイスグループ管理者が表示および変更できます。"
3762 + "ja": "デバイスグループのメモは、他のデバイスグループ管理者が表示および変更できます。",
3763 + "cs": "Poznámky pro skupinu zařízení si může prohlédnout nebo upravit jen jiný administrátor skupiny."
3764 },
3765 {
3766 "en": "Device Group User",
3767 "cs": "Uživatelé této skupiny zařízení",
2476 - "xloc": [ "default.handlebars->23->1081", "default-mobile.handlebars->9->328" ],
3768 + "xloc": [
3769 + "default.handlebars->23->1081",
3770 + "default-mobile.handlebars->9->328"
3771 + ],
3772 "pt": "Usuário do grupo de dispositivos",
3773 "ja": "デバイスグループユーザー"
3774 },
3775 {
3776 "en": "Device Groups",
3777 "cs": "Skupiny zařízení",
2483 - "xloc": [ "default.handlebars->container->column_l->p2->9", "default.handlebars->23->1218", "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3" ],
3778 + "xloc": [
3779 + "default.handlebars->container->column_l->p2->9",
3780 + "default.handlebars->23->1218",
3781 + "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3"
3782 + ],
3783 "pt": "Grupos de dispositivos",
3784 "ja": "デバイスグループ"
3785 },
3786 {
3787 "en": "Device is detected but power state could not be obtained.",
3788 "cs": "Zařízení je detekováno, ale nelze zjistit stav.",
2490 - "xloc": [ "default.handlebars->23->325" ],
3789 + "xloc": [
3790 + "default.handlebars->23->325"
3791 + ],
3792 "pt": "O dispositivo foi detectado, mas não foi possível obter o estado de energia.",
3793 "ja": "デバイスは検出されましたが、電源状態を取得できませんでした。"
3794 },
3795 {
3796 "en": "Device is hibernating (S4)",
2496 - "xloc": [ "default.handlebars->23->331", "default-mobile.handlebars->9->115" ],
3797 + "xloc": [
3798 + "default.handlebars->23->331",
3799 + "default-mobile.handlebars->9->115"
3800 + ],
3801 "pt": "O dispositivo está hibernando (S4)",
2498 - "ja": "デバイスは休止状態です(S4)"
3802 + "ja": "デバイスは休止状態です(S4)",
3803 + "cs": "Zařízení je hibernováno (S4)"
3804 },
3805 {
3806 "en": "Device is in deep sleep state (S3)",
3807 "cs": "Zařízení je v hlubokém spánku (S3)",
2503 - "xloc": [ "default.handlebars->23->330", "default-mobile.handlebars->9->114" ],
3808 + "xloc": [
3809 + "default.handlebars->23->330",
3810 + "default-mobile.handlebars->9->114"
3811 + ],
3812 "pt": "O dispositivo está no estado de sono profundo (S3)",
3813 "ja": "デバイスはディープスリープ状態です(S3)"
3814 },
3815 {
3816 "en": "Device is in deep sleep state (S3).",
3817 "cs": "Zařízení je v hlubokém spánku (S3).",
2510 - "xloc": [ "default.handlebars->23->319" ],
3818 + "xloc": [
3819 + "default.handlebars->23->319"
3820 + ],
3821 "pt": "O dispositivo está no estado de suspensão profunda (S3).",
3822 "ja": "デバイスはディープスリープ状態(S3)です。"
3823 },
3824 {
3825 "en": "Device is in hibernating state (S4).",
2516 - "xloc": [ "default.handlebars->23->321" ],
3826 + "xloc": [
3827 + "default.handlebars->23->321"
3828 + ],
3829 "pt": "O dispositivo está no estado de hibernação (S4).",
2518 - "ja": "デバイスは休止状態です(S4)。"
3830 + "ja": "デバイスは休止状態です(S4)。",
3831 + "cs": "Zařízení je hibernováno (S4)."
3832 },
3833 {
3834 "en": "Device is in powered off state (S5).",
3835 "cs": "Zařízení je vypnuto (S5).",
2523 - "xloc": [ "default.handlebars->23->323" ],
3836 + "xloc": [
3837 + "default.handlebars->23->323"
3838 + ],
3839 "pt": "O dispositivo está no estado desligado (S5).",
3840 "ja": "デバイスは電源オフ状態です(S5)。"
3841 },
3842 {
3843 "en": "Device is in sleep state (S1)",
3844 "cs": "Zařízení je ve stavu spánku (S1)",
2530 - "xloc": [ "default.handlebars->23->328", "default-mobile.handlebars->9->112" ],
3845 + "xloc": [
3846 + "default.handlebars->23->328",
3847 + "default-mobile.handlebars->9->112"
3848 + ],
3849 "pt": "O dispositivo está no estado de suspensão (S1)",
3850 "ja": "デバイスはスリープ状態です(S1)"
3851 },
3852 {
3853 "en": "Device is in sleep state (S1).",
2536 - "xloc": [ "default.handlebars->23->315" ],
3854 + "xloc": [
3855 + "default.handlebars->23->315"
3856 + ],
3857 "pt": "O dispositivo está no estado de suspensão (S1).",
2538 - "ja": "デバイスはスリープ状態(S1)です。"
3858 + "ja": "デバイスはスリープ状態(S1)です。",
3859 + "cs": "Zařízení je ve stavu spánku (S1)."
3860 },
3861 {
3862 "en": "Device is in sleep state (S2)",
2542 - "xloc": [ "default.handlebars->23->329", "default-mobile.handlebars->9->113" ],
3863 + "xloc": [
3864 + "default.handlebars->23->329",
3865 + "default-mobile.handlebars->9->113"
3866 + ],
3867 "pt": "O dispositivo está no estado de suspensão (S2)",
2544 - "ja": "デバイスはスリープ状態です(S2)"
3868 + "ja": "デバイスはスリープ状態です(S2)",
3869 + "cs": "Zařízení je ve stavu spánku (S2)"
3870 },
3871 {
3872 "en": "Device is in sleep state (S2).",
2548 - "xloc": [ "default.handlebars->23->317" ],
3873 + "xloc": [
3874 + "default.handlebars->23->317"
3875 + ],
3876 "pt": "O dispositivo está no estado de suspensão (S2).",
2550 - "ja": "デバイスはスリープ状態(S2)です。"
3877 + "ja": "デバイスはスリープ状態(S2)です。",
3878 + "cs": "Zařízení je ve stavu spánku (S2)."
3879 },
3880 {
3881 "en": "Device is in soft-off state (S5)",
2554 - "xloc": [ "default.handlebars->23->332", "default-mobile.handlebars->9->116" ],
3882 + "xloc": [
3883 + "default.handlebars->23->332",
3884 + "default-mobile.handlebars->9->116"
3885 + ],
3886 "pt": "O dispositivo está no estado soft-off (S5)",
2556 - "ja": "デバイスはソフトオフ状態です(S5)"
3887 + "ja": "デバイスはソフトオフ状態です(S5)",
3888 + "cs": "Zařízení je ve stavu soft-off (S5)"
3889 },
3890 {
3891 "en": "Device is powered",
3892 "cs": "Zařízení je zapnuto",
2561 - "xloc": [ "default.handlebars->23->327", "default-mobile.handlebars->9->111" ],
3893 + "xloc": [
3894 + "default.handlebars->23->327",
3895 + "default-mobile.handlebars->9->111"
3896 + ],
3897 "pt": "O dispositivo está ligado",
3898 "ja": "デバイスに電源が入っています"
3899 },
3900 {
3901 "en": "Device is powered on.",
2567 - "xloc": [ "default.handlebars->23->313" ],
3902 + "xloc": [
3903 + "default.handlebars->23->313"
3904 + ],
3905 "pt": "O dispositivo está ligado.",
2569 - "ja": "デバイスの電源が入っています。"
3906 + "ja": "デバイスの電源が入っています。",
3907 + "cs": "Zařízení je zapnuto."
3908 },
3909 {
3910 "en": "Device is present, but power state cannot be determined",
2573 - "xloc": [ "default.handlebars->23->333", "default-mobile.handlebars->9->117" ],
3911 + "xloc": [
3912 + "default.handlebars->23->333",
3913 + "default-mobile.handlebars->9->117"
3914 + ],
3915 "pt": "O dispositivo está presente, mas o estado de energia não pode ser determinado",
2575 - "ja": "デバイスは存在しますが、電源状態を判別できません"
3916 + "ja": "デバイスは存在しますが、電源状態を判別できません",
3917 + "cs": "Zařízení je přítomno, ale nelze získat stav napájení"
3918 },
3919 {
3920 "en": "Device Location",
2579 - "xloc": [ "default.handlebars->23->548" ],
3921 + "xloc": [
3922 + "default.handlebars->23->548"
3923 + ],
3924 "pt": "Localização do dispositivo",
2581 - "ja": "デバイスの場所"
3925 + "ja": "デバイスの場所",
3926 + "cs": "Umístění zařízení"
3927 },
3928 {
3929 "en": "Device name",
3930 "cs": "Název zařízení",
2586 - "xloc": [ "default.handlebars->23->379" ],
3931 + "xloc": [
3932 + "default.handlebars->23->379"
3933 + ],
3934 "pt": "Nome do dispositivo",
3935 "ja": "装置名"
3936 },
3937 {
3938 "en": "Device Name",
2592 - "xloc": [ "default.handlebars->23->202", "default.handlebars->23->562", "default-mobile.handlebars->9->219", "player.htm->3->9" ],
3939 + "xloc": [
3940 + "default.handlebars->23->202",
3941 + "default.handlebars->23->562",
3942 + "default-mobile.handlebars->9->219",
3943 + "player.htm->3->9"
3944 + ],
3945 "pt": "Nome do Dispositivo",
2594 - "ja": "装置名"
3946 + "ja": "装置名",
3947 + "cs": "Název zařízení"
3948 },
3949 {
3950 "en": "Device Notification",
2598 - "xloc": [ "default.handlebars->23->511" ],
3951 + "xloc": [
3952 + "default.handlebars->23->511"
3953 + ],
3954 "pt": "Notificação de dispositivo",
2600 - "ja": "デバイス通知"
3955 + "ja": "デバイス通知",
3956 + "cs": "Oznámení zařízení"
3957 },
3958 {
3959 "en": "Device Toast",
2604 - "xloc": [ "default-mobile.handlebars->9->201" ],
3960 + "xloc": [
3961 + "default-mobile.handlebars->9->201"
3962 + ],
3963 "pt": "Brinde do dispositivo",
2606 - "ja": "デバイストースト"
3964 + "ja": "デバイストースト",
3965 + "cs": "Device Toast"
3966 },
3967 {
3968 "en": "DeviceCheckbox",
2610 - "xloc": [ "default.handlebars->23->358" ],
3969 + "xloc": [
3970 + "default.handlebars->23->358"
3971 + ],
3972 "pt": "Caixa de seleção do dispositivo",
2612 - "ja": "DeviceCheckbox"
3973 + "ja": "DeviceCheckbox",
3974 + "cs": "DeviceCheckbox"
3975 },
3976 {
3977 "en": "Disabled",
2616 - "xloc": [ "default.handlebars->23->456" ],
3978 + "xloc": [
3979 + "default.handlebars->23->456"
3980 + ],
3981 "pt": "Desativado",
2618 - "ja": "無効"
3982 + "ja": "無効",
3983 + "cs": "Zakázáno"
3984 },
3985 {
3986 "en": "Disconnect",
2622 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->disconnectbutton1span", "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->disconnectbutton2span", "default.handlebars->23->612", "default.handlebars->23->959", "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3", "default-mobile.handlebars->9->234" ],
3987 + "xloc": [
3988 + "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->disconnectbutton1span",
3989 + "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->disconnectbutton2span",
3990 + "default.handlebars->23->612",
3991 + "default.handlebars->23->959",
3992 + "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
3993 + "default-mobile.handlebars->9->234"
3994 + ],
3995 "pt": "Desconectar",
2624 - "ja": "切断する"
3996 + "ja": "切断する",
3997 + "cs": "Odpojit"
3998 },
3999 {
4000 "en": "Disconnect All",
2628 - "xloc": [ "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar" ],
4001 + "xloc": [
4002 + "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar"
4003 + ],
4004 "pt": "Desconectar todos",
2630 - "ja": "すべて切断"
4005 + "ja": "すべて切断",
4006 + "cs": "Odpojit vše"
4007 },
4008 {
4009 "en": "Disconnected",
4010 "cs": "Odpojeno",
4011 "fr": "Débranché",
2636 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->deskstatus", "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->termstatus", "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3->p13Status", "default.handlebars->23->8", "default.handlebars->23->158", "default.handlebars->23->174", "default.handlebars->23->177", "default.handlebars->23->183", "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3->deskstatus", "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3->p13Status", "default-mobile.handlebars->9->1" ],
4012 + "xloc": [
4013 + "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->deskstatus",
4014 + "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->termstatus",
4015 + "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3->p13Status",
4016 + "default.handlebars->23->8",
4017 + "default.handlebars->23->158",
4018 + "default.handlebars->23->174",
4019 + "default.handlebars->23->177",
4020 + "default.handlebars->23->183",
4021 + "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3->deskstatus",
4022 + "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3->p13Status",
4023 + "default-mobile.handlebars->9->1"
4024 + ],
4025 "pt": "Desconectado",
4026 "ja": "切断されました"
4027 },
4028 {
4029 "en": "Display a notification on the remote computer",
2642 - "xloc": [ "default.handlebars->container->column_l->p11->deskarea0->deskarea4->1" ],
4030 + "xloc": [
4031 + "default.handlebars->container->column_l->p11->deskarea0->deskarea4->1"
4032 + ],
4033 "pt": "Exibir uma notificação no computador remoto",
2644 - "ja": "リモートコンピューターに通知を表示する"
4034 + "ja": "リモートコンピューターに通知を表示する",
4035 + "cs": "Zobrazit notifikaci na vzdáleném zařízení"
4036 },
4037 {
4038 "en": "Display name",
2648 - "xloc": [ "default.handlebars->23->582" ],
4039 + "xloc": [
4040 + "default.handlebars->23->582"
4041 + ],
4042 "pt": "Mostrar nome",
2650 - "ja": "表示名"
4043 + "ja": "表示名",
4044 + "cs": "Zobrazované jméno"
4045 },
4046 {
4047 "en": "DNS suffix",
2654 - "xloc": [ "default.handlebars->23->60" ],
4048 + "xloc": [
4049 + "default.handlebars->23->60"
4050 + ],
4051 "pt": "Sufixo DNS",
2656 - "ja": "DNSサフィックス"
4052 + "ja": "DNSサフィックス",
4053 + "cs": "DNS suffix"
4054 },
4055 {
4056 "en": "Do nothing",
4057 "cs": "Nic",
2661 - "xloc": [ "default.handlebars->23->1003" ],
4058 + "xloc": [
4059 + "default.handlebars->23->1003"
4060 + ],
4061 "pt": "Fazer nada",
4062 "ja": "何もしない"
4063 },
4064 {
4065 "en": "Don't have an account?",
4066 "cs": "Nemáte účet?",
2668 - "xloc": [ "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->newAccountDiv", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->newAccountDiv" ],
4067 + "xloc": [
4068 + "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->newAccountDiv",
4069 + "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->newAccountDiv"
4070 + ],
4071 "pt": "Não possui uma conta?",
4072 "ja": "アカウントを持っていないのですか?"
4073 },
4074 {
4075 "en": "Don\\'t configure",
2674 - "xloc": [ "default.handlebars->23->1007", "default.handlebars->23->1012" ],
4076 + "xloc": [
4077 + "default.handlebars->23->1007",
4078 + "default.handlebars->23->1012"
4079 + ],
4080 "pt": "Não configure",
2676 - "ja": "設定しないでください"
4081 + "ja": "設定しないでください",
4082 + "cs": "Nekonfigurovat"
4083 },
4084 {
4085 "en": "Don\\'t connect to server",
2680 - "xloc": [ "default.handlebars->23->1008" ],
4086 + "xloc": [
4087 + "default.handlebars->23->1008"
4088 + ],
4089 "pt": "Não conecte ao servidor",
2682 - "ja": "サーバーに接続しない"
4090 + "ja": "サーバーに接続しない",
4091 + "cs": "Nepřipojovat se k serveru"
4092 },
4093 {
4094 "en": "Download",
4095 "cs": "Stažení",
4096 "fr": "Télécharger",
2688 - "xloc": [ "download.handlebars->container->page_content->column_l->1" ],
4097 + "xloc": [
4098 + "download.handlebars->container->page_content->column_l->1"
4099 + ],
4100 "pt": "Baixar",
4101 "ja": "ダウンロード"
4102 },
4103 {
4104 "en": "Download console text",
2694 - "xloc": [ "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1" ],
4105 + "xloc": [
4106 + "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1"
4107 + ],
4108 "pt": "Baixar do texto do console",
2696 - "ja": "コンソールテキストをダウンロードする"
4109 + "ja": "コンソールテキストをダウンロードする",
4110 + "cs": "Stáhnout text z konzole"
4111 },
4112 {
4113 "en": "Download data points (.csv)",
2700 - "xloc": [ "default.handlebars->container->column_l->p40->3->1" ],
4114 + "xloc": [
4115 + "default.handlebars->container->column_l->p40->3->1"
4116 + ],
4117 "pt": "Baixar pontos de dados (.csv)",
2702 - "ja": "データポイント(.csv)をダウンロードする"
4118 + "ja": "データポイント(.csv)をダウンロードする",
4119 + "cs": "Stáhnout datové body (.csv)"
4120 },
4121 {
4122 "en": "Download error log",
2706 - "xloc": [ "default.handlebars->23->82" ],
4123 + "xloc": [
4124 + "default.handlebars->23->82"
4125 + ],
4126 "pt": "Baixar log de erro",
2708 - "ja": "エラーログをダウンロードする"
4127 + "ja": "エラーログをダウンロードする",
4128 + "cs": "Stáhnout chybový log"
4129 },
4130 {
4131 "en": "Download Events",
2712 - "xloc": [ "default.handlebars->container->column_l->p3->3->1->0->3->3", "default.handlebars->container->column_l->p16->3->1->0->5->3", "default.handlebars->container->column_l->p31->5->1->0->5->3" ],
4132 + "xloc": [
4133 + "default.handlebars->container->column_l->p3->3->1->0->3->3",
4134 + "default.handlebars->container->column_l->p16->3->1->0->5->3",
4135 + "default.handlebars->container->column_l->p31->5->1->0->5->3"
4136 + ],
4137 "pt": "Download de Eventos",
2714 - "ja": "イベントをダウンロードする"
4138 + "ja": "イベントをダウンロードする",
4139 + "cs": "Stáhnout události"
4140 },
4141 {
4142 "en": "Download File",
4143 "cs": "Stáhnout soubor",
2719 - "xloc": [ "default.handlebars->23->641", "default-mobile.handlebars->9->267" ],
4144 + "xloc": [
4145 + "default.handlebars->23->641",
4146 + "default-mobile.handlebars->9->267"
4147 + ],
4148 "pt": "⇬ Fazer download do arquivo",
4149 "ja": "ダウンロードファイル"
4150 },
4151 {
4152 "en": "Download MeshCentral Router, a TCP port mapping tool.",
2725 - "xloc": [ "default.handlebars->23->172" ],
4153 + "xloc": [
4154 + "default.handlebars->23->172"
4155 + ],
4156 "pt": "Faça o download do MeshCentral Router, uma ferramenta de mapeamento de portas TCP.",
2727 - "ja": "TCPポートマッピングツールであるMeshCentralルーターをダウンロードします。"
4157 + "ja": "TCPポートマッピングツールであるMeshCentralルーターをダウンロードします。",
4158 + "cs": "Stáhnout MeshCentral, což je TCP nástroj pro mapování portů."
4159 },
4160 {
4161 "en": "Download MeshCmd",
2731 - "xloc": [ "default.handlebars->23->559" ],
4162 + "xloc": [
4163 + "default.handlebars->23->559"
4164 + ],
4165 "pt": "Baixar MeshCmd",
2733 - "ja": "MeshCmdをダウンロード"
4166 + "ja": "MeshCmdをダウンロード",
4167 + "cs": "Stáhnout MeshCmd"
4168 },
4169 {
4170 "en": "Download MeshCmd, a command line tool that performs many functions.",
2737 - "xloc": [ "default.handlebars->23->170" ],
4171 + "xloc": [
4172 + "default.handlebars->23->170"
4173 + ],
4174 "pt": "Faça o download do MeshCmd, uma ferramenta de linha de comando que executa muitas funções.",
2739 - "ja": "多くの機能を実行するコマンドラインツール、MeshCmdをダウンロードします。"
4175 + "ja": "多くの機能を実行するコマンドラインツール、MeshCmdをダウンロードします。",
4176 + "cs": "Stáhnout MeshCmd, což je nástroj pro příkazovou řásku s mnoha funkcemi."
4177 },
4178 {
4179 "en": "Download Plugin",
2743 - "xloc": [ "default.handlebars->container->column_l->p42->3->3" ],
2744 - "ja": "プラグインをダウンロード"
4180 + "xloc": [
4181 + "default.handlebars->container->column_l->p42->3->3"
4182 + ],
4183 + "ja": "プラグインをダウンロード",
4184 + "cs": "Stáhnout plugin"
4185 },
4186 {
4187 "en": "Download power events",
2748 - "xloc": [ "default.handlebars->23->522" ],
4188 + "xloc": [
4189 + "default.handlebars->23->522"
4190 + ],
4191 "pt": "Download de eventos de energia",
2750 - "ja": "電源イベントをダウンロードする"
4192 + "ja": "電源イベントをダウンロードする",
4193 + "cs": "Stáhnout události napájení"
4194 },
4195 {
4196 "en": "Download server backup",
2754 - "xloc": [ "default.handlebars->container->column_l->p6->p2ServerActions->3->p2ServerActionsBackup->0" ],
4197 + "xloc": [
4198 + "default.handlebars->container->column_l->p6->p2ServerActions->3->p2ServerActionsBackup->0"
4199 + ],
4200 "pt": "Fazer o download do backup do servidor",
2756 - "ja": "サーバーのバックアップをダウンロード"
4201 + "ja": "サーバーのバックアップをダウンロード",
4202 + "cs": "Stáhnout zálohu serveru"
4203 },
4204 {
4205 "en": "Download the installer here",
4206 "cs": "Stáhnout instalaci zde",
2761 - "xloc": [ "agentinvite.handlebars->container->column_l->5->macostab->3->macosurl" ],
4207 + "xloc": [
4208 + "agentinvite.handlebars->container->column_l->5->macostab->3->macosurl"
4209 + ],
4210 "pt": "Faça o download do instalador aqui",
4211 "ja": "ここからインストーラーをダウンロードしてください"
4212 },
4213 {
4214 "en": "Download the list of events with one of the file formats below.",
2767 - "xloc": [ "default.handlebars->23->1122" ],
4215 + "xloc": [
4216 + "default.handlebars->23->1122"
4217 + ],
4218 "pt": "Faça o download da lista de eventos com um dos formatos de arquivo abaixo.",
2769 - "ja": "以下のファイル形式のいずれかでイベントのリストをダウンロードします。"
4219 + "ja": "以下のファイル形式のいずれかでイベントのリストをダウンロードします。",
4220 + "cs": "Stáhnout seznam událostí v níže uvedeném formátu."
4221 },
4222 {
4223 "en": "Download the list of users with one of the file formats below.",
2773 - "xloc": [ "default.handlebars->23->1160" ],
4224 + "xloc": [
4225 + "default.handlebars->23->1160"
4226 + ],
4227 "pt": "Baixe a lista de usuários com um dos formatos de arquivo abaixo.",
2775 - "ja": "以下のファイル形式のいずれかでユーザーのリストをダウンロードします。"
4228 + "ja": "以下のファイル形式のいずれかでユーザーのリストをダウンロードします。",
4229 + "cs": "Stáhnout seznam uživatelů v níže uvedeném formátu."
4230 },
4231 {
4232 "en": "Download the software here",
2779 - "xloc": [ "agentinvite.handlebars->container->column_l->5->wintab64->3->win64url", "agentinvite.handlebars->container->column_l->5->wintab32->3->win32url" ],
4233 + "xloc": [
4234 + "agentinvite.handlebars->container->column_l->5->wintab64->3->win64url",
4235 + "agentinvite.handlebars->container->column_l->5->wintab32->3->win32url"
4236 + ],
4237 "pt": "Faça o download do software aqui",
2781 - "ja": "ここからソフトウェアをダウンロードしてください"
4238 + "ja": "ここからソフトウェアをダウンロードしてください",
4239 + "cs": "Stáhnout software zde"
4240 },
4241 {
4242 "en": "Download trace (.csv)",
2785 - "xloc": [ "default.handlebars->container->column_l->p41->3->1" ],
4243 + "xloc": [
4244 + "default.handlebars->container->column_l->p41->3->1"
4245 + ],
4246 "pt": "Rastreio de download (.csv)",
2787 - "ja": "トレースのダウンロード(.csv)"
4247 + "ja": "トレースのダウンロード(.csv)",
4248 + "cs": "Stáhnout trace (.csv)"
4249 },
4250 {
4251 "en": "Download user information",
2791 - "xloc": [ "default.handlebars->container->column_l->p4->3->1->0->3->1->3" ],
4252 + "xloc": [
4253 + "default.handlebars->container->column_l->p4->3->1->0->3->1->3"
4254 + ],
4255 "pt": "Baixar informações do usuário",
2793 - "ja": "ユーザー情報をダウンロードする"
4256 + "ja": "ユーザー情報をダウンロードする",
4257 + "cs": "Stáhnout uživatelské informace"
4258 },
4259 {
4260 "en": "Drag & drop a .mcrec file or click \\\"Open File...\\\"",
2797 - "xloc": [ "player.htm->3->18" ],
4261 + "xloc": [
4262 + "player.htm->3->18"
4263 + ],
4264 "pt": "Arraste e solte um arquivo .mcrec ou clique em \\\"Abrir arquivo...\\\"",
2799 - "ja": ".mcrecファイルをドラッグアンドドロップするか、[ファイルを開く...]をクリックします"
4265 + "ja": ".mcrecファイルをドラッグアンドドロップするか、[ファイルを開く...]をクリックします",
4266 + "cs": "Drag & drop soubor .mcrec nebo klikni na \\\"Otevřít soubor...\\\""
4267 },
4268 {
4269 "en": "Duration",
2803 - "xloc": [ "player.htm->3->2" ],
4270 + "xloc": [
4271 + "player.htm->3->2"
4272 + ],
4273 "pt": "Duração",
2805 - "ja": "期間"
4274 + "ja": "期間",
4275 + "cs": "Trvání"
4276 },
4277 {
4278 "en": "During activation, the agent will have access to admin password infomation.",
2809 - "xloc": [ "default.handlebars->23->1017" ],
4279 + "xloc": [
4280 + "default.handlebars->23->1017"
4281 + ],
4282 "pt": "Durante a ativação, o agente terá acesso às informações da senha do administrador.",
2811 - "ja": "アクティベーション中、エージェントは管理者パスワード情報にアクセスできます。"
4283 + "ja": "アクティベーション中、エージェントは管理者パスワード情報にアクセスできます。",
4284 + "cs": "Během aktivace bude mít agent administrátorská práva."
4285 },
4286 {
4287 "en": "Dutch (Belgian)",
2815 - "xloc": [ "default.handlebars->23->725" ],
4288 + "xloc": [
4289 + "default.handlebars->23->725"
4290 + ],
4291 "pt": "Holandês (belga)",
2817 - "ja": "オランダ語(ベルギー)"
4292 + "ja": "オランダ語(ベルギー)",
4293 + "cs": "Dutch (Belgian)"
4294 },
4295 {
4296 "en": "Dutch (Standard)",
2821 - "xloc": [ "default.handlebars->23->724" ],
4297 + "xloc": [
4298 + "default.handlebars->23->724"
4299 + ],
4300 "pt": "Holandês (padrão)",
2823 - "ja": "オランダ語(標準)"
4301 + "ja": "オランダ語(標準)",
4302 + "cs": "Dutch (Standard)"
4303 },
4304 {
4305 "en": "Edit",
2827 - "xloc": [ "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3" ],
4306 + "xloc": [
4307 + "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3"
4308 + ],
4309 "pt": "Editar",
2829 - "ja": "編集"
4310 + "ja": "編集",

This file is too large to show in full.

views/default-min.handlebars
+1 -5
@@ -1,4 +1,4 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>Information</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>Desktop</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>Terminal</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>Files</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>Events</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>Console</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>Multi-Desktop</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>Select All</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>Select None</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Admin Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>Admin PowerShell</div><div id=cxtermunorm class=cmtext style=display:none onclick=cmtermaction(8,event)>User Shell</div><div id=cxtermups class=cmtext style=display:none onclick=cmtermaction(9,event)>User PowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Root Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>User Shell</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title="Click to view current notifications">0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title="My Devices"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title="My Account"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title="My Events"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title="My Files"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title="My Users"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title="My Server"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>&diams;<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Fixed width interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Toggle night mode"onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>My Devices<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>My Account<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>My Events<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>My Files<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>My Users<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>My Server<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>General<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>Desktop<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>Terminal<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>Files<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>Events<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>Details<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>Intel&reg; AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>Console<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>General<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>General<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>Events<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>General<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>Stats<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>Console<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>Trace<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>Server disconnected</span>,<href onclick=reload() style=cursor:pointer><u>click to reconnect</u></href>.</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=Columns><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=List><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title=Desktops><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=Map style=display:none><div class=viewSelector4></div></div></div><div><h1>My Devices</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Select All">&nbsp; <input type=button id=GroupActionButton disabled value="Group Action"onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=Filter onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title="Show devices operating system name">OS Name</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value="Connect All">&nbsp; <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All">&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Automatic connect">Auto&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=Settings>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder="Search Location"onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=Search title="Search for location"onclick=getSearchLocation()> <input type=button id=refreshmap title="Reset map view"value=Reset onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>View <select id=viewselect onchange=onDeviceViewChange()><option value=1>Columns<option value=2>List<option value=3>Desktops<option id=viewselectmapoption value=4 style=display:none>Map</select></div><div style=display:none id=devListToolbarSort>Sort <select id=sortselect onchange=masterUpdate(6)><option>Group<option>Power<option>Device<option>Tags</select> &nbsp;</div><div style=display:none id=devListToolbarSize>Size <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Small<option value=1>Medium<option value=2>Large</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>To get started, <a href=# onclick="return account_createMesh()"><strong>click here to create a device group</strong></a>.</div><div id=getStarted2>No device groups.</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>X</b></div><div style=padding:5px>Location Results</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>My Account</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>Account security</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>&#x2713;</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Manage authenticator app</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>&#x2713;</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Manage security keys</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>&#x2713;</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">Manage backup codes</a><br></span></div></div></div><div id=p2AccountActions><p><strong>Account actions</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Verify email</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Enable web notifications</a><br></span><a href=# onclick="return account_showLocalizationSettings()">Localization Settings</a><br><a href=# onclick="return account_showAccountNotifySettings()">Notification Settings</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">Change email address</a><br></span><a href=# onclick="return account_showChangePassword()">Change password</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">Delete account</a><br></p><br style=clear:both></div><strong>Device Groups</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>New</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>No device groups.<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>Get started here!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>My Events</h1><table class=pTable><tr><td class=h1><td class=auto-style1>Show <select id=p3limitdropdown onchange=refreshEvents()><option value=60>Last 60<option value=120>Last 120<option value=250>Last 250<option value=500>Last 500<option value=1000>Last 1000</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>My Users</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=Broadcast> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title="Download user information"src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title="Batch create many user accounts"src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value="New Account..."> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=Filter onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>My Files</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=Up>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Select All">&nbsp; <input type=button id=p5RenameFileButton disabled value=Rename onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value="New Folder"onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=Upload onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=Cut onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=Copy onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=Paste onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Sort by name<option value=2>Sort by size<option value=3>Sort by date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>These files are shared publicly, click "link" to get public url.</div></div><div id=bigok style=display:none><b>&checkmark;</b></div><div id=bigfail style=display:none><b>&#10007;</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>My Server</h1><div id=p2ServerActions><p><strong>Server actions</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>Download server backup</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">Restore server with backup</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">Check server version</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">Show server error log</a></div></div></div><br><strong>Server Statistics</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>Server Warnings</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>General - <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Full Screen. Hold shift to browser full screen."><div class=viewSelector5></div></div></div><h1>Desktop - <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel&reg; AMT Redirection port or KVM feature is disabled<span id=p11warninga>, click here to enable it.</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>Remote computer is not powered on, click here to issue a power command.</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title="Toggle View Mode"onclick=toggleAspectRatio(1)>&#8690;</div><div class=deskareaicon title="Rotate Left"onclick=drotate(-1)>&olarr;</div><div class=deskareaicon title="Rotate Right"onclick=drotate(1)>&orarr;</div><div id=deskRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title="Toggle focus mode, when active only the region around the mouse is updated"onkeypress=return!1 onkeydown=return!1 value="Focus All"onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title="Save a screenshot of the remote desktop"onkeypress=return!1 onkeydown=return!1 value=Save... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title="Perform power actions on the device"onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=Settings... title="Edit remote desktop settings"onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title="Change the power state of the remote machine"onkeypress=return!1 onkeydown=return!1 value="Power Actions..."onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;&#x2716;</div><input type=button id=autoconnectbutton1 value=AutoConnect onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=Connect onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="HW Connect"title="Connect using Intel AMT hardware KVM"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>Disconnected</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>Refresh</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>Processes</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>Services</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title="Sort by process id"onclick=sortProcess(0)>PID</a> <a class=colmn2 title="Sort by name"onclick=sortProcess(1)>Name</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title="Sort by state"onclick=sortService(0)>State</a> <a class=colmn2 title="Sort by name"onclick=sortService(1)>Name</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title="Session time"></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=Tools title="Toggle tools view"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title="Open chat window to this computer"><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title="Display a notification on the remote computer"><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title="Open a web address on the remote computer"><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title="Toggle remote desktop background"><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>Ctrl+Alt+Del<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab<option value=11>Win+Left<option value=12>Win+Right</select> <input id=DeskWD type=button value=Send onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value=Clipboard onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=Type onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title="Toggle mouse and keyboard input"><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>Input</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Terminal - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel&reg; AMT Redirection port or KVM feature is disabled<span id=p12warninga>, click here to enable it.</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>Remote computer is not powered on, click here to issue a power command.</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title="Perform power actions on the device"onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value=AutoConnect onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=Connect onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="HW Connect"title="Connect using Intel AMT hardware KVM"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>Disconnected</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title="Session time"></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value=CR+LF title="Toggle what the return key will send"onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel (F10 = ESC+[OM)"title="Toggle F1 to F10 keys emulation type"onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Extended Ascii"title="Toggle terminal emulation type"onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>Auto</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=Send title="Send the selected special key"onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=Ctl-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=Ctl-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value=Backspace onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=Paste title="Paste text into the terminal"onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Files - <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title="Perform power actions on the device"value=Actions onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value=AutoConnect onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=Connect onclick=connectFiles(event) type=button> <span id=p13Status>Disconnected</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=Up>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Select All">&nbsp; <input type=button id=p13RenameFileButton disabled value=Rename onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value="New Folder"onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=Upload onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=Cut onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=Copy onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=Paste onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=Refresh onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Sort by name<option value=2>Sort by size<option value=3>Sort by date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>&checkmark;</b></div><div id=p13bigfail style=display:none><b>&#10007;</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Full Screen. Hold shift to browser full screen."><div class=viewSelector5></div></div></div><h1>Intel&reg; AMT - <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title="Information about current core running on this agent"></div><input type=button id=p15uploadCore value="Agent Action"onclick=p15uploadCore(event) title="Change the agent Java Script code module"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title="Download console text"src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>Agent<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=Clear onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Events - <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>Show <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>Last 60<option value=120>Last 120<option value=250>Last 250<option value=500>Last 500<option value=1000>Last 1000</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Details - <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>General - <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>General - <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Events - <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>Show <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>Last 60<option value=120>Last 120<option value=250>Last 250<option value=500>Last 500<option value=1000>Last 1000</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>My Server Stats</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>Connections<option value=1>Memory</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>Last 3 hours<option value=8>Last 8 hours<option value=24>Last day<option value=168>Last week<option value=720>Last 30 days</select>&nbsp; <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=Refresh type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>My Server Tracing</h1><div class=areaHead><div class=toright2>Show <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>Last 100<option value=250>Last 250<option value=500>Last 500<option value=1000>Last 1000</select> <input value=Clear type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title="Download trace (.csv)"style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=Tracing type=button onclick=setServerTracing()> <span id=p41traceStatus>None</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>My Server Plugins</h1><div class=areaHead><div class=toright2></div><div><input value="Download Plugin"type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value="Refresh Agent Cores"type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>Notice:</b> Plugins have been altered, this may require agent core update.</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>Name<th class=chDescription>Description<th class=chSite style=text-align:center>Link<th class=chVersion style=text-align:center>Version<th class=chUpgradeAvail style=text-align:center>Latest<th class=chStatus style=text-align:center>Status<th class=chAction style=text-align:center>Action<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>No plugins on server.</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=Back onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>My Server Plugins - <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>Plugins - <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Verify Email</a> &nbsp;<a href=terms>Terms &amp; Privacy</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>&#x2716;</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>File Selection</div><select id=d3uploadMode onchange=d3modechange()><option value=1>Local file upload<option value=2>Server file selection</select></div><div id=d3localmode style=display:none><div>Upload File</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=Up>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>Agent Remote Desktop</h4><div><div>Quality</div><select id=d7bitmapquality dir=rtl></select></div><div><div>Scaling</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select></div><div><div>Frame rate</div><select id=d7framelimiter dir=rtl><option selected value=50>Fast<option value=100>Medium<option value=400>Slow<option value=1000>Very slow</select></div></div><div id=d7amtkvm><h4>Intel&reg; AMT Hardware KVM</h4><div><div>Image Encoding</div><select id=d7desktopmode><option value=1>RLE8, Fastest<option value=2>RLE16, Recommended<option value=3>RAW8, Slow<option value=4>RAW16, Very Slow</select></div><div><div>Other Settings</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>Show Focus Tool</label> <label style=display:block><input type=checkbox id=d7showcursor>Show Local Mouse Cursor</label> <label style=display:block><input type=checkbox id=d7localKeyMap>Local Keyboard Map</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Cancel onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Delete style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>Information</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>Desktop</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>Terminal</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>Files</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>Events</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>Console</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>Multi-Desktop</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>Select All</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>Select None</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Admin Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>Admin PowerShell</div><div id=cxtermunorm class=cmtext onclick=cmtermaction(8,event)>User Shell</div><div id=cxtermups class=cmtext onclick=cmtermaction(9,event)>User PowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Root Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>User Shell</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title="Click to view current notifications">0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title="My Devices"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title="My Account"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title="My Events"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title="My Files"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title="My Users"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title="My Server"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>&diams;<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Fixed width interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Toggle night mode"onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>My Devices<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>My Account<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>My Events<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>My Files<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>My Users<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>My Server<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>General<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>Desktop<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>Terminal<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>Files<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>Events<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>Details<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>Intel&reg; AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>Console<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>General<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>General<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>Events<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>General<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>Stats<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>Console<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>Trace<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>Server disconnected</span>,<href onclick=reload() style=cursor:pointer><u>click to reconnect</u></href>.</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=Columns><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=List><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title=Desktops><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=Map style=display:none><div class=viewSelector4></div></div></div><div><h1>My Devices</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Select All">&nbsp; <input type=button id=GroupActionButton disabled value="Group Action"onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=Filter onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title="Show devices operating system name">OS Name</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value="Connect All">&nbsp; <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All">&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Automatic connect">Auto&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=Settings>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder="Search Location"onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=Search title="Search for location"onclick=getSearchLocation()> <input type=button id=refreshmap title="Reset map view"value=Reset onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>View <select id=viewselect onchange=onDeviceViewChange()><option value=1>Columns<option value=2>List<option value=3>Desktops<option id=viewselectmapoption value=4 style=display:none>Map</select></div><div style=display:none id=devListToolbarSort>Sort <select id=sortselect onchange=masterUpdate(6)><option>Group<option>Power<option>Device<option>Tags</select> &nbsp;</div><div style=display:none id=devListToolbarSize>Size <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Small<option value=1>Medium<option value=2>Large</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>To get started, <a href=# onclick="return account_createMesh()"><strong>click here to create a device group</strong></a>.</div><div id=getStarted2>No device groups.</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>X</b></div><div style=padding:5px>Location Results</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>My Account</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>Account security</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>&#x2713;</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Manage authenticator app</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>&#x2713;</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Manage security keys</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>&#x2713;</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">Manage backup codes</a><br></span></div></div></div><div id=p2AccountActions><p><strong>Account actions</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Verify email</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Enable web notifications</a><br></span><a href=# onclick="return account_showLocalizationSettings()">Localization Settings</a><br><a href=# onclick="return account_showAccountNotifySettings()">Notification Settings</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">Change email address</a><br></span><a href=# onclick="return account_showChangePassword()">Change password</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">Delete account</a><br></p><br style=clear:both></div><strong>Device Groups</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>New</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>No device groups.<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>Get started here!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>My Events</h1><table class=pTable><tr><td class=h1><td class=auto-style1>Show <select id=p3limitdropdown onchange=refreshEvents()><option value=60>Last 60<option value=120>Last 120<option value=250>Last 250<option value=500>Last 500<option value=1000>Last 1000</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>My Users</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=Broadcast> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title="Download user information"src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title="Batch create many user accounts"src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value="New Account..."> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=Filter onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>My Files</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=Up>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Select All">&nbsp; <input type=button id=p5RenameFileButton disabled value=Rename onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value="New Folder"onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=Upload onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=Cut onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=Copy onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=Paste onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Sort by name<option value=2>Sort by size<option value=3>Sort by date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>These files are shared publicly, click "link" to get public url.</div></div><div id=bigok style=display:none><b>&checkmark;</b></div><div id=bigfail style=display:none><b>&#10007;</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>My Server</h1><div id=p2ServerActions><p><strong>Server actions</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>Download server backup</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">Restore server with backup</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">Check server version</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">Show server error log</a></div></div></div><br><strong>Server Statistics</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>Server Warnings</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>General - <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Full Screen. Hold shift to browser full screen."><div class=viewSelector5></div></div></div><h1>Desktop - <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel&reg; AMT Redirection port or KVM feature is disabled<span id=p11warninga>, click here to enable it.</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>Remote computer is not powered on, click here to issue a power command.</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title="Toggle View Mode"onclick=toggleAspectRatio(1)>&#8690;</div><div class=deskareaicon title="Rotate Left"onclick=drotate(-1)>&olarr;</div><div class=deskareaicon title="Rotate Right"onclick=drotate(1)>&orarr;</div><div id=deskRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title="Toggle focus mode, when active only the region around the mouse is updated"onkeypress=return!1 onkeydown=return!1 value="Focus All"onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title="Save a screenshot of the remote desktop"onkeypress=return!1 onkeydown=return!1 value=Save... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title="Perform power actions on the device"onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=Settings... title="Edit remote desktop settings"onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title="Change the power state of the remote machine"onkeypress=return!1 onkeydown=return!1 value="Power Actions..."onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;&#x2716;</div><input type=button id=autoconnectbutton1 value=AutoConnect onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=Connect onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="HW Connect"title="Connect using Intel AMT hardware KVM"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>Disconnected</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>Refresh</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>Processes</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>Services</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title="Sort by process id"onclick=sortProcess(0)>PID</a> <a class=colmn2 title="Sort by name"onclick=sortProcess(1)>Name</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title="Sort by state"onclick=sortService(0)>State</a> <a class=colmn2 title="Sort by name"onclick=sortService(1)>Name</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title="Session time"></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=Tools title="Toggle tools view"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title="Open chat window to this computer"><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title="Display a notification on the remote computer"><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title="Open a web address on the remote computer"><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title="Toggle remote desktop background"><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>Ctrl+Alt+Del<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab<option value=11>Win+Left<option value=12>Win+Right</select> <input id=DeskWD type=button value=Send onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value=Clipboard onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=Type onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title="Toggle mouse and keyboard input"><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>Input</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Terminal - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel&reg; AMT Redirection port or KVM feature is disabled<span id=p12warninga>, click here to enable it.</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>Remote computer is not powered on, click here to issue a power command.</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title="Perform power actions on the device"onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value=AutoConnect onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=Connect onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="HW Connect"title="Connect using Intel AMT hardware KVM"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>Disconnected</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title="Session time"></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value=CR+LF title="Toggle what the return key will send"onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel (F10 = ESC+[OM)"title="Toggle F1 to F10 keys emulation type"onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Extended Ascii"title="Toggle terminal emulation type"onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>Auto</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=Send title="Send the selected special key"onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=Ctl-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=Ctl-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value=Backspace onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=Paste title="Paste text into the terminal"onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Files - <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title="Perform power actions on the device"value=Actions onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value=AutoConnect onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=Connect onclick=connectFiles(event) type=button> <span id=p13Status>Disconnected</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=Up>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Select All">&nbsp; <input type=button id=p13RenameFileButton disabled value=Rename onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value="New Folder"onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=Upload onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=Cut onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=Copy onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=Paste onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=Refresh onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Sort by name<option value=2>Sort by size<option value=3>Sort by date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>&checkmark;</b></div><div id=p13bigfail style=display:none><b>&#10007;</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Full Screen. Hold shift to browser full screen."><div class=viewSelector5></div></div></div><h1>Intel&reg; AMT - <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title="Information about current core running on this agent"></div><input type=button id=p15uploadCore value="Agent Action"onclick=p15uploadCore(event) title="Change the agent Java Script code module"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title="Download console text"src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>Agent<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=Clear onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Events - <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>Show <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>Last 60<option value=120>Last 120<option value=250>Last 250<option value=500>Last 500<option value=1000>Last 1000</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Details - <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>General - <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>General - <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Back onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Events - <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>Show <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>Last 60<option value=120>Last 120<option value=250>Last 250<option value=500>Last 500<option value=1000>Last 1000</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>My Server Stats</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>Connections<option value=1>Memory</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>Last 3 hours<option value=8>Last 8 hours<option value=24>Last day<option value=168>Last week<option value=720>Last 30 days</select>&nbsp; <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=Refresh type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>My Server Tracing</h1><div class=areaHead><div class=toright2>Show <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>Last 100<option value=250>Last 250<option value=500>Last 500<option value=1000>Last 1000</select> <input value=Clear type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title="Download trace (.csv)"style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=Tracing type=button onclick=setServerTracing()> <span id=p41traceStatus>None</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>My Server Plugins</h1><div class=areaHead><div class=toright2></div><div><input value="Download Plugin"type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value="Refresh Agent Cores"type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>Notice:</b> Plugins have been altered, this may require agent core update.</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>Name<th class=chDescription>Description<th class=chSite style=text-align:center>Link<th class=chVersion style=text-align:center>Version<th class=chUpgradeAvail style=text-align:center>Latest<th class=chStatus style=text-align:center>Status<th class=chAction style=text-align:center>Action<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>No plugins on server.</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=Back onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>My Server Plugins - <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>Plugins - <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Verify Email</a> &nbsp;<a href=terms>Terms &amp; Privacy</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>&#x2716;</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>File Selection</div><select id=d3uploadMode onchange=d3modechange()><option value=1>Local file upload<option value=2>Server file selection</select></div><div id=d3localmode style=display:none><div>Upload File</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=Up>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>Agent Remote Desktop</h4><div><div>Quality</div><select id=d7bitmapquality dir=rtl></select></div><div><div>Scaling</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select></div><div><div>Frame rate</div><select id=d7framelimiter dir=rtl><option selected value=50>Fast<option value=100>Medium<option value=400>Slow<option value=1000>Very slow</select></div></div><div id=d7amtkvm><h4>Intel&reg; AMT Hardware KVM</h4><div><div>Image Encoding</div><select id=d7desktopmode><option value=1>RLE8, Fastest<option value=2>RLE16, Recommended<option value=3>RAW8, Slow<option value=4>RAW16, Very Slow</select></div><div><div>Other Settings</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>Show Focus Tool</label> <label style=display:block><input type=checkbox id=d7showcursor>Show Local Mouse Cursor</label> <label style=display:block><input type=checkbox id=d7localKeyMap>Local Keyboard Map</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Cancel onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Delete style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
2
3 // Process server-side web state
4 var webState = '{{{webstate}}}';
@@ -95,10 +95,6 @@
95 if (nightMode) { QC('body').add('night'); }
96 toggleFullScreen();
97
98 - // Debug
99 - QV('cxtermunorm', debugmode == 1);
100 - QV('cxtermups', debugmode == 1);
101 -
98 // Setup page visuals
99 if (args.hide) {
100 var hide = parseInt(args.hide);
views/translations/agentinvite-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><title>MeshCentral - Agent Installation</title><style>.tab{overflow:hidden;border:1px solid #ccc;background-color:#f1f1f1}.tab button{background-color:inherit;float:left;border:none;outline:0;cursor:pointer;padding:14px 16px;transition:.3s}.tab button:hover{background-color:#ddd}.tab button.active{background-color:#8f8}.tabcontent{display:none;padding:6px 12px;border:1px solid #ccc;border-top:none}</style><body id=body onload='"undefined"!=typeof startup&&startup()'style=display:none;overflow:hidden><div id=container><div id=masthead class=noselect style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div><p id=logoutControl style="color:#fff;font-size:11px;margin:10px 10px 0">{{{logoutControl}}}</div><div id=page_leftbar><div style=height:16px></div></div><div id=topbar class="noselect style3"style=height:24px;position:relative><div id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu()>♦<div id=uiMenu style=display:none><div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"><div class=uiSelector1></div></div><div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"><div class=uiSelector2></div></div><div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Fixed width interface"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Toggle night mode"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><h1>Instalace agenta pro vzdálený přístup<span id=groupname></span></h1><p>Byla vám doručena pozvánka k instalaci softwaru, který umožňuje vzdálenou správu zařízení. Postupujte podle níže uvedených pokynů, pokud jste si vědom toho, že tato pozvánka je legitimní a chcete tento přístup umožnit. Vyberte si operační systém a postupujte dle pokynů níže.<div><div class=tab><button id=twintab64 class=tablinks onclick='openTab(event,"wintab64")'>Windows 64bit</button> <button id=twintab32 class=tablinks onclick='openTab(event,"wintab32")'>Windows 32bit</button> <button id=tlinuxtab class=tablinks onclick='openTab(event,"linuxtab")'>Linux</button> <button id=tmacostab class=tablinks onclick='openTab(event,"macostab")'>MacOS</button></div><div id=wintab64 class=tabcontent style=background-color:#fff;color:#000><h3>Microsoft™ Windows 64bit</h3><p><a id=win64url>Download the software here</a>, spusťte soubor a zvolte "Install" nebo "Connect".<div style=text-align:center><img class=winagent-img src=images/winagent.png></div></div><div id=wintab32 class=tabcontent style=background-color:#fff;color:#000><h3>Microsoft™ Windows 32bit</h3><p><a id=win32url>Download the software here</a>, spusťte soubor a zvolte "Install" nebo "Connect".<div style=text-align:center><img class=winagent-img src=images/winagent.png></div></div><div id=linuxtab class=tabcontent style=background-color:#fff;color:#000><h3>Linux</h3><p>Pro instalaci spusťte následující příkaz s právy uživatele root.<div id=linuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Zkopírovat do schránky"style=margin-left:30px;margin-top:4px onclick=copyToClipLinuxInstall()><p>Pro odinstalování spustťe tento příkaz pod s uživatelskými právy root.<div id=unlinuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Zkopírovat do schránky"style=margin-left:30px;margin-top:4px onclick=copyToClipLinuxUnInstall()><br><br></div><div id=macostab class=tabcontent style=background-color:#fff;color:#000><h3>Apple™ MacOS</h3><p><a id=macosurl>Stáhnout instalaci zde</a>, poté spusťe instalaci. Postupujte dle instrukcí.<div style=text-align:center><img src=images/macosagent.png></div></div></div></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right></table></div></div><script>"use strict";var linuxInstall,linuxUnInstall,uiMode=parseInt(getstore("uiMode",1)),webPageStackMenu=!1,webPageFullScreen=!0,nightMode="1"==getstore("_nightMode","0"),domain="{{{domain}}}",domainUrl="{{{domainurl}}}",meshid="{{{meshid}}}",serverPort="{{{serverport}}}",serverHttps="{{{serverhttps}}}",serverNoProxy="{{{servernoproxy}}}",installFlags="{{{installflags}}}",groupName=decodeURIComponent("{{{meshname}}}");function showUserInterfaceSelectMenu(){Q("uiViewButton1").classList.remove("uiSelectorSel"),Q("uiViewButton2").classList.remove("uiSelectorSel"),Q("uiViewButton3").classList.remove("uiSelectorSel"),Q("uiViewButton4").classList.remove("uiSelectorSel");try{Q("uiViewButton"+uiMode).classList.add("uiSelectorSel")}catch(e){}QV("uiMenu","none"==QS("uiMenu").display),nightMode&&Q("uiViewButton4").classList.add("uiSelectorSel")}function userInterfaceSelectMenu(e){e&&putstore("uiMode",uiMode=e),webPageFullScreen=uiMode<3,webPageStackMenu=!0,toggleFullScreen(0),toggleStackMenu(0),QC("column_l").add("room4submenu")}function toggleNightMode(){(nightMode=!nightMode)?QC("body").add("night"):QC("body").remove("night"),putstore("_nightMode",nightMode?"1":"0")}function toggleFullScreen(e){1===e&&putstore("webPageFullScreen",webPageFullScreen=!webPageFullScreen);0==webPageFullScreen?(QC("body").remove("menu_stack"),QC("body").remove("fullscreen"),QC("body").remove("arg_hide")):QC("body").add("fullscreen"),QV("body",!0)}function toggleStackMenu(e){1==webPageFullScreen&&(1===e&&putstore("webPageStackMenu",webPageStackMenu=!webPageStackMenu),0==webPageStackMenu?QC("body").remove("menu_stack"):QC("body").add("menu_stack"))}function putstore(e,t){try{if("undefined"==typeof localStorage)return;localStorage.setItem(e,t)}catch(e){}}function getstore(e,t){try{if("undefined"==typeof localStorage)return t;var n=localStorage.getItem(e);return null==n||null==n?t:n}catch(e){return t}}function openTab(e,t){var n,s,l;for(s=document.getElementsByClassName("tabcontent"),n=0;n<s.length;n++)s[n].style.display="none";for(l=document.getElementsByClassName("tablinks"),n=0;n<l.length;n++)l[n].className=l[n].className.replace(" active","");document.getElementById(t).style.display="block",null!=e?e.currentTarget.className+=" active":document.getElementById("t"+t).className+=" active"}function setup(){var e=window.location.hostname,t=domainUrl.substring(0,domainUrl.length-1),n="meshagents?id=4&meshid="+meshid;if(0!=installFlags&&(n+="&installflags="+installFlags),Q("win64url").href=n,n="meshagents?id=3&meshid="+meshid,0!=installFlags&&(n+="&installflags="+installFlags),Q("win32url").href=n,n="meshosxagent?id=16&meshid="+meshid,Q("macosurl").href=n,1==serverHttps){var s=443==serverPort?"":":"+serverPort;linuxUnInstall=0==serverNoProxy?(linuxInstall="(wget https://"+e+s+domainUrl+'meshagents?script=1 --no-check-certificate -O ./meshinstall.sh || wget https://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://'+e+s+t+" '"+meshid+"'\r\n","(wget https://"+e+s+domainUrl+'meshagents?script=1 --no-check-certificate -O ./meshinstall.sh || wget https://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n'):(linuxInstall="wget https://"+e+s+domainUrl+"meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://"+e+s+t+" '"+meshid+"'\r\n","wget https://"+e+s+domainUrl+"meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n")}else{s=80==serverPort?"":":"+serverPort;linuxUnInstall=0==serverNoProxy?(linuxInstall="(wget http://"+e+s+domainUrl+'meshagents?script=1 -O ./meshinstall.sh || wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://'+e+s+t+" '"+meshid+"'\r\n","(wget http://"+e+s+domainUrl+'meshagents?script=1 -O ./meshinstall.sh || wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n'):(linuxInstall="wget http://"+e+s+domainUrl+"meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://"+e+s+t+" '"+meshid+"'\r\n","wget http://"+e+s+domainUrl+"meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n")}QH("linuxinstall",linuxInstall),QH("unlinuxinstall",linuxUnInstall),0<=navigator.userAgent.indexOf("Win64")?openTab(null,"wintab64"):0<=navigator.userAgent.indexOf("Windows")?openTab(null,"wintab32"):0<=navigator.userAgent.indexOf("Linux")?openTab(null,"linuxtab"):0<=navigator.userAgent.indexOf("Macintosh")?openTab(null,"macostab"):openTab(null,"wintab64")}function copyToClipLinuxInstall(){copyTextToClip(linuxInstall)}function copyToClipLinuxUnInstall(){copyTextToClip(linuxUnInstall)}function copyTextToClip(e){var t=document.createElement("DIV");t.textContent=e,document.body.appendChild(t),function(e){if(document.selection)(t=document.body.createTextRange()).moveToElementText(e),t.select();else if(window.getSelection){var t;(t=document.createRange()).selectNode(e),window.getSelection().removeAllRanges(),window.getSelection().addRange(t)}}(t),document.execCommand("copy"),t.remove()}""!=groupName&&QH("groupname"," for "+groupName),userInterfaceSelectMenu(),setup()</script>
\ No newline at end of file
1 +<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><title>MeshCentral - Agent Installation</title><style>.tab{overflow:hidden;border:1px solid #ccc;background-color:#f1f1f1}.tab button{background-color:inherit;float:left;border:none;outline:0;cursor:pointer;padding:14px 16px;transition:.3s}.tab button:hover{background-color:#ddd}.tab button.active{background-color:#8f8}.tabcontent{display:none;padding:6px 12px;border:1px solid #ccc;border-top:none}</style><body id=body onload='"undefined"!=typeof startup&&startup()'style=display:none;overflow:hidden><div id=container><div id=masthead class=noselect style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div><p id=logoutControl style="color:#fff;font-size:11px;margin:10px 10px 0">{{{logoutControl}}}</div><div id=page_leftbar><div style=height:16px></div></div><div id=topbar class="noselect style3"style=height:24px;position:relative><div id=uiMenuButton title="Výběr rozhraní uživatele"onclick=showUserInterfaceSelectMenu()>♦<div id=uiMenu style=display:none><div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Rozhraní levé lišty"><div class=uiSelector1></div></div><div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Rozhraní horní lišty"><div class=uiSelector2></div></div><div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Rozhraní s pevnou šířkou"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Přepnout na noční mód"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><h1>Instalace agenta pro vzdálený přístup<span id=groupname></span></h1><p>Byla vám doručena pozvánka k instalaci softwaru, který umožňuje vzdálenou správu zařízení. Postupujte podle níže uvedených pokynů, pokud jste si vědom toho, že tato pozvánka je legitimní a chcete tento přístup umožnit. Vyberte si operační systém a postupujte dle pokynů níže.<div><div class=tab><button id=twintab64 class=tablinks onclick='openTab(event,"wintab64")'>Windows 64bit</button> <button id=twintab32 class=tablinks onclick='openTab(event,"wintab32")'>Windows 32bit</button> <button id=tlinuxtab class=tablinks onclick='openTab(event,"linuxtab")'>Linux</button> <button id=tmacostab class=tablinks onclick='openTab(event,"macostab")'>MacOS</button></div><div id=wintab64 class=tabcontent style=background-color:#fff;color:#000><h3>Microsoft™ Windows 64bit</h3><p><a id=win64url>Stáhnout software zde</a>, spusťte soubor a zvolte "Install" nebo "Connect".<div style=text-align:center><img class=winagent-img src=images/winagent.png></div></div><div id=wintab32 class=tabcontent style=background-color:#fff;color:#000><h3>Microsoft™ Windows 32bit</h3><p><a id=win32url>Stáhnout software zde</a>, spusťte soubor a zvolte "Install" nebo "Connect".<div style=text-align:center><img class=winagent-img src=images/winagent.png></div></div><div id=linuxtab class=tabcontent style=background-color:#fff;color:#000><h3>Linux</h3><p>Pro instalaci spusťte následující příkaz s právy uživatele root.<div id=linuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Zkopírovat do schránky"style=margin-left:30px;margin-top:4px onclick=copyToClipLinuxInstall()><p>Pro odinstalování spustťe tento příkaz pod s uživatelskými právy root.<div id=unlinuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Zkopírovat do schránky"style=margin-left:30px;margin-top:4px onclick=copyToClipLinuxUnInstall()><br><br></div><div id=macostab class=tabcontent style=background-color:#fff;color:#000><h3>Apple™ MacOS</h3><p><a id=macosurl>Stáhnout instalaci zde</a>, poté spusťe instalaci. Postupujte dle instrukcí.<div style=text-align:center><img src=images/macosagent.png></div></div></div></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right></table></div></div><script>"use strict";var linuxInstall,linuxUnInstall,uiMode=parseInt(getstore("uiMode",1)),webPageStackMenu=!1,webPageFullScreen=!0,nightMode="1"==getstore("_nightMode","0"),domain="{{{domain}}}",domainUrl="{{{domainurl}}}",meshid="{{{meshid}}}",serverPort="{{{serverport}}}",serverHttps="{{{serverhttps}}}",serverNoProxy="{{{servernoproxy}}}",installFlags="{{{installflags}}}",groupName=decodeURIComponent("{{{meshname}}}");function showUserInterfaceSelectMenu(){Q("uiViewButton1").classList.remove("uiSelectorSel"),Q("uiViewButton2").classList.remove("uiSelectorSel"),Q("uiViewButton3").classList.remove("uiSelectorSel"),Q("uiViewButton4").classList.remove("uiSelectorSel");try{Q("uiViewButton"+uiMode).classList.add("uiSelectorSel")}catch(e){}QV("uiMenu","none"==QS("uiMenu").display),nightMode&&Q("uiViewButton4").classList.add("uiSelectorSel")}function userInterfaceSelectMenu(e){e&&putstore("uiMode",uiMode=e),webPageFullScreen=uiMode<3,webPageStackMenu=!0,toggleFullScreen(0),toggleStackMenu(0),QC("column_l").add("room4submenu")}function toggleNightMode(){(nightMode=!nightMode)?QC("body").add("night"):QC("body").remove("night"),putstore("_nightMode",nightMode?"1":"0")}function toggleFullScreen(e){1===e&&putstore("webPageFullScreen",webPageFullScreen=!webPageFullScreen);0==webPageFullScreen?(QC("body").remove("menu_stack"),QC("body").remove("fullscreen"),QC("body").remove("arg_hide")):QC("body").add("fullscreen"),QV("body",!0)}function toggleStackMenu(e){1==webPageFullScreen&&(1===e&&putstore("webPageStackMenu",webPageStackMenu=!webPageStackMenu),0==webPageStackMenu?QC("body").remove("menu_stack"):QC("body").add("menu_stack"))}function putstore(e,t){try{if("undefined"==typeof localStorage)return;localStorage.setItem(e,t)}catch(e){}}function getstore(e,t){try{if("undefined"==typeof localStorage)return t;var n=localStorage.getItem(e);return null==n||null==n?t:n}catch(e){return t}}function openTab(e,t){var n,s,l;for(s=document.getElementsByClassName("tabcontent"),n=0;n<s.length;n++)s[n].style.display="none";for(l=document.getElementsByClassName("tablinks"),n=0;n<l.length;n++)l[n].className=l[n].className.replace(" active","");document.getElementById(t).style.display="block",null!=e?e.currentTarget.className+=" active":document.getElementById("t"+t).className+=" active"}function setup(){var e=window.location.hostname,t=domainUrl.substring(0,domainUrl.length-1),n="meshagents?id=4&meshid="+meshid;if(0!=installFlags&&(n+="&installflags="+installFlags),Q("win64url").href=n,n="meshagents?id=3&meshid="+meshid,0!=installFlags&&(n+="&installflags="+installFlags),Q("win32url").href=n,n="meshosxagent?id=16&meshid="+meshid,Q("macosurl").href=n,1==serverHttps){var s=443==serverPort?"":":"+serverPort;linuxUnInstall=0==serverNoProxy?(linuxInstall="(wget https://"+e+s+domainUrl+'meshagents?script=1 --no-check-certificate -O ./meshinstall.sh || wget https://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://'+e+s+t+" '"+meshid+"'\r\n","(wget https://"+e+s+domainUrl+'meshagents?script=1 --no-check-certificate -O ./meshinstall.sh || wget https://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n'):(linuxInstall="wget https://"+e+s+domainUrl+"meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://"+e+s+t+" '"+meshid+"'\r\n","wget https://"+e+s+domainUrl+"meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n")}else{s=80==serverPort?"":":"+serverPort;linuxUnInstall=0==serverNoProxy?(linuxInstall="(wget http://"+e+s+domainUrl+'meshagents?script=1 -O ./meshinstall.sh || wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://'+e+s+t+" '"+meshid+"'\r\n","(wget http://"+e+s+domainUrl+'meshagents?script=1 -O ./meshinstall.sh || wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n'):(linuxInstall="wget http://"+e+s+domainUrl+"meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://"+e+s+t+" '"+meshid+"'\r\n","wget http://"+e+s+domainUrl+"meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n")}QH("linuxinstall",linuxInstall),QH("unlinuxinstall",linuxUnInstall),0<=navigator.userAgent.indexOf("Win64")?openTab(null,"wintab64"):0<=navigator.userAgent.indexOf("Windows")?openTab(null,"wintab32"):0<=navigator.userAgent.indexOf("Linux")?openTab(null,"linuxtab"):0<=navigator.userAgent.indexOf("Macintosh")?openTab(null,"macostab"):openTab(null,"wintab64")}function copyToClipLinuxInstall(){copyTextToClip(linuxInstall)}function copyToClipLinuxUnInstall(){copyTextToClip(linuxUnInstall)}function copyTextToClip(e){var t=document.createElement("DIV");t.textContent=e,document.body.appendChild(t),function(e){if(document.selection)(t=document.body.createTextRange()).moveToElementText(e),t.select();else if(window.getSelection){var t;(t=document.createRange()).selectNode(e),window.getSelection().removeAllRanges(),window.getSelection().addRange(t)}}(t),document.execCommand("copy"),t.remove()}""!=groupName&&QH("groupname"," for "+groupName),userInterfaceSelectMenu(),setup()</script>
\ No newline at end of file
views/translations/agentinvite_cs.handlebars
+7 -7
@@ -57,13 +57,13 @@
57 <div style="height:16px"></div>
58 </div>
59 <div id="topbar" class="noselect style3" style="height:24px;position:relative">
60 - <div id="uiMenuButton" title="User interface selection" onclick="showUserInterfaceSelectMenu()">
60 + <div id="uiMenuButton" title="Výběr rozhraní uživatele" onclick="showUserInterfaceSelectMenu()">
61
62 <div id="uiMenu" style="display:none">
63 - <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Left bar interface"><div class="uiSelector1"></div></div>
64 - <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Top bar interface"><div class="uiSelector2"></div></div>
65 - <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Fixed width interface"><div class="uiSelector3"></div></div>
66 - <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Toggle night mode"><div class="uiSelector4"></div></div>
63 + <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Rozhraní levé lišty"><div class="uiSelector1"></div></div>
64 + <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Rozhraní horní lišty"><div class="uiSelector2"></div></div>
65 + <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Rozhraní s pevnou šířkou"><div class="uiSelector3"></div></div>
66 + <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Přepnout na noční mód"><div class="uiSelector4"></div></div>
67 </div>
68 </div>
69 </div>
@@ -84,7 +84,7 @@
84
85 <div id="wintab64" class="tabcontent" style="background-color:white;color:black">
86 <h3>Microsoft™ Windows 64bit</h3>
87 - <p><a id="win64url">Download the software here</a>, spusťte soubor a zvolte "Install" nebo "Connect".</p>
87 + <p><a id="win64url">Stáhnout software zde</a>, spusťte soubor a zvolte "Install" nebo "Connect".</p>
88 <div style="text-align:center">
89 <img class="winagent-img" src="images/winagent.png">
90 </div>
@@ -92,7 +92,7 @@
92
93 <div id="wintab32" class="tabcontent" style="background-color:white;color:black">
94 <h3>Microsoft™ Windows 32bit</h3>
95 - <p><a id="win32url">Download the software here</a>, spusťte soubor a zvolte "Install" nebo "Connect".</p>
95 + <p><a id="win32url">Stáhnout software zde</a>, spusťte soubor a zvolte "Install" nebo "Connect".</p>
96 <div style="text-align:center">
97 <img class="winagent-img" src="images/winagent.png">
98 </div>
views/translations/default-min_cs.handlebars
+428 -432
@@ -1,4 +1,4 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>Information</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>Plocha</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>Terminál</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>Soubory</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>Události</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>Konzole</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>Multi-Desktop</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>Vybrat vše</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>Vybrat nic</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Admin Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>Admin PowerShell</div><div id=cxtermunorm class=cmtext style=display:none onclick=cmtermaction(8,event)>User Shell</div><div id=cxtermups class=cmtext style=display:none onclick=cmtermaction(9,event)>User PowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Root Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>User Shell</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title="Click to view current notifications">0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title="Moje zařízení"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title="Můj účet"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title="Moje události"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title="Moje soubory"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title=Uživatelé onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title="Můj server"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>♦<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Fixed width interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Toggle night mode"onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>Moje zařízení<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>Můj účet<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>Moje události<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>Moje soubory<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>Uživatelé<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Můj server<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>Obecné<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>Plocha<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>Terminál<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>Soubory<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>Události<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>Detaily<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>Intel® AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>Konzole<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>Pluginy<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>Obecné<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>Obecné<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>Události<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Obecné<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>Statistiky<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>Konzole<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>Trace<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>Pluginy<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>Server disconnected</span>,<href onclick=reload() style=cursor:pointer><u>klikni pro opětovné připojení</u></href>.</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=Buňky><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=List><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title=Desktopy><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=Mapa style=display:none><div class=viewSelector4></div></div></div><div><h1>Moje zařízení</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Vybrat vše">&nbsp; <input type=button id=GroupActionButton disabled value="Akce skupiny"onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=Filtr onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title="Show devices operating system name">Jméno operačního systému</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value="Connect All">&nbsp; <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All">&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Automatic connect">Auto&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=Nastavení>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder="Search Location"onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=Search title="Search for location"onclick=getSearchLocation()> <input type=button id=refreshmap title="Reset map view"value=Reset onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>View <select id=viewselect onchange=onDeviceViewChange()><option value=1>Buňky<option value=2>List<option value=3>Desktopy<option id=viewselectmapoption value=4 style=display:none>Mapa</select></div><div style=display:none id=devListToolbarSort>Třídit <select id=sortselect onchange=masterUpdate(6)><option>Skupina<option>Napájení<option>Zařízení<option>Tagy</select> &nbsp;</div><div style=display:none id=devListToolbarSize>Velikost <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Malé<option value=1>Středně<option value=2>Velký</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>To get started, <a href=# onclick="return account_createMesh()"><strong>click here to create a device group</strong></a>.</div><div id=getStarted2>No device groups.</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>X</b></div><div style=padding:5px>Location Results</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>Můj účet</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>Nastavení bezpečnosti</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Spravovat autentizační aplikace</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Spravovat bezpečnostní klíče</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">Manage backup codes</a><br></span></div></div></div><div id=p2AccountActions><p><strong>Akce účtu</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Ověřit email</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Zapnout notifikace prohlížeče</a><br></span><a href=# onclick="return account_showLocalizationSettings()">Nastavení lokalizace</a><br><a href=# onclick="return account_showAccountNotifySettings()">Nastavení notifikací</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">Změnit emailovou adresu</a><br></span><a href=# onclick="return account_showChangePassword()">Změnit heslo</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">Smazat účet</a><br></p><br style=clear:both></div><strong>Skupiny zařízení</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>Vytvořit</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>No device groups.<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>Get started here!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>Moje události</h1><table class=pTable><tr><td class=h1><td class=auto-style1>Zobrazit <select id=p3limitdropdown onchange=refreshEvents()><option value=60>Posledních 60<option value=120>Posledních 120<option value=250>Posledních 250<option value=500>Posledních 500<option value=1000>Posledních 1000</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>Uživatelé</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=Broadcast> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title="Download user information"src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title="Batch create many user accounts"src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value="Nový účet..."> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=Filtr onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>Moje soubory</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=Nahoru>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Vybrat vše">&nbsp; <input type=button id=p5RenameFileButton disabled value=Přejmenovat onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=Smazat onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value="Nový adresář"onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=Nahrát onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=Vyjmout onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=Kopírovat onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=Vložit onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Třídit podle jména<option value=2>Třídit podle velikosti<option value=3>Sort by date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>These files are shared publicly, click "link" to get public url.</div></div><div id=bigok style=display:none><b>✓</b></div><div id=bigfail style=display:none><b>✗</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>Můj server</h1><div id=p2ServerActions><p><strong>Server actions</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>Download server backup</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">Restore server with backup</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">Zkontrolovat verzi serveru</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">Zobrazit chyby serveru</a></div></div></div><br><strong>Statistiky serveru</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>Server Warnings</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Obecné - <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Full Screen. Hold shift to browser full screen."><div class=viewSelector5></div></div></div><h1>Desktop - <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® AMT Redirection port or KVM feature is disabled<span id=p11warninga>, zde kliknout pro aktivaci.</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>Vzdálený počítač není zapnutý, klikněte zde pro zapnutí.</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title="Toggle View Mode"onclick=toggleAspectRatio(1)>⇲</div><div class=deskareaicon title="Rotate Left"onclick=drotate(-1)>↺</div><div class=deskareaicon title="Rotate Right"onclick=drotate(1)>↻</div><div id=deskRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title="Toggle focus mode, when active only the region around the mouse is updated"onkeypress=return!1 onkeydown=return!1 value="Focus All"onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title="Uložit screenshot vzdáleného počítače"onkeypress=return!1 onkeydown=return!1 value=Save... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title="Akce napájení"onkeypress=return!1 onkeydown=return!1 value=Akce onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=Nastavení... title="Edit remote desktop settings"onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title="Change the power state of the remote machine"onkeypress=return!1 onkeydown=return!1 value="Akce napájení"onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;✖</div><input type=button id=autoconnectbutton1 value=AutoConnect onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=Připojit onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="HW Connect"title="Connect using Intel AMT hardware KVM"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>Odpojeno</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>Obnovit</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>Procesy</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>Služby</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title="Sort by process id"onclick=sortProcess(0)>PID</a> <a class=colmn2 title="Třídit podle jména"onclick=sortProcess(1)>Jméno</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title="Třídit podle stavu"onclick=sortService(0)>Stav</a> <a class=colmn2 title="Třídit podle jména"onclick=sortService(1)>Jméno</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title="Session time"></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=Nástroje title="Přepnout zobrazení nástrojů"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title="Open chat window to this computer"><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title="Display a notification on the remote computer"><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title="Open a web address on the remote computer"><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title="Toggle remote desktop background"><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>Ctrl+Alt+Del<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab<option value=11>Win+Left<option value=12>Win+Right</select> <input id=DeskWD type=button value=Odeslat onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value=Clipboard onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=Typ onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title="Toggle mouse and keyboard input"><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>Vstup</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Terminal - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® AMT Redirection port or KVM feature is disabled<span id=p12warninga>, zde kliknout pro aktivaci.</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>Vzdálený počítač není zapnutý, klikněte zde pro zapnutí.</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title="Akce napájení"onkeypress=return!1 onkeydown=return!1 value=Akce onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value=AutoConnect onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=Připojit onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="HW Connect"title="Connect using Intel AMT hardware KVM"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>Odpojeno</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title="Session time"></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value=CR+LF title="Toggle what the return key will send"onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel (F10 = ESC+[OM)"title="Toggle F1 to F10 keys emulation type"onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Extended Ascii"title="Toggle terminal emulation type"onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>Auto</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=Odeslat title="Send the selected special key"onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=Ctl-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=Ctl-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value=Backspace onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=Vložit title="Paste text into the terminal"onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Soubory - <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title="Akce napájení"value=Akce onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value=AutoConnect onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=Připojit onclick=connectFiles(event) type=button> <span id=p13Status>Odpojeno</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=Nahoru>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Vybrat vše">&nbsp; <input type=button id=p13RenameFileButton disabled value=Přejmenovat onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=Smazat onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value="Nový adresář"onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=Nahrát onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=Vyjmout onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=Kopírovat onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=Vložit onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=Obnovit onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Třídit podle jména<option value=2>Třídit podle velikosti<option value=3>Sort by date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>✓</b></div><div id=p13bigfail style=display:none><b>✗</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Full Screen. Hold shift to browser full screen."><div class=viewSelector5></div></div></div><h1>Intel® AMT - <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title="Information about current core running on this agent"></div><input type=button id=p15uploadCore value="Akce agenta"onclick=p15uploadCore(event) title="Change the agent Java Script code module"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title="Download console text"src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>Agent<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=Clear onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Events - <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>Zobrazit <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>Posledních 60<option value=120>Posledních 120<option value=250>Posledních 250<option value=500>Posledních 500<option value=1000>Posledních 1000</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Detaily - <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Obecné - <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Obecné - <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Events - <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>Zobrazit <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>Posledních 60<option value=120>Posledních 120<option value=250>Posledních 250<option value=500>Posledních 500<option value=1000>Posledních 1000</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>Statistika serveru</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>Connections<option value=1>Paměť</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>Last 3 hours<option value=8>Posledních 8 hodin<option value=24>Poslední den<option value=168>Poslední týden<option value=720>Last 30 days</select>&nbsp; <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=Obnovit type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>My Server Tracing</h1><div class=areaHead><div class=toright2>Zobrazit <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>Posledních 100<option value=250>Posledních 250<option value=500>Posledních 500<option value=1000>Posledních 1000</select> <input value=Clear type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title="Download trace (.csv)"style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=Tracing type=button onclick=setServerTracing()> <span id=p41traceStatus>Nic</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>My Server Plugins</h1><div class=areaHead><div class=toright2></div><div><input value="Download Plugin"type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value="Refresh Agent Cores"type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>Notice:</b> Plugins have been altered, this may require agent core update.</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>Jméno<th class=chDescription>Popis<th class=chSite style=text-align:center>Link<th class=chVersion style=text-align:center>Verze<th class=chUpgradeAvail style=text-align:center>Latest<th class=chStatus style=text-align:center>Status<th class=chAction style=text-align:center>Akce<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>No plugins on server.</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=Zpět onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>My Server Plugins - <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>Pluginy - <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Ověřit email</a> &nbsp;<a href=terms>Terms &amp; Privacy</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>File Selection</div><select id=d3uploadMode onchange=d3modechange()><option value=1>Local file upload<option value=2>Server file selection</select></div><div id=d3localmode style=display:none><div>Nahrát soubor</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=Nahoru>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>Agent Remote Desktop</h4><div><div>Kvalita</div><select id=d7bitmapquality dir=rtl></select></div><div><div>Škálování</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select></div><div><div>Obnovování</div><select id=d7framelimiter dir=rtl><option selected value=50>Rychle<option value=100>Středně<option value=400>Pomalu<option value=1000>Velmi pomalu</select></div></div><div id=d7amtkvm><h4>Intel® AMT Hardware KVM</h4><div><div>Kódovaní obrazu</div><select id=d7desktopmode><option value=1>RLE8, Fastest<option value=2>RLE16, Recommended<option value=3>RAW8, Slow<option value=4>RAW16, Very Slow</select></div><div><div>Other Settings</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>Show Focus Tool</label> <label style=display:block><input type=checkbox id=d7showcursor>Show Local Mouse Cursor</label> <label style=display:block><input type=checkbox id=d7localKeyMap>Local Keyboard Map</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Zrušit onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Smazat style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>Informace</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>Plocha</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>Terminál</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>Soubory</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>Události</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>Konzole</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>Multi-Desktop</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>Vybrat vše</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>Vybrat nic</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Administrátorská příkazová řádka</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>Administrátorský PowerShell</div><div id=cxtermunorm class=cmtext onclick=cmtermaction(8,event)>Uživatelská přikazová řádka</div><div id=cxtermups class=cmtext onclick=cmtermaction(9,event)>Uživateský PowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Root příkazová řádka</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>Uživatelská přikazová řádka</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title="Klikni pro zobrazení nastavení notifikací">0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title="Moje zařízení"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title="Můj účet"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title="Moje události"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title="Moje soubory"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title=Uživatelé onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title="Můj server"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title="Výběr rozhraní uživatele"onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>♦<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Rozhraní levé lišty"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Rozhraní horní lišty"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Rozhraní s pevnou šířkou"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Přepnout na noční mód"onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>Moje zařízení<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>Můj účet<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>Moje události<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>Moje soubory<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>Uživatelé<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Můj server<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>Obecné<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>Plocha<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>Terminál<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>Soubory<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>Události<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>Detaily<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>Intel® AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>Konzole<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>Pluginy<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>Obecné<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>Obecné<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>Události<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Obecné<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>Statistiky<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>Konzole<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>Trasování<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>Pluginy<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>Server odpojen</span>,<href onclick=reload() style=cursor:pointer><u>klikni pro opětovné připojení</u></href>.</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=Buňky><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=Seznam><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title=Desktopy><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=Mapa style=display:none><div class=viewSelector4></div></div></div><div><h1>Moje zařízení</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Vybrat vše">&nbsp; <input type=button id=GroupActionButton disabled value="Akce skupiny"onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=Filtr onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title="Zobrazit jméno operačního systému">Jméno operačního systému</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value="Připojit vše">&nbsp; <input type=button onclick=disconnectAllKvmFunction() value="Odpojit vše">&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Automatické připojení">Auto&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=Nastavení>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder="Hledat umístění"onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=Hledat title="Vyhledat umístění"onclick=getSearchLocation()> <input type=button id=refreshmap title="Reset pohledu"value=Reset onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>Zobrazit <select id=viewselect onchange=onDeviceViewChange()><option value=1>Buňky<option value=2>Seznam<option value=3>Desktopy<option id=viewselectmapoption value=4 style=display:none>Mapa</select></div><div style=display:none id=devListToolbarSort>Třídit <select id=sortselect onchange=masterUpdate(6)><option>Skupina<option>Napájení<option>Zařízení<option>Tagy</select> &nbsp;</div><div style=display:none id=devListToolbarSize>Velikost <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Malé<option value=1>Středně<option value=2>Velký</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>Začít, <a href=# onclick="return account_createMesh()"><strong>klikni zde pro vytvoření skupiny zařízení</strong></a>.</div><div id=getStarted2>Žádná skupina zařízení.</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>X</b></div><div style=padding:5px>Výsledky umístění</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>Můj účet</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>Nastavení bezpečnosti</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Spravovat autentizační aplikace</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Spravovat bezpečnostní klíče</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">Spravovat záložní kódy</a><br></span></div></div></div><div id=p2AccountActions><p><strong>Akce účtu</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Ověřit email</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Zapnout notifikace prohlížeče</a><br></span><a href=# onclick="return account_showLocalizationSettings()">Nastavení lokalizace</a><br><a href=# onclick="return account_showAccountNotifySettings()">Nastavení notifikací</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">Změnit emailovou adresu</a><br></span><a href=# onclick="return account_showChangePassword()">Změnit heslo</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">Smazat účet</a><br></p><br style=clear:both></div><strong>Skupiny zařízení</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>Vytvořit</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>Žádná skupina zařízení.<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>Začněte zde!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>Moje události</h1><table class=pTable><tr><td class=h1><td class=auto-style1>Zobrazit <select id=p3limitdropdown onchange=refreshEvents()><option value=60>Posledních 60<option value=120>Posledních 120<option value=250>Posledních 250<option value=500>Posledních 500<option value=1000>Posledních 1000</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Stáhnout události"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>Uživatelé</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value="Hromadná zpráva"> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title="Stáhnout uživatelské informace"src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title="Dávkově vytvořit více uživatelů"src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value="Nový účet..."> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=Filtr onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>Moje soubory</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=Nahoru>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Vybrat vše">&nbsp; <input type=button id=p5RenameFileButton disabled value=Přejmenovat onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=Smazat onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value="Nový adresář"onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=Nahrát onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=Vyjmout onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=Kopírovat onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=Vložit onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Třídit podle jména<option value=2>Třídit podle velikosti<option value=3>STřídit podle datumu<option value=4>Sestupně podle jména<option value=5>Sestupně podle velikosti<option value=6>Sestupně podle datumu</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>Tyto soubory jsou veřejné, klikni "link" pro získání veřejného url.</div></div><div id=bigok style=display:none><b>✓</b></div><div id=bigfail style=display:none><b>✗</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>Můj server</h1><div id=p2ServerActions><p><strong>Kce serveru</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>Stáhnout zálohu serveru</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">Obnova serveru se zálohou</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">Zkontrolovat verzi serveru</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">Zobrazit chyby serveru</a></div></div></div><br><strong>Statistiky serveru</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>Varování serveru</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Obecné - <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Celá obrazovka. Podržte shift pro zobrazení na celou obrazovku."><div class=viewSelector5></div></div></div><h1>Plocha - <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® AMT přesměrování portu nebo KVM vlastnost je vypnuta<span id=p11warninga>, zde kliknout pro aktivaci.</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>Vzdálený počítač není zapnutý, klikněte zde pro zapnutí.</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title="Přepnout režim zobrazení"onclick=toggleAspectRatio(1)>⇲</div><div class=deskareaicon title="Otočit doleva"onclick=drotate(-1)>↺</div><div class=deskareaicon title="Otočit doprava"onclick=drotate(1)>↻</div><div id=deskRecordIcon class=deskareaicon title="Server nahrává toto spojení"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title="Přepnout režim zaměření, pokud je aktivní pouze oblast kolem myši"onkeypress=return!1 onkeydown=return!1 value="Zaměřit vše"onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title="Uložit screenshot vzdáleného počítače"onkeypress=return!1 onkeydown=return!1 value=Uložit... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title="Akce napájení"onkeypress=return!1 onkeydown=return!1 value=Akce onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=Nastavení... title="Upravit nastavení vzdálené plochy"onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title="Změnit stav napájení vzdáleného zařízení"onkeypress=return!1 onkeydown=return!1 value="Akce napájení"onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;✖</div><input type=button id=autoconnectbutton1 value="Automatické připojení"onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=Připojit onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="HW připojení"title="Připojit pomocí Intel AMT hardware KVM"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=Odpojit onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>Odpojeno</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>Obnovit</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>Procesy</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>Služby</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title="Třídit podle id procesu"onclick=sortProcess(0)>PID</a> <a class=colmn2 title="Třídit podle jména"onclick=sortProcess(1)>Jméno</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title="Třídit podle stavu"onclick=sortService(0)>Stav</a> <a class=colmn2 title="Třídit podle jména"onclick=sortService(1)>Jméno</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title="Čas spojení"></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=Nástroje title="Přepnout zobrazení nástrojů"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title="Otevřít chat na tomto počítači"><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title="Zobrazit notifikaci na vzdáleném zařízení"><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title="Otevřít webovou adresu na vzdáleném zařízení"><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title="Přepnout pozadí vzdálené plochy"><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>Ctrl+Alt+Del<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab<option value=11>Win+Left<option value=12>Win+Right</select> <input id=DeskWD type=button value=Odeslat onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value=Schránka onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=Typ onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title="Přepnutí vstupu myši a klávesnice"><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>Vstup</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Terminál - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® AMT přesměrování portu nebo KVM vlastnost je vypnuta<span id=p12warninga>, zde kliknout pro aktivaci.</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>Vzdálený počítač není zapnutý, klikněte zde pro zapnutí.</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title="Server nahrává toto spojení"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title="Akce napájení"onkeypress=return!1 onkeydown=return!1 value=Akce onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value="Automatické připojení"onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=Připojit onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="HW připojení"title="Připojit pomocí Intel AMT hardware KVM"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=Odpojit onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>Odpojeno</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title="Čas spojení"></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value=CR+LF title="Přepnout, co odešle klávesa return"onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel (F10 = ESC+[OM)"title="Přepněte typ emulace kláves F1 na F10"onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Rozšířené Ascii"title="Přepnout typ emulace terminálu"onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>Auto</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=Odeslat title="Poslat vybraný speciální klíč"onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=Ctl-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=Ctl-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value="Zpětná klávesa (backspace)"onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=Vložit title="Vložit text do terminálu"onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Soubory - <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title="Akce napájení"value=Akce onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title="Server nahrává toto spojení"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value="Automatické připojení"onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=Připojit onclick=connectFiles(event) type=button> <span id=p13Status>Odpojeno</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=Nahoru>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Vybrat vše">&nbsp; <input type=button id=p13RenameFileButton disabled value=Přejmenovat onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=Smazat onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=Upravit onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value="Nový adresář"onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=Nahrát onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=Vyjmout onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=Kopírovat onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=Vložit onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=Obnovit onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Třídit podle jména<option value=2>Třídit podle velikosti<option value=3>STřídit podle datumu<option value=4>Sestupně podle jména<option value=5>Sestupně podle velikosti<option value=6>Sestupně podle datumu</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>✓</b></div><div id=p13bigfail style=display:none><b>✗</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Celá obrazovka. Podržte shift pro zobrazení na celou obrazovku."><div class=viewSelector5></div></div></div><h1>Intel® AMT - <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title="Informace o aktuálním jádru v tomto agentovi"></div><input type=button id=p15uploadCore value="Akce agenta"onclick=p15uploadCore(event) title="Změnit kód modulu agenta Java Script"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title="Stáhnout text z konzole"src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>Agent<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=Vymazat onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Události - <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>Zobrazit <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>Posledních 60<option value=120>Posledních 120<option value=250>Posledních 250<option value=500>Posledních 500<option value=1000>Posledních 1000</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title="Stáhnout události"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Detaily - <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Obecné - <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Obecné - <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Zpět onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Události - <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>Zobrazit <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>Posledních 60<option value=120>Posledních 120<option value=250>Posledních 250<option value=500>Posledních 500<option value=1000>Posledních 1000</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title="Stáhnout události"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>Statistika serveru</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>Spojení<option value=1>Paměť</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>Poslední 3 hodiny<option value=8>Posledních 8 hodin<option value=24>Poslední den<option value=168>Poslední týden<option value=720>Posledních 30 dní</select>&nbsp; <img src=images/link4.png height=10 width=10 title="Stáhnout datové body (.csv)"style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=Obnovit type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>Moje serverové trasování</h1><div class=areaHead><div class=toright2>Zobrazit <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>Posledních 100<option value=250>Posledních 250<option value=500>Posledních 500<option value=1000>Posledních 1000</select> <input value=Vymazat type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title="Stáhnout trace (.csv)"style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=Trasování type=button onclick=setServerTracing()> <span id=p41traceStatus>Nic</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>Moje serverové pluginy</h1><div class=areaHead><div class=toright2></div><div><input value="Stáhnout plugin"type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value="Obnovit jádra agentů"type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>Poznámka:</b> Pluginy byly změněny, může to vyžadovat aktualizaci jádra agenta.</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>Jméno<th class=chDescription>Popis<th class=chSite style=text-align:center>Odkaz<th class=chVersion style=text-align:center>Verze<th class=chUpgradeAvail style=text-align:center>Poslední<th class=chStatus style=text-align:center>Status<th class=chAction style=text-align:center>Akce<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>Žádný plugin na serveru.</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=Zpět onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>Moje serverové pluginy - <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>Pluginy - <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Ověřit email</a> &nbsp;<a href=terms>Podmínky &amp; soukromí</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>Výběr souboru</div><select id=d3uploadMode onchange=d3modechange()><option value=1>Nahrání lokálního souboru<option value=2>Výběr souboru serveru</select></div><div id=d3localmode style=display:none><div>Nahrát soubor</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=Nahoru>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>Agent vzdálené plochy</h4><div><div>Kvalita</div><select id=d7bitmapquality dir=rtl></select></div><div><div>Škálování</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select></div><div><div>Obnovování</div><select id=d7framelimiter dir=rtl><option selected value=50>Rychle<option value=100>Středně<option value=400>Pomalu<option value=1000>Velmi pomalu</select></div></div><div id=d7amtkvm><h4>Intel® AMT Hardware KVM</h4><div><div>Kódovaní obrazu</div><select id=d7desktopmode><option value=1>RLE8, Rychlejší<option value=2>RLE16, doporučeno<option value=3>RAW8, pomalé<option value=4>RAW16, hodně pomalé</select></div><div><div>Ostatní nastavení</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>Zobrazit nástroj pro zaměření</label> <label style=display:block><input type=checkbox id=d7showcursor>Zobrazit lokální kurzor myši</label> <label style=display:block><input type=checkbox id=d7localKeyMap>Lokální klávesová mapa</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Zrušit onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Smazat style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
2
3 // Process server-side web state
4 var webState = '{{{webstate}}}';
@@ -8,8 +8,8 @@
8
9 var args;
10 var autoReconnect = true;
11 - var powerStatetable = ['', "Zapnuto", "Spánek", "Spánek", "Spánek", "Hibernating", "Vypnout", "Present"];
12 - var StatusStrs = ["Odpojeno", "Connecting...", "Setup...", "Connected", "Intel&reg; AMT Connected"];
11 + var powerStatetable = ['', "Zapnuto", "Spánek", "Spánek", "Spánek", "Hibernuji", "Vypnout", "Současnost"];
12 + var StatusStrs = ["Odpojeno", "Připojování...", "Nastavení...", "Připojeno", "Intel&reg; AMT připojeno"];
13 var sort = 0;
14 var searchFocus = 0;
15 var mapSearchFocus = 0;
@@ -95,10 +95,6 @@
95 if (nightMode) { QC('body').add('night'); }
96 toggleFullScreen();
97
98 - // Debug
99 - QV('cxtermunorm', debugmode == 1);
100 - QV('cxtermups', debugmode == 1);
101 -
98 // Setup page visuals
99 if (args.hide) {
100 var hide = parseInt(args.hide);
@@ -321,7 +317,7 @@
317 QV('verifyEmailId2', false);
318 QV('logoutControl', false);
319 if (errorCode == 'noauth') { QH('p0span', "Unable to perform authentication"); return; }
324 - if (prevState == 2) { if (autoReconnect) { setTimeout(serverPoll, 5000); } } else { QH('p0span', "Unable to connect web socket"); }
320 + if (prevState == 2) { if (autoReconnect) { setTimeout(serverPoll, 5000); } } else { QH('p0span', "Nelze se připojit k web socketu"); }
321 if (authCookieRenewTimer != null) { clearInterval(authCookieRenewTimer); authCookieRenewTimer = null; }
322 } else if (state == 2) {
323 // Fetch list of meshes, nodes, files
@@ -434,7 +430,7 @@
430
431 // Check if backup codes should really be enabled
432 if ((backupCodesWarningDone == false) && !(userinfo.otpkeys > 0) && (((userinfo.otpsecret == 1) && !(userinfo.otphkeys > 0)) || ((userinfo.otpsecret != 1) && (userinfo.otphkeys == 1)))) {
437 - var n = { text: "Please add two-factor backup codes. If the current factor is lost, there is not way to recover this account.", title: "Two factor authentication" };
433 + var n = { text: "Prosím přidejte 2-faktorové záložní kódy. Pokud dojde ke ztrátě současných faktorů, není možné tento účet obnovit.", title: "2-faktorová autentizace" };
434 addNotification(n);
435 backupCodesWarningDone = true;
436 }
@@ -468,7 +464,7 @@
464 QH('idleTimeoutNotify', '<br />' + format("{0} sekund{1} do odpojení", ds, addLetterS(ds)));
465 } else {
466 ds = Math.round(ds / 60);
471 - if (ds <= 5) { QH('idleTimeoutNotify', '<br />' + format("{0} minute{1} until disconnect", ds, addLetterS(ds))); }
467 + if (ds <= 5) { QH('idleTimeoutNotify', '<br />' + format("{0} minut{1} do odpojení", ds, addLetterS(ds))); }
468 }
469 }
470 }
@@ -587,7 +583,7 @@
583 if (message.nodeid != powerTimelineReq) break;
584 //console.log('getsysinfo', message); // ***********************
585 if (message.noinfo === true) {
590 - QH('p17info', "No information for this device.");
586 + QH('p17info', "Žádné informace o tomto zařízení.");
587 } else {
588 var x = '', s = {};
589 if (message.hardware) {
@@ -600,12 +596,12 @@
596 x += '<br />';
597
598 // Motherboard
603 - x += '<div class=DevSt style=margin-bottom:3px><b>' + "Motherboard" + '</b></div>';
599 + x += '<div class=DevSt style=margin-bottom:3px><b>' + "Základní deska" + '</b></div>';
600 if (ident.board_vendor) { x += addDetailItem("Výrobce", ident.board_vendor, s); }
601 if (ident.board_name) { x += addDetailItem("Jméno", ident.board_name, s); }
606 - if (ident.board_serial && (ident.board_serial != '')) { x += addDetailItem("Serial", ident.board_serial, s); }
602 + if (ident.board_serial && (ident.board_serial != '')) { x += addDetailItem("Sériový", ident.board_serial, s); }
603 if (ident.board_version) { x += addDetailItem("Verze", ident.board_version, s); }
608 - if (ident.product_uuid) { x += addDetailItem("Identifier", ident.product_uuid, s); }
604 + if (ident.product_uuid) { x += addDetailItem("Identifikátor", ident.product_uuid, s); }
605 x += '<br />';
606 }
607
@@ -624,8 +620,8 @@
620 x += '<tr><td VALIGN=Top style=width:38px><img src="images/ram2.png" />'
621 x += '<td><div style=background-color:lightgray;border-radius:5px;padding:8px>';
622 x += '<div><b>' + m.BankLabel + '</b></div>';
627 - if (m.Capacity) { x += addDetailItem("Capacity / Speed", format("{0} Mb, {1} Mhz", (m.Capacity / 1024 / 1024), m.Speed), s); }
628 - if (m.PartNumber) { x += addDetailItem("Part Number", ((m.Manufacturer && m.Manufacturer != 'Undefined')?(m.Manufacturer + ', '):'') + m.PartNumber, s); }
623 + if (m.Capacity) { x += addDetailItem("Kapacita / Rychlost", format("{0} Mb, {1} Mhz", (m.Capacity / 1024 / 1024), m.Speed), s); }
624 + if (m.PartNumber) { x += addDetailItem("Číslo dílu", ((m.Manufacturer && m.Manufacturer != 'Undefined')?(m.Manufacturer + ', '):'') + m.PartNumber, s); }
625 x += '</div>';
626 }
627 x += '</table><br />';
@@ -703,11 +699,11 @@
699 case 'getnetworkinfo': {
700 if ((currentNode._id == message.nodeid) && (xxdialogMode == 2) && (xxdialogTag == 'if' + message.nodeid)) {
701 if (message.netif == null) {
706 - QH('d2netinfo', "No network interface information available for this device.");
702 + QH('d2netinfo', "Žádné informace k tomuto síťovému rozhraní.");
703 } else {
704 var x = '<div class=dialogText>';
705
710 - if (currentNode.lastconnect) { x += addHtmlValue2("Last agent connection", printDateTime(new Date(currentNode.lastconnect))); }
706 + if (currentNode.lastconnect) { x += addHtmlValue2("Poslední připojení agenta", printDateTime(new Date(currentNode.lastconnect))); }
707 if (currentNode.lastaddr) {
708 var splitip = currentNode.lastaddr.split(':');
709 if (splitip.length > 2) {
@@ -716,9 +712,9 @@
712 } else {
713 // IPv4
714 if (isPrivateIP(currentNode.lastaddr)) {
719 - x += addHtmlValue2("Poslední adresa agenta", splitip[0] + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
715 + x += addHtmlValue2("Poslední adresa agenta", splitip[0] + ' <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
716 } else {
721 - x += addHtmlValue2("Poslední adresa agenta", '<a href="https://iplocation.com/?ip=' + splitip[0] + '" rel="noreferrer noopener" target="MeshIPLoopup">' + splitip[0] + '</a> <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
717 + x += addHtmlValue2("Poslední adresa agenta", '<a href="https://iplocation.com/?ip=' + splitip[0] + '" rel="noreferrer noopener" target="MeshIPLoopup">' + splitip[0] + '</a> <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
718 }
719 }
720 }
@@ -731,9 +727,9 @@
727 if (net.desc) { x += addHtmlValue2("Popis", EscapeHtml(net.desc).replace('(R)', '&reg;').replace('(r)', '&reg;')); }
728 if (net.dnssuffix) { x += addHtmlValue2("DNS suffix", EscapeHtml(net.dnssuffix) + ' <img src="images/link4.png" title="' + "Zkopírovat jméno do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.dnssuffix) + '\") width=10 height=10>'); }
729 if (net.mac) { x += addHtmlValue2("MAC adresa", '<a href="https://dnslytics.com/mac-address-lookup/' + net.mac.substring(0, 6) + '" rel="noreferrer noopener" target="MeshMACLoopup">' + EscapeHtml(net.mac.toLowerCase()) + '</a> <img src="images/link4.png" title="' + "Kopírovat MAC adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.mac.toLowerCase()) + '\") width=10 height=10>'); }
734 - if (net.v4addr) { x += addHtmlValue2("IPv4 address", EscapeHtml(net.v4addr) + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4addr) + '\") width=10 height=10>'); }
735 - if (net.v4mask) { x += addHtmlValue2("IPv4 mask", EscapeHtml(net.v4mask) + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4mask) + '\") width=10 height=10>'); }
736 - if (net.v4gateway) { x += addHtmlValue2("IPv4 gateway", EscapeHtml(net.v4gateway) + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4gateway) + '\") width=10 height=10>'); }
730 + if (net.v4addr) { x += addHtmlValue2("IPv4 adresa", EscapeHtml(net.v4addr) + ' <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4addr) + '\") width=10 height=10>'); }
731 + if (net.v4mask) { x += addHtmlValue2("IPv4 maska", EscapeHtml(net.v4mask) + ' <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4mask) + '\") width=10 height=10>'); }
732 + if (net.v4gateway) { x += addHtmlValue2("IPv4 brána", EscapeHtml(net.v4gateway) + ' <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4gateway) + '\") width=10 height=10>'); }
733 if (net.gatewaymac) { x += addHtmlValue2("MAC brány", '<a href="https://dnslytics.com/mac-address-lookup/' + net.gatewaymac.substring(0, 6) + '" rel="noreferrer noopener" target="MeshMACLoopup">' + EscapeHtml(net.gatewaymac.toLowerCase()) + '</a> <img src="images/link4.png" title="' + "Kopírovat MAC adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.gatewaymac.toLowerCase()) + '\") width=10 height=10>'); }
734 }
735 x += '</div>';
@@ -745,15 +741,15 @@
741 case 'serverversion': {
742 if ((xxdialogMode == 2) && (xxdialogTag == 'MeshCentralServerUpdate')) {
743 var x = '<div class=dialogText>';
748 - if (!message.current) { message.current = "Unknown"; }
749 - if (!message.latest) { message.latest = "Unknown"; }
750 - x += addHtmlValue2("Current Version", '<b>' + EscapeHtml(message.current) + '</b>');
751 - x += addHtmlValue2("Latest Version", '<b>' + EscapeHtml(message.latest) + '</b>');
744 + if (!message.current) { message.current = "Neznámý"; }
745 + if (!message.latest) { message.latest = "Neznámý"; }
746 + x += addHtmlValue2("Aktuální verze", '<b>' + EscapeHtml(message.current) + '</b>');
747 + x += addHtmlValue2("Poslední verze", '<b>' + EscapeHtml(message.latest) + '</b>');
748 x += '</div>';
749 if ((message.latest.indexOf('.') == -1) || (message.current == message.latest) || ((features & 2048) == 0)) {
754 - setDialogMode(2, "MeshCentral Version", 1, null, x);
750 + setDialogMode(2, "MeshCentral verze", 1, null, x);
751 } else {
756 - setDialogMode(2, "MeshCentral Version", 3, server_showVersionDlgEx, x + '<br /><label><input id=d2updateCheck type=checkbox onclick=server_showVersionDlgUpdate() /> ' + "Check and click OK to start server self-update." + '</label>');
752 + setDialogMode(2, "MeshCentral verze", 3, server_showVersionDlgEx, x + '<br /><label><input id=d2updateCheck type=checkbox onclick=server_showVersionDlgUpdate() /> ' + "Zatrhni a klikni na OK pro automatickou aktializaci serveru. " + '</label>');
753 server_showVersionDlgUpdate();
754 }
755 }
@@ -762,10 +758,10 @@
758 case 'servererrors': {
759 if ((xxdialogMode == 2) && (xxdialogTag == 'MeshCentralServerErrors')) {
760 if (message.data == null) {
765 - setDialogMode(2, "MeshCentral Server Errors", 1, null, "Server has no error log.");
761 + setDialogMode(2, "MeshCentral Serverové chyby", 1, null, "Server nemá žádný chybový log.");
762 } else {
763 var x = '<div class="dialogText dialogTextLog"><pre id=d2ServerErrorsLogPre>' + message.data + '<pre></div>';
768 - setDialogMode(2, "MeshCentral Server Errors", 3, server_showErrorsDlgEx, x + '<br /><div style=float:right><img src=images/link4.png height=10 width=10 title="' + "Download error log" + '" style=cursor:pointer onclick=d2CopyServerErrorsToClip()></div><div><label><input id=d2updateCheck type=checkbox onclick=server_showVersionDlgUpdate() /> ' + "Check and click OK to clear error log." + '</label></div>');
764 + setDialogMode(2, "MeshCentral Serverové chyby", 3, server_showErrorsDlgEx, x + '<br /><div style=float:right><img src=images/link4.png height=10 width=10 title="' + "Stáhnout chybový log" + '" style=cursor:pointer onclick=d2CopyServerErrorsToClip()></div><div><label><input id=d2updateCheck type=checkbox onclick=server_showVersionDlgUpdate() /> ' + "Zatrhni a klikni na OK pro vymazaní chybového logu." + '</label></div>');
765 server_showVersionDlgUpdate();
766 }
767 }
@@ -816,7 +812,7 @@
812 var secret = message.secret;
813 if (secret.length == 52) { secret = secret.split(/(.............)/).filter(Boolean).join(' '); }
814 else if (secret.length == 32) { secret = secret.split(/(....)/).filter(Boolean).join(' '); secret = secret.substring(0, 20) + '<br/>' + secret.substring(20) }
819 - QH('d2optinfo', '<table style=width:380px><tr><td style=vertical-align:top>' + "Install <a href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\" rel=\"noreferrer noopener\" target=_blank>Google Authenticator</a> or a compatible application and scan the barcode, use <a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank> this link</a> or enter the secret. Then, enter the current 6 digit token below to activate 2-Step login." + '<br /><br />Secret<br /><tt id=d2optsecret secret=\"' + message.secret + '\" style=font-size:12px>' + secret + '</tt><br /><br /></td><td style=width:1px;vertical-align:top><a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank><div id="qrcode"></div></a></td><tr><td colspan=2 style="text-align:center;border-top:1px solid black"><br />' + "Enter the token here for 2-step login:" + ' <input type=text onkeypress=\"return (event.keyCode == 8) || (event.charCode >= 48 && event.charCode <= 57)\" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text></td></table>');
815 + QH('d2optinfo', '<table style=width:380px><tr><td style=vertical-align:top>' + "Nainstalujte si <a href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\" rel=\"noreferrer noopener\" target=_blank>Google Authenticator</a> nebo kompatibilní aplikaci a naskenujte kód, použijte <a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank> tento odkaz</a> nebo vložte secret. Pak vložte aktuální 6 číselný token pro aktivaci 2-faktorového přihlašování." + '<br /><br />Secret<br /><tt id=d2optsecret secret=\"' + message.secret + '\" style=font-size:12px>' + secret + '</tt><br /><br /></td><td style=width:1px;vertical-align:top><a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank><div id="qrcode"></div></a></td><tr><td colspan=2 style="text-align:center;border-top:1px solid black"><br />' + "Zadejte token pro 2-faktorové přihlášení:" + ' <input type=text onkeypress=\"return (event.keyCode == 8) || (event.charCode >= 48 && event.charCode <= 57)\" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text></td></table>');
816 new QRCode(Q('qrcode'), { text: message.url, width: 128, height: 128, colorDark: '#000000', colorLight: '#EEE', correctLevel: QRCode.CorrectLevel.H });
817 QV('idx_dlgOkButton', true);
818 QE('idx_dlgOkButton', false);
@@ -826,17 +822,17 @@
822 }
823 case 'otpauth-setup': {
824 if (xxdialogMode) return;
829 - setDialogMode(2, "Authenticator App", 1, null, message.success ? ('<b style=color:green>' + "Authenticator app activation successful." + '</b> ' + "You will now need a valid token to login again.") : ('<b style=color:red>' + "aktivace 2-faktorového přihlašování selhalo." + '</b> ' + "Clear the secret from the application and try again. You only have a few minutes to enter the proper code."));
825 + setDialogMode(2, "Aplikace pro autentizaci", 1, null, message.success ? ('<b style=color:green>' + "Aktivace autentizační aplikace úspěšná." + '</b> ' + "Budete potřebovat platný token k novému přihlášení.") : ('<b style=color:red>' + "aktivace 2-faktorového přihlašování selhalo." + '</b> ' + "Vymaž tajemství z aplikace a zkus to znovu. Máš na zadání správného kódu jen pár minut."));
826 break;
827 }
828 case 'otpauth-clear': {
829 if (xxdialogMode) return;
834 - setDialogMode(2, "Authenticator App", 1, null, message.success ? ('<b>' + "Authenticator application removed." + '</b> ' + "You can reactivate this feature at any time.") : ('<b style=color:red>' + "odstranění 2-faktorového přihlašování selhalo." + '</b> ' + "Zkusit znovu."));
830 + setDialogMode(2, "Aplikace pro autentizaci", 1, null, message.success ? ('<b>' + "Autentizační aplikace odstraněna." + '</b> ' + "Tuto funkci můžete kdykoli znovu aktivovat.") : ('<b style=color:red>' + "odstranění 2-faktorového přihlašování selhalo." + '</b> ' + "Zkusit znovu."));
831 break;
832 }
833 case 'otpauth-getpasswords': {
834 if (xxdialogMode) return;
839 - var x = "One time tokens can be used as secondary authentication. Generate a set, print them and keep them in a safe place.";
835 + var x = "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ě.";
836 x += '<div style="border-radius:6px;border: 2px dashed #888;width:100%;margin-top:8px"><div style="padding:8px;font-family:Arial, Helvetica, sans-serif;font-size:20px;font-weight:bold"><table class=selecttext style=width:100%;text-align:center>';
837 if (message.passwords) {
838 var j = 0, clipb = '';
@@ -853,17 +849,17 @@
849 }
850 }
851 } else {
856 - x += '<tr><td>' + "No Active Tokens";
852 + x += '<tr><td>' + "Žádné aktivní tokeny";
853 }
854 x += '</table></div></div><br />';
859 - x += '<div><input type=button value=' + "Close" + ' onclick=setDialogMode(0) style=float:right></input>';
855 + x += '<div><input type=button value=' + "Zavřít" + ' onclick=setDialogMode(0) style=float:right></input>';
856 x += '<input type=button value="' + "Generovat nové tokeny" + '" onclick="account_manageOtp(1);"></input>';
857 if (message.passwords != null) {
862 - x += '<input type=button value="' + "Clear Tokens" + '" onclick="account_manageOtp(2);"></input>';
863 - x += '&nbsp;<img src=images/link4.png height=10 width=10 title="' + "Copy valid codes to clipboard" + '" style=cursor:pointer onclick=copyTextToClip2("' + encodeURIComponent(clipb) + '")>';
858 + x += '<input type=button value="' + "Vymazat tokeny" + '" onclick="account_manageOtp(2);"></input>';
859 + x += '&nbsp;<img src=images/link4.png height=10 width=10 title="' + "Kopírovat platné kódy do schránky" + '" style=cursor:pointer onclick=copyTextToClip2("' + encodeURIComponent(clipb) + '")>';
860 }
861 x += '</div><br />';
866 - setDialogMode(2, "Manage Backup Codes", 8, null, x, 'otpauth-manage');
862 + setDialogMode(2, "Spravovat záložní kódy", 8, null, x, 'otpauth-manage');
863 break;
864 }
865 case 'otp-hkey-get': {
@@ -881,7 +877,7 @@
877 x += start + '<tr style=text-align:center><td>' + "Žádný klíč není zkonfigurován" + end;
878 }
879 x += '</div>';
884 - x += '<div><input type=button value="' + "Close" + '" onclick=setDialogMode(0) style=float:right></input>';
880 + x += '<div><input type=button value="' + "Zavřít" + '" onclick=setDialogMode(0) style=float:right></input>';
881 if ((features & 0x00020000) != 0) { x += '<input id=d2addkey3 type=button value="' + "Přidat klíč" + '" onclick="account_addhkey(3);"></input>'; }
882 if ((features & 0x00004000) != 0) { x += '<input id=d2addkey2 type=button value="' + "Přidat YubiKey&reg; OTP" + '" onclick="account_addhkey(2);"></input>'; }
883 x += '</div><br />';
@@ -893,7 +889,7 @@
889 if (message.result) {
890 meshserver.send({ action: 'otp-hkey-get' }); // Success, ask for the full list of keys.
891 } else {
896 - setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, '<br />' + "Error, Unable to add key." + '<br /><br />');
892 + setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, '<br />' + "Chyba, nelze přidat klíč." + '<br /><br />');
893 }
894 break;
895 }
@@ -902,13 +898,13 @@
898 if (message.result == true) {
899 meshserver.send({ action: 'otp-hkey-get' }); // Success, ask for the full list of keys.
900 } else {
905 - setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, '<br />' + "ERROR: Unable to add key." + '<br /><br />', 'otpauth-hardware-manage');
901 + setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, '<br />' + "CHYBA: nelze přidat klíč." + '<br /><br />', 'otpauth-hardware-manage');
902 }
903 break;
904 }
905 case 'webauthn-startregister': {
906 if (xxdialogMode && (xxdialogTag != 'otpauth-hardware-manage')) return;
911 - var x = "Press the key button now." + '<br /><br /><div style=width:100%;text-align:center><img width=120 height=117 src="images/hardware-keypress-120.png" /></div><input id=dp1keyname style=display:none value=' + message.name + ' />';
907 + var x = "Stiskni klávesu." + '<br /><br /><div style=width:100%;text-align:center><img width=120 height=117 src="images/hardware-keypress-120.png" /></div><input id=dp1keyname style=display:none value=' + message.name + ' />';
908 setDialogMode(2, "Přidat bezpečnostní klíč", 2, null, x);
909
910 var publicKey = message.request;
@@ -922,7 +918,7 @@
918 setDialogMode(0);
919 }, function(error) {
920 // Error
925 - setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, "ERROR: " + error);
921 + setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, "CHYBA: " + error);
922 });
923 break;
924 }
@@ -1230,15 +1226,15 @@
1226 // Show the notification
1227 if (n & 2) {
1228 if (((node.conn & 1) == 0) && ((message.event.conn & 1) != 0)) { addNotification({ text: "Agent připojen", title: node.name, icon: node.icon, nodeid: node._id }); }
1233 - if (((node.conn & 2) == 0) && ((message.event.conn & 2) != 0)) { addNotification({ text: "Intel AMT detected", title: node.name, icon: node.icon, nodeid: node._id }); }
1234 - if (((node.conn & 4) == 0) && ((message.event.conn & 4) != 0)) { addNotification({ text: "Intel AMT CIRA connected", title: node.name, icon: node.icon, nodeid: node._id }); }
1229 + if (((node.conn & 2) == 0) && ((message.event.conn & 2) != 0)) { addNotification({ text: "Intel AMT detekováno", title: node.name, icon: node.icon, nodeid: node._id }); }
1230 + if (((node.conn & 4) == 0) && ((message.event.conn & 4) != 0)) { addNotification({ text: "Intel AMT CIRA připojeno", title: node.name, icon: node.icon, nodeid: node._id }); }
1231 if (((node.conn & 16) == 0) && ((message.event.conn & 16) != 0)) { addNotification({ text: "MQTT připojeno", title: node.name, icon: node.icon, nodeid: node._id }); }
1232 }
1233 if (n & 4) {
1234 if (((node.conn & 1) != 0) && ((message.event.conn & 1) == 0)) { addNotification({ text: "Agent odpojen", title: node.name, icon: node.icon, nodeid: node._id }); }
1239 - if (((node.conn & 2) != 0) && ((message.event.conn & 2) == 0)) { addNotification({ text: "Intel AMT not detected", title: node.name, icon: node.icon, nodeid: node._id }); }
1240 - if (((node.conn & 4) != 0) && ((message.event.conn & 4) == 0)) { addNotification({ text: "Intel AMT CIRA disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
1241 - if (((node.conn & 16) != 0) && ((message.event.conn & 16) == 0)) { addNotification({ text: "MQTT disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
1235 + if (((node.conn & 2) != 0) && ((message.event.conn & 2) == 0)) { addNotification({ text: "Intel AMT není detekováno", title: node.name, icon: node.icon, nodeid: node._id }); }
1236 + if (((node.conn & 4) != 0) && ((message.event.conn & 4) == 0)) { addNotification({ text: "Intel AMT CIRA odpojeno", title: node.name, icon: node.icon, nodeid: node._id }); }
1237 + if (((node.conn & 16) != 0) && ((message.event.conn & 16) == 0)) { addNotification({ text: "MQTT odpojeno", title: node.name, icon: node.icon, nodeid: node._id }); }
1238 }
1239
1240 // Change the node connection state
@@ -1276,7 +1272,7 @@
1272 var x = '';
1273 if (message.event.results == null) {
1274 // The scan could not occur because of an error. Likely the user range was invalid.
1279 - x = '<div style=width:100%;text-align:center;margin-top:12px>' + "Nelze skenovat tento rozsah." + '</div><div style=width:100%;text-align:center;margin-top:12px;color:gray;line-height:1.5>' + "Sample IP range values<br />192.168.0.100<br />192.168.1.0/24<br />192.167.0.1-192.168.0.100" + '</div>';
1275 + x = '<div style=width:100%;text-align:center;margin-top:12px>' + "Nelze skenovat tento rozsah." + '</div><div style=width:100%;text-align:center;margin-top:12px;color:gray;line-height:1.5>' + "Příklad rozsahu IP adres<br />192.168.0.100<br />192.168.1.0/24<br />192.167.0.1-192.168.0.100" + '</div>';
1276 } else {
1277 // Go thru all the results and populate the dialog box
1278 amtScanResults = message.event.results;
@@ -1367,7 +1363,7 @@
1363 }
1364 case 'getmqttlogin': {
1365 if ((currentNode == null) || (currentNode._id != message.nodeid) || (xxdialogMode != null)) return;
1370 - var x = "These settings can be used to connect MQTT for this device." + '<br /><br />';
1366 + var x = "Tyto nastavení mohou být použity pro MQTT tohoto zařízení." + '<br /><br />';
1367 delete message.action;
1368 delete message.nodeid;
1369 x += '<textarea readonly=readonly style=width:100%;resize:none;height:100px;overflow:auto;font-size:12px readonly>' + JSON.stringify(message) + '</textarea>';
@@ -1380,7 +1376,7 @@
1376 x += addHtmlValue('MPS Cert Hash', '<input style=width:230px readonly value="' + message.mpsCertHash + '" />');
1377 }
1378 */
1383 - setDialogMode(2, "MQTT Credentials", 1, null, x);
1379 + setDialogMode(2, "MQTT pověření", 1, null, x);
1380 break;
1381 }
1382 case 'stopped': { // Server is stopping.
@@ -1403,11 +1399,11 @@
1399 var vSelect = '<select id="lastPluginVersion">';
1400 message.info.versionList.forEach(function(v) { vSelect += '<option value="' + v.zipball_url + '">' + v.name + '</option>'; });
1401 vSelect += '</select>';
1406 - setDialogMode(2, "Plugin Action", 3, pluginActionEx, format('Select the version to downgrade the plugin: {0}', message.info.name) + '<hr />' + vSelect + '<hr />' + "Please be aware that downgrading is not recommended. Please only do so in the event that a recent upgrade has broken something." + + '<input id="lastPluginAct" type="hidden" value="downgrade" /><input id="lastPluginId" type="hidden" value="' + message.info.id + '" />');
1402 + setDialogMode(2, "Akce pluginu", 3, pluginActionEx, format('Select the version to downgrade the plugin: {0}', message.info.name) + '<hr />' + vSelect + '<hr />' + "Mějte prosím na paměti, že downgrade se nedoporučuje. Učiňte tak pouze v případě, že nedávná aktualizace něco poškodila." + + '<input id="lastPluginAct" type="hidden" value="downgrade" /><input id="lastPluginId" type="hidden" value="' + message.info.id + '" />');
1403 break;
1404 }
1405 case 'pluginError': {
1410 - setDialogMode(2, "Plugin Error", 1, null, message.msg);
1406 + setDialogMode(2, "Chyba pluginu", 1, null, message.msg);
1407 break;
1408 }
1409 case 'plugin': {
@@ -1640,7 +1636,7 @@
1636 deviceBoxWidth = 301 + Math.floor((totalDeviceViewWidth - (deviceBoxWidth * 301)) / deviceBoxWidth);
1637
1638 if ((view == 2) && (sort != 3)) {
1643 - r += '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "User" + '<th style=color:gray;width:120px>' + "Adresa" + '<th style=color:gray;width:100px>' + "Connectivity"; //<th style=color:gray;width:100px>State';
1639 + r += '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "Uživatel" + '<th style=color:gray;width:120px>' + "Adresa" + '<th style=color:gray;width:100px>' + "Konektivita"; //<th style=color:gray;width:100px>State';
1640 }
1641
1642 // Go thru the list of nodes and display them
@@ -1703,10 +1699,10 @@
1699 var states = [];
1700 if (node.conn) {
1701 if ((node.conn & 1) != 0) { states.push('<span title=\"' + "Agent je připojen a připraven." + '\">' + "Agent" + '</span>'); }
1706 - if ((node.conn & 2) != 0) { states.push('<span title=\"' + "Intel&reg; AMT CIRA is connected and ready for use." + '\">' + "CIRA" + '</span>'); }
1707 - else if ((node.conn & 4) != 0) { states.push('<span title=\"' + "Intel&reg; AMT is routable." + '\">' + "AMT" + '</span>'); }
1708 - if ((node.conn & 8) != 0) { states.push('<span title=\"' + "Mesh agent is reachable using another agent as relay." + '\">' + "Relay" + '</span>'); }
1709 - if ((node.conn & 16) != 0) { states.push('<span title=\"' + "MQTT connection to the device is active." + '\">' + "MQTT" + '</span>'); }
1702 + if ((node.conn & 2) != 0) { states.push('<span title=\"' + "Intel&reg; AMT CIRA je připojeno a připraveno k použití." + '\">' + "CIRA" + '</span>'); }
1703 + else if ((node.conn & 4) != 0) { states.push('<span title=\"' + "Intel&reg; AMT je směrovatelný." + '\">' + "AMT" + '</span>'); }
1704 + if ((node.conn & 8) != 0) { states.push('<span title=\"' + "Mesh agent je dostupný pomocí přesměrování přes jiného agenta." + '\">' + "Přesměrování" + '</span>'); }
1705 + if ((node.conn & 16) != 0) { states.push('<span title=\"' + "MQTT připojení na zařízení je aktivní." + '\">' + "MQTT" + '</span>'); }
1706 }
1707 r += '<tr><td><div id=devs class=bar18 tabindex=0 onmouseover=devMouseHover(this,1) onmouseout=devMouseHover(this,0) style=height:18px;width:100%;font-size:medium onkeypress="if (event.key==\'Enter\') gotoDevice(\'' + node._id + '\',null,null,event)">';
1708 r += '<div class=deviceBarCheckbox><input class="' + node.meshid + ' DeviceCheckbox" onclick=p1updateInfo() value=devid_' + node._id + ' type=checkbox></div>';
@@ -1751,7 +1747,7 @@
1747
1748 // If displaying devices by groups, sort the group names and display the devices.
1749 if (sort == 3) {
1754 - if (view == 2) { r = '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "User" + '<th style=color:gray;width:120px>' + "Adresa" + '<th style=color:gray;width:100px>' + "Connectivity"; }
1750 + if (view == 2) { r = '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "Uživatel" + '<th style=color:gray;width:120px>' + "Adresa" + '<th style=color:gray;width:100px>' + "Konektivita"; }
1751
1752 var groupNames = [];
1753 for (var i in groups) { groupNames.push(i); }
@@ -1769,9 +1765,9 @@
1765 // If there is nothing to display, explain the problem
1766 if ((r == '') && (meshcount > 0) && (Q('SearchInput').value != '')) {
1767 if (sort == 3) {
1772 - r = '<div style="margin:30px">' + "No devices are included in any groups, click on a device\'s \"Groups\" to add to a group." + '</div>';
1768 + r = '<div style="margin:30px">' + "Žádné zařízení není v žádné skupině, klikněte na Vytvořit nebo Přidat skupinu zařízení." + '</div>';
1769 } else {
1774 - r = '<div style="margin:30px">' + "No devices matching this search." + '</div>';
1770 + r = '<div style="margin:30px">' + "Žádné zařízení nevyhovuje tomuto vyhledávání." + '</div>';
1771 }
1772 }
1773
@@ -1789,7 +1785,7 @@
1785 r += getMeshActions(mesh, meshrights);
1786 r += '</span></td></tr><tr>';
1787 if (mesh.mtype == 1) {
1792 - r += '<td><div style=padding:10px><i>' + "No Intel&reg; AMT devices in this mesh";
1788 + r += '<td><div style=padding:10px><i>' + "Žádné Intel&reg; AMT zařízení";
1789 if ((meshrights & 4) != 0) { r += ', <a href=# style=cursor:pointer onclick=\'return addDeviceToMesh(\"' + mesh._id + '\")\'>' + "přidat" + '</a>'; }
1790 }
1791 if (mesh.mtype == 2) {
@@ -1811,8 +1807,8 @@
1807 r += '<a href=# onclick="return account_createMesh()" title=\"' + "Vytvořit novou skupinu zařízení." + '\" style=cursor:pointer>' + "Přidat skupinu zařízení" + '</a>&nbsp';
1808 }
1809 if ((userinfo.siteadmin == 0xFFFFFFFF) || ((userinfo.siteadmin & 128) == 0)) {
1814 - r += '<a href=# onclick=\'return p10showMeshCmdDialog(0)\' style=cursor:pointer title=\"' + "Download MeshCmd, a command line tool that performs many functions." + '\">' + "MeshCmd" + '</a>&nbsp';
1815 - if (navigator.platform.toLowerCase() == 'win32') { r += '<a href=# onclick=\'return p10showMeshRouterDialog()\' style=cursor:pointer title=\"' + "Download MeshCentral Router, a TCP port mapping tool." + '\">' + "Router" + '</a>&nbsp'; }
1810 + r += '<a href=# onclick=\'return p10showMeshCmdDialog(0)\' style=cursor:pointer title=\"' + "Stáhnout MeshCmd, což je nástroj pro příkazovou řásku s mnoha funkcemi." + '\">' + "MeshCmd" + '</a>&nbsp';
1811 + if (navigator.platform.toLowerCase() == 'win32') { r += '<a href=# onclick=\'return p10showMeshRouterDialog()\' style=cursor:pointer title=\"' + "Stáhnout MeshCentral, což je TCP nástroj pro mapování portů." + '\">' + "Router" + '</a>&nbsp'; }
1812 }
1813 r += '</div><br/>';
1814
@@ -1845,7 +1841,7 @@
1841 desk.m.CanvasId.setAttribute('style', 'background-color:black;width:' + vsize.x + 'px;height:' + vsize.y + 'px');
1842 Q('xkvmid_' + shortid).appendChild(desk.m.CanvasId);
1843 delete desk.xxdelete;
1848 - QH('skvmid_' + shortid, ["Odpojeno", "Connecting...", "Setup...", '', ''][((desk.m.State == null)?desk.m.state:desk.m.State)]);
1844 + QH('skvmid_' + shortid, ["Odpojeno", "Připojování...", "Nastavení...", '', ''][((desk.m.State == null)?desk.m.state:desk.m.State)]);
1845 } else {
1846 var node = getNodeFromId(id);
1847 if ((desktopNode == node) && (desktop != null)) { // Check if the main desktop is this device, if it is, use that.
@@ -1858,7 +1854,7 @@
1854 c.removeAttribute('onmouseup');
1855 c.removeAttribute('onmousemove');
1856 Q('xkvmid_' + shortid).appendChild(c);
1861 - QH('skvmid_' + shortid, ["Odpojeno", "Connecting...", "Setup...", '', ''][((desktop.m.State == null)?desktop.m.state:desktop.m.State)]);
1857 + QH('skvmid_' + shortid, ["Odpojeno", "Připojování...", "Nastavení...", '', ''][((desktop.m.State == null)?desktop.m.state:desktop.m.State)]);
1858 if (desktop.m.SendCompressionLevel) { desktop.m.SendCompressionLevel(1, multidesktopsettings.quality, multidesktopsettings.scaling, multidesktopsettings.framerate); }
1859 desktop.shortid = shortid;
1860 desktop.onStateChanged = onMultiDesktopStateChange;
@@ -1909,7 +1905,7 @@
1905
1906 function getUserShortStr(node) {
1907 if (node == null || node.users == null || node.users.length == 0) return '';
1912 - if (node.users.length > 1) { return '<span title="' + EscapeHtml(node.users.join(', ')) + '">' + nobreak(format("{0} users", node.users.length)) + '</span>'; }
1908 + if (node.users.length > 1) { return '<span title="' + EscapeHtml(node.users.join(', ')) + '">' + nobreak(format("{0} uživatelů", node.users.length)) + '</span>'; }
1909 var u = node.users[0], su = u, i = u.indexOf('\\');
1910 if (i > 0) { su = u.substring(i + 1); }
1911 su = EscapeHtml(su);
@@ -1933,14 +1929,14 @@
1929 }
1930 }
1931 }
1936 - if (count > 8) { setDialogMode(2, "Connect All", 3, function() { connectAllKvmFunction(true); }, format("Are you sure you want to connect to {0} devices?", count)); return; }
1932 + if (count > 8) { setDialogMode(2, "Připojit vše", 3, function() { connectAllKvmFunction(true); }, format("Opravdu připojit k {0} zařízení?", count)); return; }
1933 }
1934
1935 // Perform connect all
1936 for (var i in nodes) { if (multiDesktop[nodes[i]._id] == null) { toggleKvmDevice(nodes[i]._id); } }
1937 }
1938 function disconnectAllKvmFunction() { if (xxdialogMode) return false; for (var nodeid in multiDesktop) { multiDesktop[nodeid].Stop(); } multiDesktop = {}; }
1943 - function onMultiDesktopStateChange(desk, state) { try { QH('skvmid_' + desk.shortid, ["Odpojeno", "Connecting...", "Setup...", '', ''][state]); } catch (ex) {} }
1939 + function onMultiDesktopStateChange(desk, state) { try { QH('skvmid_' + desk.shortid, ["Odpojeno", "Připojování...", "Nastavení...", '', ''][state]); } catch (ex) {} }
1940
1941 function showMultiDesktopSettings() {
1942 QV('d7amtkvm', false);
@@ -1948,7 +1944,7 @@
1944 d7bitmapquality.value = multidesktopsettings.quality;
1945 d7bitmapscaling.value = multidesktopsettings.scaling;
1946 if (multidesktopsettings.framerate) { d7framelimiter.value = multidesktopsettings.framerate; } else { d7framelimiter.value = 1000; }
1951 - setDialogMode(7, "Remote Desktop Settings", 3, showMultiDesktopSettingsChanged);
1947 + setDialogMode(7, "Nastavení vzdálené plochy", 3, showMultiDesktopSettingsChanged);
1948 }
1949
1950 function showMultiDesktopSettingsChanged() {
@@ -2014,12 +2010,12 @@
2010 if (mesh.mtype == 1) {
2011 if ((features & 1) == 0) { // If not WAN-Only
2012 r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v lokální síti." + '\" onclick=\'return addDeviceToMesh(\"' + mesh._id + '\")\'>' + "Přidat lokálně" + '</a>';
2017 - r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Přidat nový Intel&reg; AMT počítač pomocí skenu lokální sítě." + '\" onclick=\'return addAmtScanToMesh(\"' + mesh._id + '\")\'>' + "Scan Network" + '</a>';
2013 + r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Přidat nový Intel&reg; AMT počítač pomocí skenu lokální sítě." + '\" onclick=\'return addAmtScanToMesh(\"' + mesh._id + '\")\'>' + "Skenovat síť" + '</a>';
2014 }
2015 if (mesh.amt && (mesh.amt.type == 2)) { // CCM activation
2020 - r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Perform Intel AMT client control mode (CCM) activation." + '\" onclick=\'return showCcmActivation(\"' + mesh._id + '\")\'>' + "Aktivace" + '</a>';
2016 + r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Provedení Intel AMT client control mode (CCM) aktivace." + '\" onclick=\'return showCcmActivation(\"' + mesh._id + '\")\'>' + "Aktivace" + '</a>';
2017 } else if (mesh.amt && (mesh.amt.type == 3) && ((features & 0x00100000) != 0)) { // ACM activation
2022 - r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Perform Intel AMT admin control mode (ACM) activation." + '\" onclick=\'return showAcmActivation(\"' + mesh._id + '\")\'>' + "Aktivace" + '</a>';
2018 + r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Provedení Intel AMT admin control mode (ACM) aktivace." + '\" onclick=\'return showAcmActivation(\"' + mesh._id + '\")\'>' + "Aktivace" + '</a>';
2019 }
2020 }
2021 if (mesh.mtype == 2) {
@@ -2033,8 +2029,8 @@
2029 if (xxdialogMode) return false;
2030 var mesh = meshes[meshid];
2031 var x = format("Přidat nové Intel&reg; AMT zařízení do skupiny \"{0}\".", EscapeHtml(mesh.name)) + '<br /><br />';
2036 - x += addHtmlValue("Device Name", '<input id=dp1devicename style=width:230px maxlength=32 autocomplete=off onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2037 - x += addHtmlValue("Hostname", '<input id=dp1hostname style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "Same as device name" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2032 + x += addHtmlValue("Název zařízení", '<input id=dp1devicename style=width:230px maxlength=32 autocomplete=off onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2033 + x += addHtmlValue("Hostname", '<input id=dp1hostname style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "Stejné jako jméno zařízení" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2034 x += addHtmlValue("Uživatel", '<input id=dp1username style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "admin" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2035 x += addHtmlValue("Heslo", '<input id=dp1password type=password style=width:230px autocomplete=off maxlength=32 onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2036 x += addHtmlValue("Bezpečnost", '<select id=dp1tls style=width:236px><option value=0>' + "Žádné TLS" + '</option><option value=1>' + "TLS vyžadováno" + '</option></select>');
@@ -2057,9 +2053,9 @@
2053 var portStr = (serverinfo.port == 80) ? '' : (':' + serverinfo.port);
2054 url = 'ws://' + servername + portStr + domainUrl;
2055 }
2060 - var x = format("Perform Intel AMT client control mode (CCM) activation to group \"{0}\" by downloading the MeshCMD tool and running it like this:", EscapeHtml(mesh.name)) + '<br /><br />';
2056 + var x = format("Proveďte aktivaci Intel AMT client control mode (CCM) pro skupinu \"{0}\" stažením MeshCMD nástroje a spuštěním takto:", EscapeHtml(mesh.name)) + '<br /><br />';
2057 x += '<textarea readonly=readonly style=width:100%;resize:none;height:100px;overflow:auto;font-size:12px readonly>meshcmd amtccm --url ' + url + 'amtactivate?id=' + meshid.split('/')[2] + ' --serverhttpshash ' + serverinfo.tlshash + '</textarea>';
2062 - setDialogMode(2, "Intel&reg; AMT activation", 9, null, x);
2058 + setDialogMode(2, "Intel&reg; AMT aktivace", 9, null, x);
2059 Q('idx_dlgOkButton').focus();
2060 return false;
2061 }
@@ -2077,12 +2073,12 @@
2073 var portStr = (serverinfo.port == 80) ? '' : (':' + serverinfo.port);
2074 url = 'ws://' + servername + portStr + domainUrl;
2075 }
2080 - var x = format("Perform Intel AMT admin control mode (ACM) activation to group \"{0}\" by downloading the MeshCMD tool and running it like this:", EscapeHtml(mesh.name)) + '<br /><br />';
2076 + var x = format("Proveďte aktivaci Intel AMT admin control mode (ACM) pro skupinu \"{0}\" stažením MeshCMD nástroje a spuštěním takto:", EscapeHtml(mesh.name)) + '<br /><br />';
2077 x += '<textarea readonly=readonly style=width:100%;resize:none;height:100px;overflow:auto;font-size:12px readonly>meshcmd amtacm --url ' + url + 'amtactivate?id=' + meshid.split('/')[2] + ' --serverhttpshash ' + serverinfo.tlshash + '</textarea>';
2078 if (serverinfo.amtAcmFqdn != null) {
2083 - x += ('<div style=margin-top:8px>' + "Intel AMT will need to be set with a Trusted FQDN in MEBx or have a wired LAN on the network:" + ' <b>' + serverinfo.amtAcmFqdn.join(', ') + '</b></div>');
2079 + x += ('<div style=margin-top:8px>' + "Intel AMT bude muset být nastaven s důvěryhodným FQDN v MEBx nebo bude třeba drátová LAN:" + ' <b>' + serverinfo.amtAcmFqdn.join(', ') + '</b></div>');
2080 }
2085 - setDialogMode(2, "Intel&reg; AMT activation", 9, null, x);
2081 + setDialogMode(2, "Intel&reg; AMT aktivace", 9, null, x);
2082 Q('idx_dlgOkButton').focus();
2083 return false;
2084 }
@@ -2090,10 +2086,10 @@
2086 // Display the Intel AMT scanning dialog box
2087 function addAmtScanToMesh(meshid) {
2088 if (xxdialogMode) return false;
2093 - var x = "Enter a range of IP addresses to scan for Intel AMT devices." + '<br /><br />';
2094 - x += addHtmlValue("IP Range", '<input id=dp1range style=width:184px value="192.168.1.0/24" onkeyup=addAmtScanToMeshKeyUp(event) /><input id=dp1rangebutton type=button value=\"' + "Skenovat" + '\" onclick=addAmtScanToMeshButton()></input>');
2089 + var x = "Zadejte rozsah IP adres pro vyhledání Intel AMT zařízení." + '<br /><br />';
2090 + x += addHtmlValue("IP rozsah", '<input id=dp1range style=width:184px value="192.168.1.0/24" onkeyup=addAmtScanToMeshKeyUp(event) /><input id=dp1rangebutton type=button value=\"' + "Skenovat" + '\" onclick=addAmtScanToMeshButton()></input>');
2091 x += '<div id=dp1results style="width:100%;height:200px;background-color:white;border:1px gray solid;overflow-y:scroll"></div>';
2096 - setDialogMode(2, "Scan for Intel&reg; AMT devices", 3, addAmtScanToMeshEx, x, meshid);
2092 + setDialogMode(2, "Hledat Intel&reg; AMT zařízení", 3, addAmtScanToMeshEx, x, meshid);
2093 QE('idx_dlgOkButton', false);
2094 QH('dp1results', '<div style=width:100%;text-align:center;margin-top:12px;color:gray;line-height:1.5>Sample IP range values<br />192.168.0.100<br />192.168.1.0/24<br />192.167.0.1-192.168.0.100</div>');
2095 focusTextBox('dp1range');
@@ -2120,7 +2116,7 @@
2116 function addAmtScanToMeshButton() {
2117 QE('dp1range', false);
2118 QE('dp1rangebutton', false);
2123 - QH('dp1results', '<div style=width:100%;text-align:center;margin-top:12px>' + "Scanning..." + '</div>');
2119 + QH('dp1results', '<div style=width:100%;text-align:center;margin-top:12px>' + "Skenuji..." + '</div>');
2120 meshserver.send({ action: 'scanamtdevice', range: Q('dp1range').value });
2121 }
2122
@@ -2138,24 +2134,24 @@
2134 // Replace non alphabetic characters (@ and $) with 'X' because MPS username cannot accept it.
2135 var meshidx = meshid.split('/')[2].replace(/\@/g, 'X').replace(/\$/g, 'X');
2136
2141 - var y = '<select id=dlgAddCiraSel onclick=dlgAddCiraSelClick() style=width:230px><option value=0>' + "MeshCommander Script" + '</option><option value=1>' + "Manual Username/Password" + '</option>';
2142 - if ((features & 16) == 0) { y += ('<option value=2>' + "Manual Certificate" + '</option></select>'); } // Only display this option if Intel AMT CIRA with Mutual-Auth is allowed.
2137 + var y = '<select id=dlgAddCiraSel onclick=dlgAddCiraSelClick() style=width:230px><option value=0>' + "MeshCommander skript" + '</option><option value=1>' + "Vlastní přihlašovací jméno/heslo" + '</option>';
2138 + if ((features & 16) == 0) { y += ('<option value=2>' + "Vlastní certifikát" + '</option></select>'); } // Only display this option if Intel AMT CIRA with Mutual-Auth is allowed.
2139
2140 var x = '';
2145 - x += addHtmlValue("Setup", y);
2141 + x += addHtmlValue("Nastavení", y);
2142 x += '<hr>';
2143
2144 // Setup CIRA using a MeshCommander script (Pretty Simple)
2149 - x += '<div id=dlgAddCira0>' + format("To add a new Intel&reg; AMT device to device group \"{0}\" with CIRA, download the following script files and use <a href='http://meshcommander.com' rel='noreferrer noopener' target='_blank'>MeshCommander</a> to run the script to configure computers.", EscapeHtml(mesh.name)) + '<br /><br />';
2145 + x += '<div id=dlgAddCira0>' + format("Pro přidání nového Intel&reg; AMT zařízení do skupiny \"{0}\" s CIRA, si musíte stáhnout následující skript <a href='http://meshcommander.com' rel='noreferrer noopener' target='_blank'>MeshCommander</a> a spustit pro konfiguraci počítačů.", EscapeHtml(mesh.name)) + '<br /><br />';
2146 //x += addHtmlValue('Setup CIRA', '<a href="mescript.ashx?type=1&meshid=' + meshidx.substring(0, 16) + '" download>cira_setup.mescript</a>');
2151 - x += addHtmlValue("Setup CIRA", '<a href="mescript.ashx?type=1&meshid=' + meshid + '" download>cira_setup.mescript</a>');
2152 - x += addHtmlValue("Cleanup CIRA", '<a href="mescript.ashx?type=2" download>cira_clean.mescript</a>');
2147 + x += addHtmlValue("Nastavení CIRA", '<a href="mescript.ashx?type=1&meshid=' + meshid + '" download>cira_setup.mescript</a>');
2148 + x += addHtmlValue("Vymazat CIRA", '<a href="mescript.ashx?type=2" download>cira_clean.mescript</a>');
2149 x += '</div>';
2150
2151 // Setup CIRA with user/pass authentication (Somewhat difficult)
2156 - x += '<div id=dlgAddCira1 style=display:none>' + format("To add a new Intel&reg; AMT device to device group \"{0}\" with CIRA, load the following certificate as trusted root within Intel AMT", EscapeHtml(mesh.name));
2152 + x += '<div id=dlgAddCira1 style=display:none>' + format("Pro přidání nového Intel&reg; AMT zařízení do skupiny \"{0}\" s CIRA, nahrajte následující certifikát mezi důvěryhodné kořenové v rámci Intel AMT", EscapeHtml(mesh.name));
2153 if (serverinfo.mpspass) { x += (" a autentizovat se na serveru pomocí tohoto uživatelského jména a hesla." + '<br /><br />'); } else { x += (" a autentizovat se na serveru pomocí tohoto uživatelského jména a hesla." + '<br /><br />'); }
2158 - x += addHtmlValue("Root Certificate", '<a href=\"' + "MeshServerRootCert.cer" + '\" download>' + "Root Certificate File" + '</a>');
2154 + x += addHtmlValue("Root certifikát", '<a href=\"' + "MeshServerRootCert.cer" + '\" download>' + "Root certifikát soubor" + '</a>');
2155 x += addHtmlValue("Uživatel", '<input style=width:230px readonly value="' + meshidx.substring(0, 16) + '" />');
2156 if (serverinfo.mpspass) { x += addHtmlValue("Heslo", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpspass) + '" />'); }
2157 if (serverinfo != null) { x += addHtmlValue("MPS Server", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
@@ -2163,8 +2159,8 @@
2159
2160 // Setup CIRA with certificate authentication (Really difficult, only if TLS offload is not used)
2161 if ((features & 16) == 0) {
2166 - x += '<div id=dlgAddCira2 style=display:none>' + format("To add a new Intel&reg; AMT device to device group \"{0}\" with CIRA, load the following certificate as trusted root within Intel AMT, authenticate using a client certificate with the following common name and connect to the following server.", EscapeHtml(mesh.name)) + '<br /><br />';
2167 - x += addHtmlValue("Root Certificate", '<a href="MeshServerRootCert.cer" download>' + "Root Certificate File" + '</a>');
2162 + x += '<div id=dlgAddCira2 style=display:none>' + format("Pro přidání nového Intel&reg; AMT zařízení do skupiny \"{0}\" s CIRA, nahrajte následující certifikát mezi důvěryhodné kořenové v rámci Intel AMT, tímto klientským certifikátem se pak bude autentizovat s následujícím běžným názvem a připojí se k následujícímu serveru.", EscapeHtml(mesh.name)) + '<br /><br />';
2163 + x += addHtmlValue("Root certifikát", '<a href="MeshServerRootCert.cer" download>' + "Root certifikát soubor" + '</a>');
2164 x += addHtmlValue("Organizace", '<input style=width:230px readonly value="' + meshidx + '" />');
2165 if (serverinfo != null) { x += addHtmlValue("MPS Server", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
2166 x += '</div>';
@@ -2194,21 +2190,21 @@
2190 if (xxdialogMode) return false;
2191 var x = '', mesh = meshes[meshid];
2192 if (features & 64) {
2197 - x += addHtmlValue("Invitation Type", '<select id=d2InviteType onchange=d2ChangedInviteType() style=width:236px><option value=0>Link invitation</option><option value=1>Email invitation</option></select>') + '<hr />';
2193 + x += addHtmlValue("Typ pozvání", '<select id=d2InviteType onchange=d2ChangedInviteType() style=width:236px><option value=0>Link invitation</option><option value=1>Email invitation</option></select>') + '<hr />';
2194 x += '<div id=emailInviteDiv style=display:none>' + format("Pozvěte někoho k instalaci agenta. Emailem bude zaslán link s adresou agenta pro skupinu \"{0}\".", EscapeHtml(mesh.name)) + '<br /><br />';
2195 x += addHtmlValue("Jméno (volitelné)", '<input id=agentInviteName value="" style=width:230px maxlength=64 />');
2196 x += addHtmlValue("Email", '<input id=agentInviteEmail style=width:230px placeholder=\"' + "example@email.com" + '\" onkeyup=validateAgentInvite()></input>');
2201 - x += addHtmlValue("Operační systém", '<select id=agentInviteNameOs onchange=d2ChangedInviteType() style=width:236px><option value=4>' + "Odeslat odkaz na instalaci" + '</option><option value=0 selected>' + "Any supported" + '</option><option value=1>' + "Windows only" + '</option><option value=3>' + "Apple MacOS only" + '</option><option value=2>' + "Linux only" + '</option></select>');
2197 + x += addHtmlValue("Operační systém", '<select id=agentInviteNameOs onchange=d2ChangedInviteType() style=width:236px><option value=4>' + "Odeslat odkaz na instalaci" + '</option><option value=0 selected>' + "Všechny podporovány" + '</option><option value=1>' + "Windows pouze" + '</option><option value=3>' + "Apple MacOS pouze" + '</option><option value=2>' + "Linux pouze" + '</option></select>');
2198 x += '<div id=d2agentexpirediv>';
2203 - x += addHtmlValue("Platnost linku", '<select id=agentInviteExpire style=width:236px><option value=1>' + "1 hodina" + '</option><option value=8>' + "8 hodin" + '</option><option value=24>' + "1 den" + '</option><option value=168>' + "1 týden" + '</option><option value=5040>' + "1 měsíc" + '</option><option value=0>' + "Bez limitu" + '</option></select>');
2199 + x += addHtmlValue("Platnost odkazu", '<select id=agentInviteExpire style=width:236px><option value=1>' + "1 hodina" + '</option><option value=8>' + "8 hodin" + '</option><option value=24>' + "1 den" + '</option><option value=168>' + "1 týden" + '</option><option value=5040>' + "1 měsíc" + '</option><option value=0>' + "Bez limitu" + '</option></select>');
2200 x += '</div>';
2205 - x += addHtmlValue("Typ instalace", '<select id=agentInviteType style=width:236px><option value=0>' + "Background and interactive" + '</option><option value=2>' + "Background only" + '</option><option value=1>' + "Interactive only" + '</option></select>');
2206 - x += addHtmlValue("Message" + '<br />' + "(volitelné)", '<textarea id=agentInviteMessage value="" style=width:230px;height:100px;resize:none maxlength=1024 /></textarea>');
2201 + x += addHtmlValue("Typ instalace", '<select id=agentInviteType style=width:236px><option value=0>' + "Na pozadí a interaktivní" + '</option><option value=2>' + "Pouze na pozadí" + '</option><option value=1>' + "Pouze interaktivní" + '</option></select>');
2202 + x += addHtmlValue("Zpráva" + '<br />' + "(volitelné)", '<textarea id=agentInviteMessage value="" style=width:230px;height:100px;resize:none maxlength=1024 /></textarea>');
2203 x += '</div>';
2204 }
2205 x += '<div id=urlInviteDiv>' + format("Pozvěte někoho k instalaci agenta pomocí sdíleného odkazu. Tento link obsahuje instrukce pro instalaci do skupiny \"{0}\". Link je veřejný a protistrana nepotřebuje žádný účet na tomto serveru.", EscapeHtml(mesh.name)) + '<br /><br />';
2210 - x += addHtmlValue("Platnost linku", '<select id=d2inviteExpire style=width:236px onchange=d2RequestInvitationLink()><option value=1>' + "1 hodina" + '</option><option value=8>' + "8 hodin" + '</option><option value=24>' + "1 den" + '</option><option value=168>' + "1 týden" + '</option><option value=5040>' + "1 měsíc" + '</option><option value=0>' + "Bez limitu" + '</option></select>');
2211 - x += '<div id=agentInvitationLinkDiv style="text-align:center;font-size:large;margin:16px;display:none"><a href=# id=agentInvitationLink target="_blank" style=cursor:pointer></a> <img src=images/link4.png height=10 width=10 title=\"' + "Copy link to clipboard" + '\" style=cursor:pointer onclick=d2CopyInviteToClip()></div></div>';
2206 + x += addHtmlValue("Platnost odkazu", '<select id=d2inviteExpire style=width:236px onchange=d2RequestInvitationLink()><option value=1>' + "1 hodina" + '</option><option value=8>' + "8 hodin" + '</option><option value=24>' + "1 den" + '</option><option value=168>' + "1 týden" + '</option><option value=5040>' + "1 měsíc" + '</option><option value=0>' + "Bez limitu" + '</option></select>');
2207 + x += '<div id=agentInvitationLinkDiv style="text-align:center;font-size:large;margin:16px;display:none"><a href=# id=agentInvitationLink target="_blank" style=cursor:pointer></a> <img src=images/link4.png height=10 width=10 title=\"' + "Kopírovat odkaz do schránky" + '\" style=cursor:pointer onclick=d2CopyInviteToClip()></div></div>';
2208 setDialogMode(2, "Pozvat", 3, performAgentInvite, x, meshid);
2209 if (features & 64) { Q('d2InviteType').focus(); d2ChangedInviteType(); } else { Q('d2inviteExpire').focus(); validateAgentInvite(); }
2210 d2RequestInvitationLink();
@@ -2247,9 +2243,9 @@
2243 function addAgentToMesh(meshid) {
2244 if (xxdialogMode) return false;
2245 var mesh = meshes[meshid], x = '', installType = 0;
2250 - x += addHtmlValue("Operační systém", '<select id=aginsSelect onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Windows" + '</option><option value=1>' + "Linux / BSD" + '</option><option value=2>' + "Apple MacOS" + '</option><option value=3>' + "Windows (UnInstall)" + '</option><option value=4>' + "Linux / BSD (UnInstall)" + '</option></select>');
2246 + x += addHtmlValue("Operační systém", '<select id=aginsSelect onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Windows" + '</option><option value=1>' + "Linux / BSD" + '</option><option value=2>' + "Apple MacOS" + '</option><option value=3>' + "Windows (Odinstalace)" + '</option><option value=4>' + "Linux / BSD (Odinstalace)" + '</option></select>');
2247 x += '<div id=aginsTypeDiv>';
2252 - x += addHtmlValue("Typ instalace", '<select id=aginsType onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Background & interactive" + '</option><option value=2>' + "Background only" + '</option><option value=1>' + "Interactive only" + '</option></select>');
2248 + x += addHtmlValue("Typ instalace", '<select id=aginsType onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Na pozadí & interaktivní" + '</option><option value=2>' + "Pouze na pozadí" + '</option><option value=1>' + "Pouze interaktivní" + '</option></select>');
2249 x += '</div><hr>';
2250
2251 // \/:*?"<>|
@@ -2261,7 +2257,7 @@
2257 x += '<div id=agins_windows>' + format("Pro přidání nového zařízení do skupiny \"{0}\", si stáhněte agenta a nainstalujte na zařízení, které chcete spravovat. Tento agent již obsahuje veškeré informace pro připojení na server.", EscapeHtml(mesh.name)) + '<br /><br />';
2258 x += addHtmlValue("Mesh Agent", '<a id=aginsw32lnk href="meshagents?id=3&meshid=' + meshid.split('/')[2] + '&installflags=0" download onclick="setDialogMode(0)" title=\"' + "32bit verze MeshAgent" + '\">' + "Windows (.exe)" + '</a> <img src=images/link4.png height=10 width=10 title="Copy Windows 32bit agent URL to clipboard" style=cursor:pointer onclick=copyAgentUrl("meshagents?id=3&meshid=' + meshid.split('/')[2] + '&installflags=",1)>');
2259 x += addHtmlValue("Mesh Agent", '<a id=aginsw64lnk href="meshagents?id=4&meshid=' + meshid.split('/')[2] + '&installflags=0" download onclick="setDialogMode(0)" title=\"' + "64bit verze MeshAgent" + '\">' + "Windows x64 (.exe)" + '</a> <img src=images/link4.png height=10 width=10 title="Copy Windows 64bit agent URL to clipboard" style=cursor:pointer onclick=copyAgentUrl("meshagents?id=4&meshid=' + meshid.split('/')[2] + '&installflags=",1)>');
2264 - if (debugmode > 0) { x += addHtmlValue("Settings File", '<a id=aginswmshlnk href="meshsettings?id=' + meshid.split('/')[2] + '&installflags=0" rel="noreferrer noopener" target="_blank">' + format("{0} settings (.msh)", EscapeHtml(mesh.name)) + '</a>'); }
2260 + if (debugmode > 0) { x += addHtmlValue("Soubor nastavení", '<a id=aginswmshlnk href="meshsettings?id=' + meshid.split('/')[2] + '&installflags=0" rel="noreferrer noopener" target="_blank">' + format("{0} nastavení (.msh)", EscapeHtml(mesh.name)) + '</a>'); }
2261 x += '</div>';
2262
2263 // Linux agent install
@@ -2281,7 +2277,7 @@
2277 x += '</div>';
2278
2279 // Linux agent uninstall
2284 - x += '<div id=agins_linux_un style=display:none>' + "To remove a mesh agent, run the following command. Root credentials will be needed." + '<br />';
2280 + x += '<div id=agins_linux_un style=display:none>' + "Chcete-li odebrat agenta, spusťte následující příkaz. Root přihlašovací údaje budou nutné." + '<br />';
2281 x += '<textarea id=agins_linux_area_un rows=2 cols=20 readonly=readonly style=width:100%;resize:none;height:120px;overflow:scroll;font-size:12px readonly></textarea>';
2282 x += '</div>';
2283
@@ -2373,18 +2369,18 @@
2369 deviceHeaderTotal = 0;
2370 }
2371
2376 - var powerStateStrings = ['', '<span title=\"' + "Device is powered on." + '\">' + "Zapnuto" + '</span>', '<span title=\"' + "Device is in sleep state (S1)." + '\">' + "Sleeping" + '</span>', '<span title=\"' + "Device is in sleep state (S2)." + '\">' + "Sleeping" + '</span>', '<span title=\"' + "Zařízení je v hlubokém spánku (S3)." + '\">' + "Deep Sleep" + '</span>', '<span title=\"' + "Device is in hibernating state (S4)." + '\">' + "Hibernating" + '</span>', '<span title=\"' + "Zařízení je vypnuto (S5)." + '\">' + "Soft-Off" + '</span>', '<span title=\"' + "Zařízení je detekováno, ale nelze zjistit stav." + '\">' + "Present" + '</span>'];
2377 - var powerStateStrings2 = ['', "Zařízení je zapnuto", "Zařízení je ve stavu spánku (S1)", "Device is in sleep state (S2)", "Zařízení je v hlubokém spánku (S3)", "Device is hibernating (S4)", "Device is in soft-off state (S5)", "Device is present, but power state cannot be determined"];
2372 + var powerStateStrings = ['', '<span title=\"' + "Zařízení je zapnuto." + '\">' + "Zapnuto" + '</span>', '<span title=\"' + "Zařízení je ve stavu spánku (S1)." + '\">' + "Spí" + '</span>', '<span title=\"' + "Zařízení je ve stavu spánku (S2)." + '\">' + "Spí" + '</span>', '<span title=\"' + "Zařízení je v hlubokém spánku (S3)." + '\">' + "Hluboký spánek" + '</span>', '<span title=\"' + "Zařízení je hibernováno (S4)." + '\">' + "Hibernuji" + '</span>', '<span title=\"' + "Zařízení je vypnuto (S5)." + '\">' + "Soft-Off" + '</span>', '<span title=\"' + "Zařízení je detekováno, ale nelze zjistit stav." + '\">' + "Současnost" + '</span>'];
2373 + var 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í"];
2374 var powerColorTable = ['pwsTransparent', 'pwsBlack', 'pwsBlue', 'pwsBlue2', 'pwsLightblue', 'pwsBlueviolet', 'pwsDarkgreen', 'pwsLightseagreen', 'pwsLightseagreen2'];
2375 function NodeStateStr(node) {
2376 var states = [];
2377 if (node.state > 0 && node.state < powerStatetable.length) state.push(powerStatetable[node.state]);
2378 if (node.conn) {
2379 if ((node.conn & 1) != 0) { states.push('<span title=\"' + "Agent je připojen a připraven." + '\">' + "Agent" + '</span>'); }
2384 - if ((node.conn & 2) != 0) { states.push('<span title=\"' + "Intel&reg; AMT CIRA is connected and ready for use." + '\">' + "CIRA" + '</span>'); }
2385 - else if ((node.conn & 4) != 0) { states.push('<span title=\"' + "Intel&reg; AMT is routable." + '\">' + "AMT" + '</span>'); }
2386 - if ((node.conn & 8) != 0) { states.push('<span title=\"' + "Mesh agent is reachable using another agent as relay." + '\">' + "Relay" + '</span>'); }
2387 - if ((node.conn & 16) != 0) { states.push('<span title=\"' + "MQTT connection to the device is active." + '\">' + "MQTT" + '</span>'); }
2380 + if ((node.conn & 2) != 0) { states.push('<span title=\"' + "Intel&reg; AMT CIRA je připojeno a připraveno k použití." + '\">' + "CIRA" + '</span>'); }
2381 + else if ((node.conn & 4) != 0) { states.push('<span title=\"' + "Intel&reg; AMT je směrovatelný." + '\">' + "AMT" + '</span>'); }
2382 + if ((node.conn & 8) != 0) { states.push('<span title=\"' + "Mesh agent je dostupný pomocí přesměrování přes jiného agenta." + '\">' + "Přesměrování" + '</span>'); }
2383 + if ((node.conn & 16) != 0) { states.push('<span title=\"' + "MQTT připojení na zařízení je aktivní." + '\">' + "MQTT" + '</span>'); }
2384 }
2385 if ((node.pwr != null) && (node.pwr != 0)) { states.push(powerStateStrings[node.pwr]); }
2386 return states.join(', ');
@@ -2397,7 +2393,7 @@
2393
2394 function PowerStateStr2(x) {
2395 if ((x != 0) && (x < powerStatetable.length)) return powerStatetable[x];
2400 - return "Unknown";
2396 + return "Neznámý";
2397 }
2398
2399 function selectallButtonFunction() {
@@ -2428,7 +2424,7 @@
2424
2425 // Check if any of the selected devices have a MQTT connection active
2426 if (features & 0x00400000) {
2431 - for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { addedOptions += '<option value=103>' + "Send MQTT Message" + '</option>'; break; } }
2427 + for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { addedOptions += '<option value=103>' + "Poslat MQTT zprávu" + '</option>'; break; } }
2428 }
2429
2430 // Display the "Uninstall Agent" option if allowed and we selected connected devices.
@@ -2436,11 +2432,11 @@
2432 var node = getNodeFromId(nodeids[i]);
2433 var mesh = meshes[node.meshid];
2434 var meshrights = mesh.links[userinfo._id].rights;
2439 - if (((node.conn & 1) != 0) && ((meshrights & 32768) != 0)) { addedOptions += '<option value=104>' + "Uninstall Agent" + '</option>'; break; }
2435 + if (((node.conn & 1) != 0) && ((meshrights & 32768) != 0)) { addedOptions += '<option value=104>' + "Odinstalovat agenta" + '</option>'; break; }
2436 }
2437
2442 - var x = "Select an operation to perform on all selected devices. Actions will be performed only with proper rights." + '<br /><br />';
2443 - x += addHtmlValue("Operace", '<select id=d2groupop><option value=100>' + "Probudit zařízení" + '</option><option value=4>' + "Sleep devices" + '</option><option value=3>' + "Reset zařízení" + '</option><option value=2>' + "Vypnout zařízení" + '</option><option value=102>' + "Přesunout do skupiny zařízení" + '</option>' + addedOptions + '<option value=101>' + "Delete devices" + '</option></select>');
2438 + var x = "Vyberte operaci, kterou chcete provést na všech vybraných zařízeních. Akce budou prováděny pouze s náležitými právy." + '<br /><br />';
2439 + x += addHtmlValue("Operace", '<select id=d2groupop><option value=100>' + "Probudit zařízení" + '</option><option value=4>' + "Spící zařízení" + '</option><option value=3>' + "Reset zařízení" + '</option><option value=2>' + "Vypnout zařízení" + '</option><option value=102>' + "Přesunout do skupiny zařízení" + '</option>' + addedOptions + '<option value=101>' + "Smazat zařízení" + '</option></select>');
2440 setDialogMode(2, "Akce skupiny", 3, groupActionFunctionEx, x);
2441 }
2442
@@ -2459,7 +2455,7 @@
2455 } else if (op == 101) {
2456 // Group delete, ask for confirmation
2457 var x = "Potvrdit smázání vybraných zařízení?" + '<br /><br />';
2462 - x += '<label><input id=d2check type=checkbox onchange=d2groupActionFunctionDelEx() />' + "Confirm" + '</label>';
2458 + x += '<label><input id=d2check type=checkbox onchange=d2groupActionFunctionDelEx() />' + "Potvrdit" + '</label>';
2459 setDialogMode(2, "Smazat nody", 3, groupActionFunctionDelEx, x);
2460 QE('idx_dlgOkButton', false);
2461 } else if (op == 102) {
@@ -2703,15 +2699,15 @@
2699 var map_cm_popup = new ol.Overlay({ element: Q('xmap-info-window'), positioning: 'bottom-center', stopEvent: false });
2700
2701 // Edit Marker item
2706 - var map_cm_editMarker = { text: "Modify node location", callback: function (obj) { modifyMarkerloc(obj.data); } };
2702 + var map_cm_editMarker = { text: "Upravit umístění nódu", callback: function (obj) { modifyMarkerloc(obj.data); } };
2703
2704 // Clear Marker item
2709 - var map_cm_clearMarker = { text: "Remove node location", callback: function (obj) {
2705 + var map_cm_clearMarker = { text: "Odstranit umístění nódu", callback: function (obj) {
2706 meshserver.send({ action: 'changedevice', nodeid: obj.data.a, userloc: [] }); // Clear the user position marker
2707 }};
2708
2709 // Save Marker item
2714 - var map_cm_saveMarker = { text: "Save node location", callback: function (obj) { saveMarkerloc(obj.data); } };
2710 + var map_cm_saveMarker = { text: "Uložit umístění nódu", callback: function (obj) { saveMarkerloc(obj.data); } };
2711
2712 // Build a context menu for a feature
2713 var map_cm_nodemenu_items = [
@@ -2720,16 +2716,16 @@
2716 { text: "Terminál", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 12); } } },
2717 { text: "Intel&reg; AMT", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 14); } } },
2718 '-',
2723 - { text: "Zoom-in to extent", callback: function(obj) { var coords = obj.data.getGeometry().getCoordinates(); zoomToLocation(coords, 19); } },
2724 - { text: "Zoom-out to extent", callback: function(obj) { var coords = obj.data.getGeometry().getCoordinates(); zoomToLocation(coords, 2); } }
2719 + { text: "Přiblížit", callback: function(obj) { var coords = obj.data.getGeometry().getCoordinates(); zoomToLocation(coords, 19); } },
2720 + { text: "Oddálit", callback: function(obj) { var coords = obj.data.getGeometry().getCoordinates(); zoomToLocation(coords, 2); } }
2721 ];
2722
2723 // Context menu for clicks other than on feature
2724 var contextmenu_items = [
2725 { text: "Obnovit", callback: function () { refreshMap(true, true); } },
2730 - { text: "Zoom to fit extent", callback: function () { zoomToFitExtent(); } },
2731 - { text: "Center map here", callback: function(obj) { xxmap.mapView.animate({ center: obj.coordinate } ); } },
2732 - { text: "Place node here", callback: function(obj) { placeNode(obj.coordinate); } }
2726 + { text: "Přiblížit na míru", callback: function () { zoomToFitExtent(); } },
2727 + { text: "Vycentrovat mapu zde", callback: function(obj) { xxmap.mapView.animate({ center: obj.coordinate } ); } },
2728 + { text: "Umístit nód zde", callback: function(obj) { placeNode(obj.coordinate); } }
2729 ];
2730
2731 function stringToIntHash(str) {
@@ -2986,7 +2982,7 @@
2982 }
2983 }
2984 map_cm_nodemenu_items.forEach(function (item){
2989 - if (item.text == "Zoom-in to extent" || item.text == "Zoom-out to extent") { item.data = feature; }
2985 + if (item.text == "Přiblížit" || item.text == "Oddálit") { item.data = feature; }
2986 else { if (item != '-') { item.data = feature.getId(); } }
2987 });
2988 xxmap.contextmenu.extend(map_cm_nodemenu_items);
@@ -3059,12 +3055,12 @@
3055 // Called When Place a node option is clicked from context menu
3056 function placeNode(coords) {
3057 if (xxdialogMode) return;
3062 - var x = '<div style=margin-bottom:6px><label for=selectnode-search>' + "Search" + '</label>&nbsp&nbsp<input type=text placeholder="' + "Název zařízení" + '" id="selectnode-search" onchange=onPlaceNodeInputChange() onkeyup=onPlaceNodeInputChange() autocomplete=off style=width:120px></div><div id=placenode style="height:254px;overflow-y:auto;width:100%;margin:12px 1px 4px 1px;"><div id=noNodesMapPlace style=text-align:center;width:100%;display:none>' + "Žádné zařízení nalezeno." + '</div>';
3058 + var x = '<div style=margin-bottom:6px><label for=selectnode-search>' + "Hledat" + '</label>&nbsp&nbsp<input type=text placeholder="' + "Název zařízení" + '" id="selectnode-search" onchange=onPlaceNodeInputChange() onkeyup=onPlaceNodeInputChange() autocomplete=off style=width:120px></div><div id=placenode style="height:254px;overflow-y:auto;width:100%;margin:12px 1px 4px 1px;"><div id=noNodesMapPlace style=text-align:center;width:100%;display:none>' + "Žádné zařízení nalezeno." + '</div>';
3059 for (var i in nodes) {
3060 x += '<div class=noselect id=' + nodes[i]._id + '-rowid onclick=selectNodeToPlace(event,\''+ nodes[i]._id +'\') style=background-color:lightgray;margin-bottom:4px;border-radius:2px><input name=PlaceMapDeviceCheckbox id=' + nodes[i]._id + '-checkid type=checkbox style=width:16px;display:inline />';
3061 x += '<div class=j' + nodes[i].icon + ' style=width:16px;height:16px;margin-top:2px;margin-right:4px;display:inline-block></div><div style=width:16px;display:inline>' + nodes[i].name + '</div></div>';
3062 }
3067 - setDialogMode(2, "Select a node to place", 3, placeNodeEx, x + '</div>', coords);
3063 + setDialogMode(2, "Vybrat kam umístit nód", 3, placeNodeEx, x + '</div>', coords);
3064 onPlaceNodeInputChange();
3065 }
3066
@@ -3216,7 +3212,7 @@
3212 var extent = [ parseFloat(dataInfo[0].boundingbox[2]), parseFloat(dataInfo[0].boundingbox[0]), parseFloat(dataInfo[0].boundingbox[3]), parseFloat(dataInfo[0].boundingbox[1]) ];
3213 zoomToExtent(extent);
3214 } else {
3219 - if (count == 0) { x = '<div style=width:200px>' + "No location found." + '<div>'; }
3215 + if (count == 0) { x = '<div style=width:200px>' + "Žádné umístění." + '<div>'; }
3216 QV('xmapSearchResultsDlg', true);
3217 }
3218 QH('xmapSearchResults', x);
@@ -3283,10 +3279,10 @@
3279 function getCurrentNode() { return currentNode; };
3280 function gotoDevice(nodeid, panel, refresh, event) {
3281 // Remind the user to verify the email address
3286 - if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until a email address is verified. This is required for password recovery. Go to the \"My Account\" tab to change and verify an email address."); return; }
3282 + if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { 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."); return; }
3283
3284 // Remind the user to add two factor authentication
3289 - if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the \"My Account\" tab and look at the \"Account Security\" section."); return; }
3285 + if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { 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\"."); return; }
3286
3287 if (event && (event.shiftKey == true)) {
3288 // Open the device in a different tab
@@ -3304,7 +3300,7 @@
3300 // Add node name
3301 var nname = EscapeHtml(node.name);
3302 if (nname.length == 0) { nname = '<i>' + "Nic" + '</i>'; }
3307 - if (((meshrights & 4) != 0) && ((!mesh.flags) || ((mesh.flags & 2) == 0))) { nname = '<span tabindex=0 title=\"' + "Click here to edit the server-side device name" + '\" onclick=showEditNodeValueDialog(0) onkeyup="if (event.key == \'Enter\') showEditNodeValueDialog(0)" style=cursor:pointer>' + nname + ' <img class=hoverButton src="images/link5.png" /></span>'; }
3303 + if (((meshrights & 4) != 0) && ((!mesh.flags) || ((mesh.flags & 2) == 0))) { nname = '<span tabindex=0 title=\"' + "Klikni zde pro úpravu server-side jména zařízení" + '\" onclick=showEditNodeValueDialog(0) onkeyup="if (event.key == \'Enter\') showEditNodeValueDialog(0)" style=cursor:pointer>' + nname + ' <img class=hoverButton src="images/link5.png" /></span>'; }
3304 nname += '<span style=color:#AAA;font-size:small> - ' + EscapeHtml(mesh.name) + '</span>';
3305 QH('p10deviceName', nname);
3306 QH('p11deviceName', nname);
@@ -3320,7 +3316,7 @@
3316 var x = '<table style=width:100%>';
3317
3318 // Attribute: Mesh
3323 - x += addDeviceAttribute('<span title=\"' + "The name of the device group this computer belong to." + '\">' + "Skupina" + '</span>', '<a href=# title=\"' + "The name of the device group this computer belong to" + '\" onclick=gotoMesh("' + node.meshid + '") style=cursor:pointer>' + EscapeHtml(meshes[node.meshid].name) + '</a>');
3319 + x += addDeviceAttribute('<span title=\"' + "Název skupiny zařízení, do které tento počítač patří." + '\">' + "Skupina" + '</span>', '<a href=# title=\"' + "Název skupiny zařízení, do které tento počítač patří" + '\" onclick=gotoMesh("' + node.meshid + '") style=cursor:pointer>' + EscapeHtml(meshes[node.meshid].name) + '</a>');
3320
3321 // Attribute: Name
3322 if ((node.rname != null) && (node.name != node.rname)) { x += addDeviceAttribute('<span title="The name of this computer as set in the operating system">Name</span>', '<span title="The name of this computer as set in the operating system">' + EscapeHtml(node.rname) + '</span>'); }
@@ -3347,7 +3343,7 @@
3343 }
3344
3345 // Attribute: Mesh Agent
3350 - var agentsStr = ["Unknown", "Windows 32bit console", "Windows 64bit console", "Windows 32bit service", "Windows 64bit service", "Linux 32bit", "Linux 64bit", "MIPS", "XENx86", "Android ARM", "Linux ARM", "MacOS 32bit", "Android x86", "PogoPlug ARM", "Android APK", "Linux Poky x86-32bit", "MacOS 64bit", "ChromeOS", "Linux Poky x86-64bit", "Linux NoKVM x86-32bit", "Linux NoKVM x86-64bit", "Windows MinCore console", "Windows MinCore service", "NodeJS", "ARM-Linaro", "ARMv6l / ARMv7l", "ARMv8 64bit", "ARMv6l / ARMv7l / NoKVM", "Unknown", "Unknown", "FreeBSD x86-64"];
3346 + var agentsStr = ["Neznámý", "Windows 32bit konzole", "Windows 64bit konzole", "Windows 32bit služba", "Windows 64bit služba", "Linux 32bit", "Linux 64bit", "MIPS", "XENx86", "Android ARM", "Linux ARM", "MacOS 32bit", "Android x86", "PogoPlug ARM", "Android APK", "Linux Poky x86-32bit", "MacOS 64bit", "ChromeOS", "Linux Poky x86-64bit", "Linux NoKVM x86-32bit", "Linux NoKVM x86-64bit", "Windows MinCore konzole", "Windows MinCore služba", "NodeJS", "ARM-Linaro", "ARMv6l / ARMv7l", "ARMv8 64bit", "ARMv6l / ARMv7l / NoKVM", "Neznámý", "Neznámý", "FreeBSD x86-64"];
3347 if ((node.agent != null) && (node.agent.id != null) && (node.agent.ver != null)) {
3348 var str = '';
3349 if (node.agent.id <= agentsStr.length) { str = agentsStr[node.agent.id]; } else { str = agentsStr[0]; }
@@ -3358,29 +3354,29 @@
3354 // Attribute: Intel AMT
3355 if (node.intelamt != null) {
3356 var str = '';
3361 - var provisioningStates = { 0: nobreak("Not Activated (Pre)"), 1: nobreak("Not Activated (In)"), 2: nobreak("Aktivováno") };
3362 - if (node.intelamt.ver != null && node.intelamt.state == null) { str += '<i>' + "Unknown State" + '</i>, v' + node.intelamt.ver; } else
3357 + var provisioningStates = { 0: nobreak("Neaktivováno (před)"), 1: nobreak("Neaktivováno"), 2: nobreak("Aktivováno") };
3358 + if (node.intelamt.ver != null && node.intelamt.state == null) { str += '<i>' + "Neznámý stav" + '</i>, v' + node.intelamt.ver; } else
3359
3360 if ((node.intelamt.ver == null) && (node.intelamt.state == 2)) { str += '<i>' + "Aktivováno" + '</i>'; }
3365 - else if ((node.intelamt.ver == null) || (node.intelamt.state == null)) { str += '<i>' + "Unknown Version & State" + '</i>'; }
3361 + else if ((node.intelamt.ver == null) || (node.intelamt.state == null)) { str += '<i>' + "Neznámý stav & verze" + '</i>'; }
3362 else {
3363 str += provisioningStates[node.intelamt.state];
3368 - if ((node.intelamt.state == 2) && node.intelamt.flags) { if (node.intelamt.flags & 2) { str += ' <span title=\"' + "Intel AMT is activated in Client Control Mode" + '\">' + "CCM" + '</span>'; } else if (node.intelamt.flags & 4) { str += ' <span title=\"' + "Intel AMT is activated in Admin Control Mode" + '\">' + "ACM" + '</span>'; } }
3364 + if ((node.intelamt.state == 2) && node.intelamt.flags) { if (node.intelamt.flags & 2) { str += ' <span title=\"' + "Intel AMT je aktivováno v režimu uživatele" + '\">' + "CCM" + '</span>'; } else if (node.intelamt.flags & 4) { str += ' <span title=\"' + "Intel AMT je aktivováno v režimu správce" + '\">' + "ACM" + '</span>'; } }
3365 str += (', v' + node.intelamt.ver);
3366 }
3367
3372 - if (node.intelamt.tls == 1) { str += ', <span title=\"' + "Intel AMT is setup with TLS network security" + '\">' + "TLS" + '</span>'; }
3368 + if (node.intelamt.tls == 1) { str += ', <span title=\"' + "Intel AMT je nastaveno s TLS bezpečností" + '\">' + "TLS" + '</span>'; }
3369 if (node.intelamt.state == 2) {
3370 if (node.intelamt.user == null || node.intelamt.user == '') {
3371 if ((meshrights & 4) != 0) {
3376 - str += ', <i style=color:#FF0000;cursor:pointer title=\"' + "Edit Intel&reg; AMT credentials" + '\" onclick=editDeviceAmtSettings("' + node._id + '")>' + "Žádné přihlašovací údaje" + '</i>';
3372 + str += ', <i style=color:#FF0000;cursor:pointer title=\"' + "Upravit Intel&reg; AMT pověření" + '\" onclick=editDeviceAmtSettings("' + node._id + '")>' + "Žádné přihlašovací údaje" + '</i>';
3373 } else {
3374 str += ', <i style=color:#FF0000>' + "Žádné přihlašovací údaje" + '</i>';
3375 }
3376 }
3377 str += ' ';
3378 if ((meshrights & 4) != 0) {
3383 - str += '<img src=images/link4.png height=10 width=10 title=\"' + "Edit Intel&reg; AMT credentials" + '\" style=cursor:pointer onclick=editDeviceAmtSettings("' + node._id + '")>';
3379 + str += '<img src=images/link4.png height=10 width=10 title=\"' + "Upravit Intel&reg; AMT pověření" + '\" style=cursor:pointer onclick=editDeviceAmtSettings("' + node._id + '")>';
3380 }
3381 }
3382
@@ -3397,14 +3393,14 @@
3393 if ((node.agent != null) && (node.agent.tag != null)) {
3394 var tag = EscapeHtml(node.agent.tag);
3395 if (tag.startsWith('mailto:')) { tag = '<a href="' + tag + '">' + tag.substring(7) + '</a>'; }
3400 - x += addDeviceAttribute("Agent Tag", tag);
3396 + x += addDeviceAttribute("Značka agenta", tag);
3397 }
3398 } else {
3399 // Attribute: Intel AMT Tag
3400 if ((node.intelamt != null) && (node.intelamt.tag != null)) {
3401 var tag = EscapeHtml(node.intelamt.tag);
3402 if (tag.startsWith('mailto:')) { tag = '<a href="' + tag + '">' + tag.substring(7) + '</a>'; }
3407 - x += addDeviceAttribute("Intel&reg; AMT Tag", tag);
3403 + x += addDeviceAttribute("Intel&reg; AMT značka", tag);
3404 }
3405 }
3406
@@ -3420,13 +3416,13 @@
3416 for (var i in node.av) {
3417 if (node.av[i].product) {
3418 var avx = EscapeHtml(node.av[i].product);
3423 - if (node.av[i].enabled !== true) { avx += ' - <span style=color:red>' + "Disabled" + '</span>'; }
3424 - if (node.av[i].updated !== true) { avx += ' - <span style=color:red>' + "Out of date" + '</span>'; }
3419 + if (node.av[i].enabled !== true) { avx += ' - <span style=color:red>' + "Zakázáno" + '</span>'; }
3420 + if (node.av[i].updated !== true) { avx += ' - <span style=color:red>' + "Zastaralý" + '</span>'; }
3421 if ((node.av[i].enabled == true) && (node.av[i].updated == true)) { avx += ' - <span style=color:green>' + "OK" + '</span>'; }
3422 y.push(avx);
3423 }
3424 }
3429 - x += addDeviceAttribute("Antivirus", y.join('<br />'));
3425 + x += addDeviceAttribute("Antivir", y.join('<br />'));
3426 }
3427
3428 // Active Users
@@ -3437,11 +3433,11 @@
3433 if (connectivity && connectivity > 1) {
3434 var cstate = [];
3435 if ((node.conn & 1) != 0) cstate.push('<span title=\"' + "Agent je připojen a připraven." + '\">' + "Mesh Agent" + '</span>');
3440 - if ((node.conn & 2) != 0) cstate.push('<span title=\"' + "Intel&reg; AMT CIRA is connected and ready for use." + '\">' + "Intel&reg; AMT CIRA" + '</span>');
3441 - else if ((node.conn & 4) != 0) cstate.push('<span title=\"' + "Intel&reg; AMT is routable and ready for use." + '\">' + "Intel&reg; AMT" + '</span>');
3442 - if ((node.conn & 8) != 0) cstate.push('<span title=\"' + "Mesh agent is reachable using another agent as relay." + '\">' + "Mesh Relay" + '</span>');
3443 - if ((node.conn & 16) != 0) { cstate.push('<span title=\"' + "MQTT connection to the device is active." + '\">' + "MQTT" + '</span>'); }
3444 - x += addDeviceAttribute("Connectivity", cstate.join(', '));
3436 + if ((node.conn & 2) != 0) cstate.push('<span title=\"' + "Intel&reg; AMT CIRA je připojeno a připraveno k použití." + '\">' + "Intel&reg; AMT CIRA" + '</span>');
3437 + else if ((node.conn & 4) != 0) cstate.push('<span title=\"' + "Intel&reg; AMT je směrovatelný a připraven k použití." + '\">' + "Intel&reg; AMT" + '</span>');
3438 + if ((node.conn & 8) != 0) cstate.push('<span title=\"' + "Mesh agent je dostupný pomocí přesměrování přes jiného agenta." + '\">' + "Mesh přesměrování" + '</span>');
3439 + if ((node.conn & 16) != 0) { cstate.push('<span title=\"' + "MQTT připojení na zařízení je aktivní." + '\">' + "MQTT" + '</span>'); }
3440 + x += addDeviceAttribute("Konektivita", cstate.join(', '));
3441 }
3442
3443 // Node grouping tags
@@ -3456,8 +3452,8 @@
3452 x += '</table><br />';
3453 // Show action button, only show if we have permissions 4, 8, 64
3454 if ((meshrights & 76) != 0) { x += '<input type=button value=\"' + "Akce" + '\" title=\"' + "Akce napájení" + '\" onclick=deviceActionFunction() />'; }
3459 - x += '<input type=button value=\"' + "Poznámky" + '\" title=\"' + "View notes about this device" + '\" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponent(node._id) + '") />';
3460 - x += '<input type=button value=\"' + "Log udalostí" + '\" title=\"' + "Write an event for this device" + '\" onclick=writeDeviceEvent("' + encodeURIComponent(node._id) + '") />';
3455 + x += '<input type=button value=\"' + "Poznámky" + '\" title=\"' + "Zobrazit poznámky k tomuto zařízení" + '\" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponent(node._id) + '") />';
3456 + x += '<input type=button value=\"' + "Log udalostí" + '\" title=\"' + "Napište událost pro toto zařízení" + '\" onclick=writeDeviceEvent("' + encodeURIComponent(node._id) + '") />';
3457 //if ((connectivity & 1) && (meshrights & 8) && (node.agent.id < 5)) { x += '<input type=button value=Toast title="Display a text message of the remote device" onclick=deviceToastFunction() />'; }
3458 QH('p10html', x);
3459
@@ -3468,25 +3464,25 @@
3464 x = '<div class="p10html3right">';
3465 if ((meshrights & 4) != 0) {
3466 // TODO: Show change group only if there is another mesh of the same type.
3471 - x += '&nbsp;<a href=# onclick=p10showChangeGroupDialog(["' + node._id + '"]) title=\"' + "Move this device to a different device group" + '\">' + "Změnit skupinu" + '</a>';
3472 - x += '&nbsp;<a href=# onclick=p10showDeleteNodeDialog("' + node._id + '") title=\"' + "Remove this device" + '\">' + "Smazat zařízení" + '</a>';
3467 + x += '&nbsp;<a href=# onclick=p10showChangeGroupDialog(["' + node._id + '"]) title=\"' + "Přesunout toto zařízení do jiné skupiny zařízení" + '\">' + "Změnit skupinu" + '</a>';
3468 + x += '&nbsp;<a href=# onclick=p10showDeleteNodeDialog("' + node._id + '") title=\"' + "Odstranit toto zařízení" + '\">' + "Smazat zařízení" + '</a>';
3469 }
3470 x += '</div><div class="p10html3left">';
3475 - if (mesh.mtype == 2) x += '<a href=# onclick=p10showNodeNetInfoDialog("' + node._id + '") title=\"' + "Show device network interface information" + '\">' + "Interfaces" + '</a>&nbsp;';
3476 - if (xxmap != null) x += '<a href=# onclick=p10showNodeLocationDialog("' + node._id + '") title=\"' + "Show device locations information" + '\">' + "Location" + '</a>&nbsp;';
3477 - if (((meshrights & 8) != 0) && (mesh.mtype == 2)) x += '<a href=# onclick=p10showMeshCmdDialog(1,"' + node._id + '") title=\"' + "Traffic router used to connect to a device thru this server" + '.\">' + "Router" + '</a>&nbsp;';
3471 + if (mesh.mtype == 2) x += '<a href=# onclick=p10showNodeNetInfoDialog("' + node._id + '") title=\"' + "Zobrazit informace o síťovém rozhraní zařízení" + '\">' + "Razhraní" + '</a>&nbsp;';
3472 + if (xxmap != null) x += '<a href=# onclick=p10showNodeLocationDialog("' + node._id + '") title=\"' + "Zobrazit informace o umístění zařízení" + '\">' + "Umístění" + '</a>&nbsp;';
3473 + if (((meshrights & 8) != 0) && (mesh.mtype == 2)) x += '<a href=# onclick=p10showMeshCmdDialog(1,"' + node._id + '") title=\"' + "Traffic router je použit k připojení zařízení prostřednictvím tohoto serveru" + '.\">' + "Router" + '</a>&nbsp;';
3474
3475 // RDP link, show this link only of the remote machine is Windows.
3476 if (((connectivity & 1) != 0) && (clickOnce == true) && (mesh.mtype == 2) && ((meshrights & 8) != 0)) {
3481 - if ((node.agent.id > 0) && (node.agent.id < 5)) { x += '<a href=# onclick=p10clickOnce("' + node._id + '","RDP2",3389) title=\"' + "Requires Microsoft ClickOnce support in your browser" + '.\">' + "RDP" + '</a>&nbsp;'; }
3477 + if ((node.agent.id > 0) && (node.agent.id < 5)) { x += '<a href=# onclick=p10clickOnce("' + node._id + '","RDP2",3389) title=\"' + "Vyžaduje Microsoft ClickOnce podporu v prohlížeči" + '.\">' + "RDP" + '</a>&nbsp;'; }
3478 if (node.agent.id > 4) {
3483 - x += '<a href=# onclick=p10clickOnce("' + node._id + '","PSSH",22) title=\"' + "Requires Microsoft ClickOnce support in your browser." + '\">' + "Putty" + '</a>&nbsp;';
3484 - x += '<a href=# onclick=p10clickOnce("' + node._id + '","WSCP",22) title=\"' + "Requires Microsoft ClickOnce support in your browser." + '\">' + "WinSCP" + '</a>&nbsp;';
3479 + x += '<a href=# onclick=p10clickOnce("' + node._id + '","PSSH",22) title=\"' + "Vyžaduje Microsoft ClickOnce podporu v prohlížeči." + '\">' + "Putty" + '</a>&nbsp;';
3480 + x += '<a href=# onclick=p10clickOnce("' + node._id + '","WSCP",22) title=\"' + "Vyžaduje Microsoft ClickOnce podporu v prohlížeči." + '\">' + "WinSCP" + '</a>&nbsp;';
3481 }
3482 }
3483
3484 // MQTT options
3489 - if ((meshrights == 0xFFFFFFFF) && (features & 0x00400000)) { x += '<a href=# onclick=p10showMqttLoginDialog("' + node._id + '") title=\"' + "Get MQTT login credentials for this device." + '\">' + "MQTT Login" + '</a>&nbsp;'; }
3485 + if ((meshrights == 0xFFFFFFFF) && (features & 0x00400000)) { x += '<a href=# onclick=p10showMqttLoginDialog("' + node._id + '") title=\"' + "Získat přihlašovací údaje MQTT pro toto zařízení." + '\">' + "MQTT přihlášení" + '</a>&nbsp;'; }
3486 x += '</div><br>'
3487
3488 QH('p10html3', x);
@@ -3495,9 +3491,9 @@
3491 var powerstate = PowerStateStr(node.state);
3492 //if (node.state == 0) { powerstate = 'Unknown State'; }
3493 if ((connectivity & 1) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Agent připojen" + '\">' + "Agent připojen" + '</span>'; }
3498 - if ((connectivity & 2) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel&reg; AMT connected" + '\">' + "Intel&reg; AMT connected" + '</span>'; }
3499 - else if ((connectivity & 4) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel&reg; AMT detected" + '\">' + "Intel&reg; AMT detected" + '</span>'; }
3500 - if ((connectivity & 16) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "MQTT připojeno" + '\">' + "MQTT channel connected" + '</span>'; }
3494 + if ((connectivity & 2) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel&reg; AMT připojeno" + '\">' + "Intel&reg; AMT připojeno" + '</span>'; }
3495 + else if ((connectivity & 4) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel&reg; AMT detekováno" + '\">' + "Intel&reg; AMT detekováno" + '</span>'; }
3496 + if ((connectivity & 16) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "MQTT připojeno" + '\">' + "MQTT kanál připojen" + '</span>'; }
3497 if ((powerstate == '') && node.lastconnect) { powerstate = '<span style=font-size:12px>' + "Naposledy spatřen:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>'; }
3498 QH('MainComputerState', powerstate);
3499
@@ -3583,14 +3579,14 @@
3579
3580 function writeDeviceEvent(nodeid) {
3581 if (xxdialogMode) return;
3586 - setDialogMode(2, "Přidat událost zařízení", 3, writeDeviceEventEx, '<textarea id=d2devEvent style=background-color:#fcf3cf;width:100%;height:200px;resize:none;overflow-y:scroll></textarea><span style=font-size:10px>' + "This will add an entry to this device\'s event log." + '<span>', nodeid);
3582 + setDialogMode(2, "Přidat událost zařízení", 3, writeDeviceEventEx, '<textarea id=d2devEvent style=background-color:#fcf3cf;width:100%;height:200px;resize:none;overflow-y:scroll></textarea><span style=font-size:10px>' + "Tím se přidá položka do tohoto logu událostí zařízení." + '<span>', nodeid);
3583 }
3584
3585 function writeDeviceEventEx(buttons, tag) { meshserver.send({ action: 'setDeviceEvent', nodeid: decodeURIComponent(tag), msg: encodeURIComponent(Q('d2devEvent').value) }); }
3586
3587 function showNotes(readonly, noteid) {
3588 if (xxdialogMode) return;
3593 - setDialogMode(2, "Poznámky", 2, showNotesEx, '<textarea id=d2devNotes ro=' + readonly + ' noteid=' + noteid + ' readonly style=background-color:#fcf3cf;width:100%;height:200px;resize:none;overflow-y:scroll></textarea><span style=font-size:10px>' + "Device group notes can be viewed and changed by other device group administrators." + '<span>', noteid);
3589 + setDialogMode(2, "Poznámky", 2, showNotesEx, '<textarea id=d2devNotes ro=' + readonly + ' noteid=' + noteid + ' readonly style=background-color:#fcf3cf;width:100%;height:200px;resize:none;overflow-y:scroll></textarea><span style=font-size:10px>' + "Poznámky pro skupinu zařízení si může prohlédnout nebo upravit jen jiný administrátor skupiny." + '<span>', noteid);
3590 meshserver.send({ action: 'getNotes', id: decodeURIComponent(noteid) });
3591 }
3592
@@ -3615,7 +3611,7 @@
3611
3612 function deviceUrlFunction() {
3613 if (xxdialogMode) return;
3618 - setDialogMode(2, "Open Page on Device", 3, deviceUrlFunctionEx, '<input id=d2devurl placeholder="http://server.com" style=width:100%;overflow-y:scroll></input>');
3614 + setDialogMode(2, "Otevřít stránku na zařízení", 3, deviceUrlFunctionEx, '<input id=d2devurl placeholder="http://server.com" style=width:100%;overflow-y:scroll></input>');
3615 Q('d2devurl').focus();
3616 }
3617
@@ -3625,7 +3621,7 @@
3621
3622 function deviceToastFunction() {
3623 if (xxdialogMode) return;
3628 - setDialogMode(2, "Device Notification", 3, deviceToastFunctionEx, '<textarea id=d2devToast style=width:100%;height:80px;resize:none;overflow-y:scroll></textarea>');
3624 + setDialogMode(2, "Oznámení zařízení", 3, deviceToastFunctionEx, '<textarea id=d2devToast style=width:100%;height:80px;resize:none;overflow-y:scroll></textarea>');
3625 Q('d2devToast').focus();
3626 }
3627
@@ -3640,8 +3636,8 @@
3636 var y = '<select id=d2deviceop style=float:right;width:250px>';
3637 if ((meshrights & 64) != 0) { y += '<option value=100>' + "Probudit" + '</option>'; } // Wake-up permission
3638 if ((meshrights & 8) != 0) { y += '<option value=4>' + "Spánek" + '</option><option value=3>' + "Reset" + '</option><option value=2>' + "Vypnout" + '</option>'; } // Remote control permission
3643 - if ((currentNode.conn & 16) != 0) { y += '<option value=103>' + "Send MQTT Message" + '</option>'; }
3644 - if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += '<option value=104>' + "Uninstall Agent" + '</option>'; }
3639 + if ((currentNode.conn & 16) != 0) { y += '<option value=103>' + "Poslat MQTT zprávu" + '</option>'; }
3640 + if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += '<option value=104>' + "Odinstalovat agenta" + '</option>'; }
3641 y += '</select>';
3642 x += addHtmlValue("Operace", y);
3643 setDialogMode(2, "Akce zařízení", 3, deviceActionFunctionEx, x);
@@ -3735,7 +3731,7 @@
3731 ++count;
3732 date = new Date(date.getTime() - (1000 * 60 * 60 * 24)); // Substract one day
3733 }
3738 - QH('p10html2', '<table cellpadding=2 cellspacing=0><thead><tr style=><th scope=col style=text-align:center;width:150px>' + "Den" + '</th><th scope=col style=text-align:center><a download href="devicepowerevents.ashx?id=' + currentNode._id + '" onclick="setDialogMode(0)"><img title=\"' + "Download power events" + '\" src="images/link4.png" /></a>' + "7 denní statistika provozu" + '</th></tr></thead><tbody>' + x + '</tbody></table>');
3734 + QH('p10html2', '<table cellpadding=2 cellspacing=0><thead><tr style=><th scope=col style=text-align:center;width:150px>' + "Den" + '</th><th scope=col style=text-align:center><a download href="devicepowerevents.ashx?id=' + currentNode._id + '" onclick="setDialogMode(0)"><img title=\"' + "Stáhnout události napájení" + '\" src="images/link4.png" /></a>' + "7 denní statistika provozu" + '</th></tr></thead><tbody>' + x + '</tbody></table>');
3735 }
3736
3737 // Return a color for the given power state
@@ -3759,7 +3755,7 @@
3755 x += addHtmlValue("Heslo", '<input id=dp10password type=password style=width:230px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
3756 x += addHtmlValue("Bezpečnost", '<select id=dp10tls style=width:236px><option value=0>' + "Žádné TLS" + '</option><option value=1>' + "TLS vyžadováno" + '</option></select>');
3757 if ((node.intelamt.user != null) && (node.intelamt.user != '')) { buttons = 7; }
3762 - setDialogMode(2, "Edit Intel&reg; AMT credentials", buttons, editDeviceAmtSettingsEx, x, { node: node, func: func, arg: arg });
3758 + setDialogMode(2, "Upravit Intel&reg; AMT pověření", buttons, editDeviceAmtSettingsEx, x, { node: node, func: func, arg: arg });
3759 if ((node.intelamt.user != null) && (node.intelamt.user != '')) { Q('dp10username').value = node.intelamt.user; } else { Q('dp10username').value = 'admin'; }
3760 Q('dp10tls').value = node.intelamt.tls;
3761 validateDeviceAmtSettings();
@@ -3788,9 +3784,9 @@
3784
3785 function p10showSendMqttMsgDialog(nodeids) {
3786 if (xxdialogMode) return false;
3791 - var x = addHtmlValue("Topic", '<input id=dp2topic style=width:230px maxlength=64 onchange=p10validateSendMqttMsgDialog() onkeyup=p10validateSendMqttMsgDialog(event,1) />');
3792 - x += addHtmlValue("Message", '<div style=width:230px;margin:0;padding:0><textarea id=dp2msg maxlength=4096 style=width:100%;height:150px;resize:none onchange=p10validateSendMqttMsgDialog() onkeyup=p10validateSendMqttMsgDialog(event,1)></textarea></div>');
3793 - setDialogMode(2, "Send MQTT message", 3, p10showSendMqttMsgDialogEx, x, nodeids);
3787 + var x = addHtmlValue("Téma", '<input id=dp2topic style=width:230px maxlength=64 onchange=p10validateSendMqttMsgDialog() onkeyup=p10validateSendMqttMsgDialog(event,1) />');
3788 + x += addHtmlValue("Zpráva", '<div style=width:230px;margin:0;padding:0><textarea id=dp2msg maxlength=4096 style=width:100%;height:150px;resize:none onchange=p10validateSendMqttMsgDialog() onkeyup=p10validateSendMqttMsgDialog(event,1)></textarea></div>');
3789 + setDialogMode(2, "Poslat MQTT zprávu", 3, p10showSendMqttMsgDialogEx, x, nodeids);
3790 p10validateSendMqttMsgDialog();
3791 Q('dp2topic').focus();
3792 return false;
@@ -3807,11 +3803,11 @@
3803 function p10showSendUninstallAgentDialog(nodeids) {
3804 if (xxdialogMode) return false;
3805 var x = '';
3810 - if (nodeids.length > 1) { x = format("Are you sure you want to uninstall the selected {0} agents?", nodeids.length); } else { x = "Are you sure you want to uninstall selected agent?"; }
3806 + if (nodeids.length > 1) { x = format("Opravdu odinstalovat vybraných {0} agentů?", nodeids.length); } else { x = "Opravdu odinstalovat vybraného agenta?"; }
3807 x += '<br /><br />';
3812 - if (nodeids.length > 1) { x += "This will not remove the devices from the server, but the devices will not longer be able to connect to the server. All remote access to the devices will be lost. The devices must be connected for this command to work."; } else { x += "This will not remove this device from the server, but the device will not longer be able to connect to the server. All remote access to the device will be lost. The device must be connect for this command to work."; }
3813 - x += '<br /><br /><label style=color:red><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Confirm" + '</label>';
3814 - setDialogMode(2, "Uninstall agent", 3, p10showSendUninstallAgentDialogEx, x, nodeids);
3808 + if (nodeids.length > 1) { x += "To neodstraní zařízení ze serveru, ale zařízení se již nebudou moci připojit k serveru. Veškerý vzdálený přístup k zařízením bude ztracen. Aby tento příkaz fungoval, musí být připojena zařízení."; } else { x += "Toto zařízení ze serveru neodstraní, ale zařízení se již nebude moci připojit k serveru. Veškerý vzdálený přístup k zařízení bude ztracen. Aby mohl tento příkaz fungovat, musí být zařízení připojeno."; }
3809 + x += '<br /><br /><label style=color:red><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Potvrdit" + '</label>';
3810 + setDialogMode(2, "Odinstalovat agenta", 3, p10showSendUninstallAgentDialogEx, x, nodeids);
3811 p10validateSendUninstallAgentDialog();
3812 return false;
3813 }
@@ -3833,11 +3829,11 @@
3829 y += '</select>';
3830
3831 if (count > 0) {
3836 - var x = (nodeids.length == 1) ? ("Vyber novou skupinu pro toto zařízení" + '<br /><br />') : ("Select a new group for selected devices" + '<br /><br />');
3832 + var x = (nodeids.length == 1) ? ("Vybrat novou skupinu pro toto zařízení" + '<br /><br />') : ("Vybrat novou skupinu pro vybraná zařízení" + '<br /><br />');
3833 x += addHtmlValue("Nová skupina zařízení", y);
3834 setDialogMode(2, "Změnit skupinu", 3, p10showChangeGroupDialogEx, x, nodeids);
3835 } else {
3840 - setDialogMode(2, "Změnit skupinu", 1, null, "No other device group of same type exists.");
3836 + setDialogMode(2, "Změnit skupinu", 1, null, "Žádná další podobná skupina zařízení.");
3837 }
3838 return false;
3839 }
@@ -3848,7 +3844,7 @@
3844
3845 function p10showDeleteNodeDialog(nodeid) {
3846 if (xxdialogMode) return false;
3851 - var x = format("Are you sure you want to delete node {0}?", EscapeHtml(currentNode.name)) + '<br /><br /><label><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Confirm" + '</label>';
3847 + var x = format("Opravdu smazat nód {0}?", EscapeHtml(currentNode.name)) + '<br /><br /><label><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Potvrdit" + '</label>';
3848 setDialogMode(2, "Smazat nod", 3, p10showDeleteNodeDialogEx, x, nodeid);
3849 p10validateDeleteNodeDialog();
3850 return false;
@@ -3892,7 +3888,7 @@
3888
3889 //var x = '<div><a href="https://www.google.com/maps/preview/@' + lat + ',' + lng + ',12z" rel="noreferrer noopener" target=_blank>Open in Google maps</a></div>';
3890 var x = '<div id=d2map style=width:100%;height:300px></div>';
3895 - setDialogMode(2, "Device Location", 1, null, x, '@xxmap');
3891 + setDialogMode(2, "Umístění zařízení", 1, null, x, '@xxmap');
3892
3893 var clng = 0, clat = 0, zoom = 8;
3894 if (boundingBox != null) {
@@ -3926,7 +3922,7 @@
3922 // Show MeshCentral Router dialog
3923 function p10showMeshRouterDialog() {
3924 if (xxdialogMode) return;
3929 - var x = '<div>' + "MeshCentral Router is a Windows tool for TCP port mapping. You can, for example, RDP into a remote device thru this server." + '</div><br />';
3925 + var x = '<div>' + "MeshCentral Router je Windows nástroj pro přemapování portů. Múžete si například přesměrovat vzdálené RDP pomocí tohoto serveru. " + '</div><br />';
3926 x += addHtmlValue('Win32 Executable', '<a style=cursor:pointer download href="meshagents?meshaction=winrouter" onclick="setDialogMode(0)">MeshCentralRouter.exe</a>');
3927 setDialogMode(2, "MeshCentral Router", 1, null, x, 'fileDownload');
3928 }
@@ -3954,7 +3950,7 @@
3950 if (mode == 0) { x += addHtmlValue('Action File', '<a href="meshagents?meshaction=generic" download>MeshAction (.txt)</a>'); }
3951 if (mode == 1) { x += addHtmlValue('Action File', '<a href="meshagents?meshaction=route&nodeid=' + nodeid + '" download>MeshAction (.txt)</a>'); }
3952 x += '</div>';
3957 - setDialogMode(2, [ "Download MeshCmd", "Network Router" ][mode], 9, null, x, 'fileDownload');
3953 + setDialogMode(2, [ "Stáhnout MeshCmd", "Síťový router" ][mode], 9, null, x, 'fileDownload');
3954 meshCmdOsClick();
3955 }
3956
@@ -3984,7 +3980,7 @@
3980 x += '<div tabindex=0 style=display:inline-block class=i4 onclick=p10setIcon(4) onkeypress="if (event.key==\'Enter\') p10setIcon(4)"></div>';
3981 x += '<div tabindex=0 style=display:inline-block class=i5 onclick=p10setIcon(5) onkeypress="if (event.key==\'Enter\') p10setIcon(5)"></div>';
3982 x += '<div tabindex=0 style=display:inline-block class=i6 onclick=p10setIcon(6) onkeypress="if (event.key==\'Enter\') p10setIcon(6)"></div><br><br>';
3987 - setDialogMode(2, "Icon Selection", 0, null, x);
3983 + setDialogMode(2, "Výběr ikony", 0, null, x);
3984 QV('id_dialogclose', true);
3985 }
3986
@@ -3993,13 +3989,13 @@
3989 meshserver.send({ action: 'changedevice', nodeid: currentNode._id, icon: icon });
3990 }
3991
3996 - var showEditNodeValueDialog_modes = ["Device Name", "Hostname", "Popis", "Tagy"];
3992 + var showEditNodeValueDialog_modes = ["Název zařízení", "Hostname", "Popis", "Tagy"];
3993 var showEditNodeValueDialog_modes2 = ['name', 'host', 'desc', 'tags'];
3994 var showEditNodeValueDialog_modes3 = ['', '', '', "Značka1, Značka2, Značka"];
3995 function showEditNodeValueDialog(mode) {
3996 if (xxdialogMode) return;
3997 var x = addHtmlValue(showEditNodeValueDialog_modes[mode], '<input id=dp10devicevalue maxlength=64 placeholder="' + showEditNodeValueDialog_modes3[mode] + '" onchange=p10editdevicevalueValidate(' + mode + ',event) onkeyup=p10editdevicevalueValidate(' + mode + ',event) />');
4002 - setDialogMode(2, "Edit Device", 3, showEditNodeValueDialogEx, x, mode);
3998 + setDialogMode(2, "Upravit zařízení", 3, showEditNodeValueDialogEx, x, mode);
3999 var v = currentNode[showEditNodeValueDialog_modes2[mode]];
4000 if (v == null) v = '';
4001 if (Array.isArray(v)) { v = v.join(', '); }
@@ -4158,7 +4154,7 @@
4154 if (typeof RTCPeerConnection !== 'undefined') { webRtcDesktop.webrtc = new RTCPeerConnection(configuration); }
4155 else if (typeof webkitRTCPeerConnection !== 'undefined') { webRtcDesktop.webrtc = new webkitRTCPeerConnection(configuration); }
4156
4161 - webRtcDesktop.webchannel = webRtcDesktop.webrtc.createDataChannel("DataChannel", {}); // { ordered: false, maxRetransmits: 2 }
4157 + webRtcDesktop.webchannel = webRtcDesktop.webrtc.createDataChannel("Datový kanál", {}); // { ordered: false, maxRetransmits: 2 }
4158 webRtcDesktop.webchannel.onopen = function () {
4159 // Switch to software KVM
4160 //if (urlvars && urlvars['kvmdatatrace']) { console.log('WebRTC Data Channel Open'); }
@@ -4287,7 +4283,7 @@
4283 QV('DeskFocus', false);
4284 QV('termdisplays', false);
4285 QV('deskRecordIcon', false);
4290 - deskFocusBtn.value = "All Focus";
4286 + deskFocusBtn.value = "Zaměřit vše";
4287 if (fullscreen == true) { deskToggleFull(); }
4288 webRtcDesktopReset();
4289 deskPreferedStickyDisplay = 0;
@@ -4334,7 +4330,7 @@
4330 if (xxdialogMode) return;
4331 applyDesktopSettings();
4332 updateDesktopButtons();
4337 - setDialogMode(7, "Remote Desktop Settings", 3, showDesktopSettingsChanged);
4333 + setDialogMode(7, "Nastavení vzdálené plochy", 3, showDesktopSettingsChanged);
4334 }
4335
4336 function showDesktopSettingsChanged() {
@@ -4354,7 +4350,7 @@
4350 }
4351 }
4352 if (desktop.contype == 2) {
4357 - if (desktopsettings.showfocus == false) { desktop.m.focusmode = 0; deskFocusBtn.value = "All Focus"; }
4353 + if (desktopsettings.showfocus == false) { desktop.m.focusmode = 0; deskFocusBtn.value = "Zaměřit vše"; }
4354 if (desktop.State != 0) { desktop.Stop(); setTimeout(function () { connectDesktop(null, 2); }, 50); }
4355 }
4356 }
@@ -4418,7 +4414,7 @@
4414
4415 function deskToggleFocus() {
4416 desktop.m.focusmode = (desktop.m.focusmode + 64) % 192;
4421 - Q('deskFocusBtn').value = ["All Focus", "Small Focus", "Large Focus"][desktop.m.focusmode / 64];
4417 + Q('deskFocusBtn').value = ["Zaměřit vše", "malé zaměření", "Velké zaměření"][desktop.m.focusmode / 64];
4418 }
4419
4420 function deskAdjust() {
@@ -4574,9 +4570,9 @@
4570 function showDeskType() {
4571 if (xxdialogMode || desktop == null || desktop.State != 3) return;
4572 Q('DeskType').blur();
4577 - var x = '<div>' + "Enter text and click OK to remotely type it using a US english keyboard. Make sure to place the remote cursor at the correct position before proceeding." + '<div>';
4573 + var x = '<div>' + "Zadejte text a kliknutím na OK jej zadáte na dálku pomocí americké anglické klávesnice. Než budete pokračovat, nezapomeňte vzdálený kurzor na správnou pozici." + '<div>';
4574 x += '<textarea id=d2typeText style="margin-top:5px;width:100%;height:184px;resize:none" maxlength=2000></textarea>';
4579 - setDialogMode(2, "Remote Keyboard Entry", 3, showDeskTypeEx, x);
4575 + setDialogMode(2, "Vzdálené zadání klávesnice", 3, showDeskTypeEx, x);
4576 Q('d2typeText').focus();
4577 }
4578
@@ -4628,7 +4624,7 @@
4624 x += '<div id=dlgClipStatus style="display:inline-block;margin-left:8px" ></div>';
4625 x += '<textarea id=d2clipText style="width:100%;height:184px;resize:none" maxlength=65535></textarea>';
4626 x += '<input type=button value="Close" style=width:80px;float:right onclick=dialogclose(0)><div style=height:26px;margin-top:3px><span id=linuxClipWarn style=display:none>' + "Vzdálená schránka je platná 60 sekund." + '</span>&nbsp;</div><div></div>';
4631 - setDialogMode(2, "Remote Clipboard", 8, null, x, 'clipboard');
4627 + setDialogMode(2, "Vzdálená schránka", 8, null, x, 'clipboard');
4628 Q('d2clipText').focus();
4629 }
4630
@@ -4748,20 +4744,20 @@
4744 if (service != null) {
4745 var x = '';
4746 if (service.name) { x += addHtmlValue("Jméno", service.name); }
4751 - if (service.displayName) { x += addHtmlValue("Display name", service.displayName); }
4747 + if (service.displayName) { x += addHtmlValue("Zobrazované jméno", service.displayName); }
4748 if (service.status) {
4749 if (service.status.state) { x += addHtmlValue("Stav", capitalizeFirstLetter(service.status.state.toLowerCase())); }
4750 if (service.status.pid) { x += addHtmlValue("PID", service.status.pid); }
4751 var serviceTypes = [];
4756 - if (service.status.isFileSystemDriver === true) { serviceTypes.push("FileSystemDriver"); }
4757 - if (service.status.isInteractive === true) { serviceTypes.push("Interactive"); }
4758 - if (service.status.isKernelDriver === true) { serviceTypes.push("KernelDriver"); }
4752 + if (service.status.isFileSystemDriver === true) { serviceTypes.push("Ovladač souborového systému"); }
4753 + if (service.status.isInteractive === true) { serviceTypes.push("Interaktivní"); }
4754 + if (service.status.isKernelDriver === true) { serviceTypes.push("Ovladač jádra"); }
4755 if (service.status.isOwnProcess === true) { serviceTypes.push("OwnProcess"); }
4756 if (service.status.isSharedProcess === true) { serviceTypes.push("SharedProcess"); }
4757 if (serviceTypes.length > 0) { x += addHtmlValue("Typ", serviceTypes.join(', ')); }
4758 }
4763 - x += '<br/><div style=float:right;margin-bottom:12px><input type=button value=\"' + "Close" + '\" onclick=showServiceDetailsDialogEx(0,' + index + ')></div><div style=margin-bottom:12px><input type=button value=\"' + "Start" + '\" onclick=showServiceDetailsDialogEx(1,' + index + ')><input type=button value=\"' + "Stop" + '\" onclick=showServiceDetailsDialogEx(2,' + index + ')><input type=button value=\"' + "Restart" + '\" onclick=showServiceDetailsDialogEx(3,' + index + ')></div>';
4764 - setDialogMode(2, "Service Details", 8, null, x, name);
4759 + x += '<br/><div style=float:right;margin-bottom:12px><input type=button value=\"' + "Zavřít" + '\" onclick=showServiceDetailsDialogEx(0,' + index + ')></div><div style=margin-bottom:12px><input type=button value=\"' + "Start" + '\" onclick=showServiceDetailsDialogEx(1,' + index + ')><input type=button value=\"' + "Stop" + '\" onclick=showServiceDetailsDialogEx(2,' + index + ')><input type=button value=\"' + "Restart" + '\" onclick=showServiceDetailsDialogEx(3,' + index + ')></div>';
4760 + setDialogMode(2, "Detaily serveru", 8, null, x, name);
4761 }
4762 }
4763
@@ -4820,7 +4816,7 @@
4816 function dmousemove(e) { setSessionActivity(); e.addx = Q('DeskParent').scrollLeft; e.addy = Q('DeskParent').scrollTop; if (!xxdialogMode && desktop != null && Q('DeskControl').checked) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousemove(e); desktop.m.sendKeepAlive(); } else { desktop.m.mousemove(e); } } }
4817 function dmousewheel(e) { setSessionActivity(); e.addx = Q('DeskParent').scrollLeft; e.addy = Q('DeskParent').scrollTop; if (!xxdialogMode && desktop != null && Q('DeskControl').checked) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousewheel(e); desktop.m.sendKeepAlive(); } else { if (desktop.m.mousewheel) { desktop.m.mousewheel(e); } } haltEvent(e); return true; } return false; }
4818 function drotate(x) { if (!xxdialogMode && desktop != null) { desktop.m.setRotation(desktop.m.rotation + x); deskAdjust(); deskAdjust(); } }
4823 - function stopProcess(id, name) { setDialogMode(2, "Process Control", 3, stopProcessEx, format("Stop process #{0} \"{1}\"?", id, name), id); return false; }
4819 + function stopProcess(id, name) { setDialogMode(2, "Správa procesů", 3, stopProcessEx, format("Ukončit proces #{0} \"{1}\"?", id, name), id); return false; }
4820 function stopProcessEx(buttons, tag) { meshserver.send({ action: 'msg', type: 'pskill', nodeid: currentNode._id, value: tag }); setTimeout(refreshDeskTools, 300); }
4821
4822 //
@@ -4971,7 +4967,7 @@
4967 Q('connectbutton2').blur(); // Deselect the connect button so the button does not get key presses.
4968 }
4969
4974 - var terminalEmulations = ["UTF8 Terminal", "Extended ASCII", "Intel ASCII"];
4970 + var terminalEmulations = ["UTF8 Terminál", "Rozšířené ASCII", "Intel ASCII"];
4971 function termToggleType() {
4972 if (!terminal || xxdialogMode) return;
4973 terminal.m.terminalEmulation = (terminal.m.terminalEmulation + 1) % 3;
@@ -4979,7 +4975,7 @@
4975 Q('id_ttypebutton').blur(); // Deselect the connect button so the button does not get key presses.
4976 }
4977
4982 - var fxEmulations = ["Intel (F10 = ESC+[OM)", "Alternate (F10 = ESC+0)", "VT100+ (F10 = ESC+[OY)"];
4978 + var fxEmulations = ["Intel (F10 = ESC+[OM)", "Nebo (F10 = ESC+0)", "VT100+ (F10 = ESC+[OY)"];
4979 function termToggleFx() {
4980 if (!terminal || xxdialogMode) return;
4981 terminal.m.fxEmulation = (terminal.m.fxEmulation + 1) % 3;
@@ -5033,7 +5029,7 @@
5029 }
5030
5031 function onFilesStateChange(xfiles, state) {
5036 - p13Connect.value = (state == 0) ? "Připojit" : "Disconnect";
5032 + p13Connect.value = (state == 0) ? "Připojit" : "Odpojit";
5033 var str = StatusStrs[state];
5034 if (files.webRtcActive == true) { str += ", WebRTC"; }
5035 Q('p13Status').textContent = str;
@@ -5253,7 +5249,7 @@
5249 function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
5250 function p13createfolder() { setDialogMode(2, "Nový adresář", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
5251 function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
5256 - function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Recursive delete" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p13deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
5252 + function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Rekurzivní mazání" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p13deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
5253 function p13deletefileEx() { var delfiles = [], checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { delfiles.push(p13filetree.dir[checkboxes[i].value].n); } } files.sendText({ action: 'rm', reqid: 1, path: p13filetreelocation.join('/'), delfiles: delfiles, rec: Q('p13recdeleteinput').checked }); p13folderup(999); }
5254 function p13renamefile() { var renamefile, checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { renamefile = p13filetree.dir[checkboxes[i].value].n; } } setDialogMode(2, "Přejmenovat", 3, p13renamefileEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% value="' + renamefile + '" />', { action: 'rename', path: p13filetreelocation.join('/'), oldname: renamefile}); focusTextBox('p13renameinput'); p13fileNameCheck(); }
5255 function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -5267,7 +5263,7 @@
5263 if (checkboxes[i].checked) {
5264 if (p13filetree.dir[checkboxes[i].value].s <= 204800) {
5265 p13downloadfile(encodeURIComponent(p13filetreelocation.join('/') + '/' + p13filetree.dir[checkboxes[i].value].n), encodeURIComponent(p13filetree.dir[checkboxes[i].value].n), p13filetree.dir[checkboxes[i].value].s, 'viewer');
5270 - } else { messagebox("File Editor", "Jen soubory menší než 200k mohou být editovány."); }
5266 + } else { messagebox("Editor souborů", "Jen soubory menší než 200k mohou být editovány."); }
5267 break;
5268 }
5269 }
@@ -5279,9 +5275,9 @@
5275 var x = '';
5276 if ((p13clipboard != null) && (p13clipboard.length > 0)) {
5277 if (p13clipboardCut == 0) {
5282 - if (p13clipboard.length > 1) { x = format("Confirm copy of {0} entries's to this location?", p13clipboard.length); } else { x = format("Confirm copy of 1 entrie to this location?"); }
5278 + if (p13clipboard.length > 1) { x = format("Potvrdit kopírování {0} zaznámů do tohoto umístění?", p13clipboard.length); } else { x = format("Potvrdit kopírování jednoho záznamu do tohoto umístění?"); }
5279 } else {
5284 - if (p13clipboard.length > 1) { x = format("Confirm move of {0} entries's to this location?", p13clipboard.length); } else { x = format("Confirm move of 1 entrie to this location?"); }
5280 + if (p13clipboard.length > 1) { x = format("Potvrdit přesun {0} záznamů do tohoto umístění?", p13clipboard.length); } else { x = format("Potvrdit přesun jednoho záznamu do tohoto umístění?"); }
5281 }
5282 }
5283 setDialogMode(2, "Vložit", 3, p13pasteFileEx, x);
@@ -5292,15 +5288,15 @@
5288 if ((p13clipboard != null) && (p13clipboard.length > 0)) {
5289 if (p13clipboardCut == 0) {
5290 if (p13clipboard.length > 1) {
5295 - x = format("Holding {0} entries for copy" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.', p13clipboard.length);
5291 + x = format("Držím {0} záznamů pro kopii" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.', p13clipboard.length);
5292 } else {
5297 - x = format("Holding 1 entrie for copy" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.');
5293 + x = format("Držím jeden záznam pro kopii" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.');
5294 }
5295 } else {
5296 if (p13clipboard.length > 1) {
5301 - x = format("Holding {0} entries for move" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.', p13clipboard.length);
5297 + x = format("Držím {0} zaznamů pro přesun" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.', p13clipboard.length);
5298 } else {
5303 - x = format("Holding 1 entrie for move" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.');
5299 + x = format("Držím jeden záznam pro přesun" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.');
5300 }
5301 }
5302 }
@@ -5486,7 +5482,7 @@
5482 p13uploadFileContinue(1, files);
5483 } else {
5484 // Otherwise, prompt for confirmation
5489 - setDialogMode(2, "Nahrát soubor", 3, p13uploadFileContinue, format("Upload will overwrite {0} file{1}. Continue?", overWriteCount, addLetterS(overWriteCount)), files);
5485 + setDialogMode(2, "Nahrát soubor", 3, p13uploadFileContinue, format("Nahrání přepíše {0} soubor{1}. Pokračovat?", overWriteCount, addLetterS(overWriteCount)), files);
5486 }
5487 }
5488
@@ -5495,7 +5491,7 @@
5491 uploadFile.xpath = p13filetreelocation.join('/');
5492 uploadFile.xfiles = files;
5493 uploadFile.xfilePtr = -1;
5498 - setDialogMode(2, "Nahrát soubor", 10, p13uploadFileCancel, '<div id=p13dfileName>' + "Connecting..." + '</div><br /><progress id=d2progressBar style=width:100% value=0 max=0 />');
5494 + setDialogMode(2, "Nahrát soubor", 10, p13uploadFileCancel, '<div id=p13dfileName>' + "Připojování..." + '</div><br /><progress id=d2progressBar style=width:100% value=0 max=0 />');
5495 p13uploadReconnect();
5496 }
5497
@@ -5626,7 +5622,7 @@
5622 }
5623 }
5624 if (dateHeader != null) x += '</table>';
5629 - if (x == '') x = '<br><i>' + "No Events Found" + '</i><br><br>';
5625 + if (x == '') x = '<br><i>' + "Žádné události" + '</i><br><br>';
5626 QH('p16events', x);
5627 }
5628
@@ -5648,7 +5644,7 @@
5644 x += addHtmlValue3(EscapeHtml(i), EscapeHtml(xevent[i]));
5645 }
5646 x += '</div>';
5651 - setDialogMode(2, "Event Details", 9, null, x);
5647 + setDialogMode(2, "Detail události", 9, null, x);
5648 }
5649 }
5650
@@ -5700,7 +5696,7 @@
5696 var samenode = (consoleNode == 'server');
5697 consoleNode = 'server';
5698
5703 - QH('p15deviceName', "My Server Console");
5699 + QH('p15deviceName', "Moje serverová konzole");
5700 QE('p15consoleText', true);
5701 QH('p15statetext', '');
5702 QH('p15coreName', '');
@@ -5819,7 +5815,7 @@
5815 if (e.shiftKey == true) { meshserver.send({ action: 'uploadagentcore', nodeid: consoleNode._id, type: 'default' }); } // Upload default core
5816 else if (e.altKey == true) { meshserver.send({ action: 'uploadagentcore', nodeid: consoleNode._id, type: 'clear' }); } // Clear the core
5817 else if (e.ctrlKey == true) { p15uploadCore2(); } // Upload the core from a file
5822 - else { setDialogMode(2, "Akce agenta", 3, p15uploadCoreEx, addHtmlValue("Akce", '<select id=d3coreMode style=width:230px><option value=1>' + "Upload default server core" + '</option><option value=2>' + "Clear the core" + '</option><option value=6>' + "Upload recovery core" + '</option><option value=3>' + "Upload a core file" + '</option><option value=4>' + "Soft disconnect agent" + '</option><option value=5>' + "Hard disconnect agent" + '</option></select>')); }
5818 + else { setDialogMode(2, "Akce agenta", 3, p15uploadCoreEx, addHtmlValue("Akce", '<select id=d3coreMode style=width:230px><option value=1>' + "Nahrát defaultní nastavení" + '</option><option value=2>' + "Vymazat jádro" + '</option><option value=6>' + "Nahrát jádro pro obnovu" + '</option><option value=3>' + "Nahrát hlavní soubor" + '</option><option value=4>' + "Jemné odpojení agenta" + '</option><option value=5>' + "Tvrdě odpojit aenta" + '</option></select>')); }
5819 }
5820
5821 function p15uploadCoreEx() {
@@ -5850,7 +5846,7 @@
5846 Q('d3localmodeform').action = 'uploadmeshcorefile.ashx';
5847 Q('d3auth').value = authCookie;
5848 Q('d3attrib').value = currentNode._id;
5853 - setDialogMode(3, "Upload Mesh Agent Core", 3, p15uploadCoreEx2);
5849 + setDialogMode(3, "Nahrát jádro agenta", 3, p15uploadCoreEx2);
5850 d3init();
5851 }
5852
@@ -5878,7 +5874,7 @@
5874
5875 function account_addOtp() {
5876 if (xxdialogMode || (userinfo.otpsecret == 1) || ((features & 4096) == 0)) return;
5881 - setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, ('<div id=d2optinfo>' + "Nahrávání..." + '</div>'), 'otpauth-request');
5877 + setDialogMode(2, "Aplikace pro autentizaci", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, ('<div id=d2optinfo>' + "Nahrávání..." + '</div>'), 'otpauth-request');
5878 meshserver.send({ action: 'otpauth-request' });
5879 }
5880
@@ -5890,7 +5886,7 @@
5886
5887 function account_removeOtp() {
5888 if (xxdialogMode || (userinfo.otpsecret != 1) || ((features & 4096) == 0)) return;
5893 - setDialogMode(2, "Authenticator App", 3, function () { meshserver.send({ action: 'otpauth-clear' }); }, "Confirm removal of authenticator application 2-step login?");
5889 + 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í?");
5890 }
5891
5892 function account_manageOtp(action) {
@@ -5909,11 +5905,11 @@
5905
5906 function account_addhkey(type) {
5907 if (type == 3) {
5912 - var x = "Type in the name of the key to add." + '<br /><br />';
5913 - x += addHtmlValue("Key Name", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,2) />');
5908 + var x = "Napište jméno klíče pro přidání." + '<br /><br />';
5909 + x += addHtmlValue("Jméno klíče", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,2) />');
5910 } else if (type == 2) {
5915 - var x = "Type in a key name, select the OTP box and press the button on the YubiKey&trade;." + '<br /><br />';
5916 - x += addHtmlValue("Key Name", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,1) />');
5911 + var x = "Zadejte název klíče, vyberte pole OTP a stiskněte tlačítko na YubiKey&trade;." + '<br /><br />';
5912 + x += addHtmlValue("Jméno klíče", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,1) />');
5913 x += addHtmlValue("YubiKey&trade; OTP", '<input id=dp1key style=width:230px autocomplete=off onkeyup=account_addhkeyValidate(event,2) />');
5914 }
5915 setDialogMode(2, "Přidat bezpečnostní klíč", 3, account_addhkeyEx, x, type);
@@ -5944,12 +5940,12 @@
5940 function account_showLocalizationSettings() {
5941 if (xxdialogMode) return false;
5942 var n = getstore('loctag', 0), y = '';
5947 - var x = '<select id=d2locselect style=width:240px><option value=\"*\">' + "User browser value" + '</option>';
5943 + var x = '<select id=d2locselect style=width:240px><option value=\"*\">' + "Hodnota uživatelského prohlížeče" + '</option>';
5944 for (var i in loclist) { x += '<option value="' + i + '"' + ((n == i)?' selected':'') + '>' + i + ' - ' + loclist[i] + '</option>'; }
5945 x += '</select>';
5946 if (serverinfo.languages && serverinfo.languages.length > 0) {
5951 - y += "Changing the language will require a refresh of the page." + '<br /><br />';
5952 - var z = '<select id=d2langselect style=width:240px><option value=\"*\">' + "User browser value" + '</option>';
5947 + y += "Změna jazyka vyžaduje obnovení stránky." + '<br /><br />';
5948 + var z = '<select id=d2langselect style=width:240px><option value=\"*\">' + "Hodnota uživatelského prohlížeče" + '</option>';
5949 for (var i in serverinfo.languages) {
5950 var lang = serverinfo.languages[i];
5951 z += '<option value="' + lang + '"' + ((userinfo.lang == lang)?' selected':'') + '>' + lang + ' - ' + loclist[lang] + '</option>';
@@ -5960,7 +5956,7 @@
5956 y += addHtmlValue("Datum & čas", x);
5957
5958 if ((userinfo.siteadmin == 0xFFFFFFFF) && (domain == '')) {
5963 - y += '<br /><a rel="noreferrer noopener" target="_blank" href="translator.htm">' + "Help translate MeshCentral" + '</a>';
5959 + y += '<br /><a rel="noreferrer noopener" target="_blank" href="translator.htm">' + "Pomoct přeložit MeshCentral" + '</a>';
5960 }
5961
5962 setDialogMode(2, "Nastavení lokalizace", 3, account_showLocalizationSettingsEx, y);
@@ -5991,10 +5987,10 @@
5987 function account_showAccountNotifySettings() {
5988 if (xxdialogMode) return false;
5989 var x = '';
5994 - x += '<div><label><input id=p2notifyPlayNotifySound type=checkbox />' + "Notification sound." + '</label></div>';
5995 - x += '<div><label><input id=p2notifyIntelDeviceConnect type=checkbox />' + "Device connections." + '</label></div>';
5996 - x += '<div><label><input id=p2notifyIntelDeviceDisconnect type=checkbox />' + "Device disconnections." + '</label></div>';
5997 - x += '<div><label><input id=p2notifyIntelAmtKvmActions type=checkbox />' + "Intel&reg; AMT desktop and serial events." + '</label></div>';
5990 + x += '<div><label><input id=p2notifyPlayNotifySound type=checkbox />' + "Zvuk notifikací" + '</label></div>';
5991 + x += '<div><label><input id=p2notifyIntelDeviceConnect type=checkbox />' + "Připojení zařízení" + '</label></div>';
5992 + x += '<div><label><input id=p2notifyIntelDeviceDisconnect type=checkbox />' + "Odpojení zařízení" + '</label></div>';
5993 + x += '<div><label><input id=p2notifyIntelAmtKvmActions type=checkbox />' + "Intel&reg; AMT desktop and serial události." + '</label></div>';
5994 setDialogMode(2, "Nastavení notifikací", 3, account_showAccountNotifySettingsEx, x);
5995 var n = getstore('notifications', 0);
5996 Q('p2notifyPlayNotifySound').checked = (n & 1);
@@ -6015,8 +6011,8 @@
6011
6012 function account_showVerifyEmail() {
6013 if (xxdialogMode || (userinfo.emailVerified == true) || (serverinfo.emailcheck != true)) return false;
6018 - var x = "Click ok to send a verification mail to:" + '<br /><div style=padding:8px><b>' + EscapeHtml(userinfo.email) + '</b></div>' + "Please wait a few minute to receive the verification.";
6019 - setDialogMode(2, "Email Verification", 3, account_showVerifyEmailEx, x);
6014 + var x = "Klikni na OK pro zaslání verifikačního emailu na:" + '<br /><div style=padding:8px><b>' + EscapeHtml(userinfo.email) + '</b></div>' + "Prosím počkejte pár minut než dojde k verifikaci.";
6015 + setDialogMode(2, "Ověření emailu", 3, account_showVerifyEmailEx, x);
6016 return false;
6017 }
6018
@@ -6026,7 +6022,7 @@
6022
6023 function account_showChangeEmail() {
6024 if (xxdialogMode) return false;
6029 - var x = "Change your account email address here." + '<br /><br />';
6025 + var x = "Změň si svůj email zde." + '<br /><br />';
6026 x += addHtmlValue('Email', '<input id=dp2email style=width:230px maxlength=256 onchange=account_validateEmail() onkeyup=account_validateEmail(event) />');
6027 setDialogMode(2, "Změna emailové adresy", 3, account_changeEmail, x);
6028 if (userinfo.email != null) { Q('dp2email').value = userinfo.email; }
@@ -6046,7 +6042,7 @@
6042
6043 function account_showDeleteAccount() {
6044 if (xxdialogMode) return false;
6049 - var x = "To delete this account, type in the account password in both boxes below and hit ok." + '<br /><br />';
6045 + var x = "Chcete-li tento účet smazat, zadejte do obou políček heslo k účtu a stiskněte OK." + '<br /><br />';
6046 x += '<form method=post><input type=hidden name=action value=deleteaccount /><input type=hidden name=authcookie value=" + authCookie + " /><table style=margin-left:80px><tr>';
6047 x += '<td align=right>' + "Heslo:" + '</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>';
6048 x += '</tr><tr><td align=right>' + "Heslo:" + '</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>';
@@ -6070,7 +6066,7 @@
6066 x += '<tr><td align=right>' + nobreak("Staré heslo:") + '</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>';
6067 x += '<tr><td align=right>' + nobreak("Nové heslo:") + '</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b><span id=dxPassWarn></span></b></td></tr>';
6068 x += '<tr><td align=right>' + nobreak("Nové heslo:") + '</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>';
6073 - if (features & 0x00010000) { x += '<tr><td align=right>' + "Password hint:" + '</td><td><input id=apasswordhint name=apasswordhint maxlength=250 type=text autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>'; }
6069 + if (features & 0x00010000) { x += '<tr><td align=right>' + "Nápověda k heslu:" + '</td><td><input id=apasswordhint name=apasswordhint maxlength=250 type=text autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>'; }
6070 x += '</table>'
6071 if (passRequirements) {
6072 var r = [], rc = 0;
@@ -6100,18 +6096,18 @@
6096 if (xxdialogMode) return false;
6097
6098 // Check if we are disallowed from creating a device group
6103 - if ((userinfo.siteadmin != 0xFFFFFFFF) && ((userinfo.siteadmin & 64) != 0)) { setDialogMode(2, "Nová skupina zařízení", 1, null, "This account does not have the rights to create a new device group."); return false; }
6099 + if ((userinfo.siteadmin != 0xFFFFFFFF) && ((userinfo.siteadmin & 64) != 0)) { setDialogMode(2, "Nová skupina zařízení", 1, null, "Tento účet nemá práva k vytvoření nové skupiny zařízení."); return false; }
6100
6101 // Remind the user to verify the email address
6106 - if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until a email address is verified. This is required for password recovery. Go to the \"My Account\" tab to change and verify an email address."); return false; }
6102 + if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { 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."); return false; }
6103
6104 // Remind the user to add two factor authentication
6109 - if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the \"My Account\" tab and look at the \"Account Security\" section."); return false; }
6105 + if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { 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\"."); return false; }
6106
6107 // We are allowed, let's prompt to information
6108 var x = "Vytvořit novou skupinu zařízení podle nastavení níže." + '<br /><br />';
6109 x += addHtmlValue("Jméno", '<input id=dp2meshname style=width:230px maxlength=64 onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate(event,1) />');
6114 - x += addHtmlValue("Typ", '<div style=width:230px;margin:0;padding:0><select id=dp2meshtype style=width:100% onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate(event,2) ><option value=2>' + "Manage using a software agent" + '</option><option value=1>' + "Intel&reg; AMT only, no agent" + '</option></select></div>');
6110 + x += addHtmlValue("Typ", '<div style=width:230px;margin:0;padding:0><select id=dp2meshtype style=width:100% onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate(event,2) ><option value=2>' + "Spravovat pomocí softwarového agenta" + '</option><option value=1>' + "Intel&reg; AMT pouze, bez agenta" + '</option></select></div>');
6111 x += addHtmlValue("Popis", '<div style=width:230px;margin:0;padding:0><textarea id=dp2meshdesc maxlength=1024 style=width:100%;resize:none></textarea></div>');
6112 setDialogMode(2, "Nová skupina zařízení", 3, account_createMeshEx, x);
6113 account_validateMeshCreate();
@@ -6120,8 +6116,8 @@
6116 }
6117
6118 function account_validateMeshCreate(e, x) {
6123 - if ((x == 1) && (e != null) && (e.key == "Enter") && (Q('dp2meshname').value.length > 0)) { Q('dp2meshtype').focus(); }
6124 - if ((x == 2) && (e != null) && (e.key == "Enter")) { Q('dp2meshdesc').focus(); }
6119 + if ((x == 1) && (e != null) && (e.key == "Zadání") && (Q('dp2meshname').value.length > 0)) { Q('dp2meshtype').focus(); }
6120 + if ((x == 2) && (e != null) && (e.key == "Zadání")) { Q('dp2meshdesc').focus(); }
6121 QE('idx_dlgOkButton', Q('dp2meshname').value.length > 0);
6122 }
6123
@@ -6140,11 +6136,11 @@
6136 if (passRequirements == null || passRequirements == '') {
6137 // No password requirements, display password strength
6138 var passStrength = checkPasswordStrength(Q('apassword1').value);
6143 - if (passStrength >= 80) { r = '<span style=color:green>' + "Strong" + '<span>'; } else if (passStrength >= 60) { r = '<span style=color:blue>' + "Good" + '<span>'; } else { r = '<span style=color:red>' + "Slabé" + '<span>'; }
6139 + if (passStrength >= 80) { r = '<span style=color:green>' + "Silné" + '<span>'; } else if (passStrength >= 60) { r = '<span style=color:blue>' + "Dobré" + '<span>'; } else { r = '<span style=color:red>' + "Slabé" + '<span>'; }
6140 } else {
6141 // Password requirements provided, use that
6142 var passReq = checkPasswordRequirements(Q('apassword1').value, passRequirements);
6147 - if (passReq == false) { ok = false; r = '<span style=color:red>' + "Policy" + '<span>' }
6143 + if (passReq == false) { ok = false; r = '<span style=color:red>' + "Politika" + '<span>' }
6144 }
6145 }
6146 QH('dxPassWarn', r);
@@ -6192,8 +6188,8 @@
6188 // Mesh rights
6189 var meshrights = 0;
6190 if (meshes[i].links[userinfo._id]) { meshrights = meshes[i].links[userinfo._id].rights; }
6195 - var rights = "Partial Rights";
6196 - if (meshrights == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (meshrights == 0) rights = "No Rights";
6191 + var rights = "Částečné práva";
6192 + if (meshrights == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (meshrights == 0) rights = "Žádná práva";
6193
6194 // Print the mesh information
6195 r += '<div onmouseover=devMouseHover(this,1) onmouseout=devMouseHover(this,0) style=display:inline-block;width:431px;height:50px;padding-top:1px;padding-bottom:1px;float:left><div style=float:left;width:30px;height:100%></div><div tabindex=0 style=height:100%;cursor:pointer onclick=gotoMesh(\'' + i + '\') onkeypress="if (event.key==\'Enter\') gotoMesh(\'' + i + '\')"><div class=mi style=float:left;width:50px;height:50px></div><div style=height:100%><div class=g1></div><div class=e2 style=width:300px><div class=e1>' + EscapeHtml(meshes[i].name) + '</div><div>' + rights + '</div></div><div class=g2 style=float:left></div></div></div></div>';
@@ -6213,14 +6209,14 @@
6209
6210 function server_showRestoreDlg() {
6211 if (xxdialogMode) return false;
6216 - var x = "Restore the server using a backup, <span style=color:red>this will delete the existing server data</span>. Only do this if you know what you are doing." + '<br /><br />';
6212 + var x = "Obnova serveru ze zálohy, <span style=color:red>smaže všechny uživatele a data na tomto serveru.</span>. Udělejte to, pouze pokud víte, co děláte." + '<br /><br />';
6213 x += '<form action="/restoreserver.ashx" enctype="multipart/form-data" method="post"><div>';
6214 x += '<input type=hidden name=auth value=' + authCookie + '>';
6215 x += '<input id=account_dlgFileInput type=file name=datafile style=width:100% accept=".zip,application/octet-stream,application/zip,application/x-zip,application/x-zip-compressed" onchange=account_validateServerRestore()>';
6216 x += '<input id=account_dlgCancelButton type=button value=' + "Zrušit" + ' style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)>';
6217 x += '<input id=account_dlgOkButton type=submit value=' + "OK" + ' style=float:right;width:80px onclick=dialogclose(1)>';
6218 x += '</div><br /><br /></form>';
6223 - setDialogMode(2, "Restore Server", 0, null, x);
6219 + setDialogMode(2, "Obnova serveru", 0, null, x);
6220 account_validateServerRestore();
6221 return false;
6222 }
@@ -6231,7 +6227,7 @@
6227
6228 function server_showVersionDlg() {
6229 if (xxdialogMode) return false;
6234 - setDialogMode(2, "MeshCentral Version", 1, null, "Nahrávání...", 'MeshCentralServerUpdate');
6230 + setDialogMode(2, "MeshCentral verze", 1, null, "Nahrávání...", 'MeshCentralServerUpdate');
6231 meshserver.send({ action: 'serverversion' });
6232 return false;
6233 }
@@ -6241,7 +6237,7 @@
6237
6238 function server_showErrorsDlg() {
6239 if (xxdialogMode) return false;
6244 - setDialogMode(2, "MeshCentral Errors", 1, null, "Nahrávání...", 'MeshCentralServerErrors');
6240 + setDialogMode(2, "MeshCentral chyby", 1, null, "Nahrávání...", 'MeshCentralServerErrors');
6241 meshserver.send({ action: 'servererrors' });
6242 return false;
6243 }
@@ -6257,11 +6253,11 @@
6253 function p20updateMesh() {
6254 if (currentMesh == null) return;
6255 QH('p20meshName', EscapeHtml(currentMesh.name));
6260 - var meshtype = format("Unknown #{0}", currentMesh.mtype);
6256 + var meshtype = format("Neznámý #{0}", currentMesh.mtype);
6257 var meshrights = 0;
6258 try { meshrights = currentMesh.links[userinfo._id].rights; } catch (ex) { }
6263 - if (currentMesh.mtype == 1) meshtype = "Intel&reg; AMT only, no agent";
6264 - if (currentMesh.mtype == 2) meshtype = "Managed using a software agent";
6259 + if (currentMesh.mtype == 1) meshtype = "Intel&reg; AMT pouze, bez agenta";
6260 + if (currentMesh.mtype == 2) meshtype = "Spravovat pomocí softwarového aenta";
6261
6262 var x = '';
6263 x += addHtmlValue("Jméno", addLinkConditional(EscapeHtml(currentMesh.name), 'p20editmesh(1)', (meshrights & 1) != 0));
@@ -6275,7 +6271,7 @@
6271 if (currentMesh.mtype == 2) {
6272 var meshFeatures = [];
6273 if (currentMesh.flags) {
6278 - if (currentMesh.flags & 1) { meshFeatures.push("Auto-Remove"); }
6274 + if (currentMesh.flags & 1) { meshFeatures.push("Automatické odstranění"); }
6275 if (currentMesh.flags & 2) { meshFeatures.push("Hostname Sync"); }
6276 }
6277 meshFeatures = meshFeatures.join(', ');
@@ -6289,42 +6285,42 @@
6285 var consent = 0;
6286 if (currentMesh.consent) { consent = currentMesh.consent; }
6287 if (serverinfo.consent) { consent |= serverinfo.consent; }
6292 - if ((consent & 0x0040) && (consent & 0x0008)) { meshFeatures.push("Desktop Prompt+Toolbar"); } else if (consent & 0x0040) { meshFeatures.push("Desktop Toolbar"); } else if (consent & 0x0008) { meshFeatures.push("Desktop Prompt"); } else { if (consent & 0x0001) { meshFeatures.push("Desktop Notify"); } }
6293 - if (consent & 0x0010) { meshFeatures.push("Terminal Prompt"); } else { if (consent & 0x0002) { meshFeatures.push("Terminal Notify"); } }
6294 - if (consent & 0x0020) { meshFeatures.push("Files Prompt"); } else { if (consent & 0x0004) { meshFeatures.push("Files Notify"); } }
6295 - if (consent == 7) { meshFeatures = ["Always Notify"]; }
6296 - if ((consent & 56) == 56) { meshFeatures = ["Always Prompt"]; }
6288 + if ((consent & 0x0040) && (consent & 0x0008)) { meshFeatures.push("Výzva na ploše+panel nástrojů"); } else if (consent & 0x0040) { meshFeatures.push("Panel nástrojů na ploše"); } else if (consent & 0x0008) { meshFeatures.push("Výzva na ploše"); } else { if (consent & 0x0001) { meshFeatures.push("Informovat na ploše"); } }
6289 + if (consent & 0x0010) { meshFeatures.push("Výzva terminálu"); } else { if (consent & 0x0002) { meshFeatures.push("Oznámení terminálu"); } }
6290 + if (consent & 0x0020) { meshFeatures.push("Dotaz na soubory"); } else { if (consent & 0x0004) { meshFeatures.push("Upozornit na soubory"); } }
6291 + if (consent == 7) { meshFeatures = ["Vždy upozorňovat"]; }
6292 + if ((consent & 56) == 56) { meshFeatures = ["Vždy se dotázat"]; }
6293
6294 meshFeatures = meshFeatures.join(', ');
6295 if (meshFeatures == '') { meshFeatures = '<i>' + "Nic" + '</i>'; }
6300 - x += addHtmlValue("User Consent", addLinkConditional(meshFeatures, 'p20editmeshconsent()', meshrights & 1));
6296 + x += addHtmlValue("Souhlas uživatele", addLinkConditional(meshFeatures, 'p20editmeshconsent()', meshrights & 1));
6297 }
6298
6299 // Display user consent
6300 var meshNotify = 0, meshNotifyStr = [];
6301 if (userinfo.links && userinfo.links[currentMesh._id] && userinfo.links[currentMesh._id].notify) { meshNotify = userinfo.links[currentMesh._id].notify; }
6302 if (meshNotify & 2) { meshNotifyStr.push("Připojit"); }
6307 - if (meshNotify & 4) { meshNotifyStr.push("Disconnect"); }
6303 + if (meshNotify & 4) { meshNotifyStr.push("Odpojit"); }
6304 if (meshNotify & 8) { meshNotifyStr.push("Intel&reg; AMT"); }
6305 if (meshNotifyStr.length == 0) { meshNotifyStr.push('<i>' + "Nic" + '</i>'); }
6306 x += addHtmlValue("Notifikace", addLink(meshNotifyStr.join(', '), 'p20editMeshNotify()'));
6307
6308 // Intel AMT setup
6313 - var intelAmtPolicy = "No Policy";
6309 + var intelAmtPolicy = "Žádná politika";
6310 if (currentMesh.amt) {
6311 if (currentMesh.amt.type == 1) { intelAmtPolicy = 'Deactivate Client Control Mode (CCM)'; }
6312 else if (currentMesh.amt.type == 2) {
6317 - intelAmtPolicy = "Simple Client Control Mode (CCM)";
6318 - if (currentMesh.amt.cirasetup == 2) { intelAmtPolicy += " + CIRA"; }
6313 + intelAmtPolicy = "Jednoduchý Client Control Mode (CCM)";
6314 + if (currentMesh.amt.cirasetup == 2) { intelAmtPolicy += "+ CIRA"; }
6315 } else if (currentMesh.amt.type == 3) {
6320 - intelAmtPolicy = "Simple Admin Control Mode (ACM)";
6321 - if (currentMesh.amt.cirasetup == 2) { intelAmtPolicy += " + CIRA"; }
6316 + intelAmtPolicy = "Jednoduchý Admin Control Mode (ACM)";
6317 + if (currentMesh.amt.cirasetup == 2) { intelAmtPolicy += "+ CIRA"; }
6318 }
6319 }
6320 x += addHtmlValue("Intel&reg; AMT", addLinkConditional(intelAmtPolicy, 'p20editMeshAmt()', meshrights & 1));
6321
6322 // Display group note support
6327 - if (meshrights & 1) { x += '<br><input type=button value=' + "Poznámky" + ' title=\"' + "View notes about this device group" + '\" onclick=showNotes(false,"' + encodeURIComponent(currentMesh._id) + '") />'; }
6323 + if (meshrights & 1) { x += '<br><input type=button value=' + "Poznámky" + ' title=\"' + "Zobrazit poznámky k této skupině zařízení" + '\" onclick=showNotes(false,"' + encodeURIComponent(currentMesh._id) + '") />'; }
6324
6325 x += '<br style=clear:both><br>';
6326 var currentMeshLinks = currentMesh.links[userinfo._id];
@@ -6332,12 +6328,12 @@
6328
6329 if ((meshrights & 4) != 0) {
6330 if (currentMesh.mtype == 1) {
6335 - x += '<a href=# onclick=\'return addCiraDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v síti Internet." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Install CIRA" + '</a>';
6336 - x += '<a href=# onclick=\'return addDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v lokální síti." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Install local" + '</a>';
6331 + x += '<a href=# onclick=\'return addCiraDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v síti Internet." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Instalace CIRA" + '</a>';
6332 + x += '<a href=# onclick=\'return addDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v lokální síti." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Lokální instalace" + '</a>';
6333 if (currentMesh.amt && (currentMesh.amt.type == 2)) { // CCM activation
6338 - x += '<a href=# onclick=\'return showCcmActivation(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Perform Intel AMT client control mode (CCM) activation." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Aktivace" + '</a>';
6334 + x += '<a href=# onclick=\'return showCcmActivation(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Provedení Intel AMT client control mode (CCM) aktivace." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Aktivace" + '</a>';
6335 } else if (currentMesh.amt && (currentMesh.amt.type == 3) && ((features & 0x00100000) != 0)) { // ACM activation
6340 - x += '<a href=# onclick=\'return showAcmActivation(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Perform Intel AMT admin control mode (ACM) activation." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Aktivace" + '</a>';
6336 + x += '<a href=# onclick=\'return showAcmActivation(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Provedení Intel AMT admin control mode (ACM) aktivace." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Aktivace" + '</a>';
6337 }
6338 }
6339 if (currentMesh.mtype == 2) {
@@ -6346,7 +6342,7 @@
6342 }
6343 }
6344
6349 - x += '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "User Authorizations" + '</th><th scope=col style=text-align:left></th></tr>';
6345 + x += '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "Uživatelská oprávnění" + '</th><th scope=col style=text-align:left></th></tr>';
6346
6347 // Sort the users for this mesh
6348 var count = 1, sortedusers = [];
@@ -6360,10 +6356,10 @@
6356
6357 // Display all users for this mesh
6358 for (var i in sortedusers) {
6363 - var trash = '', rights = "Partial Rights", r = sortedusers[i].rights;
6364 - if (r == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (r == 0) rights = "No Rights";
6365 - if ((sortedusers[i].id != userinfo._id) && (meshrights == 0xFFFFFFFF || (((meshrights & 2) != 0)))) { trash = '<a href=# onclick=\'return p20deleteUser(event,"' + encodeURIComponent(sortedusers[i].id) + '")\' title=\"' + "Remove user rights to this device group" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
6366 - x += '<tr tabindex=0 onclick=p20viewuser("' + encodeURIComponent(sortedusers[i].id) + '") onkeypress="if (event.key==\'Enter\') p20viewuser(\'' + encodeURIComponent(sortedusers[i].id) + '\')" style=cursor:pointer' + (((count % 2) == 0) ? ';background-color:#DDD' : '') + '><td><div title=\"' + "User" + '\" class=m2></div><div>&nbsp;' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
6359 + var trash = '', rights = "Částečné práva", r = sortedusers[i].rights;
6360 + if (r == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (r == 0) rights = "Žádná práva";
6361 + if ((sortedusers[i].id != userinfo._id) && (meshrights == 0xFFFFFFFF || (((meshrights & 2) != 0)))) { trash = '<a href=# onclick=\'return p20deleteUser(event,"' + encodeURIComponent(sortedusers[i].id) + '")\' title=\"' + "Odstranit uživatelská práva pro tuto skupinu zařízení" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
6362 + x += '<tr tabindex=0 onclick=p20viewuser("' + encodeURIComponent(sortedusers[i].id) + '") onkeypress="if (event.key==\'Enter\') p20viewuser(\'' + encodeURIComponent(sortedusers[i].id) + '\')" style=cursor:pointer' + (((count % 2) == 0) ? ';background-color:#DDD' : '') + '><td><div title=\"' + "Uživatel" + '\" class=m2></div><div>&nbsp;' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
6363 ++count;
6364 }
6365
@@ -6378,14 +6374,14 @@
6374 function p20editMeshAmt() {
6375 if (xxdialogMode) return;
6376 var x = '', acmoption = '';
6381 - if ((features & 0x100000) != 0) { acmoption = '<option value=3>' + "Simple Admin Control Mode (ACM)" + '</option>'; }
6377 + if ((features & 0x100000) != 0) { acmoption = '<option value=3>' + "Jednoduchý Admin Control Mode (ACM)" + '</option>'; }
6378 if (currentMesh.mtype == 1) {
6383 - x += addHtmlValue("Typ", '<select id=dp20amtpolicy style=width:230px onchange=p20editMeshAmtChange()><option value=0>' + "No Policy" + '</option><option value=2>' + "Simple Client Control Mode (CCM)" + '</option>' + acmoption + '</select>');
6379 + x += addHtmlValue("Typ", '<select id=dp20amtpolicy style=width:230px onchange=p20editMeshAmtChange()><option value=0>' + "Žádná politika" + '</option><option value=2>' + "Jednoduchý Client Control Mode (CCM)" + '</option>' + acmoption + '</select>');
6380 } else {
6385 - x += addHtmlValue("Typ", '<select id=dp20amtpolicy style=width:230px onchange=p20editMeshAmtChange()><option value=0>' + "No Policy" + '</option><option value=1>' + "Deactivate Client Control Mode (CCM)" + '</option><option value=2>' + "Simple Client Control Mode (CCM)" + '</option>' + acmoption + '</select>');
6381 + x += addHtmlValue("Typ", '<select id=dp20amtpolicy style=width:230px onchange=p20editMeshAmtChange()><option value=0>' + "Žádná politika" + '</option><option value=1>' + "Deaktivace Client Control Mode (CCM)" + '</option><option value=2>' + "Jednoduchý Client Control Mode (CCM)" + '</option>' + acmoption + '</select>');
6382 }
6383 x += '<div id=dp20amtpolicydiv></div>';
6388 - setDialogMode(2, "Intel&reg; AMT Policy", 3, p20editMeshAmtEx, x);
6384 + setDialogMode(2, "Intel&reg; AMT politika", 3, p20editMeshAmtEx, x);
6385 if (currentMesh.amt) { Q('dp20amtpolicy').value = currentMesh.amt.type; }
6386 p20editMeshAmtChange();
6387
@@ -6404,21 +6400,21 @@
6400 if (ptype >= 2) {
6401 x = addHtmlValue("Heslo*", '<input id=dp20amtpolicypass type=password style=width:230px maxlength=32 onchange=dp20amtValidatePolicy() onkeyup=dp20amtValidatePolicy() autocomplete=off />')
6402 x += addHtmlValue("Heslo*", '<input id=dp20amtpolicypass2 type=password style=width:230px maxlength=32 onchange=dp20amtValidatePolicy() onkeyup=dp20amtValidatePolicy() autocomplete=off />')
6407 - if ((ptype == 2) && (currentMesh.mtype == 2)) { x += addHtmlValue("Password mismatch", '<select id=dp20amtbadpass style=width:230px><option value=0>' + "Nic" + '</option><option value=1>' + "Reactivate Intel&reg; AMT" + '</option></select>'); }
6403 + if ((ptype == 2) && (currentMesh.mtype == 2)) { x += addHtmlValue("Hesla nejsou stejná", '<select id=dp20amtbadpass style=width:230px><option value=0>' + "Nic" + '</option><option value=1>' + "ReaktivaceIntel&reg; AMT" + '</option></select>'); }
6404 if ((features & 0x400) == 0) {
6405 if (ptype == 2) {
6410 - x += addHtmlValue('<span title="' + "Client Initiated Remote Access" + '">' + "CIRA" + '</span>', '<select id=dp20amtcira style=width:230px><option value=0>' + "Don\'t configure" + '</option><option value=1>' + "Don\'t connect to server" + '</option><option value=2>' + "Připojit se na server" + '</option></select>');
6406 + x += addHtmlValue('<span title="' + "Vzdálený přístup iniciováný klientem" + '">' + "CIRA" + '</span>', '<select id=dp20amtcira style=width:230px><option value=0>' + "Nekonfigurovat" + '</option><option value=1>' + "Nepřipojovat se k serveru" + '</option><option value=2>' + "Připojit se na server" + '</option></select>');
6407 } else {
6412 - x += addHtmlValue('<span title="' + "Client Initiated Remote Access" + '">' + "CIRA" + '</span>', '<select id=dp20amtcira style=width:230px><option value=0>' + "Don\'t configure" + '</option><option value=2>' + "Připojit se na server" + '</option></select>');
6408 + x += addHtmlValue('<span title="' + "Vzdálený přístup iniciováný klientem" + '">' + "CIRA" + '</span>', '<select id=dp20amtcira style=width:230px><option value=0>' + "Nekonfigurovat" + '</option><option value=2>' + "Připojit se na server" + '</option></select>');
6409 }
6410 }
6411 x += '<br/><span style="font-size:10px">' + "* Ponechat prázdné pro vygenerování náhodného hesla každému zařízení." + '</span><br/>';
6412 if (currentMesh.mtype == 2) {
6413 if (ptype == 2) {
6418 - x += '<span style="font-size:10px">' + "This policy will not impact devices with Intel&reg; AMT in ACM mode." + '</span><br/>';
6419 - x += '<span style="font-size:10px">' + "This is not a secure policy as agents will be performing activation." + '</span>';
6414 + x += '<span style="font-size:10px">' + "Tato zásada nebude mít vliv na zařízení s Intel&reg; AMT in ACM módem." + '</span><br/>';
6415 + x += '<span style="font-size:10px">' + "Toto není bezpečná politika, protože agenti budou provádět aktivaci." + '</span>';
6416 } else {
6421 - x += '<span style="font-size:10px">' + "During activation, the agent will have access to admin password infomation." + '</span>';
6417 + x += '<span style="font-size:10px">' + "Během aktivace bude mít agent administrátorská práva." + '</span>';
6418 }
6419 }
6420 }
@@ -6450,8 +6446,8 @@
6446
6447 function p20showDeleteMeshDialog() {
6448 if (xxdialogMode) return false;
6453 - var x = format("Are you sure you want to delete group {0}? Deleting the device group will also delete all information about devices within this group.", EscapeHtml(currentMesh.name)) + '<br /><br />';
6454 - x += '<label><input id=p20check type=checkbox onchange=p20validateDeleteMeshDialog() />' + "Confirm" + '</label>';
6449 + var x = 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)) + '<br /><br />';
6450 + x += '<label><input id=p20check type=checkbox onchange=p20validateDeleteMeshDialog() />' + "Potvrdit" + '</label>';
6451 setDialogMode(2, "Smazat skupinu", 3, p20showDeleteMeshDialogEx, x);
6452 p20validateDeleteMeshDialog();
6453 return false;
@@ -6469,7 +6465,7 @@
6465 if (xxdialogMode) return;
6466 var x = addHtmlValue("Jméno", '<input id=dp20meshname style=width:230px maxlength=32 onchange=p20editmeshValidate() onkeyup=p20editmeshValidate(event) />');
6467 x += addHtmlValue("Popis", '<div style=width:230px;margin:0;padding:0><textarea id=dp20meshdesc maxlength=1024 style=width:100%;resize:none></textarea></div>');
6472 - setDialogMode(2, "Editovat skupinu zařízení", 3, p20editmeshEx, x);
6468 + setDialogMode(2, "Upravit skupinu zařízení", 3, p20editmeshEx, x);
6469 Q('dp20meshname').value = currentMesh.name;
6470 if (currentMesh.desc) Q('dp20meshdesc').value = currentMesh.desc;
6471 p20editmeshValidate();
@@ -6489,16 +6485,16 @@
6485 if (xxdialogMode) return;
6486 var x = '', consent = (currentMesh.consent) ? currentMesh.consent : 0;
6487 x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px"><b>' + "Plocha" + '</b></div>';
6492 - x += '<div><label><input type=checkbox id=d20flag1 ' + ((consent & 0x0001) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
6493 - x += '<div><label><input type=checkbox id=d20flag2 ' + ((consent & 0x0008) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
6494 - x += '<div><label><input type=checkbox id=d20flag7 ' + ((consent & 0x0040) ? 'checked' : '') + '>' + "Show connection toolbar" + '</label></div>';
6488 + x += '<div><label><input type=checkbox id=d20flag1 ' + ((consent & 0x0001) ? 'checked' : '') + '>' + "Informovat uživatele" + '</label></div>';
6489 + x += '<div><label><input type=checkbox id=d20flag2 ' + ((consent & 0x0008) ? 'checked' : '') + '>' + "Výzva k souhlasu uživatele" + '</label></div>';
6490 + x += '<div><label><input type=checkbox id=d20flag7 ' + ((consent & 0x0040) ? 'checked' : '') + '>' + "Zobrazit panel nástrojů připojení" + '</label></div>';
6491 x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Terminál" + '</b></div>';
6496 - x += '<div><label><input type=checkbox id=d20flag3 ' + ((consent & 0x0002) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
6497 - x += '<div><label><input type=checkbox id=d20flag4 ' + ((consent & 0x0010) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
6492 + x += '<div><label><input type=checkbox id=d20flag3 ' + ((consent & 0x0002) ? 'checked' : '') + '>' + "Informovat uživatele" + '</label></div>';
6493 + x += '<div><label><input type=checkbox id=d20flag4 ' + ((consent & 0x0010) ? 'checked' : '') + '>' + "Výzva k souhlasu uživatele" + '</label></div>';
6494 x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Soubory" + '</b></div>';
6499 - x += '<div><label><input type=checkbox id=d20flag5 ' + ((consent & 0x0004) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
6500 - x += '<div><label><input type=checkbox id=d20flag6 ' + ((consent & 0x0020) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
6501 - setDialogMode(2, "Edit Device Group User Consent", 3, p20editmeshconsentEx, x);
6495 + x += '<div><label><input type=checkbox id=d20flag5 ' + ((consent & 0x0004) ? 'checked' : '') + '>' + "Informovat uživatele" + '</label></div>';
6496 + x += '<div><label><input type=checkbox id=d20flag6 ' + ((consent & 0x0020) ? 'checked' : '') + '>' + "Výzva k souhlasu uživatele" + '</label></div>';
6497 + setDialogMode(2, "Upravit souhlas uživatele skupiny zařízení", 3, p20editmeshconsentEx, x);
6498 if (serverinfo.consent) {
6499 if (serverinfo.consent & 0x0001) { Q('d20flag1').checked = true; }
6500 if (serverinfo.consent & 0x0008) { Q('d20flag2').checked = true; }
@@ -6534,7 +6530,7 @@
6530 var flags = (currentMesh.flags)?currentMesh.flags:0;
6531 var x = '<div><label><input type=checkbox id=d20flag1 ' + ((flags & 1) ? 'checked' : '') + '>Remove device on disconnect</label><br></div>';
6532 x += '<div><label><input type=checkbox id=d20flag2 ' + ((flags & 2) ? 'checked' : '') + '>Sync server device name to hostname</label><br></div>';
6537 - setDialogMode(2, "Edit Device Group Features", 3, p20editmeshfeaturesEx, x);
6533 + setDialogMode(2, "Upravit vlastnosti skupiny zařízení", 3, p20editmeshfeaturesEx, x);
6534 }
6535
6536 function p20editmeshfeaturesEx() {
@@ -6548,10 +6544,10 @@
6544 if (xxdialogMode) return false;
6545 var x = '';
6546 if (userid == null) {
6551 - x += "Allow users to manage this device group and devices in this group.";
6547 + x += "Umožnit uživatelům spravovat tuto skupinu a zařízení v této skupině.";
6548 if (features & 0x00080000) { x += " Uživatelé se musí před přidáním do skupiny zařízení jednou přihlásit k tomuto serveru." }
6549 x += '<br /><br /><div style=\'position:relative\'>';
6554 - x += addHtmlValue("User Names", '<input id=dp20username style=width:230px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() placeholder="user1, user2, user3" />');
6550 + x += addHtmlValue("Uživatelé", '<input id=dp20username style=width:230px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() placeholder="user1, user2, user3" />');
6551 x += '<div id=dp20usersuggest class=suggestionBox style=\'top:30px;left:130px;display:none\'></div>';
6552 x += '</div><br>';
6553 } else {
@@ -6559,32 +6555,32 @@
6555 var uname = userid.split('/')[2];
6556 if (users && users[userid]) { uname = users[userid].name; }
6557 if (userinfo._id == userid) { uname = userinfo.name; }
6562 - x += format("Group permissions for user {0}.", uname) + '<br /><br />';
6558 + x += format("Oprávnění skupiny pro uživatele {0}.", uname) + '<br /><br />';
6559 }
6560 x += '<div style="height:120px;overflow-y:scroll;border:1px solid gray">';
6561 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>' + "Hlavní administrátor" + '</label><br>';
6566 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Editovat skupinu zařízení" + '</label><br>';
6562 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Upravit skupinu zařízení" + '</label><br>';
6563 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>' + "Spravovat uživatele pro skupinu zařízení" + '</label><br>';
6564 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>' + "Správa skupin zařízení" + '</label><br>';
6569 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Remote Control" + '</label><br>';
6570 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>' + "Remote View Only" + '</label><br>';
6571 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>' + "Limited Input Only" + '</label><br>';
6572 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>' + "No Terminal Access" + '</label><br>';
6573 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20nofiles style=margin-left:12px>' + "No File Access" + '</label><br>';
6574 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>' + "No Intel&reg; AMT" + '</label><br>';
6565 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Vzdálené ovládání" + '</label><br>';
6566 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>' + "Pouze vzdálené prohlížení" + '</label><br>';
6567 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>' + "Pouze omezené vstupy" + '</label><br>';
6568 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>' + "Žádný přístup k terminálu" + '</label><br>';
6569 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20nofiles style=margin-left:12px>' + "Žádný přístup k souborům" + '</label><br>';
6570 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>' + "Žádné Intel&reg; AMT" + '</label><br>';
6571 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshagentconsole>' + "Konzole agenta" + '</label><br>';
6576 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshserverfiles>' + "Server Files" + '</label><br>';
6577 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20wakedevices>' + "Wake Devices" + '</label><br>';
6572 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshserverfiles>' + "Soubory serveru" + '</label><br>';
6573 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20wakedevices>' + "Probudit zařízení" + '</label><br>';
6574 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editnotes>' + "Upravit popis zařízení" + '</label><br>';
6579 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20limitevents>' + "Show Only Own Events" + '</label><br>';
6580 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20chatnotify>' + "Chat & Notify" + '</label><br>';
6581 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20uninstall>' + "Uninstall Agent" + '</label><br>';
6575 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20limitevents>' + "Zobrazit pouze vlastní události" + '</label><br>';
6576 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20chatnotify>' + "Chat & Upozornění" + '</label><br>';
6577 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20uninstall>' + "Odinstalovat agenta" + '</label><br>';
6578 x += '</div>';
6579 if (userid == null) {
6580 setDialogMode(2, "Přidat uživatele do skupiny zařizení", 3, p20showAddMeshUserDialogEx, x);
6581 Q('dp20username').focus();
6582 } else {
6587 - setDialogMode(2, "Edit User Device Group Permissions", 7, p20showAddMeshUserDialogEx, x, userid);
6583 + setDialogMode(2, "Upravit uživatelská práva pro skupinu zařízení ", 7, p20showAddMeshUserDialogEx, x, userid);
6584 var cmeshrights = currentMesh.links[userinfo._id].rights, meshrights = currentMesh.links[userid].rights;
6585 if (meshrights == 0xFFFFFFFF) {
6586 Q('p20fulladmin').checked = true;
@@ -6717,29 +6713,29 @@
6713 } else {
6714 var r = [];
6715 if (meshrights == 0xFFFFFFFF) r.push("Hlavní administrator (všechna práva)"); else {
6720 - if ((meshrights & 1) != 0) r.push("Editovat skupinu zařízení");
6716 + if ((meshrights & 1) != 0) r.push("Upravit skupinu zařízení");
6717 if ((meshrights & 2) != 0) r.push("Spravovat uživatele pro skupinu zařízení");
6718 if ((meshrights & 4) != 0) r.push("Správa skupin zařízení");
6723 - if ((meshrights & 8) != 0) r.push("Remote Control");
6719 + if ((meshrights & 8) != 0) r.push("Vzdálené ovládání");
6720 if ((meshrights & 16) != 0) r.push("Konzole agenta");
6725 - if ((meshrights & 32) != 0) r.push("Server Files");
6726 - if ((meshrights & 64) != 0) r.push("Wake Devices");
6727 - if ((meshrights & 128) != 0) r.push("Edit Notes");
6728 - if (((meshrights & 8) != 0) && (meshrights & 256) != 0) r.push("Remote View Only");
6721 + if ((meshrights & 32) != 0) r.push("Soubory serveru");
6722 + if ((meshrights & 64) != 0) r.push("Probudit zařízení");
6723 + if ((meshrights & 128) != 0) r.push("Upravit poznámky");
6724 + if (((meshrights & 8) != 0) && (meshrights & 256) != 0) r.push("Pouze vzdálené prohlížení");
6725 if (((meshrights & 8) != 0) && (meshrights & 512) != 0) r.push("Žádný terminál");
6730 - if (((meshrights & 8) != 0) && (meshrights & 1024) != 0) r.push("No Files");
6731 - if (((meshrights & 8) != 0) && (meshrights & 2048) != 0) r.push("No Intel&reg; AMT");
6732 - if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Limited Input");
6733 - if ((meshrights & 8192) != 0) r.push("Self Events Only");
6734 - if ((meshrights & 16384) != 0) r.push("Chat & Notify");
6735 - if ((meshrights & 32768) != 0) r.push("Uninstall");
6736 - }
6737 - if (r.length == 0) { r.push("No Rights"); }
6726 + if (((meshrights & 8) != 0) && (meshrights & 1024) != 0) r.push("Žádné soubory");
6727 + if (((meshrights & 8) != 0) && (meshrights & 2048) != 0) r.push("Žádné Intel&reg; AMT");
6728 + if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Omezené vstupy");
6729 + if ((meshrights & 8192) != 0) r.push("Pouze vlastní události");
6730 + if ((meshrights & 16384) != 0) r.push("Chat & Upozornění");
6731 + if ((meshrights & 32768) != 0) r.push("Odinstalace");
6732 + }
6733 + if (r.length == 0) { r.push("Žádná práva"); }
6734 var uname = xuserid.split('/')[2];
6735 if (users && users[xuserid]) { uname = users[xuserid].name; }
6736 if (userinfo._id == xuserid) { uname = userinfo.name; }
6737 var buttons = 1, x = addHtmlValue("Uživatel", EscapeHtml(decodeURIComponent(uname)));
6742 - if (xuserid.split('/')[2] != uname) { x += addHtmlValue("User Identifier", EscapeHtml(xuserid.split('/')[2])); }
6738 + if (xuserid.split('/')[2] != uname) { x += addHtmlValue("Identifikátor uživatele", EscapeHtml(xuserid.split('/')[2])); }
6739
6740 x += addHtmlValue("Práva", r.join(", "));
6741 if (((userinfo._id) != xuserid) && (cmeshrights == 0xFFFFFFFF || (((cmeshrights & 2) != 0) && (meshrights != 0xFFFFFFFF)))) buttons += 4;
@@ -6752,7 +6748,7 @@
6748 var uname = userid.split('/')[2];
6749 if (users && users[userid]) { uname = users[userid].name; }
6750 if (userinfo._id == userid) { uname = userinfo.name; }
6755 - setDialogMode(2, "Remote Mesh User", 3, p20viewuserEx2, format("Confirm removal of user {0}?", EscapeHtml(decodeURIComponent(uname))), userid);
6751 + setDialogMode(2, "Vzdálený uživatel", 3, p20viewuserEx2, format("Potvrdit odstranění uživatele {0}?", EscapeHtml(decodeURIComponent(uname))), userid);
6752 }
6753 function p20deleteUser(e, userid) { haltEvent(e); p20viewuserEx(2, decodeURIComponent(userid)); return false; }
6754 function p20viewuserEx2(button, userid) { meshserver.send({ action: 'removemeshuser', meshid: currentMesh._id, meshname: currentMesh.name, userid: userid }); }
@@ -6844,7 +6840,7 @@
6840 h = '<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value="' + name + '">&nbsp;<span style=float:right title=\"' + title + '\">' + right + '</span><span><div class=fileIcon' + f.t + ' onclick=p5folderset(\"' + encodeURIComponent(f.nx) + '\")></div><a href=# style=cursor:pointer onclick=\'return p5folderset(\"' + encodeURIComponent(f.nx) + '\")\'>' + shortname + '</a></span></div>';
6841 } else {
6842 var link = shortname, publiclink = '';
6847 - if (publicfolder) { publiclink = ' (<a style=cursor:pointer title="Display public link" onclick=\'return p5showPublicLink("' + publicPath + '/' + f.nx + '")\'>' + "Link" + '</a>)'; }
6843 + if (publicfolder) { publiclink = ' (<a style=cursor:pointer title="Display public link" onclick=\'return p5showPublicLink("' + publicPath + '/' + f.nx + '")\'>' + "Odkaz" + '</a>)'; }
6844 if (f.s > 0) { link = '<a rel="noreferrer noopener" target="_blank" download href="downloadfile.ashx?link=' + encodeURIComponent(filetreelinkpath + '/' + f.nx) + '">' + shortname + '</a>' + publiclink; }
6845 h = '<div class=filelist file=3><input file=3 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value="' + f.nx + '">&nbsp;<span class=fsize>' + fdatestr + '</span><span style=float:right>' + fsize + '</span><span><div class=fileIcon' + f.t + '></div>' + link + '</span></div>';
6846 }
@@ -6871,7 +6867,7 @@
6867
6868 function getNiceSize(bytes) {
6869 if (bytes <= 0) return "Překročen limit pro ukládání";
6874 - if (bytes < 2048) return format("{0} bytes remaining", bytes);
6870 + if (bytes < 2048) return format("{0} bytů zbývá", bytes);
6871 if (bytes < 2097152) return format("{0} kilobytů zbývá", Math.round(bytes / 1024));
6872 if (bytes < 2147483648) return format("{0} megabytů zbývá", Math.round(bytes / 1024 / 1024));
6873 return format("{0} gigabytů zbývá", Math.round(bytes / 1024 / 1024 / 1024));
@@ -6890,7 +6886,7 @@
6886 if ((f.t != 1 && f.t != 4) || (f.maxbytes == null)) return '';
6887 var tf = Math.floor(f.s / 1024), tq = (f.maxbytes - f.s);
6888 var title;
6893 - if (f.c > 1) { title = format("{0}k in {1} files. {2}k maximum", tf, f.c, (Math.floor(f.maxbytes / 1024 / 1024))); } else { title = format("{0}k in 1 file. {1}k maximum", tf, (Math.floor(f.maxbytes / 1024 / 1024))); }
6889 + if (f.c > 1) { title = format("{0}k v {1} souborech. {2}k maximum", tf, f.c, (Math.floor(f.maxbytes / 1024 / 1024))); } else { title = format("{0}k v 1 souboru. {1}k maximum", tf, (Math.floor(f.maxbytes / 1024 / 1024))); }
6890 return '<span title="' + title + '">' + getNiceSize(tq) + ' <progress style=height:10px;width:100px value=' + f.s + ' max=' + f.maxbytes + ' /></span>';
6891 }
6892
@@ -6936,13 +6932,13 @@
6932 function p5folderset(x) { filetreelocation.push(decodeURIComponent(x)); updateFiles(); return false; }
6933 function p5createfolder() { setDialogMode(2, "Nový adresář", 3, p5createfolderEx, '<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% />'); focusTextBox('p5renameinput'); p5fileNameCheck(); }
6934 function p5createfolderEx() { meshserver.send({ action: 'fileoperation', fileop: 'createfolder', path: filetreelocation, newfolder: Q('p5renameinput').value}); }
6939 - function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Recursive delete" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p5deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
6935 + function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Rekurzivní mazání" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p5deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
6936 function p5deletefileEx() { var delfiles = [], checkboxes = document.getElementsByName('fc'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { delfiles.push(checkboxes[i].value); } } meshserver.send({ action: 'fileoperation', fileop: 'delete', path: filetreelocation, delfiles: delfiles, rec: Q('p5recdeleteinput').checked }); }
6937 function p5renamefile() { var renamefile, checkboxes = document.getElementsByName('fc'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { renamefile = checkboxes[i].value; } } setDialogMode(2, "Přejmenovat", 3, p5renamefileEx, '<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% value="' + renamefile + '" />', { action: 'fileoperation', fileop: 'rename', path: filetreelocation, oldname: renamefile}); focusTextBox('p5renameinput'); p5fileNameCheck(); }
6938 function p5renamefileEx(b, t) { t.newname = Q('p5renameinput').value; meshserver.send(t); }
6939 function p5fileNameCheck(e) { var x = isFilenameValid(Q('p5renameinput').value); QE('idx_dlgOkButton', x); if ((x == true) && (e && e.keyCode == 13)) { dialogclose(1); } }
6940 var isFilenameValid = (function(){ var x1=/^[^\\/:\*\?"<>\|]+$/, x2=/^\./, x3=/^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i; return function isFilenameValid(fname){ return x1.test(fname)&&!x2.test(fname)&&!x3.test(fname)&&(fname[0] != '.'); } })();
6945 - function p5uploadFile() { setDialogMode(2, "Nahrát soubor", 3, p5uploadFileEx, '<form method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input type=text name=link style=display:none id=p5uploadpath value=\"' + encodeURIComponent(filetreelinkpath) + '\" /><input type=file name=files id=p5uploadinput style=width:100% multiple=multiple onchange="p5updateUploadDialogOk(\'p5uploadinput\')" /><input type=hidden name=authCookie value=' + authCookie + ' /><input type=submit id=p5loginSubmit style=display:none /><span id=p5confirmOverwriteSpan style=display:none><br /><label><input type=checkbox id=p5confirmOverwrite onchange="p5updateUploadDialogOk(\'p5uploadinput\')" />' + "Confirm overwrite?" + '</label></span></form>'); p5updateUploadDialogOk('p5uploadinput'); }
6941 + function p5uploadFile() { setDialogMode(2, "Nahrát soubor", 3, p5uploadFileEx, '<form method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input type=text name=link style=display:none id=p5uploadpath value=\"' + encodeURIComponent(filetreelinkpath) + '\" /><input type=file name=files id=p5uploadinput style=width:100% multiple=multiple onchange="p5updateUploadDialogOk(\'p5uploadinput\')" /><input type=hidden name=authCookie value=' + authCookie + ' /><input type=submit id=p5loginSubmit style=display:none /><span id=p5confirmOverwriteSpan style=display:none><br /><label><input type=checkbox id=p5confirmOverwrite onchange="p5updateUploadDialogOk(\'p5uploadinput\')" />' + "Potvrdit přepsání?" + '</label></span></form>'); p5updateUploadDialogOk('p5uploadinput'); }
6942 function p5uploadFileEx() { Q('p5loginSubmit').click(); }
6943 function p5updateUploadDialogOk() {
6944 // Check if these are files we can upload, remove all folders.
@@ -6994,9 +6990,9 @@
6990 }
6991 p5updateClipview();
6992 }
6997 - function p5pasteFile() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Confim {0} of {1} entrie{2} to this location?", (p5clipboardCut == 0?'copy':'move'), p5clipboard.length, ((p5clipboard.length > 1)?'s':'')) } setDialogMode(2, "Vložit", 3, p5pasteFileEx, x); }
6993 + function p5pasteFile() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Potvrdit {0} z {1} záznam{2} do tohoto umístění?", (p5clipboardCut == 0?'copy':'move'), p5clipboard.length, ((p5clipboard.length > 1)?'s':'')) } setDialogMode(2, "Vložit", 3, p5pasteFileEx, x); }
6994 function p5pasteFileEx() { meshserver.send({ action: 'fileoperation', fileop: (p5clipboardCut == 0?'copy':'move'), scpath: p5clipboardFolder, path: filetreelocation, names: p5clipboard }); p5folderup(999); if (p5clipboardCut == 1) { p5clipboard = null, p5clipboardFolder = null, p5clipboardCut = 0; p5updateClipview(); } }
6999 - function p5updateClipview() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Holding {0} entrie{1} for {2}", p5clipboard.length, ((p5clipboard.length > 1)?'s':''), (p5clipboardCut == 0?"copy":"move")) + ', <a href=# onclick="return p5clearClip()" style=cursor:pointer>' + "Clear" + '</a>.' } QH('p5bottomstatus', x); p5setActions(); }
6995 + function p5updateClipview() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Držím {0} zaznamů{1} pro {2}", p5clipboard.length, ((p5clipboard.length > 1)?'s':''), (p5clipboardCut == 0?"kopírovat":"přesun")) + ', <a href=# onclick="return p5clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.' } QH('p5bottomstatus', x); p5setActions(); }
6996 function p5clearClip() { p5clipboard = null; p5clipboardFolder = null; p5clipboardCut = 0; p5updateClipview(); return false; }
6997
6998 function p5fileDragDrop(e) {
@@ -7029,7 +7025,7 @@
7025 p5PerformUpload(1, files);
7026 } else {
7027 // Otherwise, prompt for confirmation
7032 - setDialogMode(2, "Nahrát soubor", 3, p5PerformUpload, format("Upload will overwrite {0} file{1}. Continue?", overWriteCount, addLetterS(overWriteCount)), files);
7028 + setDialogMode(2, "Nahrát soubor", 3, p5PerformUpload, format("Nahrání přepíše {0} soubor{1}. Pokračovat?", overWriteCount, addLetterS(overWriteCount)), files);
7029 }
7030 }
7031
@@ -7148,7 +7144,7 @@
7144 }
7145 }
7146 if (dateHeader != null) x += '</table>';
7151 - if (x == '') x = '<br><i>' + "No Events Found" + '</i><br><br>';
7147 + if (x == '') x = '<br><i>' + "Žádné události" + '</i><br><br>';
7148 QH('p3events', x);
7149 }
7150
@@ -7158,10 +7154,10 @@
7154
7155 function p3showDownloadEventsDialog(mode) {
7156 if (xxdialogMode) return;
7161 - var x = "Download the list of events with one of the file formats below." + '<br /><br />';
7162 - x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogCSV(' + mode + ')">' + "eventslist.csv" + '</a>');
7163 - x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
7164 - setDialogMode(2, "Event List Export", 1, null, x, mode);
7157 + var x = "Stáhnout seznam událostí v níže uvedeném formátu." + '<br /><br />';
7158 + x += addHtmlValue("CSV formát", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogCSV(' + mode + ')">' + "eventslist.csv" + '</a>');
7159 + x += addHtmlValue("JSON formát", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
7160 + setDialogMode(2, "Export seznamu událostí", 1, null, x, mode);
7161 }
7162
7163 function p3downloadEventsDialogCSV(mode) {
@@ -7210,7 +7206,7 @@
7206
7207 // Display the users using the sorted list
7208 var x = '<table class=p3usersTable cellpadding=0 cellspacing=0>', addHeader = true;
7213 - x += '<th>' + "Jméno" + '<th style=width:80px>Groups<th style=width:120px>' + nobreak("Last Access") + '<th style=width:120px>' + "Práva";
7209 + x += '<th>' + "Jméno" + '<th style=width:80px>Groups<th style=width:120px>' + nobreak("Poslední přístup") + '<th style=width:120px>' + "Práva";
7210
7211 // Online users
7212 for (var i in sortedUserIds) {
@@ -7239,7 +7235,7 @@
7235 ((emailSearch != null) && ((user.email != null) && (user.email.toLowerCase().indexOf(emailSearch) >= 0))))
7236 ) {
7237 if (maxUsers > 0) {
7242 - if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Offline Users"; addHeader = false; }
7238 + if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Nepřipojení uživatelé"; addHeader = false; }
7239 x += addUserHtml(user, sessions);
7240 maxUsers--;
7241 } else {
@@ -7249,7 +7245,7 @@
7245 }
7246 x += '</table>';
7247 if (hiddenUsers == 1) { x += '<br />' + "1 další uživatel není zobrazen, pomocí vyhledávacího pole vyhledejte uživatele ..." + '<br />'; }
7252 - else if (hiddenUsers > 1) { x += '<br />' + format("{0} more users not shown, use search box to look for users...", hiddenUsers) + '<br />'; }
7248 + else if (hiddenUsers > 1) { x += '<br />' + format("{0} dalších uživatelů není zobrazeno, použijte hledat uživatele pomocí vyhledávacího pole...", hiddenUsers) + '<br />'; }
7249 if (maxUsers == 100) { x += '<br />' + "Žádný uživatele nalezen." + '<br />'; }
7250 QH('p3users', x);
7251
@@ -7265,25 +7261,25 @@
7261 msg = '<span style=float:right;margin-top:1px;margin-right:4px title=' + "Chat" + '><a href=# onclick=userChat(event,\"" + encodeURIComponent(user._id) + "\",\"" + encodeURIComponent(user.name) + "\")><img src=\'images/icon-chat.png\' height=16 width=16 style=padding-top:2px /></a></span>';
7262 msg += '<span style=float:right;margin-top:1px;margin-left:4px;margin-right:4px title=Notify><a href=# onclick=\'return showUserAlertDialog(event,\"" + encodeURIComponent(user._id) + "\")\'><img src=\'images/icon-notify.png\' height=16 width=16 style=padding-top:2px /></a></span>';
7263 }
7268 - if (sessions == 1) { lastAccess += nobreak("1 session"); } else { lastAccess += nobreak(format("{0} sessions", sessions)); }
7264 + if (sessions == 1) { lastAccess += nobreak("1 session"); } else { lastAccess += nobreak(format("{0} spojení", sessions)); }
7265 } else {
7270 - if (user.login) { lastAccess += '<span title=\"' + format("Last login: {0}", printDateTime(new Date(user.login * 1000))) + '\">' + printDate(new Date(user.login * 1000)) + '</span>'; }
7266 + if (user.login) { lastAccess += '<span title=\"' + format("Poslední přihlášení: {0}", printDateTime(new Date(user.login * 1000))) + '\">' + printDate(new Date(user.login * 1000)) + '</span>'; }
7267 }
7268 if (self) { permissions += '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + encodeURIComponent(user._id) + '\")\'>'; }
7269 if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { permissions += "Zamknuto" + ',&nbsp;'; }
7274 - permissions += '<span title=\'' + "Server Permissions" + '\'>';
7270 + permissions += '<span title=\'' + "Oprávnění serveru" + '\'>';
7271
7272 var urights = user.siteadmin & (0xFFFFFFFF - 224);
7273 if ((user.siteadmin == null) || (urights == 0)) {
7278 - permissions += "User";
7274 + permissions += "Uživatel";
7275 } else if (urights == 8) {
7276 permissions += "Uživatel + Soubory";
7277 } else if (user.siteadmin == 0xFFFFFFFF) {
7282 - permissions += "Administrator";
7278 + permissions += "Administrátor";
7279 } else if ((urights & 2) != 0) {
7284 - permissions += "Manager";
7280 + permissions += "Správce";
7281 } else {
7286 - permissions += "Partial";
7282 + permissions += "Částečný";
7283 }
7284 if ((user.siteadmin != null) && (user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & (64 + 128)) != 0)) { permissions += '*'; }
7285 permissions += '</span>';
@@ -7337,7 +7333,7 @@
7333 function showUserAlertDialog(e, userid) {
7334 if (xxdialogMode) return;
7335 haltEvent(e);
7340 - setDialogMode(2, format("Notify {0}", EscapeHtml(users[decodeURIComponent(userid)].name)), 3, showUserAlertDialogEx, "Send a text notification to this user." + '<textarea id=d2notifyText maxlength=2048 style="width:100%;height:184px;resize:none"></textarea>', userid);
7336 + setDialogMode(2, format("Informovat {0}", EscapeHtml(users[decodeURIComponent(userid)].name)), 3, showUserAlertDialogEx, "Poslat textovou notifikaci tomuto uživateli." + '<textarea id=d2notifyText maxlength=2048 style="width:100%;height:184px;resize:none"></textarea>', userid);
7337 Q('d2notifyText').focus();
7338 return false;
7339 }
@@ -7353,8 +7349,8 @@
7349
7350 function p4batchAccountCreate() {
7351 if (xxdialogMode) return;
7356 - var x = "Create many accounts at once by importing a JSON file with the following format:" + '<br /><pre>[\r\n {"user":"x1","pass":"x","email":"x1@x"},\r\n {"user":"x2","pass":"x","resetNextLogin":true}\r\n]</pre><input style=width:370px type=file id=d4importFile accept=".json" onchange=p4batchAccountCreateValidate() />';
7357 - setDialogMode(2, "User Account Import", 3, p4batchAccountCreateEx, x);
7352 + var x = "Vytvořit více účtu najednou pomocí importu JSON souboru s následujícím formátem:" + '<br /><pre>[\r\n {"user":"x1","pass":"x","email":"x1@x"},\r\n {"user":"x2","pass":"x","resetNextLogin":true}\r\n]</pre><input style=width:370px type=file id=d4importFile accept=".json" onchange=p4batchAccountCreateValidate() />';
7353 + setDialogMode(2, "Import uživatelských účtů", 3, p4batchAccountCreateEx, x);
7354 QE('idx_dlgOkButton', false);
7355 }
7356
@@ -7366,7 +7362,7 @@
7362 var fr = new FileReader();
7363 fr.onload = function (r) {
7364 var j = null;
7369 - try { j = JSON.parse(r.target.result); } catch (ex) { setDialogMode(2, "User Account Import", 1, null, format("Invalid JSON file: {0}.", ex)); return; }
7365 + try { j = JSON.parse(r.target.result); } catch (ex) { setDialogMode(2, "Import uživatelských účtů", 1, null, format("Neplatný JSON soubor: {0}.", ex)); return; }
7366 if ((j != null) && (Array.isArray(j))) {
7367 var ok = true;
7368 for (var i in j) {
@@ -7375,22 +7371,22 @@
7371 if (checkPasswordRequirements(j[i].pass, passRequirements) == false) { ok = false; }
7372 if ((j[i].email != null) && ((typeof j[i].email != 'string') || (j[i].email.length < 1) || (j[i].email.length > 128))) { ok = false; }
7373 }
7378 - if (ok == false) { setDialogMode(2, "User Account Import", 1, null, "Invalid JSON file format."); } else { meshserver.send({ action: 'adduserbatch', users: j }); }
7379 - } else { setDialogMode(2, "User Account Import", 1, null, "Invalid JSON file format."); }
7374 + if (ok == false) { setDialogMode(2, "Import uživatelských účtů", 1, null, "Neplatný formát JSON souboru."); } else { meshserver.send({ action: 'adduserbatch', users: j }); }
7375 + } else { setDialogMode(2, "Import uživatelských účtů", 1, null, "Neplatný formát JSON souboru."); }
7376 };
7377 fr.readAsText(Q('d4importFile').files[0]);
7378 }
7379
7380 function p4downloadUserInfo() {
7381 if (xxdialogMode) return;
7386 - var x = "Download the list of users with one of the file formats below." + '<br /><br />';
7387 - x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoCSV()\'>' + "userlist.csv" + '</a>');
7388 - x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoJSON()\'>' + "userlist.json" + '</a>');
7389 - setDialogMode(2, "User List Export", 1, null, x);
7382 + var x = "Stáhnout seznam uživatelů v níže uvedeném formátu." + '<br /><br />';
7383 + x += addHtmlValue("CSV formát", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoCSV()\'>' + "userlist.csv" + '</a>');
7384 + x += addHtmlValue("JSON formát", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoJSON()\'>' + "userlist.json" + '</a>');
7385 + setDialogMode(2, "Export seznamu uživatelů", 1, null, x);
7386 }
7387
7388 function p4downloadUserInfoCSV() {
7393 - var csv = "id, name, email, creation, lastlogin, groups, authfactors" + '\r\n';
7389 + var csv = "id, jméno, email, vytvoření, poslední přihlášení, skupiny, ověřovatel" + '\r\n';
7390 for (var i in users) {
7391 var multiFactor = false, factors = [];
7392 if ((users[i].otpsecret > 0) || (users[i].otphkeys > 0)) {
@@ -7414,8 +7410,8 @@
7410
7411 function showUserBroadcastDialog() {
7412 if (xxdialogMode) return;
7417 - var x = "Broadcast a message to all connected users." + '<textarea id=broadcastMessage value="" maxlength="256"/></textarea>';
7418 - setDialogMode(2, "Broadcast Message", 3, showUserBroadcastDialogEx, x);
7413 + var x = "Zaslat hromadnou zprávu všem připojeným uživatelům." + '<textarea id=broadcastMessage value="" maxlength="256"/></textarea>';
7414 + setDialogMode(2, "Hromadná zpráva", 3, showUserBroadcastDialogEx, x);
7415 Q('broadcastMessage').focus();
7416 }
7417
@@ -7430,8 +7426,8 @@
7426 x += addHtmlValue("Email", '<input id=p4email maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
7427 x += addHtmlValue("Heslo", '<input id=p4pass1 type=password maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
7428 x += addHtmlValue("Heslo", '<input id=p4pass2 type=password maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
7433 - x += '<div><label><input id=p4randomPassword onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Randomize the password." + '</label></div>';
7434 - x += '<div><label><input id=p4resetNextLogin onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Force password reset on next login." + '</label></div>';
7429 + x += '<div><label><input id=p4randomPassword onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Náhodné heslo" + '</label></div>';
7430 + x += '<div><label><input id=p4resetNextLogin onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Vynutit reset hesla při dalším přihlášení." + '</label></div>';
7431 if (serverinfo.emailcheck) {
7432 x += '<div><label><input id=p4verifiedEmail onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Email je ověřen." + '</label></div>';
7433 x += '<div><label><input id=p4invitationEmail type=checkbox />' + "Zaslat pozvánku emailem." + '</label></div>';
@@ -7440,10 +7436,10 @@
7436 if (passRequirements) {
7437 var r = [], rc = 0;
7438 for (var i in passRequirements) { if ((i != 'reset') && (i != 'hint')) { r.push(i + ':' + passRequirements[i]); rc++; } }
7443 - if (rc > 0) { x += '<div style=font-size:x-small;padding:6px>' + format("Requirements: {0}.", r.join(', ')) + '</div>'; }
7439 + if (rc > 0) { x += '<div style=font-size:x-small;padding:6px>' + format("Požadavky: {0}.", r.join(', ')) + '</div>'; }
7440 }
7441
7446 - setDialogMode(2, "Create Account", 3, showCreateNewAccountDialogEx, x);
7442 + setDialogMode(2, "Vytvořit účet", 3, showCreateNewAccountDialogEx, x);
7443 showCreateNewAccountDialogValidate();
7444 if ((features & 0x200000) == 0) { Q('p4name').focus(); } else { Q('p4email').focus(); }
7445 }
@@ -7484,8 +7480,8 @@
7480 userid = decodeURIComponent(userid);
7481 var user = users[userid.toLowerCase()], groups = "";
7482 if (user.groups != null) { groups = user.groups.join(', ') }
7487 - var x = "Enter a comma seperate list of administrative realms names." + '<br /><br />';
7488 - x += addHtmlValue("Realms", '<input id=dp4usergroups style=width:230px value="' + groups + '" placeholder=\"' + "Name1, Name2, Name3" + '\" maxlength=256 onchange=p4validateUserGroups() onkeyup=p4validateUserGroups() />');
7483 + var x = "Zadejte seznam administrativních realmů oddělených čárkami." + '<br /><br />';
7484 + x += addHtmlValue("Realmy", '<input id=dp4usergroups style=width:230px value="' + groups + '" placeholder=\"' + "Jméno1, Jméno2, Jméno3" + '\" maxlength=256 onchange=p4validateUserGroups() onkeyup=p4validateUserGroups() />');
7485 setDialogMode(2, "Administrátorské realmy", 3, showUserGroupDialogEx, x, user);
7486 focusTextBox('dp4usergroups');
7487 p4validateUserGroups();
@@ -7511,18 +7507,18 @@
7507 haltEvent(e);
7508 userid = decodeURIComponent(userid);
7509 var x = '<div><div id=d2AdminPermissions>';
7514 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fileaccess>' + "Server Files" + '</label>, <input type=number onchange=showUserAdminDialogValidate() maxlength=10 id=ua_fileaccessquota>k max, blank for default<br><hr/>';
7510 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fileaccess>' + "Soubory serveru" + '</label>, <input type=number onchange=showUserAdminDialogValidate() maxlength=10 id=ua_fileaccessquota>k max, blank for default<br><hr/>';
7511 x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fulladmin>' + "Hlavní administrátor" + '</label><br>';
7516 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverbackup>' + "Server Backup" + '</label><br>';
7517 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverrestore>' + "Server Restore" + '</label><br>';
7518 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverupdate>' + "Server Updates" + '</label><br>';
7512 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverbackup>' + "Záloha serveru" + '</label><br>';
7513 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverrestore>' + "Obnova serveru" + '</label><br>';
7514 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverupdate>' + "Aktualizace serveru" + '</label><br>';
7515 x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_manageusers>' + "Správa uživatelů" + '</label><br>';
7516 x += '<hr/></div><label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_lockedaccount>' + "Uzamknout účet" + '</label><br>';
7521 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nonewgroups>' + "No New Device Groups" + '</label><br>';
7517 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nonewgroups>' + "Žádná nová skupina zařízení" + '</label><br>';
7518 x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nomeshcmd>' + "Žádné nástroje (MeshCmd/Router)" + '</label><br>';
7519 x += '</div>';
7520 var user = users[userid.toLowerCase()];
7525 - setDialogMode(2, "Server Permissions", 3, showUserAdminDialogEx, x, user);
7521 + setDialogMode(2, "Oprávnění serveru", 3, showUserAdminDialogEx, x, user);
7522 if (user.siteadmin && user.siteadmin != 0) {
7523 Q('ua_fulladmin').checked = (user.siteadmin == 0xFFFFFFFF);
7524 Q('ua_serverbackup').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1) != 0)); // Server Backup
@@ -7603,24 +7599,24 @@
7599
7600 // Server permissions
7601 var msg = [], premsg = '';
7606 - if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { premsg = '<img src="images/padlock12.png" height=12 width=8 title="Account is locked" style="margin-top:2px" /> '; msg.push("Locked account"); }
7607 - if ((user.siteadmin == null) || ((user.siteadmin & (0xFFFFFFFF - 224)) == 0)) { msg.push("No server rights"); } else if (user.siteadmin == 8) { msg.push("Přístup k souborům na serveru"); } else if (user.siteadmin == 0xFFFFFFFF) { msg.push("Hlavní administrator"); } else { msg.push("Partial rights"); }
7602 + if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { premsg = '<img src="images/padlock12.png" height=12 width=8 title="Account is locked" style="margin-top:2px" /> '; msg.push("Uzamknutý účet"); }
7603 + if ((user.siteadmin == null) || ((user.siteadmin & (0xFFFFFFFF - 224)) == 0)) { msg.push("Žádná práva k serveru"); } else if (user.siteadmin == 8) { msg.push("Přístup k souborům na serveru"); } else if (user.siteadmin == 0xFFFFFFFF) { msg.push("Hlavní administrator"); } else { msg.push("Částečné práva"); }
7604 if ((user.siteadmin != null) && (user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & (64 + 128)) != 0)) { msg.push("Omezení"); }
7605
7606 // Show user attributes
7607 var x = '<div style=min-height:80px><table style=width:100%>';
7608 var email = user.email?EscapeHtml(user.email):'<i>' + "Nenastaveno" + '</i>', everify = '';
7609 if (serverinfo.emailcheck) { everify = ((user.emailVerified == true) ? '<b style=color:green;cursor:pointer title=\"' + "Email ověřen" + '\">&#x2713</b> ' : '<b style=color:red;cursor:pointer title=\"' + "Email není ověřen" + '\">&#x2717;</b> '); }
7614 - if (user.name.toLowerCase() != user._id.split('/')[2]) { x += addDeviceAttribute("User Identifier", user._id.split('/')[2]); }
7610 + if (user.name.toLowerCase() != user._id.split('/')[2]) { x += addDeviceAttribute("Identifikátor uživatele", user._id.split('/')[2]); }
7611 if (((features & 0x200000) == 0) && ((user.siteadmin != 0xFFFFFFFF) || (userinfo.siteadmin == 0xFFFFFFFF))) { // If we are not site admin, we can't change a admin email.
7612 x += addDeviceAttribute("Email", everify + '<a href=# style=cursor:pointer onclick=p30showUserEmailChangeDialog(event,\"' + userid + '\")>' + email + '</a> <a href=# style=cursor:pointer onclick=\'return doemail(event,\"' + user.email + '\")\'><img class=hoverButton src="images/link1.png" /></a>');
7613 } else {
7614 x += addDeviceAttribute("Email", everify + email + ' <a href=# style=cursor:pointer onclick=\'return doemail(event,\"' + user.email + '\")\'><img class=hoverButton src="images/link1.png" /></a>');
7615 }
7620 - x += addDeviceAttribute("Server Rights", premsg + '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + userid + '\")\'>' + msg.join(', ') + '</a>');
7621 - if (user.quota) x += addDeviceAttribute("Server Quota", EscapeHtml(parseInt(user.quota) / 1024) + ' k');
7622 - x += addDeviceAttribute("Creation", printDateTime(new Date(user.creation * 1000)));
7623 - if (user.login) x += addDeviceAttribute("Last Login", printDateTime(new Date(user.login * 1000)));
7616 + x += addDeviceAttribute("Práva serveru", premsg + '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + userid + '\")\'>' + msg.join(', ') + '</a>');
7617 + if (user.quota) x += addDeviceAttribute("Kvóta serveru", EscapeHtml(parseInt(user.quota) / 1024) + ' k');
7618 + x += addDeviceAttribute("Vytváření", printDateTime(new Date(user.creation * 1000)));
7619 + if (user.login) x += addDeviceAttribute("Poslední přihlášení", printDateTime(new Date(user.login * 1000)));
7620 if (user.passchange == -1) { x += addDeviceAttribute("Heslo", "Bude změněno při příštím přihlášení."); }
7621 else if (user.passchange) { x += addDeviceAttribute("Heslo", format("Poslední změna: {0}", printDateTime(new Date(user.passchange * 1000)))); }
7622
@@ -7628,7 +7624,7 @@
7624 var linkCount = 0, linkCountStr = '<i>' + "Nic" + '<i>';
7625 if (user.links) {
7626 for (var i in user.links) { linkCount++; }
7631 - if (linkCount == 1) { linkCountStr = "1 skupina"; } else if (linkCount > 1) { linkCountStr = format("{0} groups", linkCount); }
7627 + if (linkCount == 1) { linkCountStr = "1 skupina"; } else if (linkCount > 1) { linkCountStr = format("{0} skupin", linkCount); }
7628 }
7629 x += addDeviceAttribute("Skupiny zařízení", linkCountStr);
7630
@@ -7643,17 +7639,17 @@
7639 if ((user.otpsecret > 0) || (user.otphkeys > 0)) {
7640 multiFactor = 1;
7641 var factors = [];
7646 - if (user.otpsecret > 0) { factors.push("Authentication App"); }
7647 - if (user.otphkeys > 0) { factors.push("Security Key"); }
7648 - if (user.otpkeys > 0) { factors.push("Backup Codes"); }
7649 - x += addDeviceAttribute("Bezpečnost", '<img src="images/key12.png" height=12 width=11 title=\"' + "2nd factor authentication enabled" + '\" style="margin-top:2px" /> ' + factors.join(', '));
7642 + if (user.otpsecret > 0) { factors.push("Autentizační aplikace"); }
7643 + if (user.otphkeys > 0) { factors.push("Bezpečnostní klíč"); }
7644 + if (user.otpkeys > 0) { factors.push("Záloha kódu"); }
7645 + x += addDeviceAttribute("Bezpečnost", '<img src="images/key12.png" height=12 width=11 title=\"' + "2-faktorová autentizace povolena" + '\" style="margin-top:2px" /> ' + factors.join(', '));
7646 }
7647
7648 x += '</table></div><br />';
7649
7650 // Add action buttons
7655 - x += '<input type=button value=\"' + "Poznámky" + '\" title=\"' + "View notes about this user" + '\" onclick=showNotes(false,"' + userid + '") />';
7656 - if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Notify" + '\" title=\"' + "Send user notification" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
7651 + x += '<input type=button value=\"' + "Poznámky" + '\" title=\"' + "Zobrazit poznámky o tomto uživateli" + '\" onclick=showNotes(false,"' + userid + '") />';
7652 + if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Oznámit" + '\" title=\"' + "Poslat notifikaci uživatelovi" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
7653
7654 // Setup the panel
7655 QH('p30html', x);
@@ -7676,7 +7672,7 @@
7672
7673 // Update user's connection state
7674 x = '';
7679 - if (activeSessions == 1) { x = "1 session aktivní"; } else if (activeSessions > 1) { x = format("{0} active sessions", activeSessions); }
7675 + if (activeSessions == 1) { x = "1 session aktivní"; } else if (activeSessions > 1) { x = format("{0} aktivních spojení", activeSessions); }
7676 QH('MainUserState', x);
7677
7678 go(30);
@@ -7720,17 +7716,17 @@
7716 var x = '';
7717 x += addHtmlValue("Heslo", '<input id=p4pass1 type=password style=width:230px maxlength=256 onchange=p30showUserChangePassDialogValidate(1) onkeyup=p30showUserChangePassDialogValidate(1)></input>');
7718 x += addHtmlValue("Heslo", '<input id=p4pass2 type=password style=width:230px maxlength=256 onchange=p30showUserChangePassDialogValidate(1) onkeyup=p30showUserChangePassDialogValidate(1)></input>');
7723 - if (features & 0x00010000) { x += addHtmlValue("Password hint", '<input id=p4hint type=text style=width:230px maxlength=256></input>'); }
7719 + if (features & 0x00010000) { x += addHtmlValue("Nápověda k heslu", '<input id=p4hint type=text style=width:230px maxlength=256></input>'); }
7720
7721 if (passRequirements) {
7722 var r = [], rc = 0;
7723 for (var i in passRequirements) { if ((i != 'reset') && (i != 'hint')) { r.push(i + ':' + passRequirements[i]); rc++; } }
7728 - if (rc > 0) { x += '<div style=font-size:x-small;padding:6px>' + format("Requirements: {0}.", r.join(', ')) + '</div>'; }
7724 + if (rc > 0) { x += '<div style=font-size:x-small;padding:6px>' + format("Požadavky: {0}.", r.join(', ')) + '</div>'; }
7725 }
7726
7731 - x += '<div><label><input id=p4resetNextLogin type=checkbox />' + "Force password reset on next login." + '</label></div>';
7732 - if (multiFactor == 1) { x += '<div><label><input id=p4twoFactorRemove type=checkbox />' + "Remove all 2nd factor authentication." + '</label></div>'; }
7733 - setDialogMode(2, format("Change Password for {0}", EscapeHtml(currentUser.name)), 3, p30showUserChangePassDialogEx, x, multiFactor);
7727 + x += '<div><label><input id=p4resetNextLogin type=checkbox />' + "Vynutit reset hesla při dalším přihlášení." + '</label></div>';
7728 + if (multiFactor == 1) { x += '<div><label><input id=p4twoFactorRemove type=checkbox />' + "Odstranit celou 2-faktorovou autentizaci." + '</label></div>'; }
7729 + setDialogMode(2, format("Změnit heslo pro {0}", EscapeHtml(currentUser.name)), 3, p30showUserChangePassDialogEx, x, multiFactor);
7730 p30showUserChangePassDialogValidate();
7731 Q('p4pass1').focus();
7732 if (currentUser.passchange == -1) { Q('p4resetNextLogin').checked = true; }
@@ -7854,7 +7850,7 @@
7850 }
7851 }
7852 if (dateHeader != null) x += '</table>';
7857 - if (x == '') x = '<br><i>' + "No Events Found" + '</i><br><br>';
7853 + if (x == '') x = '<br><i>' + "Žádné události" + '</i><br><br>';
7854 QH('p31events', x);
7855 }
7856
@@ -7978,7 +7974,7 @@
7974 function drawNotifications() {
7975 var r = '';
7976 if (notifications.length == 0) {
7981 - r = '<div style=margin:5px>' + "There are currently no notifications" + '</div>';
7977 + r = '<div style=margin:5px>' + "Žádná notifikace" + '</div>';
7978 } else {
7979 for (var i in notifications) {
7980 var n = notifications[i];
@@ -7991,7 +7987,7 @@
7987 if (node != null) { icon = node.icon; t = '<b>' + node.name + '</b>: ' }
7988 }
7989
7994 - r += '<div title="' + format("Occured at {0}", printDateTime(d)) + '" id="notifyx' + n.id + '" class=notification style="cursor:pointer;border-top:1px solid ' + ((r == '') ? 'transparent' : 'orange') + '">';
7990 + r += '<div title="' + format("Došlo k {0}", printDateTime(d)) + '" id="notifyx' + n.id + '" class=notification style="cursor:pointer;border-top:1px solid ' + ((r == '') ? 'transparent' : 'orange') + '">';
7991 if (icon) { r += '<div class=j' + icon + ' onclick="notificationSelected(' + n.id + ')" style=margin:5px;float:left></div>'; }
7992 r += '<div onclick="notificationDelete(' + n.id + ')" class=unselectable title="Clear this notification" style=margin:5px;float:right;color:orange><b>X</b></div><div onclick="notificationSelected(' + n.id + ')" style=margin:5px>' + t + n.text + '</div></div>';
7993 }
@@ -8098,12 +8094,12 @@
8094 function setupGeneralServerStats() {
8095 window.serverStatCpu = new Chart(document.getElementById('serverCpuChart').getContext('2d'), {
8096 type: 'doughnut',
8101 - data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Použito", "Free"] },
8097 + data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Použito", "Volné"] },
8098 options: { responsive: true, legend: { position: 'none', }, animation: { animateScale: true, animateRotate: true }, width: '60px' }
8099 });
8100 window.serverStatMemory = new Chart(document.getElementById('serverMemoryChart').getContext('2d'), {
8101 type: 'doughnut',
8106 - data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Použito", "Free"] },
8102 + data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Použito", "Volné"] },
8103 options: { responsive: true, legend: { position: 'none', }, animation: { animateScale: true, animateRotate: true }, width: '60px' }
8104 });
8105 }
@@ -8117,13 +8113,13 @@
8113 if (typeof message.cpuavg == 'object') {
8114 var m = Math.min(message.cpuavg[0], 1);
8115 window.serverStatCpu.config.data.datasets[0].data = [m, 1 - m];
8120 - QH('serverCpuChartText', '<div style=margin-bottom:5px>CPU Load</div><div><b title=\"' + "CPU zatížení v poslední minutě" + '\">' + (Math.round(message.cpuavg[0] * 100.0) / 100.0) + '</b>, <b title=\"' + "CPU load in the last 5 minutes" + '\">' + (Math.round(message.cpuavg[1] * 100.0) / 100.0) + '</b>, <b title=\"' + "CPU load in the last 15 minutes" + '\">' + (Math.round(message.cpuavg[2] * 100.0) / 100.0) + '</b></div>');
8116 + QH('serverCpuChartText', '<div style=margin-bottom:5px>CPU Load</div><div><b title=\"' + "CPU zatížení v poslední minutě" + '\">' + (Math.round(message.cpuavg[0] * 100.0) / 100.0) + '</b>, <b title=\"' + "CPU zatížení v posledních 5 minutách" + '\">' + (Math.round(message.cpuavg[1] * 100.0) / 100.0) + '</b>, <b title=\"' + "CPU zatížení v posledních 15 minutách" + '\">' + (Math.round(message.cpuavg[2] * 100.0) / 100.0) + '</b></div>');
8117 QS('serverCpuChartView')['display'] = 'inline-block';
8118 window.serverStatCpu.update();
8119 }
8120 if ((typeof message.totalmem == 'number') && (typeof message.freemem == 'number')) {
8121 window.serverStatMemory.config.data.datasets[0].data = [message.totalmem - message.freemem, message.freemem];
8126 - QH('serverMemoryChartText', '<div style=margin-bottom:5px>' + "Paměť" + '</div><div><b>' + getNiceSize2(message.freemem) + '</b> ' + "free" + ', <b>' + getNiceSize2(message.totalmem) + '</b> ' + "celkově" + '</div>');
8122 + QH('serverMemoryChartText', '<div style=margin-bottom:5px>' + "Paměť" + '</div><div><b>' + getNiceSize2(message.freemem) + '</b> ' + "volné" + ', <b>' + getNiceSize2(message.totalmem) + '</b> ' + "celkově" + '</div>');
8123 QS('serverMemoryChartView')['display'] = 'inline-block';
8124 window.serverStatMemory.update();
8125 }
@@ -8199,14 +8195,14 @@
8195 var data, chartType = Q('p40type').value, timeAfter = pastDate(Q('p40time').value);
8196 serverTimelineConfig.options.scales.xAxes[0].time = { min: timeAfter };
8197 if (chartType == 0) { // Connections
8202 - serverTimelineConfig.options.scales.yAxes[0].scaleLabel.labelString = "Connection Count";
8198 + serverTimelineConfig.options.scales.yAxes[0].scaleLabel.labelString = "Čítač připojení";
8199 data = {
8200 labels: [pastDate(0), timeAfter],
8201 datasets: [
8202 { label: "Agenti", data: [], backgroundColor: 'rgba(158, 151, 16, .1)', borderColor: 'rgb(158, 151, 16)', fill: true },
8203 { label: "Uživatelé", data: [], backgroundColor: 'rgba(16, 84, 158, .1)', borderColor: 'rgb(16, 84, 158)', fill: true },
8208 - { label: "User Sessions", data: [], backgroundColor: 'rgba(255, 99, 132, .1)', borderColor: 'rgb(255, 99, 132)', fill: true },
8209 - { label: "Relay Sessions", data: [], backgroundColor: 'rgba(39, 158, 16, .1)', borderColor: 'rgb(39, 158, 16)', fill: true },
8204 + { label: "Uživatelské spojení", data: [], backgroundColor: 'rgba(255, 99, 132, .1)', borderColor: 'rgb(255, 99, 132)', fill: true },
8205 + { label: "Přesměrované relace", data: [], backgroundColor: 'rgba(39, 158, 16, .1)', borderColor: 'rgb(39, 158, 16)', fill: true },
8206 { label: "Intel AMT", data: [], backgroundColor: 'rgba(134, 16, 158, .1)', borderColor: 'rgb(134, 16, 158)', fill: true }
8207 ]
8208 };
@@ -8287,27 +8283,27 @@
8283
8284 function setServerTracing() {
8285 var x = '';
8290 - x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Core Server" + '</b></div>';
8291 - x += '<div><label><input type=checkbox id=p41c1 ' + ((serverTraceSources.indexOf('cookie') >= 0) ? 'checked' : '') + '>' + "Cookie encoder" + '</label></div>';
8292 - x += '<div><label><input type=checkbox id=p41c2 ' + ((serverTraceSources.indexOf('dispatch') >= 0) ? 'checked' : '') + '>' + "Message Dispatcher" + '</label></div>';
8293 - x += '<div><label><input type=checkbox id=p41c3 ' + ((serverTraceSources.indexOf('main') >= 0) ? 'checked' : '') + '>' + "Main Server Messages" + '</label></div>';
8286 + x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Hlavní server" + '</b></div>';
8287 + x += '<div><label><input type=checkbox id=p41c1 ' + ((serverTraceSources.indexOf('cookie') >= 0) ? 'checked' : '') + '>' + "Cookie dekodér" + '</label></div>';
8288 + x += '<div><label><input type=checkbox id=p41c2 ' + ((serverTraceSources.indexOf('dispatch') >= 0) ? 'checked' : '') + '>' + "Odesílatel" + '</label></div>';
8289 + x += '<div><label><input type=checkbox id=p41c3 ' + ((serverTraceSources.indexOf('main') >= 0) ? 'checked' : '') + '>' + "Zprávy hlavního serveru" + '</label></div>';
8290 x += '<div><label><input type=checkbox id=p41c4 ' + ((serverTraceSources.indexOf('peer') >= 0) ? 'checked' : '') + '>' + "MeshCentral Server Peering" + '</label></div>';
8295 - x += '<div><label><input type=checkbox id=p41c15 ' + ((serverTraceSources.indexOf('agent') >= 0) ? 'checked' : '') + '>' + "MeshAgent traffic" + '</label></div>';
8296 - x += '<div><label><input type=checkbox id=p41c14 ' + ((serverTraceSources.indexOf('agentupdate') >= 0) ? 'checked' : '') + '>' + "MeshAgent update" + '</label></div>';
8297 - x += '<div><label><input type=checkbox id=p41c16 ' + ((serverTraceSources.indexOf('cert') >= 0) ? 'checked' : '') + '>' + "Server Certificate" + '</label></div>';
8298 - x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Web Server" + '</b></div>';
8299 - x += '<div><label><input type=checkbox id=p41c5 ' + ((serverTraceSources.indexOf('web') >= 0) ? 'checked' : '') + '>' + "Web Server" + '</label></div>';
8300 - x += '<div><label><input type=checkbox id=p41c6 ' + ((serverTraceSources.indexOf('webrequest') >= 0) ? 'checked' : '') + '>' + "Web Server Requests" + '</label></div>';
8291 + x += '<div><label><input type=checkbox id=p41c15 ' + ((serverTraceSources.indexOf('agent') >= 0) ? 'checked' : '') + '>' + "MeshAgent provoz" + '</label></div>';
8292 + x += '<div><label><input type=checkbox id=p41c14 ' + ((serverTraceSources.indexOf('agentupdate') >= 0) ? 'checked' : '') + '>' + "MeshAgent aktualizace" + '</label></div>';
8293 + x += '<div><label><input type=checkbox id=p41c16 ' + ((serverTraceSources.indexOf('cert') >= 0) ? 'checked' : '') + '>' + "Certifikáty serveru" + '</label></div>';
8294 + x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Webový server" + '</b></div>';
8295 + x += '<div><label><input type=checkbox id=p41c5 ' + ((serverTraceSources.indexOf('web') >= 0) ? 'checked' : '') + '>' + "Webový server" + '</label></div>';
8296 + x += '<div><label><input type=checkbox id=p41c6 ' + ((serverTraceSources.indexOf('webrequest') >= 0) ? 'checked' : '') + '>' + "Požadavky webového serveru" + '</label></div>';
8297 x += '<div><label><input type=checkbox id=p41c7 ' + ((serverTraceSources.indexOf('relay') >= 0) ? 'checked' : '') + '>' + "Web Socket Relay" + '</label></div>';
8298 //x += '<div><label><input type=checkbox id=p41c8 ' + ((serverTraceSources.indexOf('webrelaydata') >= 0) ? 'checked' : '') + '>' + "Traffic Relay 2 Data" + '</label></div>';
8299 x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Intel AMT" + '</b></div>';
8304 - x += '<div><label><input type=checkbox id=p41c9 ' + ((serverTraceSources.indexOf('webrelay') >= 0) ? 'checked' : '') + '>' + "Connection Relay" + '</label></div>';
8300 + x += '<div><label><input type=checkbox id=p41c9 ' + ((serverTraceSources.indexOf('webrelay') >= 0) ? 'checked' : '') + '>' + "Přesměrování spojení" + '</label></div>';
8301 x += '<div><label><input type=checkbox id=p41c10 ' + ((serverTraceSources.indexOf('mps') >= 0) ? 'checked' : '') + '>' + "CIRA Server" + '</label></div>';
8306 - x += '<div><label><input type=checkbox id=p41c11 ' + ((serverTraceSources.indexOf('mpscmd') >= 0) ? 'checked' : '') + '>' + "CIRA Server Commands" + '</label></div>';
8302 + x += '<div><label><input type=checkbox id=p41c11 ' + ((serverTraceSources.indexOf('mpscmd') >= 0) ? 'checked' : '') + '>' + "CIRA Server příkazy" + '</label></div>';
8303 //x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>Legacy</b></div>';
8304 //x += '<div><label><input type=checkbox id=p41c12 ' + ((serverTraceSources.indexOf('swarm') >= 0) ? 'checked' : '') + ">' + "Legacy Swarm Server" + '</label></div>";
8305 //x += '<div><label><input type=checkbox id=p41c13 ' + ((serverTraceSources.indexOf('swarmcmd') >= 0) ? 'checked' : '') + ">' + "Legacy Swarm Server Commands" + '</label></div>";
8310 - setDialogMode(2, "Server Tracing", 7, setServerTracingEx, x);
8306 + setDialogMode(2, "Trasování serveru", 7, setServerTracingEx, x);
8307 }
8308
8309 function setServerTracingEx(b) {
@@ -8557,7 +8553,7 @@
8553 p.upgradeAvail = '<a title="View Changelog" target="_blank" href="' + vin.changelogUrl + '">' + vin.version + '</a>';
8554 } else {
8555 cant_action.push('upgrade');
8560 - if (p.status) p.upgradeAvail = "Up to date";
8556 + if (p.status) p.upgradeAvail = "Zastaralý";
8557 else p.upgradeAvail = '<a title="View Changelog" target="_blank" href="' + vin.changelogUrl + '">' + vin.version + '</a>';
8558 }
8559 if (!vin.meshCentralCompat) {
@@ -8633,7 +8629,7 @@
8629 } else {
8630 var plugin = null;
8631 for (var i in installedPluginList) { if (installedPluginList[i]._id == id) { plugin = installedPluginList[i]; } }
8636 - setDialogMode(2, "Plugin Action", 3, pluginActionEx, format("Are you sure you want to {0} the plugin: {1}", elem.value, plugin.name) + '<input id="lastPluginAct" type="hidden" value="' + elem.value + '" /><input id="lastPluginId" type="hidden" value="' + id + '" /><input id="lastPluginVersion" type="hidden" value="" />');
8632 + setDialogMode(2, "Akce pluginu", 3, pluginActionEx, format("Opravdu {0} plugin: {1}", elem.value, plugin.name) + '<input id="lastPluginAct" type="hidden" value="' + elem.value + '" /><input id="lastPluginId" type="hidden" value="' + id + '" /><input id="lastPluginVersion" type="hidden" value="" />');
8633 }
8634 elem.value = '';
8635 }
@@ -8667,7 +8663,7 @@
8663 function haltEvent(e) { if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); return false; }
8664 function addOption(q, t, i) { var option = document.createElement('option'); option.text = t; option.value = i; Q(q).add(option); }
8665 function passwordcheck(p) { return (p.length > 7) && (/\d/.test(p)) && (/[a-z]/.test(p)) && (/[A-Z]/.test(p)) && (/\W/.test(p)); }
8670 - function methodcheck(r) { if (r && r != null && r.Body && r.Body.ReturnValueStr != 'SUCCESS') { messagebox("Call Error", r.Header.Method + ': ' + r.Body.ReturnValueStr.replace('_', ' ')); return true; } return false; }
8666 + function methodcheck(r) { if (r && r != null && r.Body && r.Body.ReturnValueStr != 'SUCCESS') { messagebox("Chybová volání", r.Header.Method + ': ' + r.Body.ReturnValueStr.replace('_', ' ')); return true; } return false; }
8667 function TableStart() { return '<table cellpadding=0 cellspacing=0 style=width:100%;border-radius:8px><tr><td width=200px><p><td>'; }
8668 function TableStart2() { return '<table cellpadding=0 cellspacing=0 style=width:100%;border-radius:8px><tr><td><p><td>'; }
8669 function TableEntry(n, v) { return '<tr><td><p>' + n + '<td>' + v; }
@@ -8677,7 +8673,7 @@
8673 function AddButton2(v, f) { return '<input type=button value="' + v + '" onclick="' + f + '">'; }
8674 function AddRefreshButton(f) { return '<input type=button name=refreshbtn value=Refresh onclick="refreshButtons(false);' + f + '" style=margin:4px ' + (refreshButtonsState==false?'disabled':'') + '>'; }
8675 function MoreStart() { return '<a href=# style=cursor:pointer;color:blue id=morexxx1 onclick=QV(\"morexxx1\",false);QV(\"morexxx2\",true)>&#x25BC; ' + "Více" + '</a><div id=morexxx2 style=display:none><br><hr>'; };
8680 - function MoreEnd() { return '<a href=# style=cursor:pointer;color:blue onclick=QV(\"morexxx2\",false);QV(\"morexxx1\",true)>&#x25B2; ' + "Less" + '</a></div>'; };
8676 + function MoreEnd() { return '<a href=# style=cursor:pointer;color:blue onclick=QV(\"morexxx2\",false);QV(\"morexxx1\",true)>&#x25B2; ' + "Méně" + '</a></div>'; };
8677 function getSelectedOptions(sel) { var opts = [], opt; for (var i = 0, len = sel.options.length; i < len; i++) { opt = sel.options[i]; if (opt.selected) { opts.push(opt.value); } } return opts; }
8678 function getInstance(x, y) { for (var i in x) { if (x[i]['InstanceID'] == y) return x[i]; } return null; }
8679 function getItem(x, y, z) { for (var i in x) { if (x[i][y] == z) return x[i]; } return null; }
views/translations/default-min_fr.handlebars
+1 -5
@@ -1,4 +1,4 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>Information</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>Desktop</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>Terminal</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>Dossiers</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>Événements</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>Console</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>Multi-bureau</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>Tout Sélectionner</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>Rien sélectionner</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Admin Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>Admin PowerShell</div><div id=cxtermunorm class=cmtext style=display:none onclick=cmtermaction(8,event)>Shell utilisateur</div><div id=cxtermups class=cmtext style=display:none onclick=cmtermaction(9,event)>User PowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Root Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>Shell utilisateur</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title="Click to view current notifications">0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title="Mes Appareils"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title="Mon Compte"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title="Mes Événements"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title="Mes Dossiers"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title="Mes Utilisateurs"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title="Mon Serveur"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>♦<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Interface à largeur fixe"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Basculer mode nuit"onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>Mes Appareils<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>Mon Compte<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>Mes Événements<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>Mes Dossiers<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>Mes Utilisateurs<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Mon Serveur<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>Général<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>Desktop<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>Terminal<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>Dossiers<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>Événements<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>Details<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>Intel® AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>Console<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>Général<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>Général<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>Événements<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Général<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>Stats<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>Console<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>Trace<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>Server disconnected</span>,<href onclick=reload() style=cursor:pointer><u>click to reconnect</u></href>.</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=Columns><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=Liste><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title=Desktops><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=Carte style=display:none><div class=viewSelector4></div></div></div><div><h1>Mes Appareils</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Tout Sélectionner">&nbsp; <input type=button id=GroupActionButton disabled value="Action de groupe"onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=Filtre onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title="Show devices operating system name">Nom du système</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value="Connect All">&nbsp; <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All">&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Connexion automatique">Automatique&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=Paramètres>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder="Recherche de lieu"onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=Chercher title="Recherche de lieu"onclick=getSearchLocation()> <input type=button id=refreshmap title="Réinitialiser l'affichage de la carte"value=Réinitialiser onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>Vue <select id=viewselect onchange=onDeviceViewChange()><option value=1>Columns<option value=2>Liste<option value=3>Desktops<option id=viewselectmapoption value=4 style=display:none>Carte</select></div><div style=display:none id=devListToolbarSort>Trier <select id=sortselect onchange=masterUpdate(6)><option>Groupe<option>Power<option>Device<option>Tags</select> &nbsp;</div><div style=display:none id=devListToolbarSize>Taille <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Petit<option value=1>Moyen<option value=2>Grand</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>To get started, <a href=# onclick="return account_createMesh()"><strong>click here to create a device group</strong></a>.</div><div id=getStarted2>Aucun groupe d'appareils.</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>X</b></div><div style=padding:5px>Location Results</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>Mon Compte</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>Account security</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Manage authenticator app</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Manage security keys</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">Manage backup codes</a><br></span></div></div></div><div id=p2AccountActions><p><strong>Account actions</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Vérifier le courriel</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Enable web notifications</a><br></span><a href=# onclick="return account_showLocalizationSettings()">Localization Settings</a><br><a href=# onclick="return account_showAccountNotifySettings()">Notification Settings</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">Change email address</a><br></span><a href=# onclick="return account_showChangePassword()">Change password</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">Delete account</a><br></p><br style=clear:both></div><strong>Device Groups</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>Nouveau</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>Aucun groupe d'appareils.<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>Commencez ici!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>Mes Événements</h1><table class=pTable><tr><td class=h1><td class=auto-style1>Afficher <select id=p3limitdropdown onchange=refreshEvents()><option value=60>60 dernières<option value=120>120 dernières<option value=250>250 dernières<option value=500>500 dernières<option value=1000>1000 derniers</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>Mes Utilisateurs</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=Diffuser> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title="Download user information"src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title="Batch create many user accounts"src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value="Nouveau Compte..."> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=Filtre onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>Mes Dossiers</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=Up>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Tout Sélectionner">&nbsp; <input type=button id=p5RenameFileButton disabled value=Renommer onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value="Nouveau Dossier"onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=Télécharger onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=Cut onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=Copy onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=Coller onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Trier par nom<option value=2>Trier par taille<option value=3>Trier par date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>Ces fichiers sont partagés publiquement, cliquez sur "lien" pour obtenir une URL publique.</div></div><div id=bigok style=display:none><b>✓</b></div><div id=bigfail style=display:none><b>✗</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>Mon Serveur</h1><div id=p2ServerActions><p><strong>Server actions</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>Download server backup</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">Restaurer le serveur avec sauvegarde</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">Check server version</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">Afficher le journal des erreurs du serveur</a></div></div></div><br><strong>Statistiques du serveur</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>Avertissements du serveur</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Général - <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Plein écran. Maintenez la touche Maj enfoncée dans le navigateur en plein écran."><div class=viewSelector5></div></div></div><h1>Desktop - <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® AMT Redirection port or KVM feature is disabled<span id=p11warninga>, click here to enable it.</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>L'ordinateur distant n'est pas sous tension, cliquez ici pour émettre une commande d'alimentation.</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title="Toggle View Mode"onclick=toggleAspectRatio(1)>⇲</div><div class=deskareaicon title="Tourne à gauche"onclick=drotate(-1)>↺</div><div class=deskareaicon title="Tourner à droite"onclick=drotate(1)>↻</div><div id=deskRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title="Toggle focus mode, when active only the region around the mouse is updated"onkeypress=return!1 onkeydown=return!1 value="Focus All"onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title="Enregistrer une capture d'écran du bureau distant"onkeypress=return!1 onkeydown=return!1 value=Sauver... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title="Effectuer des actions d'alimentation sur le périphérique"onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=Paramètres... title="Edit remote desktop settings"onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title="Change the power state of the remote machine"onkeypress=return!1 onkeydown=return!1 value="Power Actions..."onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;✖</div><input type=button id=autoconnectbutton1 value=AutoConnect onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=Connect onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="Connexion AMT"title="Connect using Intel AMT hardware KVM"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>Débranché</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>Rafraîchir</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>Processus</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>Services</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title="Trier par identifiant de processus"onclick=sortProcess(0)>PID</a> <a class=colmn2 title="Trier par nom"onclick=sortProcess(1)>Nom</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title="Trier par état"onclick=sortService(0)>State</a> <a class=colmn2 title="Trier par nom"onclick=sortService(1)>Nom</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title="Temps de session"></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=Outils title="Toggle tools view"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title="Ouvrir la fenêtre de discussion sur cet ordinateur"><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title="Display a notification on the remote computer"><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title="Open a web address on the remote computer"><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title="Toggle remote desktop background"><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>Ctrl+Alt+Del<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab<option value=11>Win+Left<option value=12>Win+Right</select> <input id=DeskWD type=button value=Envoyer onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value=Clipboard onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=Type onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title="Basculer la souris et le clavier"><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>Input</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Terminal - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® AMT Redirection port or KVM feature is disabled<span id=p12warninga>, click here to enable it.</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>L'ordinateur distant n'est pas sous tension, cliquez ici pour émettre une commande d'alimentation.</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title="Effectuer des actions d'alimentation sur le périphérique"onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value=AutoConnect onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=Connect onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="Connexion AMT"title="Connect using Intel AMT hardware KVM"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>Débranché</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title="Temps de session"></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value=CR+LF title="Toggle what the return key will send"onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel (F10 = ESC+[OM)"title="Toggle F1 to F10 keys emulation type"onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Extended Ascii"title="Basculer le type d'émulation de terminal"onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>Automatique</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=Envoyer title="Send the selected special key"onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=Ctl-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=Ctl-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value="Retour arrière"onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=Coller title="Coller du texte dans le terminal"onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Dossiers - <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title="Effectuer des actions d'alimentation sur le périphérique"value=Actions onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value=AutoConnect onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=Connect onclick=connectFiles(event) type=button> <span id=p13Status>Débranché</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=Up>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Tout Sélectionner">&nbsp; <input type=button id=p13RenameFileButton disabled value=Renommer onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value="Nouveau Dossier"onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=Télécharger onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=Cut onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=Copy onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=Coller onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=Rafraîchir onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Trier par nom<option value=2>Trier par taille<option value=3>Trier par date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>✓</b></div><div id=p13bigfail style=display:none><b>✗</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Plein écran. Maintenez la touche Maj enfoncée dans le navigateur en plein écran."><div class=viewSelector5></div></div></div><h1>Intel® AMT - <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title="Informations sur le noyau en cours d'exécution sur cet agent"></div><input type=button id=p15uploadCore value="Agent Action"onclick=p15uploadCore(event) title="Change the agent Java Script code module"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title="Download console text"src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>Agent<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=Clear onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Événements - <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>Afficher <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>60 dernières<option value=120>120 dernières<option value=250>250 dernières<option value=500>500 dernières<option value=1000>1000 derniers</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Details - <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Général - <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Général - <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Événements - <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>Afficher <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>60 dernières<option value=120>120 dernières<option value=250>250 dernières<option value=500>500 dernières<option value=1000>1000 derniers</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>Statistiques de mon serveur</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>Connections<option value=1>Mémoire</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>3 dernières heures<option value=8>8 dernières heures<option value=24>Dernier jour<option value=168>Dernière semaine<option value=720>30 derniers jours</select>&nbsp; <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=Rafraîchir type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>Suivi de mon serveur</h1><div class=areaHead><div class=toright2>Afficher <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>100 dernières<option value=250>250 dernières<option value=500>500 dernières<option value=1000>1000 derniers</select> <input value=Clear type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title="Download trace (.csv)"style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=Tracing type=button onclick=setServerTracing()> <span id=p41traceStatus>Aucun</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>Mes plugins serveur</h1><div class=areaHead><div class=toright2></div><div><input value="Download Plugin"type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value="Refresh Agent Cores"type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>Notice:</b> Plugins have been altered, this may require agent core update.</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>Nom<th class=chDescription>Description<th class=chSite style=text-align:center>Lien<th class=chVersion style=text-align:center>Version<th class=chUpgradeAvail style=text-align:center>Dernier<th class=chStatus style=text-align:center>Statut<th class=chAction style=text-align:center>Action<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>No plugins on server.</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=Retour onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>Mes plugins serveur - <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>Plugins - <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Vérifier le Courriel</a> &nbsp;<a href=terms>Terms &amp; Privacy</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>Sélection de fichier</div><select id=d3uploadMode onchange=d3modechange()><option value=1>Local file upload<option value=2>Server file selection</select></div><div id=d3localmode style=display:none><div>Upload File</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=Up>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>Agent Remote Desktop</h4><div><div>Qualité</div><select id=d7bitmapquality dir=rtl></select></div><div><div>Mise à l'échelle</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select></div><div><div>Frame rate</div><select id=d7framelimiter dir=rtl><option selected value=50>Vite<option value=100>Moyen<option value=400>Lent<option value=1000>Très lent</select></div></div><div id=d7amtkvm><h4>Intel® AMT Hardware KVM</h4><div><div>Image Encoding</div><select id=d7desktopmode><option value=1>RLE8, le plus rapide<option value=2>RLE16, recommandé<option value=3>RAW8, lent<option value=4>RAW16, très lent</select></div><div><div>Autres réglages</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>Show Focus Tool</label> <label style=display:block><input type=checkbox id=d7showcursor>Show Local Mouse Cursor</label> <label style=display:block><input type=checkbox id=d7localKeyMap>Local Keyboard Map</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Annuler onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Delete style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>Information</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>Desktop</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>Terminal</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>Dossiers</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>Événements</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>Console</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>Multi-bureau</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>Tout Sélectionner</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>Rien sélectionner</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Admin Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>Admin PowerShell</div><div id=cxtermunorm class=cmtext onclick=cmtermaction(8,event)>Shell utilisateur</div><div id=cxtermups class=cmtext onclick=cmtermaction(9,event)>User PowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Root Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>Shell utilisateur</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title="Click to view current notifications">0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title="Mes Appareils"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title="Mon Compte"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title="Mes Événements"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title="Mes Dossiers"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title="Mes Utilisateurs"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title="Mon Serveur"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>♦<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Interface à largeur fixe"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Basculer mode nuit"onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>Mes Appareils<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>Mon Compte<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>Mes Événements<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>Mes Dossiers<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>Mes Utilisateurs<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Mon Serveur<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>Général<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>Desktop<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>Terminal<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>Dossiers<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>Événements<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>Details<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>Intel® AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>Console<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>Général<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>Général<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>Événements<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Général<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>Stats<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>Console<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>Trace<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>Server disconnected</span>,<href onclick=reload() style=cursor:pointer><u>click to reconnect</u></href>.</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=Columns><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=Liste><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title=Desktops><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=Carte style=display:none><div class=viewSelector4></div></div></div><div><h1>Mes Appareils</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Tout Sélectionner">&nbsp; <input type=button id=GroupActionButton disabled value="Action de groupe"onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=Filtre onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title="Show devices operating system name">Nom du système</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value="Connect All">&nbsp; <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All">&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Connexion automatique">Automatique&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=Paramètres>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder="Recherche de lieu"onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=Chercher title="Recherche de lieu"onclick=getSearchLocation()> <input type=button id=refreshmap title="Réinitialiser l'affichage de la carte"value=Réinitialiser onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>Vue <select id=viewselect onchange=onDeviceViewChange()><option value=1>Columns<option value=2>Liste<option value=3>Desktops<option id=viewselectmapoption value=4 style=display:none>Carte</select></div><div style=display:none id=devListToolbarSort>Trier <select id=sortselect onchange=masterUpdate(6)><option>Groupe<option>Power<option>Device<option>Tags</select> &nbsp;</div><div style=display:none id=devListToolbarSize>Taille <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Petit<option value=1>Moyen<option value=2>Grand</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>To get started, <a href=# onclick="return account_createMesh()"><strong>click here to create a device group</strong></a>.</div><div id=getStarted2>Aucun groupe d'appareils.</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>X</b></div><div style=padding:5px>Location Results</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>Mon Compte</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>Account security</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Manage authenticator app</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Manage security keys</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">Manage backup codes</a><br></span></div></div></div><div id=p2AccountActions><p><strong>Account actions</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Vérifier le courriel</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Enable web notifications</a><br></span><a href=# onclick="return account_showLocalizationSettings()">Localization Settings</a><br><a href=# onclick="return account_showAccountNotifySettings()">Notification Settings</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">Change email address</a><br></span><a href=# onclick="return account_showChangePassword()">Change password</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">Delete account</a><br></p><br style=clear:both></div><strong>Device Groups</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>Nouveau</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>Aucun groupe d'appareils.<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>Commencez ici!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>Mes Événements</h1><table class=pTable><tr><td class=h1><td class=auto-style1>Afficher <select id=p3limitdropdown onchange=refreshEvents()><option value=60>60 dernières<option value=120>120 dernières<option value=250>250 dernières<option value=500>500 dernières<option value=1000>1000 derniers</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>Mes Utilisateurs</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=Diffuser> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title="Download user information"src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title="Batch create many user accounts"src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value="Nouveau Compte..."> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=Filtre onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>Mes Dossiers</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=Up>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Tout Sélectionner">&nbsp; <input type=button id=p5RenameFileButton disabled value=Renommer onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value="Nouveau Dossier"onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=Télécharger onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=Cut onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=Copy onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=Coller onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Trier par nom<option value=2>Trier par taille<option value=3>Trier par date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>Ces fichiers sont partagés publiquement, cliquez sur "lien" pour obtenir une URL publique.</div></div><div id=bigok style=display:none><b>✓</b></div><div id=bigfail style=display:none><b>✗</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>Mon Serveur</h1><div id=p2ServerActions><p><strong>Server actions</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>Download server backup</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">Restaurer le serveur avec sauvegarde</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">Check server version</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">Afficher le journal des erreurs du serveur</a></div></div></div><br><strong>Statistiques du serveur</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>Avertissements du serveur</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Général - <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Plein écran. Maintenez la touche Maj enfoncée dans le navigateur en plein écran."><div class=viewSelector5></div></div></div><h1>Desktop - <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® AMT Redirection port or KVM feature is disabled<span id=p11warninga>, click here to enable it.</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>L'ordinateur distant n'est pas sous tension, cliquez ici pour émettre une commande d'alimentation.</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title="Toggle View Mode"onclick=toggleAspectRatio(1)>⇲</div><div class=deskareaicon title="Tourne à gauche"onclick=drotate(-1)>↺</div><div class=deskareaicon title="Tourner à droite"onclick=drotate(1)>↻</div><div id=deskRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title="Toggle focus mode, when active only the region around the mouse is updated"onkeypress=return!1 onkeydown=return!1 value="Focus All"onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title="Enregistrer une capture d'écran du bureau distant"onkeypress=return!1 onkeydown=return!1 value=Sauver... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title="Effectuer des actions d'alimentation sur le périphérique"onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=Paramètres... title="Edit remote desktop settings"onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title="Change the power state of the remote machine"onkeypress=return!1 onkeydown=return!1 value="Power Actions..."onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;✖</div><input type=button id=autoconnectbutton1 value=AutoConnect onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=Connect onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="Connexion AMT"title="Connect using Intel AMT hardware KVM"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>Débranché</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>Rafraîchir</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>Processus</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>Services</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title="Trier par identifiant de processus"onclick=sortProcess(0)>PID</a> <a class=colmn2 title="Trier par nom"onclick=sortProcess(1)>Nom</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title="Trier par état"onclick=sortService(0)>State</a> <a class=colmn2 title="Trier par nom"onclick=sortService(1)>Nom</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title="Temps de session"></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=Outils title="Toggle tools view"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title="Ouvrir la fenêtre de discussion sur cet ordinateur"><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title="Display a notification on the remote computer"><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title="Open a web address on the remote computer"><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title="Toggle remote desktop background"><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>Ctrl+Alt+Del<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab<option value=11>Win+Left<option value=12>Win+Right</select> <input id=DeskWD type=button value=Envoyer onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value=Clipboard onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=Type onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title="Basculer la souris et le clavier"><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>Input</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Terminal - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® AMT Redirection port or KVM feature is disabled<span id=p12warninga>, click here to enable it.</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>L'ordinateur distant n'est pas sous tension, cliquez ici pour émettre une commande d'alimentation.</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title="Effectuer des actions d'alimentation sur le périphérique"onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value=AutoConnect onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=Connect onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="Connexion AMT"title="Connect using Intel AMT hardware KVM"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>Débranché</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title="Temps de session"></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value=CR+LF title="Toggle what the return key will send"onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel (F10 = ESC+[OM)"title="Toggle F1 to F10 keys emulation type"onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Extended Ascii"title="Basculer le type d'émulation de terminal"onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>Automatique</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=Envoyer title="Send the selected special key"onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=Ctl-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=Ctl-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value="Retour arrière"onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=Coller title="Coller du texte dans le terminal"onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Dossiers - <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title="Effectuer des actions d'alimentation sur le périphérique"value=Actions onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title="Server is recording this session"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value=AutoConnect onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=Connect onclick=connectFiles(event) type=button> <span id=p13Status>Débranché</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=Up>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Tout Sélectionner">&nbsp; <input type=button id=p13RenameFileButton disabled value=Renommer onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value="Nouveau Dossier"onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=Télécharger onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=Cut onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=Copy onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=Coller onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=Rafraîchir onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Trier par nom<option value=2>Trier par taille<option value=3>Trier par date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>✓</b></div><div id=p13bigfail style=display:none><b>✗</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Plein écran. Maintenez la touche Maj enfoncée dans le navigateur en plein écran."><div class=viewSelector5></div></div></div><h1>Intel® AMT - <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title="Informations sur le noyau en cours d'exécution sur cet agent"></div><input type=button id=p15uploadCore value="Agent Action"onclick=p15uploadCore(event) title="Change the agent Java Script code module"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title="Download console text"src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>Agent<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=Clear onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Événements - <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>Afficher <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>60 dernières<option value=120>120 dernières<option value=250>250 dernières<option value=500>500 dernières<option value=1000>1000 derniers</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Details - <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Général - <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Général - <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Retour onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Événements - <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>Afficher <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>60 dernières<option value=120>120 dernières<option value=250>250 dernières<option value=500>500 dernières<option value=1000>1000 derniers</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>Statistiques de mon serveur</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>Connections<option value=1>Mémoire</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>3 dernières heures<option value=8>8 dernières heures<option value=24>Dernier jour<option value=168>Dernière semaine<option value=720>30 derniers jours</select>&nbsp; <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=Rafraîchir type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>Suivi de mon serveur</h1><div class=areaHead><div class=toright2>Afficher <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>100 dernières<option value=250>250 dernières<option value=500>500 dernières<option value=1000>1000 derniers</select> <input value=Clear type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title="Download trace (.csv)"style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=Tracing type=button onclick=setServerTracing()> <span id=p41traceStatus>Aucun</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>Mes plugins serveur</h1><div class=areaHead><div class=toright2></div><div><input value="Download Plugin"type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value="Refresh Agent Cores"type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>Notice:</b> Plugins have been altered, this may require agent core update.</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>Nom<th class=chDescription>Description<th class=chSite style=text-align:center>Lien<th class=chVersion style=text-align:center>Version<th class=chUpgradeAvail style=text-align:center>Dernier<th class=chStatus style=text-align:center>Statut<th class=chAction style=text-align:center>Action<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>No plugins on server.</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=Retour onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>Mes plugins serveur - <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>Plugins - <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Vérifier le Courriel</a> &nbsp;<a href=terms>Terms &amp; Privacy</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>Sélection de fichier</div><select id=d3uploadMode onchange=d3modechange()><option value=1>Local file upload<option value=2>Server file selection</select></div><div id=d3localmode style=display:none><div>Upload File</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=Up>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>Agent Remote Desktop</h4><div><div>Qualité</div><select id=d7bitmapquality dir=rtl></select></div><div><div>Mise à l'échelle</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select></div><div><div>Frame rate</div><select id=d7framelimiter dir=rtl><option selected value=50>Vite<option value=100>Moyen<option value=400>Lent<option value=1000>Très lent</select></div></div><div id=d7amtkvm><h4>Intel® AMT Hardware KVM</h4><div><div>Image Encoding</div><select id=d7desktopmode><option value=1>RLE8, le plus rapide<option value=2>RLE16, recommandé<option value=3>RAW8, lent<option value=4>RAW16, très lent</select></div><div><div>Autres réglages</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>Show Focus Tool</label> <label style=display:block><input type=checkbox id=d7showcursor>Show Local Mouse Cursor</label> <label style=display:block><input type=checkbox id=d7localKeyMap>Local Keyboard Map</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Annuler onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Delete style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
2
3 // Process server-side web state
4 var webState = '{{{webstate}}}';
@@ -95,10 +95,6 @@
95 if (nightMode) { QC('body').add('night'); }
96 toggleFullScreen();
97
98 - // Debug
99 - QV('cxtermunorm', debugmode == 1);
100 - QV('cxtermups', debugmode == 1);
101 -
98 // Setup page visuals
99 if (args.hide) {
100 var hide = parseInt(args.hide);
views/translations/default-min_ja.handlebars
+1 -5
@@ -1,4 +1,4 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>情報</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>デスクトップ</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>ターミナル</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>ファイル</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>イベント</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>コンソール</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>マルチデスクトップ</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>すべて選択</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>なしを選択</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>管理シェル</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>管理者PowerShell</div><div id=cxtermunorm class=cmtext style=display:none onclick=cmtermaction(8,event)>ユーザーシェル</div><div id=cxtermups class=cmtext style=display:none onclick=cmtermaction(9,event)>ユーザーPowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>ルートシェル</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>ユーザーシェル</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title=クリックして現在の通知を表示します>0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title=私のデバイス onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title=マイアカウント onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title=私のイベント onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title=私のファイル onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title=私のユーザー onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title=私のサーバー onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title=ユーザーインターフェイスの選択 onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>♦<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title=左バーインターフェイス onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title=トップバーインターフェース onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title=固定幅インターフェイス onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title=ナイトモードを切り替える onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>私のデバイス<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>マイアカウント<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>私のイベント<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>私のファイル<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>私のユーザー<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>私のサーバー<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>全般<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>デスクトップ<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>ターミナル<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>ファイル<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>イベント<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>詳細<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>インテル®AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>コンソール<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>プラグイン<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>全般<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>全般<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>イベント<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>全般<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>統計<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>コンソール<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>トレース<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>プラグイン<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>サーバーが切断されました</span>、<href onclick=reload() style=cursor:pointer><u>クリックして再接続</u></href>。</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=列><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=リスト><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title=デスクトップ><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=地図 style=display:none><div class=viewSelector4></div></div></div><div><h1>私のデバイス</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value=すべて選択>&nbsp; <input type=button id=GroupActionButton disabled value=グループアクション onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=フィルタ onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title=デバイスのオペレーティングシステム名を表示する>OS名</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value=すべて接続>&nbsp; <input type=button onclick=disconnectAllKvmFunction() value=すべて切断>&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title=自動接続>オート&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=設定>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder=場所を検索 onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=サーチ title=場所を検索 onclick=getSearchLocation()> <input type=button id=refreshmap title=マップビューをリセット value=リセットする onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>表示する <select id=viewselect onchange=onDeviceViewChange()><option value=1>列<option value=2>リスト<option value=3>デスクトップ<option id=viewselectmapoption value=4 style=display:none>地図</select></div><div style=display:none id=devListToolbarSort>ソート <select id=sortselect onchange=masterUpdate(6)><option>グループ<option>力<option>デバイス<option>タグ</select> &nbsp;</div><div style=display:none id=devListToolbarSize>サイズ <select id=sizeselect onchange=onDeviceViewChange()><option value=0>小さい<option value=1>中<option value=2>大</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>始めるには、 <a href=# onclick="return account_createMesh()"><strong>ここをクリックしてデバイスグループを作成します</strong></a>。</div><div id=getStarted2>デバイスグループはありません。</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>バツ</b></div><div style=padding:5px>ロケーション結果</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>マイアカウント</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>アカウントのセキュリティ</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">認証アプリを管理する</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">セキュリティキーを管理する</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">バックアップコードを管理する</a><br></span></div></div></div><div id=p2AccountActions><p><strong>アカウントアクション</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Eメールを確認します</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Web通知を有効にする</a><br></span><a href=# onclick="return account_showLocalizationSettings()">ローカリゼーション設定</a><br><a href=# onclick="return account_showAccountNotifySettings()">通知設定</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">メールアドレスを変更する</a><br></span><a href=# onclick="return account_showChangePassword()">パスワードを変更する</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">アカウントを削除する</a><br></p><br style=clear:both></div><strong>デバイスグループ</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>新しい</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>デバイスグループはありません。<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>ここから始めましょう!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>私のイベント</h1><table class=pTable><tr><td class=h1><td class=auto-style1>ショー <select id=p3limitdropdown onchange=refreshEvents()><option value=60>最後の60<option value=120>最後の120<option value=250>過去250<option value=500>最後の500<option value=1000>過去1000</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title=イベントをダウンロードする style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>私のユーザー</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=放送> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title=ユーザー情報をダウンロードする src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title=多数のユーザーアカウントをバッチ作成する src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value=新しいアカウント...> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=フィルタ onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>私のファイル</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=アップ>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value=すべて選択>&nbsp; <input type=button id=p5RenameFileButton disabled value=リネーム onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=削除する onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value=新しいフォルダ onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=アップロードする onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=カット onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=コピー onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=ペースト onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>名前順<option value=2>サイズで並べ替え<option value=3>日付けで並び替え<option value=4>名前で降順<option value=5>サイズで降順<option value=6>日付で降順</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>これらのファイルは一般公開されています。「リンク」をクリックして公開URLを取得してください。</div></div><div id=bigok style=display:none><b>✓</b></div><div id=bigfail style=display:none><b>✗</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>私のサーバー</h1><div id=p2ServerActions><p><strong>サーバーアクション</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>サーバーのバックアップをダウンロード</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">バックアップでサーバーを復元する</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">サーバーのバージョンを確認する</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">サーバーエラーログを表示</a></div></div></div><br><strong>サーバー統計</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>サーバー警告</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>全般- <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title=全画面表示。ブラウザの全画面表示に移行します。><div class=viewSelector5></div></div></div><h1>デスクトップ- <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel®AMTリダイレクトポートまたはKVM機能が無効になっています<span id=p11warninga>、ここをクリックして有効にします。</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>リモートコンピューターの電源が入っていません。ここをクリックして電源コマンドを発行してください。</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title=表示モードの切り替え onclick=toggleAspectRatio(1)>⇲</div><div class=deskareaicon title=左に回転 onclick=drotate(-1)>↺</div><div class=deskareaicon title=右に回る onclick=drotate(1)>↻</div><div id=deskRecordIcon class=deskareaicon title=サーバーはこのセッションを記録しています style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title=フォーカスモードを切り替えます。アクティブな場合、マウス周辺の領域のみが更新されます。 onkeypress=return!1 onkeydown=return!1 value=すべてにフォーカス onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title=リモートデスクトップのスクリーンショットを保存する onkeypress=return!1 onkeydown=return!1 value=セーブ... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title=デバイスの電源操作を実行します onkeypress=return!1 onkeydown=return!1 value=行動 onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=設定... title=リモートデスクトップ設定を編集する onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title=リモートマシンの電源状態を変更する onkeypress=return!1 onkeydown=return!1 value=電源アクション... onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;✖</div><input type=button id=autoconnectbutton1 value=自動接続 onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=つなぐ onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="HW Connect"title="Intel AMTハードウェアKVMを使用して接続する"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=切断する onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>切断されました</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>リフレッシュ</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>プロセス</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>サービス</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title=プロセスIDで並べ替え onclick=sortProcess(0)>PID</a> <a class=colmn2 title=名前順 onclick=sortProcess(1)>名</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title=状態で並べ替え onclick=sortService(0)>状態</a> <a class=colmn2 title=名前順 onclick=sortService(1)>名</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title=セッション時間></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=道具 title=ツールビューの切り替え onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title=このコンピューターへのチャットウィンドウを開く><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title=リモートコンピューターに通知を表示する><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title=リモートコンピューターでWebアドレスを開く><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title=リモートデスクトップの背景を切り替える><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>Ctrl + Alt + Del<option value=5>勝つ<option value=0>Win + Down<option value=1>Win + Up<option value=2>Win + L<option value=3>Win + M<option value=4>Shift + Win + M<option value=6>Win + R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab<option value=11>Win +左<option value=12>勝ち+右</select> <input id=DeskWD type=button value=送る onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value=クリップボード onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=タイプ onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title=マウスとキーボードの入力を切り替える><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>入力</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>ターミナル - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel®AMTリダイレクトポートまたはKVM機能が無効になっています<span id=p12warninga>、ここをクリックして有効にします。</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>リモートコンピューターの電源が入っていません。ここをクリックして電源コマンドを発行してください。</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title=サーバーはこのセッションを記録しています style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title=デバイスの電源操作を実行します onkeypress=return!1 onkeydown=return!1 value=行動 onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value=自動接続 onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=つなぐ onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="HW Connect"title="Intel AMTハードウェアKVMを使用して接続する"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=切断する onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>切断されました</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title=セッション時間></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="CR + LF"title=リターンキーが送信するものを切り替える onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel(F10 = ESC + [OM)"title=F1からF10キーのエミュレーションタイプを切り替えます onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value=拡張アスキー title=ターミナルエミュレーションタイプの切り替え onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>オート</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=送る title=選択した特殊キーを送信します onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=Ctl-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=Ctl-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value=バックスペース onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=ペースト title=端末にテキストを貼り付けます onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>ファイル- <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title=デバイスの電源操作を実行します value=行動 onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title=サーバーはこのセッションを記録しています style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value=自動接続 onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=つなぐ onclick=connectFiles(event) type=button> <span id=p13Status>切断されました</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=アップ>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value=すべて選択>&nbsp; <input type=button id=p13RenameFileButton disabled value=リネーム onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=削除する onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=編集 onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value=新しいフォルダ onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=アップロードする onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=カット onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=コピー onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=ペースト onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=リフレッシュ onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>名前順<option value=2>サイズで並べ替え<option value=3>日付けで並び替え<option value=4>名前で降順<option value=5>サイズで降順<option value=6>日付で降順</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>✓</b></div><div id=p13bigfail style=display:none><b>✗</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title=全画面表示。ブラウザの全画面表示に移行します。><div class=viewSelector5></div></div></div><h1>インテル®AMT- <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title=このエージェントで実行されている現在のコアに関する情報></div><input type=button id=p15uploadCore value=エージェントアクション onclick=p15uploadCore(event) title="エージェントのJava Scriptコードモジュールを変更する"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title=コンソールテキストをダウンロードする src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>エージェント<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=クリア onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>イベント- <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>ショー <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>最後の60<option value=120>最後の120<option value=250>過去250<option value=500>最後の500<option value=1000>過去1000</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title=イベントをダウンロードする style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>詳細- <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>全般- <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>全般- <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>イベント- <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>ショー <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>最後の60<option value=120>最後の120<option value=250>過去250<option value=500>最後の500<option value=1000>過去1000</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title=イベントをダウンロードする style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>私のサーバー統計</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>接続<option value=1>記憶</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>過去3時間<option value=8>過去8時間<option value=24>最終日<option value=168>先週<option value=720>過去30日間</select>&nbsp; <img src=images/link4.png height=10 width=10 title=データポイント(.csv)をダウンロードする style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=リフレッシュ type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>私のサーバートレース</h1><div class=areaHead><div class=toright2>ショー <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>最後の100<option value=250>過去250<option value=500>最後の500<option value=1000>過去1000</select> <input value=クリア type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title=トレースのダウンロード(.csv) style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=トレース type=button onclick=setServerTracing()> <span id=p41traceStatus>なし</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>私のサーバープラグイン</h1><div class=areaHead><div class=toright2></div><div><input value=プラグインをダウンロード type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value=エージェントコアの更新 type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>通知:</b> プラグインが変更されたため、エージェントコアの更新が必要になる場合があります。</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>名<th class=chDescription>説明<th class=chSite style=text-align:center>リンク<th class=chVersion style=text-align:center>バージョン<th class=chUpgradeAvail style=text-align:center>最新<th class=chStatus style=text-align:center>状態<th class=chAction style=text-align:center>アクション<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>サーバーにプラグインはありません。</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=バック onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>私のサーバープラグイン- <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>プラグイン- <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Eメールを確認します</a> &nbsp;<a href=terms>利用規約とプライバシー</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>ファイル選択</div><select id=d3uploadMode onchange=d3modechange()><option value=1>ローカルファイルのアップロード<option value=2>サーバーファイルの選択</select></div><div id=d3localmode style=display:none><div>ファイルをアップロードする</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=アップ>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>エージェントリモートデスクトップ</h4><div><div>品質</div><select id=d7bitmapquality dir=rtl></select></div><div><div>スケーリング</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select></div><div><div>フレームレート</div><select id=d7framelimiter dir=rtl><option selected value=50>速い<option value=100>中<option value=400>スロー<option value=1000>非常に遅い</select></div></div><div id=d7amtkvm><h4>インテル®AMTハードウェアKVM</h4><div><div>画像エンコーディング</div><select id=d7desktopmode><option value=1>RLE8、最速<option value=2>RLE16、推奨<option value=3>RAW8、遅い<option value=4>RAW16、非常に遅い</select></div><div><div>その他の設定</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>フォーカスツールを表示</label> <label style=display:block><input type=checkbox id=d7showcursor>ローカルマウスカーソルを表示</label> <label style=display:block><input type=checkbox id=d7localKeyMap>ローカルキーボードマップ</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=キャンセル onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=削除する style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>情報</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>デスクトップ</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>ターミナル</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>ファイル</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>イベント</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>コンソール</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>マルチデスクトップ</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>すべて選択</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>なしを選択</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>管理シェル</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>管理者PowerShell</div><div id=cxtermunorm class=cmtext onclick=cmtermaction(8,event)>ユーザーシェル</div><div id=cxtermups class=cmtext onclick=cmtermaction(9,event)>ユーザーPowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>ルートシェル</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>ユーザーシェル</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title=クリックして現在の通知を表示します>0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title=私のデバイス onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title=マイアカウント onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title=私のイベント onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title=私のファイル onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title=私のユーザー onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title=私のサーバー onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title=ユーザーインターフェイスの選択 onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>♦<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title=左バーインターフェイス onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title=トップバーインターフェース onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title=固定幅インターフェイス onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title=ナイトモードを切り替える onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>私のデバイス<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>マイアカウント<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>私のイベント<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>私のファイル<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>私のユーザー<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>私のサーバー<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>全般<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>デスクトップ<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>ターミナル<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>ファイル<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>イベント<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>詳細<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>インテル®AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>コンソール<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>プラグイン<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>全般<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>全般<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>イベント<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>全般<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>統計<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>コンソール<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>トレース<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>プラグイン<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>サーバーが切断されました</span>、<href onclick=reload() style=cursor:pointer><u>クリックして再接続</u></href>。</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=列><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=リスト><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title=デスクトップ><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=地図 style=display:none><div class=viewSelector4></div></div></div><div><h1>私のデバイス</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value=すべて選択>&nbsp; <input type=button id=GroupActionButton disabled value=グループアクション onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=フィルタ onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title=デバイスのオペレーティングシステム名を表示する>OS名</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value=すべて接続>&nbsp; <input type=button onclick=disconnectAllKvmFunction() value=すべて切断>&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title=自動接続>オート&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=設定>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder=場所を検索 onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=サーチ title=場所を検索 onclick=getSearchLocation()> <input type=button id=refreshmap title=マップビューをリセット value=リセットする onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>表示する <select id=viewselect onchange=onDeviceViewChange()><option value=1>列<option value=2>リスト<option value=3>デスクトップ<option id=viewselectmapoption value=4 style=display:none>地図</select></div><div style=display:none id=devListToolbarSort>ソート <select id=sortselect onchange=masterUpdate(6)><option>グループ<option>力<option>デバイス<option>タグ</select> &nbsp;</div><div style=display:none id=devListToolbarSize>サイズ <select id=sizeselect onchange=onDeviceViewChange()><option value=0>小さい<option value=1>中<option value=2>大</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>始めるには、 <a href=# onclick="return account_createMesh()"><strong>ここをクリックしてデバイスグループを作成します</strong></a>。</div><div id=getStarted2>デバイスグループはありません。</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>バツ</b></div><div style=padding:5px>ロケーション結果</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>マイアカウント</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>アカウントのセキュリティ</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">認証アプリを管理する</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">セキュリティキーを管理する</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">バックアップコードを管理する</a><br></span></div></div></div><div id=p2AccountActions><p><strong>アカウントアクション</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Eメールを確認します</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Web通知を有効にする</a><br></span><a href=# onclick="return account_showLocalizationSettings()">ローカリゼーション設定</a><br><a href=# onclick="return account_showAccountNotifySettings()">通知設定</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">メールアドレスを変更する</a><br></span><a href=# onclick="return account_showChangePassword()">パスワードを変更する</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">アカウントを削除する</a><br></p><br style=clear:both></div><strong>デバイスグループ</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>新しい</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>デバイスグループはありません。<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>ここから始めましょう!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>私のイベント</h1><table class=pTable><tr><td class=h1><td class=auto-style1>ショー <select id=p3limitdropdown onchange=refreshEvents()><option value=60>最後の60<option value=120>最後の120<option value=250>過去250<option value=500>最後の500<option value=1000>過去1000</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title=イベントをダウンロードする style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>私のユーザー</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=放送> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title=ユーザー情報をダウンロードする src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title=多数のユーザーアカウントをバッチ作成する src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value=新しいアカウント...> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=フィルタ onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>私のファイル</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=アップ>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value=すべて選択>&nbsp; <input type=button id=p5RenameFileButton disabled value=リネーム onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=削除する onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value=新しいフォルダ onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=アップロードする onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=カット onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=コピー onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=ペースト onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>名前順<option value=2>サイズで並べ替え<option value=3>日付けで並び替え<option value=4>名前で降順<option value=5>サイズで降順<option value=6>日付で降順</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>これらのファイルは一般公開されています。「リンク」をクリックして公開URLを取得してください。</div></div><div id=bigok style=display:none><b>✓</b></div><div id=bigfail style=display:none><b>✗</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>私のサーバー</h1><div id=p2ServerActions><p><strong>サーバーアクション</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>サーバーのバックアップをダウンロード</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">バックアップでサーバーを復元する</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">サーバーのバージョンを確認する</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">サーバーエラーログを表示</a></div></div></div><br><strong>サーバー統計</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>サーバー警告</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>全般- <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title=全画面表示。ブラウザの全画面表示に移行します。><div class=viewSelector5></div></div></div><h1>デスクトップ- <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel®AMTリダイレクトポートまたはKVM機能が無効になっています<span id=p11warninga>、ここをクリックして有効にします。</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>リモートコンピューターの電源が入っていません。ここをクリックして電源コマンドを発行してください。</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title=表示モードの切り替え onclick=toggleAspectRatio(1)>⇲</div><div class=deskareaicon title=左に回転 onclick=drotate(-1)>↺</div><div class=deskareaicon title=右に回る onclick=drotate(1)>↻</div><div id=deskRecordIcon class=deskareaicon title=サーバーはこのセッションを記録しています style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title=フォーカスモードを切り替えます。アクティブな場合、マウス周辺の領域のみが更新されます。 onkeypress=return!1 onkeydown=return!1 value=すべてにフォーカス onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title=リモートデスクトップのスクリーンショットを保存する onkeypress=return!1 onkeydown=return!1 value=セーブ... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title=デバイスの電源操作を実行します onkeypress=return!1 onkeydown=return!1 value=行動 onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=設定... title=リモートデスクトップ設定を編集する onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title=リモートマシンの電源状態を変更する onkeypress=return!1 onkeydown=return!1 value=電源アクション... onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;✖</div><input type=button id=autoconnectbutton1 value=自動接続 onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=つなぐ onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="HW Connect"title="Intel AMTハードウェアKVMを使用して接続する"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=切断する onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>切断されました</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>リフレッシュ</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>プロセス</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>サービス</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title=プロセスIDで並べ替え onclick=sortProcess(0)>PID</a> <a class=colmn2 title=名前順 onclick=sortProcess(1)>名</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title=状態で並べ替え onclick=sortService(0)>状態</a> <a class=colmn2 title=名前順 onclick=sortService(1)>名</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title=セッション時間></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=道具 title=ツールビューの切り替え onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title=このコンピューターへのチャットウィンドウを開く><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title=リモートコンピューターに通知を表示する><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title=リモートコンピューターでWebアドレスを開く><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title=リモートデスクトップの背景を切り替える><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>Ctrl + Alt + Del<option value=5>勝つ<option value=0>Win + Down<option value=1>Win + Up<option value=2>Win + L<option value=3>Win + M<option value=4>Shift + Win + M<option value=6>Win + R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab<option value=11>Win +左<option value=12>勝ち+右</select> <input id=DeskWD type=button value=送る onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value=クリップボード onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=タイプ onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title=マウスとキーボードの入力を切り替える><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>入力</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>ターミナル - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel®AMTリダイレクトポートまたはKVM機能が無効になっています<span id=p12warninga>、ここをクリックして有効にします。</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>リモートコンピューターの電源が入っていません。ここをクリックして電源コマンドを発行してください。</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title=サーバーはこのセッションを記録しています style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title=デバイスの電源操作を実行します onkeypress=return!1 onkeydown=return!1 value=行動 onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value=自動接続 onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=つなぐ onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="HW Connect"title="Intel AMTハードウェアKVMを使用して接続する"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=切断する onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>切断されました</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title=セッション時間></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="CR + LF"title=リターンキーが送信するものを切り替える onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel(F10 = ESC + [OM)"title=F1からF10キーのエミュレーションタイプを切り替えます onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value=拡張アスキー title=ターミナルエミュレーションタイプの切り替え onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>オート</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=送る title=選択した特殊キーを送信します onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=Ctl-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=Ctl-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value=バックスペース onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=ペースト title=端末にテキストを貼り付けます onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>ファイル- <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title=デバイスの電源操作を実行します value=行動 onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title=サーバーはこのセッションを記録しています style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value=自動接続 onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=つなぐ onclick=connectFiles(event) type=button> <span id=p13Status>切断されました</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=アップ>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value=すべて選択>&nbsp; <input type=button id=p13RenameFileButton disabled value=リネーム onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=削除する onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=編集 onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value=新しいフォルダ onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=アップロードする onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=カット onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=コピー onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=ペースト onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=リフレッシュ onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>名前順<option value=2>サイズで並べ替え<option value=3>日付けで並び替え<option value=4>名前で降順<option value=5>サイズで降順<option value=6>日付で降順</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>✓</b></div><div id=p13bigfail style=display:none><b>✗</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title=全画面表示。ブラウザの全画面表示に移行します。><div class=viewSelector5></div></div></div><h1>インテル®AMT- <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title=このエージェントで実行されている現在のコアに関する情報></div><input type=button id=p15uploadCore value=エージェントアクション onclick=p15uploadCore(event) title="エージェントのJava Scriptコードモジュールを変更する"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title=コンソールテキストをダウンロードする src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>エージェント<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=クリア onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>イベント- <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>ショー <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>最後の60<option value=120>最後の120<option value=250>過去250<option value=500>最後の500<option value=1000>過去1000</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title=イベントをダウンロードする style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>詳細- <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>全般- <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>全般- <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=バック onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>イベント- <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>ショー <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>最後の60<option value=120>最後の120<option value=250>過去250<option value=500>最後の500<option value=1000>過去1000</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title=イベントをダウンロードする style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>私のサーバー統計</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>接続<option value=1>記憶</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>過去3時間<option value=8>過去8時間<option value=24>最終日<option value=168>先週<option value=720>過去30日間</select>&nbsp; <img src=images/link4.png height=10 width=10 title=データポイント(.csv)をダウンロードする style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=リフレッシュ type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>私のサーバートレース</h1><div class=areaHead><div class=toright2>ショー <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>最後の100<option value=250>過去250<option value=500>最後の500<option value=1000>過去1000</select> <input value=クリア type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title=トレースのダウンロード(.csv) style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=トレース type=button onclick=setServerTracing()> <span id=p41traceStatus>なし</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>私のサーバープラグイン</h1><div class=areaHead><div class=toright2></div><div><input value=プラグインをダウンロード type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value=エージェントコアの更新 type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>通知:</b> プラグインが変更されたため、エージェントコアの更新が必要になる場合があります。</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>名<th class=chDescription>説明<th class=chSite style=text-align:center>リンク<th class=chVersion style=text-align:center>バージョン<th class=chUpgradeAvail style=text-align:center>最新<th class=chStatus style=text-align:center>状態<th class=chAction style=text-align:center>アクション<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>サーバーにプラグインはありません。</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=バック onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>私のサーバープラグイン- <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>プラグイン- <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Eメールを確認します</a> &nbsp;<a href=terms>利用規約とプライバシー</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>ファイル選択</div><select id=d3uploadMode onchange=d3modechange()><option value=1>ローカルファイルのアップロード<option value=2>サーバーファイルの選択</select></div><div id=d3localmode style=display:none><div>ファイルをアップロードする</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=アップ>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>エージェントリモートデスクトップ</h4><div><div>品質</div><select id=d7bitmapquality dir=rtl></select></div><div><div>スケーリング</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select></div><div><div>フレームレート</div><select id=d7framelimiter dir=rtl><option selected value=50>速い<option value=100>中<option value=400>スロー<option value=1000>非常に遅い</select></div></div><div id=d7amtkvm><h4>インテル®AMTハードウェアKVM</h4><div><div>画像エンコーディング</div><select id=d7desktopmode><option value=1>RLE8、最速<option value=2>RLE16、推奨<option value=3>RAW8、遅い<option value=4>RAW16、非常に遅い</select></div><div><div>その他の設定</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>フォーカスツールを表示</label> <label style=display:block><input type=checkbox id=d7showcursor>ローカルマウスカーソルを表示</label> <label style=display:block><input type=checkbox id=d7localKeyMap>ローカルキーボードマップ</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=キャンセル onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=削除する style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
2
3 // Process server-side web state
4 var webState = '{{{webstate}}}';
@@ -95,10 +95,6 @@
95 if (nightMode) { QC('body').add('night'); }
96 toggleFullScreen();
97
98 - // Debug
99 - QV('cxtermunorm', debugmode == 1);
100 - QV('cxtermups', debugmode == 1);
101 -
98 // Setup page visuals
99 if (args.hide) {
100 var hide = parseInt(args.hide);
views/translations/default-min_pt.handlebars
+1 -5
@@ -1,4 +1,4 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>Informação</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>Área de Trabalho</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>Terminal</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>Arquivos</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>Eventos</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>Console</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>Multi-Desktop</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>Selecionar tudo</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>Selecione nenhum</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Admin Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>Admin PowerShell</div><div id=cxtermunorm class=cmtext style=display:none onclick=cmtermaction(8,event)>User Shell</div><div id=cxtermups class=cmtext style=display:none onclick=cmtermaction(9,event)>User PowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Root Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>User Shell</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title="Clique para visualizar as notificações atuais">0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title="Meus dispositivos"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title="Minha conta"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title="Meus Eventos"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title="Meus arquivos"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title="Meus usuários"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title="Meu servidor"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title="Seleção da interface do usuário"onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>♦<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Interface da barra esquerda"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Interface da barra superior"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Interface de largura fixa"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Alternar modo noturno"onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>Meus dispositivos<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>Minha conta<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>Meus Eventos<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>Meus arquivos<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>Meus usuários<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Meu servidor<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>Geral<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>Área de Trabalho<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>Terminal<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>Arquivos<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>Eventos<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>Detalhes<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>Intel® AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>Console<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>Geral<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>Geral<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>Eventos<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Geral<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>Estatísticas<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>Console<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>Vestígio<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>Servidor desconectado</span>,<href onclick=reload() style=cursor:pointer><u>clique para reconectar</u></href>.</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=Colunas><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=Lista><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title="Áreas de trabalho"><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=Mapa style=display:none><div class=viewSelector4></div></div></div><div><h1>Meus dispositivos</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Selecionar tudo">&nbsp; <input type=button id=GroupActionButton disabled value="Ações do grupo"onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=Filtro onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title="Mostrar o nome do sistema operacional dos dispositivos">Nome do SO</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value="Conectar todos">&nbsp; <input type=button onclick=disconnectAllKvmFunction() value="Desconectar todos">&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Conexão automática">Auto&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=Configurações>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder="Pesquisar Localização"onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=Procurar title="Pesquisar localização"onclick=getSearchLocation()> <input type=button id=refreshmap title="Redefinir visualização de mapa"value=Redefinir onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>Visualizar <select id=viewselect onchange=onDeviceViewChange()><option value=1>Colunas<option value=2>Lista<option value=3>Áreas de trabalho<option id=viewselectmapoption value=4 style=display:none>Mapa</select></div><div style=display:none id=devListToolbarSort>Classificar <select id=sortselect onchange=masterUpdate(6)><option>Grupo<option>Ligar<option>Dispositivo<option>Tags</select> &nbsp;</div><div style=display:none id=devListToolbarSize>Tamanho <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Pequeno<option value=1>Médio<option value=2>ampla</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>Para começar, <a href=# onclick="return account_createMesh()"><strong>clique aqui para criar um grupo de dispositivos</strong></a>.</div><div id=getStarted2>Nenhum grupo de dispositivos.</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>X</b></div><div style=padding:5px>Resultados da Localização</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>Minha conta</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>Segurança da conta</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Gerenciar aplicativo autenticador</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Gerenciar chaves de segurança</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">Gerenciar códigos de backup</a><br></span></div></div></div><div id=p2AccountActions><p><strong>Ações da conta</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Verificar email</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Ativar notificações da web</a><br></span><a href=# onclick="return account_showLocalizationSettings()">Configurações de localização</a><br><a href=# onclick="return account_showAccountNotifySettings()">Configurações de notificação</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">Mude o endereço de email</a><br></span><a href=# onclick="return account_showChangePassword()">Mudar senha</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">Deletar conta</a><br></p><br style=clear:both></div><strong>Grupos de dispositivos</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>Novo</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>Nenhum grupo de dispositivos.<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>Comece aqui!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>Meus Eventos</h1><table class=pTable><tr><td class=h1><td class=auto-style1>Mostrar <select id=p3limitdropdown onchange=refreshEvents()><option value=60>Últimos 60<option value=120>Últimos 120<option value=250>Últimos 250<option value=500>Últimos 500<option value=1000>Últimos 1000</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download de Eventos"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>Meus usuários</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=Broadcast> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title="Baixar informações do usuário"src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title="Lote criar muitas contas de usuário"src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value="Nova conta..."> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=Filtro onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>Meus arquivos</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=Acima>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Selecionar tudo">&nbsp; <input type=button id=p5RenameFileButton disabled value=Renomear onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=Deletar onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value="Nova pasta"onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=Envio onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=Cortar onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=Copiar onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=Colar onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Classificar por nome<option value=2>Classificar por tamanho<option value=3>Classificar por data<option value=4>Decrescente por nome<option value=5>Decrescente por tamanho<option value=6>Descrescente por data</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>Esses arquivos são compartilhados publicamente, clique em "link" para obter o URL público.</div></div><div id=bigok style=display:none><b>✓</b></div><div id=bigfail style=display:none><b>✗</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>Meu servidor</h1><div id=p2ServerActions><p><strong>Ações do servidor</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>Fazer o download do backup do servidor</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">Restaurar servidor com backup</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">Verifique a versão do servidor</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">Mostrar log de erros do servidor</a></div></div></div><br><strong>Estatísticas do servidor</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>Server Warnings</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Geral - <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Tela cheia. Mantenha a tecla Shift pressionada no navegador em tela cheia."><div class=viewSelector5></div></div></div><h1>Área de Trabalho - <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® Porta de redirecionamento AMT ou recurso KVM desativado<span id=p11warninga>, clique aqui para habilitá-lo.</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>O computador remoto não está ligado, clique aqui para emitir um comando de energia.</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title="Alternar modo de exibição"onclick=toggleAspectRatio(1)>⇲</div><div class=deskareaicon title="Vire à esquerda"onclick=drotate(-1)>↺</div><div class=deskareaicon title="Vire à direita"onclick=drotate(1)>↻</div><div id=deskRecordIcon class=deskareaicon title="O servidor está gravando esta sessão"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title="Alternar modo de foco, quando ativo, apenas a região ao redor do mouse é atualizada"onkeypress=return!1 onkeydown=return!1 value="Focus All"onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title="Salvar uma captura de tela da área de trabalho remota"onkeypress=return!1 onkeydown=return!1 value=Salvar... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title="Execute ações de energia no dispositivo"onkeypress=return!1 onkeydown=return!1 value=Ações onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=Configurações... title="Editar configurações da área de trabalho remota"onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title="Alterar o estado de energia da máquina remota"onkeypress=return!1 onkeydown=return!1 value="Ações de energia (Ligar/Desligar)"onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;✖</div><input type=button id=autoconnectbutton1 value="Conexão automática"onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=Conectar onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="Conectar HW"title="Connect using Intel AMT hardware KVM"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=Desconectar onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>Desconectado</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>Atualizar</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>Processos</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>Serviços</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title="Classificar por ID do processo"onclick=sortProcess(0)>PID</a> <a class=colmn2 title="Classificar por nome"onclick=sortProcess(1)>Nome</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title="Classificar por estado"onclick=sortService(0)>Estado</a> <a class=colmn2 title="Classificar por nome"onclick=sortService(1)>Nome</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title="Tempo de sessão"></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=Ferramentas title="Alternar visualização de ferramentas"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title="Abra a janela de bate-papo neste computador"><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title="Exibir uma notificação no computador remoto"><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title="Open a web address on the remote computer"><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title="Toggle remote desktop background"><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>CTRL+ALT+DEL<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>CTRL-W<option value=9>Alt-Tab<option value=11>Win+Left<option value=12>Win+Right</select> <input id=DeskWD type=button value=Enviar onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value="Área de transferência"onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=Tipo onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title="Alternar entrada de mouse e teclado"><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>Entrada</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Terminal - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® Porta de redirecionamento AMT ou recurso KVM desativado<span id=p12warninga>, clique aqui para habilitá-lo.</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>O computador remoto não está ligado, clique aqui para emitir um comando de energia.</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title="O servidor está gravando esta sessão"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title="Execute ações de energia no dispositivo"onkeypress=return!1 onkeydown=return!1 value=Ações onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value="Conexão automática"onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=Conectar onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="Conectar HW"title="Connect using Intel AMT hardware KVM"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=Desconectar onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>Desconectado</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title="Tempo de sessão"></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="CR + LF"title="Alterne o que a chave de retorno enviará"onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel (F10 = ESC+[OM)"title="Alterna o tipo de emulação de teclas F1 a F10"onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Ascii estendido"title="Alternar tipo de emulação de terminal"onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>Auto</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=Enviar title="Enviar a chave especial selecionada"onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=CTRL-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=CTRL-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value=Excluir onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=Colar title="Cole o texto no terminal"onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Arquivos - <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title="Execute ações de energia no dispositivo"value=Ações onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title="O servidor está gravando esta sessão"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value="Conexão automática"onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=Conectar onclick=connectFiles(event) type=button> <span id=p13Status>Desconectado</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=Acima>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Selecionar tudo">&nbsp; <input type=button id=p13RenameFileButton disabled value=Renomear onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=Deletar onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=Editar onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value="Nova pasta"onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=Envio onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=Cortar onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=Copiar onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=Colar onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=Atualizar onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Classificar por nome<option value=2>Classificar por tamanho<option value=3>Classificar por data<option value=4>Decrescente por nome<option value=5>Decrescente por tamanho<option value=6>Descrescente por data</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>✓</b></div><div id=p13bigfail style=display:none><b>✗</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Tela cheia. Mantenha a tecla Shift pressionada no navegador em tela cheia."><div class=viewSelector5></div></div></div><h1>Intel® AMT - <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title="Informações sobre o núcleo atual em execução neste agente"></div><input type=button id=p15uploadCore value="Ação do agente"onclick=p15uploadCore(event) title="Alterar o módulo de código Java Script do agente"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title="Baixar do texto do console"src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>Agente<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=Limpo onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Eventos - <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>Mostrar <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>Últimos 60<option value=120>Últimos 120<option value=250>Últimos 250<option value=500>Últimos 500<option value=1000>Últimos 1000</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title="Download de Eventos"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Detalhes - <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Geral - <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Geral - <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Eventos - <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>Mostrar <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>Últimos 60<option value=120>Últimos 120<option value=250>Últimos 250<option value=500>Últimos 500<option value=1000>Últimos 1000</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title="Download de Eventos"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>Estatísticas do meu servidor</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>Conexões<option value=1>Memória</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>Últimas 3 horas<option value=8>Últimas 8 horas<option value=24>Último dia<option value=168>Semana passada<option value=720>Últimos 30 dias</select>&nbsp; <img src=images/link4.png height=10 width=10 title="Baixar pontos de dados (.csv)"style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=Atualizar type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>Rastreio do meu servidor</h1><div class=areaHead><div class=toright2>Mostrar <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>Últimos 100<option value=250>Últimos 250<option value=500>Últimos 500<option value=1000>Últimos 1000</select> <input value=Limpo type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title="Rastreio de download (.csv)"style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=Rastreamento type=button onclick=setServerTracing()> <span id=p41traceStatus>Nenhum</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>My Server Plugins</h1><div class=areaHead><div class=toright2></div><div><input value="Download Plugin"type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value="Refresh Agent Cores"type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>Notice:</b> Plugins have been altered, this may require agent core update.</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>Nome<th class=chDescription>Descrição<th class=chSite style=text-align:center>Ligação<th class=chVersion style=text-align:center>Versão<th class=chUpgradeAvail style=text-align:center>Latest<th class=chStatus style=text-align:center>Status<th class=chAction style=text-align:center>Ação<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>No plugins on server.</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=Voltar onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>My Server Plugins - <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>Plugins - <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Verificar Email</a> &nbsp;<a href=terms>Termos &amp; Privacidade</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>Seleção de arquivo</div><select id=d3uploadMode onchange=d3modechange()><option value=1>Upload de arquivo local<option value=2>Seleção de arquivo do servidor</select></div><div id=d3localmode style=display:none><div>Subir arquivo</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=Acima>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>Área de trabalho remota do agente</h4><div><div>Qualidade</div><select id=d7bitmapquality dir=rtl></select></div><div><div>Dimensionamento</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37..5%<option value=256>25%<option value=128>12.5%</select></div><div><div>Taxa de quadros</div><select id=d7framelimiter dir=rtl><option selected value=50>Rápido<option value=100>Médio<option value=400>Lento<option value=1000>Muito devagar</select></div></div><div id=d7amtkvm><h4>Intel® AMT Hardware KVM</h4><div><div>Codificação de Imagem</div><select id=d7desktopmode><option value=1>RLE8, mais rápido<option value=2>RLE16, Recomendado<option value=3>RAW8, lento<option value=4>RAW16, muito lento</select></div><div><div>Outros ajustes</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>Mostrar ferramenta de foco</label> <label style=display:block><input type=checkbox id=d7showcursor>Mostrar Cursor do Mouse Local</label> <label style=display:block><input type=checkbox id=d7localKeyMap>Mapa do teclado local</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Cancelar onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=Ok onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Deletar style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/ol3-contextmenu.min.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-wsman-0.2.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/amt-terminal-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-wsman-ws-0.2.0.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-redir-rtc-0.1.0.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/qrcode.min.js></script><script keeplink=1 src=scripts/u2f-api.js></script><script keeplink=1 src=scripts/charts.js></script><script keeplink=1 src=scripts/filesaver.js></script><body id=body onload='"undefined"!=typeof startup&&startup()'oncontextmenu=handleContextMenu(event) style=display:none;min-width:495px>{{{StartGeoLocation}}}<script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script>{{{EndGeoLocation}}}<title>{{{title}}}</title><div id=contextMenu class="contextMenu noselect"style=display:none><div id=cxinfo class=cmtext onclick=cmaction(1,event)><b>Informação</b></div><div id=cxdesktop class=cmtext onclick=cmaction(3,event)>Área de Trabalho</div><div id=cxterminal class=cmtext onclick=cmaction(2,event)>Terminal</div><div id=cxfiles class=cmtext onclick=cmaction(4,event)>Arquivos</div><div id=cxevents class=cmtext onclick=cmaction(5,event)>Eventos</div><div id=cxconsole class=cmtext onclick=cmaction(6,event)>Console</div><hr id=cxmgroupsplit><div id=cxmdesktop class=cmtext onclick=cmaction(7,event) style=display:none>Multi-Desktop</div></div><div id=meshContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxselectall class=cmtext onclick=cmmeshaction(1,event)>Selecionar tudo</div><div id=cxselectnone class=cmtext onclick=cmmeshaction(2,event)>Selecione nenhum</div></div><div id=termShellContextMenu class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Admin Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>Admin PowerShell</div><div id=cxtermunorm class=cmtext onclick=cmtermaction(8,event)>User Shell</div><div id=cxtermups class=cmtext onclick=cmtermaction(9,event)>User PowerShell</div></div><div id=termShellContextMenuLinux class="contextMenu noselect"style=display:none;min-width:0><div id=cxtermnorm class=cmtext onclick=cmtermaction(1,event)><b>Root Shell</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(8,event)>User Shell</div></div><div id=container><div id=notifiyBox class=notifiyBox style=display:none></div><div id=masthead class=noselect><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div><div style=float:right><div id=notificationCount onclick=clickNotificationIcon() class=unselectable style=display:none title="Clique para visualizar as notificações atuais">0</div></div><p id=logoutControl><span id=logoutControlSpan style=color:#fff></span><span id=idleTimeoutNotify style=color:#ff0></span></div><div id=page_leftbar><div style=height:16px></div><div id=LeftMenuMyDevices tabindex=0 class="lbbutton lbbuttonsel"title="Meus dispositivos"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'><div class=lb2></div></div><div id=LeftMenuMyAccount tabindex=0 class=lbbutton title="Minha conta"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'><div class=lb1></div></div><div id=LeftMenuMyEvents tabindex=0 class=lbbutton title="Meus Eventos"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'><div class=lb3></div></div><div id=LeftMenuMyFiles tabindex=0 class=lbbutton style=display:none title="Meus arquivos"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'><div class=lb4></div></div><div id=LeftMenuMyUsers tabindex=0 class=lbbutton style=display:none title="Meus usuários"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'><div class=lb5></div></div><div id=LeftMenuMyServer tabindex=0 class=lbbutton style=display:none title="Meu servidor"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'><div class=lb6></div></div></div><div id=topbar class=noselect><div><div style=position:relative><div tabindex=0 id=uiMenuButton title="Seleção da interface do usuário"onclick=showUserInterfaceSelectMenu() onkeypress='"Enter"==event.key&&showUserInterfaceSelectMenu()'>♦<div id=uiMenu style=display:none><div tabindex=0 id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Interface da barra esquerda"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(1)'><div class=uiSelector1></div></div><div tabindex=0 id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Interface da barra superior"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(2)'><div class=uiSelector2></div></div><div tabindex=0 id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Interface de largura fixa"onkeypress='"Enter"==event.key&&userInterfaceSelectMenu(3)'><div class=uiSelector3></div></div><div tabindex=0 id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Alternar modo noturno"onkeypress='"Enter"==event.key&&toggleNightMode()'><div class=uiSelector4></div></div></div></div><table id=MainMenuSpan cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainMenuMyDevices class="topbar_td style3x"onclick=go(1,event) onkeypress='"Enter"==event.key&&go(1)'>Meus dispositivos<td tabindex=0 id=MainMenuMyAccount class="topbar_td style3x"onclick=go(2,event) onkeypress='"Enter"==event.key&&go(2)'>Minha conta<td tabindex=0 id=MainMenuMyEvents class="topbar_td style3x"onclick=go(3,event) onkeypress='"Enter"==event.key&&go(3)'>Meus Eventos<td tabindex=0 id=MainMenuMyFiles class="topbar_td style3x"onclick=go(5,event) onkeypress='"Enter"==event.key&&go(5)'>Meus arquivos<td tabindex=0 id=MainMenuMyUsers class="topbar_td style3x"onclick=go(4,event) onkeypress='"Enter"==event.key&&go(4)'>Meus usuários<td tabindex=0 id=MainMenuMyServer class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Meu servidor<td class="topbar_td_end style3">&nbsp;</table><div id=MainSubMenuSpan style=display:none><table id=MainSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MainDev class="topbar_td style3x"onclick=go(10,event) onkeypress='"Enter"==event.key&&go(10)'>Geral<td tabindex=0 id=MainDevDesktop class="topbar_td style3x"onclick=go(11,event) onkeypress='"Enter"==event.key&&go(11)'>Área de Trabalho<td tabindex=0 id=MainDevTerminal class="topbar_td style3x"onclick=go(12,event) onkeypress='"Enter"==event.key&&go(12)'>Terminal<td tabindex=0 id=MainDevFiles class="topbar_td style3x"onclick=go(13,event) onkeypress='"Enter"==event.key&&go(13)'>Arquivos<td tabindex=0 id=MainDevEvents class="topbar_td style3x"onclick=go(16,event) onkeypress='"Enter"==event.key&&go(16)'>Eventos<td tabindex=0 id=MainDevInfo class="topbar_td style3x"onclick=go(17,event) onkeypress='"Enter"==event.key&&go(17)'>Detalhes<td tabindex=0 id=MainDevAmt class="topbar_td style3x"onclick=go(14,event) onkeypress='"Enter"==event.key&&go(14)'>Intel® AMT<td tabindex=0 id=MainDevConsole class="topbar_td style3x"onclick=go(15,event) onkeypress='"Enter"==event.key&&go(15)'>Console<td tabindex=0 id=MainDevPlugins class="topbar_td style3x"onclick=go(19,event) onkeypress='"Enter"==event.key&&go(19)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=MeshSubMenuSpan style=display:none><table id=MeshSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=MeshGeneral class="topbar_td style3x"onclick=go(20,event) onkeypress='"Enter"==event.key&&go(20)'>Geral<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserSubMenuSpan style=display:none><table id=UserSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=UserGeneral class="topbar_td style3x"onclick=go(30,event) onkeypress='"Enter"==event.key&&go(30)'>Geral<td tabindex=0 id=UserEvents class="topbar_td style3x"onclick=go(31,event) onkeypress='"Enter"==event.key&&go(31)'>Eventos<td class="topbar_td_end style3">&nbsp;</table></div><div id=ServerSubMenuSpan style=display:none><table id=ServerSubMenu cellpadding=0 cellspacing=0 class=style1><tr><td tabindex=0 id=ServerGeneral class="topbar_td style3x"onclick=go(6,event) onkeypress='"Enter"==event.key&&go(6)'>Geral<td tabindex=0 id=ServerStats class="topbar_td style3x"onclick=go(40,event) onkeypress='"Enter"==event.key&&go(40)'>Estatísticas<td tabindex=0 id=ServerConsole class="topbar_td style3x"onclick=go(115,event) onkeypress='"Enter"==event.key&&go(115)'>Console<td tabindex=0 id=ServerTrace class="topbar_td style3x"onclick=go(41,event) onkeypress='"Enter"==event.key&&go(41)'>Vestígio<td tabindex=0 id=ServerPlugins class="topbar_td style3x"onclick=go(42,event) onkeypress='"Enter"==event.key&&go(42)'>Plugins<td class="topbar_td_end style3">&nbsp;</table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3>&nbsp;</table></div></div></div></div><div id=column_l><div id=p0 style=display:none><div id=p0message><span id=p0span>Servidor desconectado</span>,<href onclick=reload() style=cursor:pointer><u>clique para reconectar</u></href>.</div></div><div id=p1 style=display:none><div style=display:none id=devListToolbarViewIcons><div tabindex=0 id=devViewButton1 class=viewSelector onclick=onDeviceViewChange(1) onkeypress='"Enter"==event.key&&onDeviceViewChange(1)'title=Colunas><div class=viewSelector2></div></div><div tabindex=0 id=devViewButton2 class=viewSelector onclick=onDeviceViewChange(2) onkeypress='"Enter"==event.key&&onDeviceViewChange(2)'title=Lista><div class=viewSelector1></div></div><div tabindex=0 id=devViewButton3 class=viewSelector onclick=onDeviceViewChange(3) onkeypress='"Enter"==event.key&&onDeviceViewChange(3)'title="Áreas de trabalho"><div class=viewSelector3></div></div><div tabindex=0 id=devViewButton4 class=viewSelector onclick=onDeviceViewChange(4) onkeypress='"Enter"==event.key&&onDeviceViewChange(4)'title=Mapa style=display:none><div class=viewSelector4></div></div></div><div><h1>Meus dispositivos</h1></div><table id=devListToolbarSpan class=noselect><tr><td class=h1><td id=devListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Selecionar tudo">&nbsp; <input type=button id=GroupActionButton disabled value="Ações do grupo"onclick=groupActionFunction()>&nbsp; <input id=SearchInput placeholder=Filtro onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)>&nbsp; <label><input type=checkbox id=RealNameCheckBox onclick=onRealNameCheckBox()><span title="Mostrar o nome do sistema operacional dos dispositivos">Nome do SO</span></label><td id=kvmListToolbar class=style14 style=display:none>&nbsp;&nbsp;<input type=button onclick=connectAllKvmFunction() value="Conectar todos">&nbsp; <input type=button onclick=disconnectAllKvmFunction() value="Desconectar todos">&nbsp; <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Conexão automática">Auto&nbsp;</label> <input type=button onclick=showMultiDesktopSettings() value=Configurações>&nbsp;<td id=devMapToolbar class=style14 style=display:none>&nbsp;&nbsp;<input id=mapSearchLocation placeholder="Pesquisar Localização"onfocus=onMapSearchFocus(1) onblur=onMapSearchFocus(0)> <input type=button value=Procurar title="Pesquisar localização"onclick=getSearchLocation()> <input type=button id=refreshmap title="Redefinir visualização de mapa"value=Redefinir onclick=refreshMap(!1,!0)><td class=auto-style1 style=height:100%><div style=display:none id=devListToolbarView>Visualizar <select id=viewselect onchange=onDeviceViewChange()><option value=1>Colunas<option value=2>Lista<option value=3>Áreas de trabalho<option id=viewselectmapoption value=4 style=display:none>Mapa</select></div><div style=display:none id=devListToolbarSort>Classificar <select id=sortselect onchange=masterUpdate(6)><option>Grupo<option>Ligar<option>Dispositivo<option>Tags</select> &nbsp;</div><div style=display:none id=devListToolbarSize>Tamanho <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Pequeno<option value=1>Médio<option value=2>ampla</select> &nbsp;</div><td class=h2></table><div id=NoMeshesPanel style=display:none><table><tr><td valign=top style=width:50px><img src=images/info.png><td><div id=getStarted1>Para começar, <a href=# onclick="return account_createMesh()"><strong>clique aqui para criar um grupo de dispositivos</strong></a>.</div><div id=getStarted2>Nenhum grupo de dispositivos.</div></table></div><div id=xdevices class=noselect style=display:none></div><div id=xdevicesmap style=display:none><div id=xmapSearchResultsDlg style=display:none><div id=xmapSearchResultsBck><div id=xmapSearchClose onclick=mapCloseSearchWindow()><b>X</b></div><div style=padding:5px>Resultados da Localização</div><div style=width:100%;margin:6px></div></div><div id=xmapSearchResults style=margin:6px></div></div></div><div id=xmap-info-window></div></div><div id=p2 style=display:none><h1>Minha conta</h1><img id=p2AccountImage alt=""src=images/clipboard-128.png><div id=p2AccountSecurity style=display:none><p><strong>Segurança da conta</strong><div style=margin-left:25px><div id=manageAuthApp><div class=p2AccountActions><span id=authAppSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Gerenciar aplicativo autenticador</a><br></span></div><div id=manageHardwareOtp><div class=p2AccountActions><span id=authKeySetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Gerenciar chaves de segurança</a><br></span></div><div id=manageOtp><div class=p2AccountActions><span id=authCodesSetupCheck><strong>✓</strong></span></div><span><a href=# onclick="return account_manageOtp(0)">Gerenciar códigos de backup</a><br></span></div></div></div><div id=p2AccountActions><p><strong>Ações da conta</strong><p class=mL><span id=verifyEmailId style=display:none><a href=# onclick="return account_showVerifyEmail()">Verificar email</a><br></span><span id=accountEnableNotificationsSpan style=display:none><a href=# onclick="return account_enableNotifications()">Ativar notificações da web</a><br></span><a href=# onclick="return account_showLocalizationSettings()">Configurações de localização</a><br><a href=# onclick="return account_showAccountNotifySettings()">Configurações de notificação</a><br><span id=accountChangeEmailAddressSpan style=display:none><a href=# onclick="return account_showChangeEmail()">Mude o endereço de email</a><br></span><a href=# onclick="return account_showChangePassword()">Mudar senha</a><span id=p2nextPasswordUpdateTime></span><br><a href=# onclick="return account_showDeleteAccount()">Deletar conta</a><br></p><br style=clear:both></div><strong>Grupos de dispositivos</strong> <span id=p2createMeshLink1>( <a href=# onclick="return account_createMesh()"class=newMeshBtn>Novo</a> )</span><br><br><div id=p2meshes></div><div id=p2noMeshFound style=display:none>Nenhum grupo de dispositivos.<span id=p2createMeshLink2> <a href=# onclick="return account_createMesh()"><strong>Comece aqui!</strong></a></span></div><br style=clear:both></div><div id=p3 style=display:none><h1>Meus Eventos</h1><table class=pTable><tr><td class=h1><td class=auto-style1>Mostrar <select id=p3limitdropdown onchange=refreshEvents()><option value=60>Últimos 60<option value=120>Últimos 120<option value=250>Últimos 250<option value=500>Últimos 500<option value=1000>Últimos 1000</select>&nbsp; <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download de Eventos"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p3events></div></div><div id=p4 style=display:none><h1>Meus usuários</h1><table class=pTable><tr><td class=h1><td class=style14><div style=float:right><input type=button onclick=showUserBroadcastDialog() style=margin-right:6px value=Broadcast> <a href=# onclick=p4downloadUserInfo()><img style=cursor:pointer title="Baixar informações do usuário"src=images/link4.png></a><a href=# onclick=p4batchAccountCreate()><img id=p4UserBatchCreate style=cursor:pointer;display:none title="Lote criar muitas contas de usuário"src=images/link6.png></a></div><div><input id=UserNewAccountButton type=button style=margin-left:6px onclick=showCreateNewAccountDialog() value="Nova conta..."> <input id=UserSearchInput style=width:120px;margin-left:6px placeholder=Filtro onchange=onUserSearchInputChanged() onkeyup=onUserSearchInputChanged() autocomplete=off onfocus=onUserSearchFocus(1) onblur=onUserSearchFocus(0)></div><td class=h2></table><div id=p3users></div></div><div id=p5 style=display:none><h1>Meus arquivos</h1><table id=p5toolbar cellpadding=0 cellspacing=0><tr><td id=p5filehead valign=bottom><div id=p5rightOfButtons></div><div><input type=button id=p5FolderUp disabled onclick="return p5folderup()"value=Acima>&nbsp; <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Selecionar tudo">&nbsp; <input type=button id=p5RenameFileButton disabled value=Renomear onclick=p5renamefile()>&nbsp; <input type=button id=p5DeleteFileButton disabled value=Deletar onclick=p5deletefile()>&nbsp; <input type=button id=p5NewFolderButton disabled value="Nova pasta"onclick=p5createfolder()>&nbsp; <input type=button id=p5UploadButton disabled value=Envio onclick=p5uploadFile()>&nbsp; <input type=button id=p5CutButton disabled value=Cortar onclick=p5copyFile(1)>&nbsp; <input type=button id=p5CopyButton disabled value=Copiar onclick=p5copyFile(0)>&nbsp; <input type=button id=p5PasteButton disabled value=Colar onclick=p5pasteFile()>&nbsp;</div><tr><td id=p5filesubhead><div style=float:right><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Classificar por nome<option value=2>Classificar por tamanho<option value=3>Classificar por data<option value=4>Decrescente por nome<option value=5>Decrescente por tamanho<option value=6>Descrescente por data</select></div><div>&nbsp;&nbsp;<span id=p5currentpath></span></div></table><div id=p5filetable><div id=p5PublicShare><div>Esses arquivos são compartilhados publicamente, clique em "link" para obter o URL público.</div></div><div id=bigok style=display:none><b>✓</b></div><div id=bigfail style=display:none><b>✗</b></div><span id=p5files></span></div><table id=p5toolbarBottom style=width:100% cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p5bottomstatus></span></table></div><div id=p6 style=display:none><img id=MainMeshImage src=serverpic.ashx><h1>Meu servidor</h1><div id=p2ServerActions><p><strong>Ações do servidor</strong><div class=mL><div id=p2ServerActionsBackup><a href={{{domainurl}}}backup.zip rel="noreferrer noopener"target=_blank>Fazer o download do backup do servidor</a></div><div id=p2ServerActionsRestore><a href=# onclick="return server_showRestoreDlg()">Restaurar servidor com backup</a></div><div id=p2ServerActionsVersion><a href=# onclick="return server_showVersionDlg()">Verifique a versão do servidor</a></div><div id=p2ServerActionsErrors><a href=# onclick="return server_showErrorsDlg()">Mostrar log de erros do servidor</a></div></div></div><br><strong>Estatísticas do servidor</strong><br><br><div id=serverStats><div id=serverCpuChartView style=display:none><div class=chartViewCanvas><canvas id=serverCpuChart></canvas></div><div class=chartViewText id=serverCpuChartText></div></div><div id=serverMemoryChartView style=display:none><div class=chartViewCanvas><canvas id=serverMemoryChart></canvas></div><div class=chartViewText id=serverMemoryChartText></div></div><br><br><div id=serverStatsTable></div></div><div id=serverWarningsDiv style=display:none><br><strong>Server Warnings</strong><br><br><div id=serverWarnings></div></div></div><div id=p10 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p10title><div id=p10BackButton><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Geral - <span id=p10deviceName></span></h1></div><div id=p10html></div><td style=width:20px><td style=width:200px><a href=# onclick=p10showiconselector()><img id=MainComputerImage></a><div id=MainComputerState></div></table><br><div id=p10html2></div><div id=p10html3></div></div><div id=p11 class=noselect style=display:none><div id=p11title><div id=p11deviceNameHeader><div id=p11BackButton><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Tela cheia. Mantenha a tecla Shift pressionada no navegador em tela cheia."><div class=viewSelector5></div></div></div><h1>Área de Trabalho - <span id=p11deviceName></span></h1></div></div><div id=p11warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® Porta de redirecionamento AMT ou recurso KVM desativado<span id=p11warninga>, clique aqui para habilitá-lo.</span></div></div><div id=p11warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>O computador remoto não está ligado, clique aqui para emitir um comando de energia.</div></div><div id=deskarea0 cellpadding=0 cellspacing=0><div id=deskarea1 class=areaHead><div class=toright2><span id=p11power></span>&nbsp;<div class=deskareaicon title="Alternar modo de exibição"onclick=toggleAspectRatio(1)>⇲</div><div class=deskareaicon title="Vire à esquerda"onclick=drotate(-1)>↺</div><div class=deskareaicon title="Vire à direita"onclick=drotate(1)>↻</div><div id=deskRecordIcon class=deskareaicon title="O servidor está gravando esta sessão"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px></div><input id=deskFocusBtn type=button title="Alternar modo de foco, quando ativo, apenas a região ao redor do mouse é atualizada"onkeypress=return!1 onkeydown=return!1 value="Focus All"onclick=deskToggleFocus() style=margin-right:3px;display:none> <input id=deskSaveBtn type=button title="Salvar uma captura de tela da área de trabalho remota"onkeypress=return!1 onkeydown=return!1 value=Salvar... onclick=deskSaveImage() class=mR> <input id=deskActionsBtn type=button title="Execute ações de energia no dispositivo"onkeypress=return!1 onkeydown=return!1 value=Ações onclick=deviceActionFunction() class=mR> <input id=deskActionsSettings type=button value=Configurações... title="Editar configurações da área de trabalho remota"onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings() class=mR> <input type=button title="Alterar o estado de energia da máquina remota"onkeypress=return!1 onkeydown=return!1 value="Ações de energia (Ligar/Desligar)"onclick=showPowerActionDlg() style=display:none></div><div><div id=idx_deskFullBtn2 onclick=deskToggleFull(event)>&nbsp;✖</div><input type=button id=autoconnectbutton1 value="Conexão automática"onclick=autoConnectDesktop(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton1span><input type=button id=connectbutton1 value=Conectar onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton1hspan>&nbsp;<input type=button id=connectbutton1h value="Conectar HW"title="Connect using Intel AMT hardware KVM"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton1span>&nbsp;<input type=button id=disconnectbutton1 value=Desconectar onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=deskstatus>Desconectado</span></div></div><div id=deskarea2><div class=areaProgress><div id=progressbar></div></div></div><div id=deskarea3x><div id=DeskFocus oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></div><div id=DeskParent><canvas id=Desk width=640 height=480 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools><div id=deskToolsAreaTop><a id=DeskToolsRefreshButton style=right:2px onclick=refreshDeskTools()>Atualizar</a><div id=deskToolsTopTabProcess class=deskToolsTopTab onclick=changeDeskToolTab(0) style=left:0;bottom:0>Processos</div><div id=deskToolsTopTabService class=deskToolsTopTab onclick=changeDeskToolTab(1) style=display:none;left:90px;color:gray>Serviços</div></div><div id=deskToolsArea><div id=DeskToolsProcessTab><div id=deskToolsHeader><a class=colmn1 title="Classificar por ID do processo"onclick=sortProcess(0)>PID</a> <a class=colmn2 title="Classificar por nome"onclick=sortProcess(1)>Nome</a></div><div id=DeskToolsProcesses></div></div><div id=DeskToolsServiceTab style=display:none><div id=deskToolsServiceHeader><a class=colmn1 style=width:70px title="Classificar por estado"onclick=sortService(0)>Estado</a> <a class=colmn2 title="Classificar por nome"onclick=sortService(1)>Nome</a></div><div id=DeskToolsServices></div></div></div></div><div id=p11DeskConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:17px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p11clearConsoleMsg()></div></div><div id=deskarea4 class=areaFoot><div class=toright2><span id=DeskTimer title="Tempo de sessão"></span>&nbsp; <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select>&nbsp; <input id=DeskToolsButton type=button value=Ferramentas title="Alternar visualização de ferramentas"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()>&nbsp; <span id=DeskChatButton class=deskarea title="Abra a janela de bate-papo neste computador"><img src=images/icon-chat.png onclick=deviceChat(event) height=16 width=16 style=padding-top:2px></span><span id=DeskNotifyButton title="Exibir uma notificação no computador remoto"><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskOpenWebButton title="Open a web address on the remote computer"><img src=images/icon-url2.png onclick=deviceUrlFunction() height=16 width=16 style=padding-top:2px></span><span id=DeskBackgroundButton title="Toggle remote desktop background"><img src=images/icon-background.png onclick=deviceToggleBackground(event) height=16 width=16 style=padding-top:2px></span></div><div><select id=deskkeys><option value=10>CTRL+ALT+DEL<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>CTRL-W<option value=9>Alt-Tab<option value=11>Win+Left<option value=12>Win+Right</select> <input id=DeskWD type=button value=Enviar onkeypress=return!1 onkeydown=return!1 onclick=deskSendKeys()> <input id=DeskClip type=button value="Área de transferência"onkeypress=return!1 onkeydown=return!1 onclick=showDeskClip()> <input id=DeskType type=button value=Tipo onkeypress=return!1 onkeydown=return!1 onclick=showDeskType()> <label><span id=DeskControlSpan title="Alternar entrada de mouse e teclado"><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1 onclick=toggleKvmControl()>Entrada</span></label>&nbsp;</div></div></div></div><div id=p12 style=display:none><div id=p12title><div id=p12BackButton><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Terminal - <span id=p12deviceName></span></h1></div><div id=p12warning onclick=showFeaturesDlg()><div class=icon2></div><div class=warningbox>Intel® Porta de redirecionamento AMT ou recurso KVM desativado<span id=p12warninga>, clique aqui para habilitá-lo.</span></div></div><div id=p12warning2 onclick=showPowerActionDlg()><div class=icon2></div><div class=warningbox>O computador remoto não está ligado, clique aqui para emitir um comando de energia.</div></div><div id=termTable style=position:relative><table style=width:100% cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=termRecordIcon class=deskareaicon title="O servidor está gravando esta sessão"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div><input id=termActionsBtn type=button title="Execute ações de energia no dispositivo"onkeypress=return!1 onkeydown=return!1 value=Ações onclick=deviceActionFunction()></div><div><input type=button id=autoconnectbutton2 value="Conexão automática"onclick=autoConnectTerminal(event) onkeypress=return!1 onkeydown=return!1 style=display:none> <span id=connectbutton2span><input type=button id=connectbutton2 value=Conectar onclick=connectTerminal(event,1) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=connectbutton2hspan>&nbsp;<input type=button id=connectbutton2h value="Conectar HW"title="Connect using Intel AMT hardware KVM"onclick=connectTerminal(event,2) onkeypress=return!1 onkeydown=return!1 disabled></span><span id=disconnectbutton2span>&nbsp;<input type=button id=disconnectbutton2 value=Desconectar onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span>&nbsp;<span id=termstatus>Desconectado</span><span id=termtitle></span></div><tr><td><div class=areaProgress><div id=termprogressbar></div></div><tr><td id=termarea3x><pre id=Term></pre><tr><td class=areaFoot><div class=toright2><span id=TermTimer title="Tempo de sessão"></span>&nbsp; <span id=terminalSettingsButtons style=display:none><input id=id_tcrbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="CR + LF"title="Alterne o que a chave de retorno enviará"onclick=termToggleCr()> <input id=id_tfxkeysbutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Intel (F10 = ESC+[OM)"title="Alterna o tipo de emulação de teclas F1 a F10"onclick=termToggleFx()> <input id=id_ttypebutton type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton value="Ascii estendido"title="Alternar tipo de emulação de terminal"onclick=termToggleType()> </span><span id=terminalSizeDropDown><select id=termSizeList onkeypress=return!1><option value=1>80x25<option value=2>100x30<option value=3 selected>Auto</select> </span><select id=specialkeylist onkeypress=return!1></select> <input id=specialkeylistinput type=button onkeypress=return!1 class=bottombutton value=Enviar title="Enviar a chave especial selecionada"onclick=sendSpecialKey()></div><div>&nbsp; <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlcbutton value=CTRL-C onclick='termSendKey(3,"ctrlcbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=ctrlxbutton value=CTRL-X onclick='termSendKey(24,"ctrlxbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=escbutton value=ESC onclick='termSendKey(27,"escbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=bsbutton value=Excluir onclick='termSendKey(8,"bsbutton")'> <input type=button onkeypress=return!1 onkeydown=return!1 class=bottombutton id=pastebutton value=Colar title="Cole o texto no terminal"onclick=showTermPasteDialog()></div></table><div id=p12TermConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:45px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p12clearConsoleMsg()></div></div></div><div id=p13 style=display:none><div id=p13title><div id=p13BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Arquivos - <span id=p13deviceName></span></h1></div><table id=p13toolbar cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><input id=filesActionsBtn type=button title="Execute ações de energia no dispositivo"value=Ações onclick=deviceActionFunction()><div id=filesRecordIcon class=deskareaicon title="O servidor está gravando esta sessão"style=display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px></div></div><div><input id=p13AutoConnect value="Conexão automática"onclick=autoConnectFiles(event) type=button style=display:none> <input id=p13Connect value=Conectar onclick=connectFiles(event) type=button> <span id=p13Status>Desconectado</span></div><tr><td class=areaHead2 valign=bottom><div id=p13rightOfButtons class=toright2></div><div><input type=button id=p13FolderUp disabled onclick=p13folderup() value=Acima>&nbsp; <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Selecionar tudo">&nbsp; <input type=button id=p13RenameFileButton disabled value=Renomear onclick=p13renamefile()>&nbsp; <input type=button id=p13DeleteFileButton disabled value=Deletar onclick=p13deletefile()>&nbsp; <input type=button id=p13ViewFileButton disabled value=Editar onclick=p13viewfile()>&nbsp; <input type=button id=p13NewFolderButton disabled value="Nova pasta"onclick=p13createfolder()>&nbsp; <input type=button id=p13UploadButton disabled value=Envio onclick=p13uploadFile()>&nbsp; <input type=button id=p13CutButton disabled value=Cortar onclick=p13copyFile(1)>&nbsp; <input type=button id=p13CopyButton disabled value=Copiar onclick=p13copyFile(0)>&nbsp; <input type=button id=p13PasteButton disabled value=Colar onclick=p13pasteFile()>&nbsp; <input type=button id=p13RefreshButton disabled value=Atualizar onclick=p13folderup(9999)>&nbsp;</div><tr><td class=areaHead3><div class=toright2><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Classificar por nome<option value=2>Classificar por tamanho<option value=3>Classificar por data<option value=4>Decrescente por nome<option value=5>Decrescente por tamanho<option value=6>Descrescente por data</select></div><div>&nbsp;&nbsp;<span id=p13currentpath></span></div></table><div id=p13FilesConsoleMsg style=display:none;cursor:pointer;position:absolute;left:30px;top:165px;color:#ff0;background-color:rgba(0,0,0,.6);padding:10px;border-radius:5px onclick=p13clearConsoleMsg()></div><div id=p13filetable><div id=p13bigok style=display:none><b>✓</b></div><div id=p13bigfail style=display:none><b>✗</b></div><span id=p13files></span></div><table id=p13toolbarBottom cellpadding=0 cellspacing=0><tr><td class=style6>&nbsp;<span id=p13bottomstatus></span></table></div><div id=p14 style=display:none><div id=p14title><div id=p14BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><div id=devListToolbarViewIcons><div class=viewSelector onclick=deskToggleFull(event) title="Tela cheia. Mantenha a tecla Shift pressionada no navegador em tela cheia."><div class=viewSelector5></div></div></div><h1>Intel® AMT - <span id=p14deviceName></span></h1></div><iframe id=p14iframe src={{{domainurl}}}commander.htm></iframe></div><div id=p15 style=display:none><div id=p15title><div id=p15BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1><span id=p15deviceName></span></h1></div><table id=consoleTable cellpadding=0 cellspacing=0><tr><td class=areaHead><div class=toright2><div id=p15coreName title="Informações sobre o núcleo atual em execução neste agente"></div><input type=button id=p15uploadCore value="Ação do agente"onclick=p15uploadCore(event) title="Alterar o módulo de código Java Script do agente"> <img onclick=p15downloadConsoleText() style=cursor:pointer;margin-top:6px title="Baixar do texto do console"src=images/link4.png></div><div id=p15statetext></div><tr><td><div class=areaProgress><div id=consoleprogressbar></div></div><tr><td id=p15agentConsole><pre id=p15agentConsoleText></pre><tr><td class=areaFoot><table style=width:100%><tr><td style=width:99%><input id=p15consoleText style=width:100% onkeyup=p15consoleSend(event) onfocus=onConsoleFocus(1) onblur=onConsoleFocus(0)><td>&nbsp;<td id=p15outputselecttd><select id=p15outputselect><option value=1>Agente<option value=2>MQTT</select><td style=width:1%><input id=id_p15consoleClear type=button class=bottombutton value=Limpo onclick=p15consoleClear()></table></table></div><div id=p16 style=display:none><div id=p16title><div id=p16BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Eventos - <span id=p16deviceName></span></h1></div><table class=pTable><tr><td class=h1><td class=auto-style1>Mostrar <select id=p16limitdropdown onchange=refreshDeviceEvents()><option value=60>Últimos 60<option value=120>Últimos 120<option value=250>Últimos 250<option value=500>Últimos 500<option value=1000>Últimos 1000</select> <a href=# onclick=p3showDownloadEventsDialog(1)><img src=images/link4.png height=10 width=10 title="Download de Eventos"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p16events></div></div><div id=p17 style=display:none><div id=p17title><div id=p17BackButton style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Detalhes - <span id=p17deviceName></span></h1></div><div id=p17info></div></div><div id=p20 style=display:none><picture id=MainMeshImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/mesh-256.webp><img alt=""width=200 height=200 src=images/mesh-256.png></picture><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Geral - <span id=p20meshName></span></h1><p id=p20info></div><div id=p30 style=display:none><table style=width:100% cellpadding=0 cellspacing=0><tr><td style=width:auto valign=top><div id=p30title><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Geral - <span id=p30userName></span></h1></div><div id=p30html></div><td style=width:20px><td style=width:200px><picture id=MainUserImage style=border-width:0;height:200px;width:200px;float:right><source type=image/webp width=200 height=200 srcset=images/webp/user-256.webp><img alt=""width=200 height=200 src=images/user-256.png></picture><div style=width:100%;text-align:center><strong><span id=MainUserState></span></strong></div></table><br><div id=p30html2></div><div id=p30html3></div></div><div id=p31 style=display:none><div style=float:left><div class=backButton tabindex=0 onclick=goBack() title=Voltar onkeypress='"Enter"==event.key&&goBack()'><div class=backButtonEx></div></div></div><h1>Eventos - <span id=p31userName></span></h1><table class=pTable><tr><td class=h1><td class=auto-style1>Mostrar <select id=p31limitdropdown onchange=refreshUsersEvents()><option value=60>Últimos 60<option value=120>Últimos 120<option value=250>Últimos 250<option value=500>Últimos 500<option value=1000>Últimos 1000</select> <a href=# onclick=p3showDownloadEventsDialog(3)><img src=images/link4.png height=10 width=10 title="Download de Eventos"style=cursor:pointer></a>&nbsp;<td class=h2></table><div id=p31events></div></div><div id=p40 style=display:none><h1>Estatísticas do meu servidor</h1><div class=areaHead><div class=toright2><select id=p40type onchange=updateServerTimelineStats()><option value=0>Conexões<option value=1>Memória</select>&nbsp; <select id=p40time onchange=updateServerTimelineHours()><option value=3>Últimas 3 horas<option value=8>Últimas 8 horas<option value=24>Último dia<option value=168>Semana passada<option value=720>Últimos 30 dias</select>&nbsp; <img src=images/link4.png height=10 width=10 title="Baixar pontos de dados (.csv)"style=cursor:pointer onclick=p40downloadEvents()>&nbsp;</div><div><input value=Atualizar type=button onclick=refreshServerTimelineStats()> &nbsp;<label><input id=p40log type=checkbox onclick=updateServerTimelineHours()>Log-X</label></div></div><canvas id=serverMainStats></canvas></div><div id=p41 style=display:none><h1>Rastreio do meu servidor</h1><div class=areaHead><div class=toright2>Mostrar <select id=p41limitdropdown onchange=displayServerTrace()><option value=100>Últimos 100<option value=250>Últimos 250<option value=500>Últimos 500<option value=1000>Últimos 1000</select> <input value=Limpo type=button onclick=clearServerTracing()> <img src=images/link4.png height=10 width=10 title="Rastreio de download (.csv)"style=cursor:pointer onclick=p41downloadServerTrace()>&nbsp;</div><div><input value=Rastreamento type=button onclick=setServerTracing()> <span id=p41traceStatus>Nenhum</span></div></div><div id=p41events></div></div><div id=p42 style=display:none><h1>My Server Plugins</h1><div class=areaHead><div class=toright2></div><div><input value="Download Plugin"type=button onclick="return pluginHandler.addPluginDlg()"></div></div><div id=pluginRestartNotice class=areaHead style=background-color:gold;display:none><div class=toright2><input value="Refresh Agent Cores"type=button onclick="return distributeCore(),!1"></div><div style=padding:2px><div style=padding:2px><b>Notice:</b> Plugins have been altered, this may require agent core update.</div></div></div><table id=p42tbl><tr class=DevSt><th style=width:26px><th style=width:10px><th class=chName>Nome<th class=chDescription>Descrição<th class=chSite style=text-align:center>Ligação<th class=chVersion style=text-align:center>Versão<th class=chUpgradeAvail style=text-align:center>Latest<th class=chStatus style=text-align:center>Status<th class=chAction style=text-align:center>Ação<th style=width:10px></table><div id=pluginNoneNotice style=width:100%;text-align:center;padding-top:10px;display:none><i>No plugins on server.</i></div></div><div id=p43 style=display:none><div id=p43BackButton><div class=backButton tabindex=0 onclick=go(42) title=Voltar onkeypress='"Enter"==event.key&&go(42)'><div class=backButtonEx></div></div></div><h1>My Server Plugins - <span id=p43title></span></h1><iframe id=p43iframe frameborder=0 style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe></div><div id=p19 style=display:none><h1>Plugins - <span id=p19deviceName></span></h1><div id=p19headers></div><div id=p19pages></div></div><br id=column_l_bottomgap></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2><a id=verifyEmailId2 style=display:none href=# onclick=account_showVerifyEmail()>Verificar Email</a> &nbsp;<a href=terms>Termos &amp; Privacidade</a></div></div><div id=dialog class=noselect style=display:none><div id=dialogHeader><div tabindex=0 id=id_dialogclose onclick=setDialogMode() onkeypress='"Enter"==event.key&&setDialogMode()'>✖</div><div id=id_dialogtitle></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div><div id=dialog3><div id=d3upload><div>Seleção de arquivo</div><select id=d3uploadMode onchange=d3modechange()><option value=1>Upload de arquivo local<option value=2>Seleção de arquivo do servidor</select></div><div id=d3localmode style=display:none><div>Subir arquivo</div><form id=d3localmodeform method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input id=d3auth name=auth style=display:none> <input id=d3attrib name=attrib style=display:none> <input type=file id=d3localFile name=files onchange=d3setActions()> <input type=submit id=d3submit style=display:none></form></div><div id=d3servermode><div id=d3serveraction valign=bottom><input type=button id=p3FolderUp disabled onclick=d3folderup() value=Acima>&nbsp;</div><div id=d3serverfiles></div></div></div><div id=dialog7><div id=d7meshkvm><h4>Área de trabalho remota do agente</h4><div><div>Qualidade</div><select id=d7bitmapquality dir=rtl></select></div><div><div>Dimensionamento</div><select id=d7bitmapscaling dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37..5%<option value=256>25%<option value=128>12.5%</select></div><div><div>Taxa de quadros</div><select id=d7framelimiter dir=rtl><option selected value=50>Rápido<option value=100>Médio<option value=400>Lento<option value=1000>Muito devagar</select></div></div><div id=d7amtkvm><h4>Intel® AMT Hardware KVM</h4><div><div>Codificação de Imagem</div><select id=d7desktopmode><option value=1>RLE8, mais rápido<option value=2>RLE16, Recomendado<option value=3>RAW8, lento<option value=4>RAW16, muito lento</select></div><div><div>Outros ajustes</div><div id=d7otherset style=display:block><label style=display:block><input type=checkbox id=d7showfocus>Mostrar ferramenta de foco</label> <label style=display:block><input type=checkbox id=d7showcursor>Mostrar Cursor do Mouse Local</label> <label style=display:block><input type=checkbox id=d7localKeyMap>Mapa do teclado local</label></div></div></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Cancelar onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=Ok onclick=dialogclose(1)><div><input id=idx_dlgDeleteButton type=button value=Deletar style=display:none onclick=dialogclose(2)></div></div></div><iframe name=fileUploadFrame style=display:none></iframe><form style=display:none method=post action=uploadfile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p5fileDragName name=name><input id=p5fileDragAuthCookie name=auth><input id=p5fileDragSize name=size><input id=p5fileDragType name=type><input id=p5fileDragData name=data><input id=p5fileDragLink name=link><input type=submit id=p5loginSubmit2 style=display:none></form><form style=display:none method=post action=uploadnodefile.ashx enctype=multipart/form-data target=fileUploadFrame><input id=p13fileDragName name=name><input id=p13fileDragSize name=size><input id=p13fileDragType name=type><input id=p13fileDragData name=data><input id=p13fileDragLink name=link><input type=submit id=p13loginSubmit2 style=display:none></form><audio id=chimes><source src=sounds/chimes.mp3 type=audio/mp3></audio></div><script>'use strict';
2
3 // Process server-side web state
4 var webState = '{{{webstate}}}';
@@ -95,10 +95,6 @@
95 if (nightMode) { QC('body').add('night'); }
96 toggleFullScreen();
97
98 - // Debug
99 - QV('cxtermunorm', debugmode == 1);
100 - QV('cxtermups', debugmode == 1);
101 -
98 // Setup page visuals
99 if (args.hide) {
100 var hide = parseInt(args.hide);
views/translations/default-mobile-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script keeplink=1 src=scripts/filesaver.js></script><title>{{{title}}}</title><style>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}.i1{background:url(../images/icons50.png) 0 0;height:50px;width:50px;border:none}.i2{background:url(../images/icons50.png) -50px 0;height:50px;width:50px;border:none}.i3{background:url(../images/icons50.png) -100px 0;height:50px;width:50px;border:none}.i4{background:url(../images/icons50.png) -150px 0;height:50px;width:50px;border:none}.i5{background:url(../images/icons50.png) -200px 0;height:50px;width:50px;border:none}.i6{background:url(../images/icons50.png) -250px 0;height:50px;width:50px;border:none}.m0{background:url(../images/images16.png) -32px 0;height:16px;width:16px;border:none;float:left}.m1{background:url(../images/images16.png) -16px 0;height:16px;width:16px;border:none;float:left}.m2{background:url(../images/images16.png) -96px 0;height:16px;width:16px;border:none;float:left}.m3{background:url(../images/images16.png) -112px 0;height:16px;width:16px;border:none;float:left}.gray{filter:gray;-webkit-filter:grayscale(100%) opacity(60%)}.DevSt{padding-left:5px;border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:#ddd}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fileIcon1{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAPb49Y2Sj9LT2f///yH5BAEAAAMALAAAAAAQABAAAAImnI+py+1vhJwyUYAzHTL4D3qdlJWaIFJqmKod607sDKIiDUP63hQAOw==);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px}.fileIcon2{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAM2xV/Xur+XPgP///yH5BAEAAAMALAAAAAAQABAAAAJD3ISZIGHWUGihznesYDYATFVM+D2hJ4lgN1olxALAtAlmPCJvuMmJd6PJckDYwicrHhTD5o7plJmg0Uc0asNMkphHAQA7);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px}.fileIcon3{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAPb19IGBgbq6uv///yH5BAEAAAMALAAAAAAQABAAAAIy3ISpxgcPH2ouQgFEw1YmxnUXKEaaEZZnVWZk66JwzKpvuwZzwOgwb/C1gIOA8Yg8DgoAOw==);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px}.fileIcon4{background:url(../images/meshicon16.png);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px}.filelist{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;cursor:default;-khtml-user-drag:element;background-color:#fff;clear:both}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style="width:calc(100% - 50px);overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:6px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:10px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><img id=topMenuIcon class=noselect style=position:absolute;right:0;top:10px;bottom:50px;color:#c8c8c8;font-size:44px;margin-right:8px;cursor:pointer;display:none onclick=topMenu() src=/images/3bars-30.png width=30 height=30></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%><div id=column_l style=width:100%;padding:0;position:absolute;bottom:0;top:0><div id=p0 style=display:none;width:100%;height:100%><div style=display:flex;align-items:center;width:100%;height:100%><div id=p0message style=text-align:center;width:100%><span id=p0span>Server disconnected</span>,<href onclick=reload() style=cursor:pointer><u>klikni pro opětovné připojení</u></href>.</div></div></div><div id=p1 style=display:none;width:100%;height:100%><div style=display:flex;align-items:center;width:100%;height:100%><div id=p1message style=text-align:center;width:100%></div></div></div><div id=p2 style=display:none><div id=xdevices></div></div><div id=p3 style=display:none;position:absolute;bottom:0;top:0;width:100%><table cellspacing=0 style=margin:0;padding:0;border-spacing:0;border:0><tr style=padding:0><td style=padding:0;color:#c8c8c8;text-align:center;cursor:pointer width=60px valign=top onclick=goBack()><div style=padding:0;background-color:#036;width:10px;height:10px;float:right;border:0><div style="background-color:#fff;width:10px;height:10px;border-radius:10px 0 0 0;border-right:1px solid #fff;border-bottom:1px solid #fff"></div></div><div style="padding:0;font-size:25px;background-color:#036;width:50px;border-radius:0 0 10px 0;height:36px">◀</div><td><img src=/images/user-50.png width=50 height=50><td><div style=margin-left:5px><strong style=font-size:large><span id=p3userName></span></strong><br></div></table><div id=p3info style=overflow-y:scroll;position:absolute;top:55px;bottom:0;width:100%><div style=margin-left:8px><div id=p3AccountActions><p><strong>Nastavení bezpečnosti</strong><div style=margin-left:9px;margin-bottom:8px><div id=manageAuthApp style=margin-top:5px;display:none><a onclick=account_manageAuthApp() style=cursor:pointer>Spravovat autentizační aplikace</a></div><div id=manageOtp style=margin-top:5px;display:none><a onclick=account_manageOtp(0) style=cursor:pointer>Manage backup codes</a></div></div><p><strong>Akce účtu</strong><div style=margin-left:9px;margin-bottom:8px><div style=margin-top:5px><span id=verifyEmailId style=display:none><a onclick=account_showVerifyEmail() style=cursor:pointer>Ověřit email</a></span></div><div style=margin-top:5px><span id=changeEmailId style=display:none><a onclick=account_showChangeEmail() style=cursor:pointer>Změnit emailovou adresu</a></span></div><div style=margin-top:5px><a onclick=account_showChangePassword() style=cursor:pointer>Změnit heslo</a><span id=p2nextPasswordUpdateTime></span></div><div style=margin-top:5px><a onclick=account_showDeleteAccount() style=cursor:pointer>Smazat účet</a></div></div><br style=clear:both></div><strong>Skupiny zařízení</strong> <span id=p3createMeshLink1>( <a onclick=account_createMesh() style=cursor:pointer><img src=images/icon-addnew.png width=12 height=12 border=0> Vytvořit</a> )</span><br><br><div id=p3meshes></div><div id=p3noMeshFound style=margin-left:9px;display:none>No device groups.<span id=p3createMeshLink2> <a onclick=account_createMesh() style=cursor:pointer><strong>Get started here!</strong></a></span></div><br style=clear:both></div></div></div><div id=p5 style=display:none><table cellspacing=0 style=margin:0;padding:0;border-spacing:0;border:0><tr style=padding:0><td style=padding:0;color:#c8c8c8;text-align:center;cursor:pointer width=60px valign=top onclick=goBack()><div style=padding:0;background-color:#036;width:10px;height:10px;float:right;border:0><div style="background-color:#fff;width:10px;height:10px;border-radius:10px 0 0 0;border-right:1px solid #fff;border-bottom:1px solid #fff"></div></div><div style="padding:0;font-size:25px;background-color:#036;width:50px;border-radius:0 0 10px 0;height:36px">◀</div><td><img src=/images/user-50.png width=50 height=50><td><div style=margin-left:5px><strong style=font-size:large>Moje soubory</strong><br></div></table><div id=p5myfiles style=overflow-y:scroll;position:absolute;top:55px;bottom:0;width:100%><table id=p5toolbar style=width:100%;height:78px cellpadding=0 cellspacing=0><tr><td style=width:100%;background-color:#d3d9d6;text-align:left;padding:4px valign=bottom><div style=width:100%;text-align:center><input type=button style="width:calc(100%/5 - 5px)"id=p5FolderUp disabled onclick=p5folderup() value=Nahoru> <input type=button style="width:calc(100%/5 - 5px)"id=p5SelectAllButton disabled onclick=p5selectallfile() value="Vybrat vše"onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5RenameFileButton disabled value=Přejmenovat onclick=p5renamefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5DeleteFileButton disabled value=Smazat onclick=p5deletefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5NewFolderButton disabled value=Adresář onclick=p5createfolder() onkeypress=return!1 onkeydown=return!1></div><div style=width:100%;text-align:center><input type=button style="width:calc(100%/5 - 5px)"id=p5UploadButton disabled value=Nahrát onclick=p5uploadFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5CutButton disabled value=Vyjmout onclick=p5copyFile(1) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5CopyButton disabled value=Kopírovat onclick=p5copyFile(0) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5PasteButton disabled value=Vložit onclick=p5pasteFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5RefreshButton value=Obnovit onclick=p5refreshFiles() onkeypress=return!1 onkeydown=return!1></div><tr><td style=background-color:#e4e9e7;height:28px><table style=width:100%><tr><td id=p5currentpath style=overflow:hidden;padding-left:4px;padding-top:2px><td style=text-align:right;padding-right:4px><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Třídit podle jména<option value=2>Třídit podle velikosti<option value=3>Sort by date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></table></table><div id=p5filetable style="width:100%;height:calc(100% - 133px);overflow:auto;-webkit-user-select:none"><span id=p5files></span></div><table id=p5toolbarBottom style=width:100%;height:22px;position:absolute;bottom:0;background-color:#d3d9d6 cellpadding=0 cellspacing=0><tr><td style=text-align:left;padding:3px>&nbsp;<span id=p5bottomstatus></span><td id=p5rightOfButtons style=text-align:right;padding:3px></table></div></div><div id=p10 style=display:none;position:absolute;bottom:0;top:0;width:100%;overflow:hidden><table cellspacing=0 style=margin:0;padding:0;border-spacing:0;border:0;position:absolute;top:0><tr style=padding:0><td style=padding:0;color:#c8c8c8;text-align:center;cursor:pointer width=60px valign=top onclick=goBack()><div style=padding:0;background-color:#036;width:10px;height:10px;float:right;border:0><div style="background-color:#fff;width:10px;height:10px;border-radius:10px 0 0 0;border-right:1px solid #fff;border-bottom:1px solid #fff"></div></div><div style="padding:0;font-size:25px;background-color:#036;width:50px;border-radius:0 0 10px 0;height:36px">◀</div><td><a id=MainComputerImage style=cursor:pointer onclick=p10showiconselector()></a><td><div style=margin-left:5px><strong><span id=p10deviceName></span></strong><br><span id=MainComputerState></span></div></table><div id=p10general style=overflow-y:scroll;position:absolute;top:55px;bottom:0;width:100%><div id=p10html style=margin-left:8px;margin-right:8px></div><div id=p10html2></div><div id=p10html3></div></div><div id=p10desktop style=overflow:hidden;position:absolute;top:55px;bottom:0;width:100%;display:none><div id=deskarea1 style=position:absolute;top:0;width:100%;height:25px><div style=padding-top:2px;padding-bottom:2px;background:silver><div style=float:right;text-align:right><span id=p14power></span>&nbsp; <input id=DeskSoftInput style=width:25px;display:none;opacity:.2 onblur=toggleSoftKeys(0) onkeypress="return ondeskkeypress(event)"onkeydown="return ondeskkeydown(event)"onkeyup="return ondeskkeyup(event)"></div><div style=margin-left:3px><input type=button id=connectbutton1 value=Připojit onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled> <input type=button id=connectbutton1h value="HW Connect"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled> <input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1> <span id=deskstatus>Odpojeno</span></div></div></div><div id=deskarea3 style="position:absolute;top:25px;width:100%;height:calc(100% - 50px)"><div id=deskarea3x style=background:#000;text-align:center;height:100%;position:relative><div id=DeskParent style=height:100%><canvas id=Desk width=640 height=200 style=width:100%;-ms-touch-action:none;margin-left:0 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools style="position:absolute;width:400px;height:100%;background-color:gray;top:0;right:0;border-left:2px solid #d3d3d3;display:none"><a id=DeskToolsRefreshButton style=float:right;padding:3px;cursor:pointer onclick=refreshDeskTools()>Obnovit</a><div id=DeskToolsBar style="position:absolute;padding:3px;border-radius:3px 3px 0 0;top:5px;left:4px;bottom:26px;background-color:#d3d3d3;cursor:pointer">Procesy</div><div style=position:absolute;top:26px;left:4px;right:4px;bottom:4px;background-color:#d3d3d3;text-align:left><div style="border-bottom:1px solid #a9a9a9;padding:3px"><a style=width:50px;padding-right:5px;float:left;cursor:pointer onclick=sortProcess(0)>PID</a><a style=cursor:pointer onclick=sortProcess(1)>Jméno</a></div><div id=DeskToolsProcesses style=overflow-y:scroll;position:absolute;top:24px;bottom:0;width:100%></div></div></div></div></div><div id=deskarea4 style=position:absolute;bottom:0;width:100%;height:25px><div style=padding-top:2px;padding-bottom:2px;background:silver><div style=float:right;text-align:right><select id=termdisplays style=display:none onchange=deskSetDisplay(event) onclick=deskGetDisplayNumbers(event)></select>&nbsp; <span id=DeskToastButton><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span>&nbsp;</div><div><input id=deskActionsBtn type=button style=margin-left:3px onkeypress=return!1 onkeydown=return!1 value=Akce onclick=deviceActionFunction()> <input type=button value=Nastavení onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings()> <input type=button onkeypress=return!1 onkeydown=return!1 value="Akce napájení"onclick=showPowerActionDlg() style=display:none> <input id=DeskSpecialKeys type=button value="Special Keys"onkeypress=return!1 onkeydown=return!1 onclick=sendSpecialKeys()> <input id=DeskSoftKeys type=button value=Klávesnice onkeypress=return!1 onkeydown=return!1 onclick=toggleSoftKeys(1)> <label><span id=DeskControlSpan style=display:none><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1>Vstup</span></label></div></div></div></div><div id=p10files style=overflow-y:scroll;position:absolute;top:55px;bottom:0;width:100%;display:none><table id=p13toolbar style=width:100%;height:111px cellpadding=0 cellspacing=0><tr><td style="background-color:silver;border-bottom:2px solid #000;padding:2px"><div style=float:right;text-align:right><input id=filesActionsBtn type=button onkeypress=return!1 onkeydown=return!1 value=Akce onclick=deviceActionFunction() style=margin-right:2px></div><div style=margin-left:2px><input id=p13AutoConnect value=AutoConnect onclick=autoConnectFiles(event) onkeypress=return!1 onkeydown=return!1 type=button style=display:none> <input id=p13Connect value=Připojit onclick=connectFiles(event) onkeypress=return!1 onkeydown=return!1 type=button> <span id=p13Status>Odpojeno</span></div><tr><td style=width:100%;background-color:#d3d9d6;text-align:left;padding:4px valign=bottom><div style=width:100%;text-align:center><input type=button style="width:calc(100%/5 - 5px)"id=p13FolderUp disabled onclick=p13folderup() value=Nahoru> <input type=button style="width:calc(100%/5 - 5px)"id=p13SelectAllButton disabled onclick=p13selectallfile() value="Vybrat vše"onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13RenameFileButton disabled value=Přejmenovat onclick=p13renamefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13DeleteFileButton disabled value=Smazat onclick=p13deletefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13NewFolderButton disabled value=Adresář onclick=p13createfolder() onkeypress=return!1 onkeydown=return!1></div><div style=width:100%;text-align:center><input type=button style="width:calc(100%/5 - 5px)"id=p13UploadButton disabled value=Nahrát onclick=p13uploadFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13CutButton disabled value=Vyjmout onclick=p13copyFile(1) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13CopyButton disabled value=Kopírovat onclick=p13copyFile(0) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13PasteButton disabled value=Vložit onclick=p13pasteFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13RefreshButton disabled value=Obnovit onclick=p13folderup(9999) onkeypress=return!1 onkeydown=return!1></div><tr><td style=background-color:#e4e9e7;height:28px><table style=width:100%><tr><td id=p13currentpath style=overflow:hidden;padding-left:4px;padding-top:2px><td style=text-align:right;padding-right:4px><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Třídit podle jména<option value=2>Třídit podle velikosti<option value=3>Sort by date<option value=4>Descend by name<option value=5>Descend by size<option value=6>Descend by date</select></table></table><div id=p13filetable style="width:100%;height:calc(100% - 133px);overflow:auto;-webkit-user-select:none"><span id=p13files></span></div><table id=p13toolbarBottom style=width:100%;height:22px;position:absolute;bottom:0 cellpadding=0 cellspacing=0><tr><td style=text-align:left;padding:3px;text-align:center;background-color:#d3d9d6>&nbsp;<span id=p13bottomstatus></span></table></div></div><div id=p20 style=display:none;position:absolute;bottom:0;top:0;width:100%><table cellspacing=0 style=margin:0;padding:0;border-spacing:0;border:0><tr style=padding:0><td style=padding:0;color:#c8c8c8;text-align:center;cursor:pointer width=60px valign=top onclick=goBack()><div style=padding:0;background-color:#036;width:10px;height:10px;float:right;border:0><div style="background-color:#fff;width:10px;height:10px;border-radius:10px 0 0 0;border-right:1px solid #fff;border-bottom:1px solid #fff"></div></div><div style="padding:0;font-size:25px;background-color:#036;width:50px;border-radius:0 0 10px 0;height:36px">◀</div><td onclick=p20editmesh(1)><img src=/images/meshicon50.png width=50 height=50><td onclick=p20editmesh(1)><div style=margin-left:5px><strong style=font-size:large><span id=p20meshName></span></strong><br></div></table><div id=p20info style=margin-left:8px;margin-right:8px></div></div></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table id=footerMenu cellpadding=0 cellspacing=0 style=height:32px;width:100%;color:#fff;cursor:pointer;table-layout:fixed></table></div></div><div id=dialog style="z-index:1000;background-color:#eee;box-shadow:0 0 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:5px;position:fixed;top:90px;width:300px;display:none"><div style="width:100%;background-color:#036;color:#fff;border-radius:5px 5px 0 0"><div id=id_dialogclose style=float:right;padding:5px;cursor:pointer onclick=setDialogMode()><b>X</b></div><div id=id_dialogtitle style=padding:5px></div><div style=width:100%;margin:6px></div></div><div style=margin-right:16px;margin-left:8px><div id=dialog1 style=margin:auto;text-align:center;margin:3px><div id=id_dialogMessage style=padding:10px></div></div><div id=dialog2 style=margin:auto;margin:3px><div id=id_dialogOptions></div></div><div id=dialog3 style=margin:auto;margin:3px><select id=deskkeys style=width:100%><option value=10>Ctrl+Alt+Del<option value=11>Tab<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab</select></div><div id=dialog7 style=margin:auto;margin:3px><div id=d7meshkvm><h4 style="width:100%;border-bottom:1px solid gray">Agent Remote Desktop</h4><div style="margin:3px 0 3px 0"><select id=d7bitmapquality style=float:right;width:200px;height:20px dir=rtl></select><div style=height:20px>Kvalita</div></div><div style="margin:3px 0 3px 0"><select id=d7bitmapscaling style=float:right;width:200px;height:20px dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select><div style=height:20px>Škálování</div></div><div style="margin:3px 0 3px 0"><select id=d7framelimiter style=float:right;width:200px;height:20px dir=rtl><option selected value=50>Rychle<option value=100>Středně<option value=400>Pomalu<option value=1000>Velmi pomalu</select><div style=height:20px>Rate</div></div></div><div id=d7amtkvm><h4 style="width:100%;border-bottom:1px solid gray">Intel® AMT Hardware KVM</h4><div style=height:26px><select id=d7desktopmode style=float:right;width:200px><option value=1>RLE8, Fastest<option value=2>RLE16, Recommended<option value=3>RAW8, Slow<option value=4>RAW16, Very Slow</select><div>Encoding</div></div><div style=height:60px><div style="float:right;border:1px solid #666;width:200px;height:60px;overflow-y:scroll;background-color:#fff"><label><input type=checkbox id=d7showfocus>Show Focus Tool</label><br><label><input type=checkbox id=d7showcursor>Show Local Mouse Cursor</label><br></div><div>Ostatní</div></div></div></div></div><div id=idx_dlgButtonBar style=padding:10px;margin-bottom:20px><input id=idx_dlgCancelButton type=button value=Zrušit style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK style=float:right;width:80px onclick=dialogclose(1)></div></div><div id=topMenu style="z-index:1000;background-color:#eee;box-shadow:0 0 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:0 0 5px 5px;position:fixed;top:50px;right:5px;width:170px;display:none"><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer"onclick=topMenu(2)>Moje soubory</div><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer"onclick=topMenu(1)>Můj účet</div><div id=logoutMenuOption><a href=/logout><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer">Odhlásit</div></a></div></div><iframe name=fileUploadFrame style=display:none></iframe><script>"use strict";var webState="{{{webstate}}}";for(var i in""!=webState&&(webState=JSON.parse(decodeURIComponent(webState))),webState)localStorage.setItem(i,webState[i]);webState.loctag||localStorage.removeItem("loctag");var files,args=parseUriArgs(),debugLevel=parseInt("{{{debuglevel}}}"),features=parseInt("{{{features}}}"),sessionTime=parseInt("{{{sessiontime}}}"),domain="{{{domain}}}",domainUrl="{{{domainurl}}}",authCookie="{{{authCookie}}}",authRelayCookie="{{{authRelayCookie}}}",authCookieRenewTimer=null,meshserver=null,xdr=null,serverinfo=null,nodes=[],meshes={},filetree={},userinfo=null,users=(serverinfo=null,null),nodeShortIdent=0,serverPublicNamePort="{{{serverDnsName}}}:{{{serverPublicPort}}}",debugmode=!1,attemptWebRTC=0!=(128&features),StatusStrs=["Odpojeno","Connecting...","Setup...","Connected","Intel&reg; AMT Connected"],passRequirements="{{{passRequirements}}}";""!=passRequirements&&(passRequirements=JSON.parse(decodeURIComponent(passRequirements)));var sessionActivity=Date.now();function startup(){if(0==(32&features)){var e=null;try{e=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==e||0==top.active))return void(top.location=self.location)}if(!args.locale){var t=getstore("loctag",0);null!=t&&"*"!=t&&(args.locale=t)}(window.onresize=center)(),QV("changeEmailId",0==(2097152&features)),QH("p1message","Connecting..."),go(1),(meshserver=MeshServerCreateControl(domainUrl,authCookie)).onStateChanged=onStateChanged,meshserver.onMessage=onMessage,meshserver.Start();var o=localStorage.getItem("desktopsettings");null!=o&&(desktopsettings=JSON.parse(o)),applyDesktopSettings()}function onStateChanged(e,t,o,n){if(0==t){if(setDialogMode(0),go(0),"noauth"==n)return void QH("p0span","Unable to perform authentication");2==o?setTimeout(serverPoll,5e3):QH("p0span","Unable to connect web socket"),null!=authCookieRenewTimer&&(clearInterval(authCookieRenewTimer),authCookieRenewTimer=null)}else 2==t&&(meshserver.send({action:"meshes"}),meshserver.send({action:"nodes"}),meshserver.send({action:"files"}),xxcurrentView<2&&go(2),authCookieRenewTimer=setInterval(function(){meshserver.send({action:"authcookie"})},18e5));QV("topMenuIcon",2==t)}function serverPoll(){xdr=null;try{xdr=new XDomainRequest}catch(e){}(xdr=xdr||new XMLHttpRequest).open("HEAD",window.location.href),xdr.timeout=15e3,xdr.onload=function(){reload()},xdr.onerror=xdr.ontimeout=function(){setTimeout(serverPoll,1e4)},xdr.send()}function updateSelf(){if(QV("verifyEmailId",!0!==userinfo.emailVerified&&null!=userinfo.email&&1==serverinfo.emailcheck),QV("manageAuthApp",4096&features),QV("manageOtp",0!=(4096&features)&&(1==userinfo.otpsecret||0<userinfo.otphkeys)),QV("p3createMeshLink1",!1),QV("p3createMeshLink2",!1),"number"==typeof userinfo.passchange)if(-1==userinfo.passchange)QH("p2nextPasswordUpdateTime"," - Reset při příštím přihlášení.");else if(null!=passRequirements&&"number"==typeof passRequirements.reset){var e=userinfo.passchange+86400*passRequirements.reset-Math.floor(Date.now()/1e3);e<0?QH("p2nextPasswordUpdateTime"," - Reset při příštím přihlášení."):e<3600?QH("p2nextPasswordUpdateTime",format(" - Reset v {0} minut{1}.",Math.floor(e/60),addLetterS(Math.floor(e/60)))):e<86400?QH("p2nextPasswordUpdateTime",format(" - Reset v {0} hodin{1}.",Math.floor(e/3600),addLetterS(Math.floor(e/3600)))):QH("p2nextPasswordUpdateTime",format(" - Reset v {0} den{1}."),Math.floor(e/86400),addLetterS(Math.floor(e/86400)))}}function addLetterS(e){return 1<e?"s":""}function setSessionActivity(){sessionActivity=Date.now()}function checkIdleSessionTimeout(){Date.now()-sessionActivity>serverinfo.timeout&&(window.location.href="logout")}function onMessage(e,t){switch(t.action){case"serverinfo":(serverinfo=t.serverinfo).timeout&&(setInterval(checkIdleSessionTimeout,1e4),checkIdleSessionTimeout()),QV("p3AccountActions",0==(4&features)&&0==serverinfo.domainauth),QV("logoutMenuOption",0==(4&features)&&0==serverinfo.domainauth);break;case"authcookie":authCookie=t.cookie,authRelayCookie=t.rcookie;break;case"userinfo":userinfo=t.userinfo,QH("p3userName",userinfo.name),updateSelf();break;case"users":for(var o in users={},t.users)users[t.users[o]._id]=t.users[o];updateUsers();break;case"wssessioncount":wssessions=t.wssessions,updateUsers();break;case"meshes":for(var o in meshes={},t.meshes)meshes[t.meshes[o]._id]=t.meshes[o];updateMeshes(),updateDevices();break;case"files":filetree=setupBackPointers(t.filetree),updateFiles();break;case"nodes":for(var o in nodes=[],t.nodes)for(var n in t.nodes[o])meshes[o]?(t.nodes[o][n].namel=t.nodes[o][n].name.toLowerCase(),t.nodes[o][n].rname?t.nodes[o][n].rnamel=t.nodes[o][n].rname.toLowerCase():t.nodes[o][n].rnamel=t.nodes[o][n].namel,t.nodes[o][n].meshnamel=meshes[o].name.toLowerCase(),t.nodes[o][n].meshid=o,t.nodes[o][n].state=t.nodes[o][n].state?t.nodes[o][n].state:0,t.nodes[o][n].desc=t.nodes[o][n].desc,t.nodes[o][n].icon||(t.nodes[o][n].icon=1),t.nodes[o][n].ident=++nodeShortIdent,nodes.push(t.nodes[o][n])):console.log("Invalid mesh (1): "+o);updateDevices(),0==xxcurrentView&&go(parseInt("{{viewmode}}")),gotoDevice("{{currentNode}}",parseInt("{{viewmode}}"));break;case"powertimeline":if(t.nodeid!=powerTimelineReq)break;powerTimelineNode=t.nodeid,powerTimeline=t.timeline,powerTimelineUpdate=Date.now()+3e5,currentNode._id==t.nodeid&&drawDeviceTimeline();break;case"otpauth-request":if(2==xxdialogMode&&"otpauth-request"==xxdialogTag){var i=t.secret;52==i.length?i=i.split(/(.............)/).filter(Boolean).join(" "):32==i.length&&(i=(i=i.split(/(....)/).filter(Boolean).join(" ")).substring(0,20)+"<br/>"+i.substring(20)),QH("d2optinfo",'Install <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" rel="noreferrer noopener" target=_blank>Google Authenticator</a> or a compatible application, use <a href="\' + message.url + \'" rel="noreferrer noopener" target=_blank> this link</a> or enter the secret below. Then, enter the current 6 digit token to activate 2-Step login.<br /><br /><div style=width:100%;text-align:center><tt id=d2optsecret secret="'+t.secret+'" style=font-size:15px>'+i+'</tt><br /><br />Token: <input type=text onkeypress="return (event.keyCode == 8) || (event.charCode >= 48 && event.charCode <= 57)" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text></div>'),QV("idx_dlgOkButton",!0),QE("idx_dlgOkButton",!1),Q("d2otpauthinput").focus()}break;case"otpauth-setup":if(xxdialogMode)return;setDialogMode(2,"Authenticator App",1,null,t.success?"<b style=color:green>2-faktorová autentizace zapnuta</b>. Je třeba platný token k přihlášení.":"<b style=color:red>2-faktorové přihlášení selhalo</b>. 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,"Authenticator App",1,null,t.success?"<b style=color:green>2-faktorové přihlášení odstraněno</b>. Lze znovu kdykoliv zapnout.":"<b style=color:red>Odstranění 2-faktorového přihlášení selhalo</b>. Zkuste znovu.");break;case"otpauth-getpasswords":if(xxdialogMode)return;var a="One time tokens can be used as secondary authentication. Generate a set, print them and keep them in a safe place.";if(a+="<div style='border-radius:6px;border: 2px dashed #888;width:100%;margin-top:8px'><div style='padding:8px;font-family:Arial, Helvetica, sans-serif;font-size:20px;font-weight:bold'><table style=width:100%;text-align:center>",t.passwords){var s=0;for(var l in t.passwords){++s%2&&(a+="<tr>");for(var r=""+t.passwords[l].p;r.length<8;)r="0"+r;!0===t.passwords[l].u?a+="<td>"+r.substring(0,4)+"&nbsp;"+r.substring(4):a+="<td><strike style=color:#BBB>"+r.substring(0,4)+"&nbsp;"+r.substring(4)}}else a+="<tr><td>No Active Tokens";a+="</table></div></div><br />",a+="<div><input type=button value='Close' onclick=setDialogMode(0) style=float:right></input>",a+="<input type=button value='New Tokens' onclick='account_manageOtp(1);'></input>",null!=t.passwords&&(a+="<input type=button value='Clear' onclick='account_manageOtp(2);'></input>"),setDialogMode(2,"Manage Backup Codes",8,null,a+="</div><br />","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,c=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,c!=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&&currentMesh==meshes[t.event.meshid]&&go(2),delete meshes[t.event.meshid];var u=[];for(var l in nodes)nodes[l].meshid!=t.event.meshid&&u.push(nodes[l]);nodes=u,10<=xxcurrentView&&xxcurrentView<20&&currentNode&&currentNode.meshid==t.event.meshid&&(setDialogMode(0),go(2))}}updateMeshes(),updateDevices(),meshserver.send({action:"files"}),20==xxcurrentView&&currentMesh._id==t.event.meshid&&p20updateMesh();break;case"deletemesh":meshes[t.event.meshid]&&(delete meshes[t.event.meshid],updateMeshes(),meshserver.send({action:"files"}));u=[];for(var l in nodes)nodes[l].meshid!=t.event.meshid&&u.push(nodes[l]);nodes=u,updateDevices(),20<=xxcurrentView&&xxcurrentView<30&&currentMesh._id==t.event.meshid&&(setDialogMode(0),go(2)),10<=xxcurrentView&&xxcurrentView<20&&currentNode&&currentNode.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 h=-1;for(var l in nodes)if(nodes[l]._id==t.event.nodeid){h=l;break}if(-1!=h){m=nodes[h];currentNode==m&&(10<=xxcurrentView&&xxcurrentView<20&&(setDialogMode(0),go(2)),currentNode=null),nodes.splice(h,1),updateDevices()}break;case"changenode":h=-1;for(var l in nodes)if(nodes[l]._id==t.event.nodeid){h=l;break}if(-1!=h)(m=nodes[h]).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":h=-1;for(var l in nodes)if(nodes[l]._id==t.event.nodeid){h=l;break}if(-1!=h){m=nodes[h];null==meshes[t.event.newMeshId]?(currentNode==m&&(10<=xxcurrentView&&xxcurrentView<20&&(setDialogMode(0),go(2)),currentNode=null),nodes.splice(h,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":h=-1;for(var l in nodes)if(nodes[l]._id==t.event.nodeid){h=l;break}if(-1!=h)(m=nodes[h]).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<backStack.length&&backStack.pop(),goStack())}function goForward(e){xxdialogMode||(backStack.push(e),goStack())}function goStack(){if(0!=backStack.length){var e=backStack[backStack.length-1],t=e.split("/")[0];"node"==t&&(setupDeviceMenu(0),gotoDevice(e)),"mesh"==t&&gotoMesh(e),"account"==t&&go(3),"devices"==t&&go(2),"files"==t&&go(5)}else go(2)}function updateFooterMenu(e){for(;null!=e&&e.length<3;)e.push({n:""});var t="",o="";if(null!=e)for(var n in e)t+='<td style="cursor:pointer'+(""==o?"":";border-left:solid 1px white")+'" onclick="'+e[n].f+'">'+e[n].n,o=e[n].n;QH("footerMenu","<tr>"+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,"Authenticator App",2,function(){meshserver.send({action:"otpauth-setup",secret:Q("d2optsecret").attributes.secret.value,token:Q("d2otpauthinput").value})},"<div id=d2optinfo>Nahrávání...</div>","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,"Authenticator App",3,function(){meshserver.send({action:"otpauth-clear"})},"Confirm removal of authenticator application 2-step login?")}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,"Email Verification",3,account_showVerifyEmailEx,"Click ok to send a verification mail to:<br /><div style=padding:8px><b>"+EscapeHtml(userinfo.email)+"</b></div>Please wait a few minute to receive the verification.")}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","<input id=dp3email style=width:170px maxlength=256 onchange=account_validateEmail() onkeyup=account_validateEmail(event) />")),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="<form method=post><table style=margin-left:10px><input type=hidden name=action value=deleteaccount /><input type=hidden name=authcookie value="+authCookie+" /><tr>";e+="<td align=right>Heslo:</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>",e+="</tr><tr><td align=right>Heslo:</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>",e+="</tr></table><div style=padding:10px;margin-bottom:4px>",e+='<input id=account_dlgCancelButton type=button value="Zrušit" style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)>',e+='<input id=account_dlgOkButton type=submit value="OK" style="float:right;width:80px" onclick=dialogclose(1)>',setDialogMode(2,"Smazat účet",0,null,e+="</div><br /></form>"),account_validateDeleteAccount(),Q("apassword1").focus()}}function account_showChangePassword(){if(xxdialogMode)return!1;var e="<table style=margin-left:10px>";if(e+="<tr><td align=right>"+nobreak("Staré heslo:")+"</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>",e+="<tr><td align=right>"+nobreak("Nové heslo:")+"</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b><span id=dxPassWarn></span></b></td></tr>",e+="<tr><td align=right>"+nobreak("Nové heslo:")+"</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>",65536&features&&(e+="<tr><td align=right>Password hint:</td><td><input id=apasswordhint name=apasswordhint maxlength=250 type=text autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>"),e+="</table>",passRequirements){var t=[],o=0;for(var n in passRequirements)"reset"!=n&&"hint"!=n&&(t.push(n+":"+passRequirements[n]),o++);0<o&&(e+="<br /><span style=font-size:x-small>"+format("Requirements: {0}.",t.join(", "))+"</span>")}return setDialogMode(2,"Změnit heslo",3,account_showChangePasswordEx,e+="<br />"),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<userinfo.otphkeys||0<userinfo.otpkeys){var e=addHtmlValue("Jméno","<input id=dp3meshname style=width:170px maxlength=64 onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate() />");e+=addHtmlValue("Typ","<div style=width:170px;margin:0;padding:0><select id=dp3meshtype style=width:100% onchange=account_validateMeshCreate() ><option value=2>Software Agent Group</option><option value=1>Intel&reg; AMT only</option></select></div>"),setDialogMode(2,"Vytvořit skupinu zařízení",3,account_createMeshEx,e+=addHtmlValue("Popis","<div style=width:170px;margin:0;padding:0><textarea id=dp3meshdesc maxlength=1024 style=width:100%;resize:none></textarea></div>")),account_validateMeshCreate(),Q("dp3meshname").focus()}else setDialogMode(2,"Nastavení bezpečnosti",1,null,'Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the "My Account" and look at the "Account Security" section.');else setDialogMode(2,"Nastavení bezpečnosti",1,null,'Unable to access a device until a email address is verified. This is required for password recovery. Go to the "My Account" to change and verify an email address.');else setDialogMode(2,"Nová skupina zařízení",1,null,"This account does not have the rights to create a new device group.")}function account_validateMeshCreate(){QE("idx_dlgOkButton",0<Q("dp3meshname").value.length)}function account_createMeshEx(e,t){meshserver.send({action:"createmesh",meshname:Q("dp3meshname").value,meshtype:Q("dp3meshtype").value,desc:Q("dp3meshdesc").value})}function account_validateDeleteAccount(){QE("account_dlgOkButton",0<Q("apassword1").value.length&&Q("apassword1").value==Q("apassword2").value)}function account_validateNewPassword(){var e="",t=0<Q("apassword0").value.length&&0<Q("apassword1").value.length&&Q("apassword1").value==Q("apassword2").value&&Q("apassword0").value!=Q("apassword1").value;if(65536&features&&Q("apasswordhint").value==Q("apassword1").value&&(t=!1),""!=Q("apassword1").value)if(null==passRequirements||""==passRequirements){var o=checkPasswordStrength(Q("apassword1").value);e=80<=o?"<span style=color:green>Strong<span>":60<=o?"<span style=color:blue>&#9679;<span>":"<span style=color:red>&#9679;<span>"}else{0==checkPasswordRequirements(Q("apassword1").value,passRequirements)&&(t=!1,e="<span style=color:red>Policy<span>")}QH("dxPassWarn",e),QE("idx_dlgOkButton",t)}function checkPasswordStrength(e){var t=0,o={},n=0,i={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var a=0;a<e.length;a++)o[e[a]]=(o[e[a]]||0)+1,t+=5/o[e[a]];for(var s in i)n+=1==i[s]?1:0;return parseInt(t+10*(n-1))}function checkPasswordRequirements(e,t){if(null==t||""==t||"object"!=typeof t)return!0;if(t.min&&e.length<t.min)return!1;if(t.max&&e.length>t.max)return!1;for(var o=0,n=0,i=0,a=0,s=0;s<e.length;s++)/\d/.test(e[s])&&o++,/[a-z]/.test(e[s])&&n++,/[A-Z]/.test(e[s])&&i++,/\W/.test(e[s])&&a++;return!(t.num&&o<t.num)&&(!(t.lower&&n<t.lower)&&(!(t.upper&&i<t.upper)&&!(t.nonalpha&&a<t.nonalpha)))}function updateMeshes(){var e="",t=0;for(i in meshes){t++;var o=meshes[i].links[userinfo._id].rights,n="Partial Rights";4294967295==o?n="Hlavní administrátor":0==o&&(n="No Rights"),e+="<div style=cursor:pointer onclick=goForward('"+i+"')>",e+='<div style="float:left;margin-left:4px"><img src="/images/meshicon50.png" width=50 height=50 /></div>',e+='<div style="width:auto;height:40px;background-color:lightgray;margin-top:5px;margin-bottom:5px;margin-left:60px;padding-top:5px;padding-bottom:5px;border-radius:8px 0px 0px 8px">',e+="<div><div style=padding-left:12px;padding-top:2px><b>"+EscapeHtml(meshes[i].name)+"</b></div><div style=padding-left:12px;padding-top:3px;color:gray>"+n+"</div></div>",e+="</div></div>"}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="<a style=cursor:pointer onclick=p5folderup(0)>Root</a>",i="Root",a=filetree,s=1,l=[],r=filetreelinkpath,d=[],p=document.getElementsByName("fc"),c=0;c<p.length;c++)p[c].checked&&d.push(p[c].value);for(var c in filetreelinkpath="",filetreelocation){if(null==a.f||null==a.f[filetreelocation[c]])break;if(l.push(filetreelocation[c]),i+=" / "+filetreelocation[c],1==s){var u=filetreelocation[c].split("/");e=window.location+u[0]+"files/"+u[2],filetreelinkpath+=filetreelocation[c]}else""!=filetreelinkpath&&(filetreelinkpath+="/"+filetreelocation[c],2<s&&(e+="/"+filetreelocation[c]));n+=" / <a style=cursor:pointer onclick=p5folderup("+s+")>"+(null!=(a=a.f[filetreelocation[c]]).n?a.n:filetreelocation[c])+"</a>",s++}filetreelocation=l;var m=i.toLowerCase().startsWith("root / "+userinfo._id+" / public"),h=p5sort_files(a.f);for(var c in h){var f,v=h[c],g=v.n;f=40<(f=g).length?EscapeHtml(g.substring(0,40))+"...":EscapeHtml(g),g=EscapeHtml(g);var k="";null!=v.s&&(k=getFileSizeStr(v.s));var y="";if(v.t<3||4==v.t){y="<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+g+"'>&nbsp;<span style=float:right;padding-right:4px>"+(1==v.t||4==v.t?p5getQuotabar(v):"")+"</span><span><div class=fileIcon"+v.t+'></div><a style=cursor:pointer onclick=p5folderset("'+encodeURIComponent(v.nx)+'")>'+f+"</a></span></div>"}else{var b=f,x="";m&&(x=" (<a style=cursor:pointer onclick='p5showPublicLink(\""+e+"/"+v.nx+"\")'>Link</a>)"),0<v.s&&(b='<a rel="noreferrer noopener" target="_blank" href="downloadfile.ashx?link='+encodeURIComponent(filetreelinkpath+"/"+v.nx)+'">'+f+"</a>"+x),y="<div class=filelist file=3><input file=3 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+v.nx+"'>&nbsp;<span style=float:right;padding-right:4px>"+k+"</span><span><div class=fileIcon"+v.t+"></div>"+b+"</span></div>"}v.t<3?t+=y:o+=y}if(QH("p5rightOfButtons",p5getQuotabar(a)),QH("p5files",t+o),QH("p5currentpath",n),QE("p5FolderUp",0!=filetreelocation.length),QV("p5PublicShare",m),r==filetreelinkpath){p=document.getElementsByName("fc");for(c=0;c<p.length;c++)p[c].checked=0<=d.indexOf(p[c].value)}p5setActions()}}function getNiceSize(e){return e<=0?"Uložiště plné":e<2048?format("{0}b left",e):e<2097152?format("{0}k zbývá",Math.round(e/1024)):e<2147483648?format("{0}m left",Math.round(e/1024/1024)):format("{0}g left",Math.round(e/1024/1024/1024))}function p5getQuotabar(e){for(;1<e.t&&4!=e.t;)e=e.parent;return 1!=e.t&&4!=e.t||null==e.maxbytes?"":getNiceSize(e.maxbytes-e.s)+" <progress style=height:10px;width:100px value="+e.s+" max="+e.maxbytes+" />"}function p5showPublicLink(e){setDialogMode(2,"Veřejný odkaz",1,null,'<input type=text style=width:100% value="'+e+'" readonly />')}function p5sort_filename(e,t){return e.ln>t.ln?1*sortorder:e.ln<t.ln?-1*sortorder:0}function p5sort_timestamp(e,t){return e.d>t.d?1*sortorder:e.d<t.d?-1*sortorder:0}function p5sort_bysize(e,t){return e.s==t.s?p5sort_filename(e,t):(e.s-t.s)*sortorder}function p5sort_files(e){var t=[],o=Q("p5sortdropdown").value;for(var n in e)e[n].nx=n,null==e[n].n&&(e[n].n=n),e[n].ln=e[n].n.toLowerCase(),t.push(e[n]);return sortorder=1,3<o&&(sortorder=-1,o-=3),1==o?t.sort(p5sort_filename):2==o?t.sort(p5sort_bysize):3==o&&t.sort(p5sort_timestamp),t}function p5setActions(){var e=getFileSelCount(),t=getFileCount(),o=getFileSelCount(!1);QE("p5DeleteFileButton",0<e&&0<filetreelocation.length),QE("p5NewFolderButton",0<filetreelocation.length),QE("p5UploadButton",0<filetreelocation.length),QE("p5RenameFileButton",1==e&&0<filetreelocation.length),QE("p5SelectAllButton",0<t),Q("p5SelectAllButton").value=0<e?"Nic":"Vše",QE("p5CutButton",0<o&&e==o),QE("p5CopyButton",0<o&&e==o),QE("p5PasteButton",null!=p5clipboard&&0<p5clipboard.length&&0<filetreelocation.length)}function getFileSelCount(e){for(var t=0,o=document.getElementsByName("fc"),n=0;n<o.length;n++)!o[n].checked||0==e&&"3"!=o[n].attributes.file.value||t++;return t}function getFileSelDirCount(){for(var e=0,t=document.getElementsByName("fc"),o=0;o<t.length;o++)t[o].checked&&"999"==t[o].attributes.file.value&&e++;return e}function getFileCount(){return document.getElementsByName("fc").length}function p5selectallfile(){for(var e=0==getFileSelCount(),t=document.getElementsByName("fc"),o=0;o<t.length;o++)t[o].checked=e;p5setActions()}function setupBackPointers(e){if(null!=e.f){var t=0,o=0;for(var n in e.f)setupBackPointers(e.f[n]),(e.f[n].parent=e).f[n].s&&(t+=e.f[n].s),e.f[n].c&&(o+=e.f[n].c),3==e.f[n].t&&o++;e.s=t,e.c=o}return e}function getFileSizeStr(e){return 1==e?"1 byte":format("{0} bytů",e)}function p5folderup(e){if(null==e)filetreelocation.pop();else for(;filetreelocation.length>e;)filetreelocation.pop();return updateFiles(),!1}function p5folderset(e){return filetreelocation.push(decodeURIComponent(e)),updateFiles(),!1}function p5createfolder(){setDialogMode(2,"Nový adresář",3,p5createfolderEx,"<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% />"),focusTextBox("p5renameinput"),p5fileNameCheck()}function p5createfolderEx(){meshserver.send({action:"fileoperation",fileop:"createfolder",path:filetreelocation,newfolder:Q("p5renameinput").value})}function p5deletefile(){var e=getFileSelCount(),t=0<getFileSelDirCount()?"<br /><br /><label><input type=checkbox id=p5recdeleteinput>Recursive delete</label><br>":"<input type=checkbox id=p5recdeleteinput style='display:none'>";setDialogMode(2,"Smazat",3,p5deletefileEx,1<e?format("Smazat {0} vybrané prvky?",e)+t:"Smazat vybraný prvek?"+t)}function p5deletefileEx(){for(var e=[],t=document.getElementsByName("fc"),o=0;o<t.length;o++)t[o].checked&&e.push(t[o].value);meshserver.send({action:"fileoperation",fileop:"delete",path:filetreelocation,delfiles:e,rec:Q("p5recdeleteinput").checked})}function p5renamefile(){for(var e,t=document.getElementsByName("fc"),o=0;o<t.length;o++)t[o].checked&&(e=t[o].value);setDialogMode(2,"Přejmenovat",3,p5renamefileEx,'<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% value="'+e+'" />',{action:"fileoperation",fileop:"rename",path:filetreelocation,oldname:e}),focusTextBox("p5renameinput"),p5fileNameCheck()}function p5renamefileEx(e,t){t.newname=Q("p5renameinput").value,meshserver.send(t)}function p5fileNameCheck(e){var t=isFilenameValid(Q("p5renameinput").value);QE("idx_dlgOkButton",t),1==t&&e&&13==e.keyCode&&dialogclose(1)}var isFilenameValid=function(){var t=/^[^\\/:\*\?"<>\|]+$/,o=/^\./,n=/^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i;return function(e){return t.test(e)&&!o.test(e)&&!n.test(e)&&"."!=e[0]}}();function p5uploadFile(){setDialogMode(2,"Nahrát soubor",3,p5uploadFileEx,'<form method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input type=text name=link style=display:none id=p5uploadpath value="'+encodeURIComponent(filetreelinkpath)+'" /><input type=file name=files id=p5uploadinput style=width:100% multiple=multiple onchange="updateUploadDialogOk(\'p5uploadinput\')" /><input type=hidden name=authCookie value='+authCookie+" /><input type=submit id=p5loginSubmit style=display:none /></form>"),updateUploadDialogOk("p5uploadinput")}function p5uploadFileEx(){Q("p5loginSubmit").click()}function updateUploadDialogOk(e){QE("idx_dlgOkButton",""!=Q(e).value)}var p5clipboard=null,p5clipboardFolder=null,p5clipboardCut=0;function p5copyFile(e){var t=document.getElementsByName("fc");p5clipboard=[],p5clipboardCut=e,p5clipboardFolder=Clone(filetreelocation);for(var o=0;o<t.length;o++)t[o].checked&&"3"==t[o].attributes.file.value&&p5clipboard.push(t[o].value);p5updateClipview()}function p5pasteFile(){var e="";null!=p5clipboard&&0<p5clipboard.length&&(e=format("Confim {0} of {1} entrie{2} to this location?",0==p5clipboardCut?"copy":"move",p5clipboard.length,1<p5clipboard.length?"s":"")),setDialogMode(2,"Vložit",3,p5pasteFileEx,e)}function p5pasteFileEx(){meshserver.send({action:"fileoperation",fileop:0==p5clipboardCut?"copy":"move",scpath:p5clipboardFolder,path:filetreelocation,names:p5clipboard}),p5folderup(999),1==p5clipboardCut&&(p5clipboardFolder=p5clipboard=null,p5clipboardCut=0,p5updateClipview())}function p5updateClipview(){var e="";null!=p5clipboard&&0<p5clipboard.length&&(e=format("Holding {0} entrie{1} for {2}",p5clipboard.length,1<p5clipboard.length?"s":"",0==p5clipboardCut?"copy":"move")+', <a href=# onclick="return p5clearClip()" style=cursor:pointer>Clear</a>.'),QH("p5bottomstatus",e),p5setActions()}function p5clearClip(){return p5clipboardFolder=p5clipboard=null,p5clipboardCut=0,p5updateClipview(),!1}function p5fileDragDrop(e){if(haltEvent(e),QV("bigfail",!1),QV("bigok",!1),null!=e.dataTransfer&&0!=e.dataTransfer.files.length&&0!=filetreelocation.length)for(var t=[],o=[],n=[],i=[],a=e.dataTransfer.files.length,s=0;s<e.dataTransfer.files.length;s++){var l=new FileReader,r=e.dataTransfer.files[s];t.push(r.name),o.push(r.size),n.push(r.type),l.onload=function(e){i.push(e.target.result),0==--a&&(Q("p5fileDragName").value=t.join("*"),Q("p5fileDragSize").value=o.join("*"),Q("p5fileDragType").value=n.join("*"),Q("p5fileDragData").value=i.join("*"),Q("p5fileDragLink").value=encodeURIComponent(filetreelinkpath),Q("p5loginSubmit2").click())},l.readAsDataURL(r)}}var p5dragtimer=null;function p5fileDragOver(e){haltEvent(e),null!=p5dragtimer&&(clearTimeout(p5dragtimer),p5dragtimer=null);var t=!0;0==filetreelocation.length&&(t=!1),QV("bigok",t),QV("bigfail",!t)}function p5fileDragLeave(e){haltEvent(e),"p5filetable"!=e.target.id?(QV("bigfail",!1),QV("bigok",!1)):p5dragtimer=setTimeout("QV('bigfail',false);QV('bigok',false);p5dragtimer=null;",200)}function ondeskkeypress(e){if(toggleSoftKeys(0),Q("DeskSoftInput").value="",setSessionActivity(),desktop&&!xxdialogMode&&10==xxcurrentView){if(null!=currentNode){var t=meshes[currentNode.meshid].links[userinfo._id].rights;if(0==(4294967295==t||0!=(8&t)&&0==(256&t)))return!1;if(1==(4294967295!=t&&0!=(8&t)&&0==(256&t)&&0!=(4096&t))&&(1==e.altKey||1==e.ctrlKey||e.keyCode<32&&8!=e.keyCode&&13!=e.keyCode||90<e.keyCode))return!1}return desktop.m.handleKeys(e)}}function ondeskkeydown(e){if(toggleSoftKeys(0),Q("DeskSoftInput").value="",setSessionActivity(),desktop&&!xxdialogMode&&10==xxcurrentView){if(null!=currentNode){var t=meshes[currentNode.meshid].links[userinfo._id].rights;if(0==(4294967295==t||0!=(8&t)&&0==(256&t)))return!1;if(1==(4294967295!=t&&0!=(8&t)&&0==(256&t)&&0!=(4096&t))&&(1==e.altKey||1==e.ctrlKey||e.keyCode<32&&8!=e.keyCode&&13!=e.keyCode||90<e.keyCode))return!1}return desktop.m.handleKeyDown(e)}}function ondeskkeyup(e){if(toggleSoftKeys(0),Q("DeskSoftInput").value="",setSessionActivity(),desktop&&!xxdialogMode&&10==xxcurrentView){if(null!=currentNode){var t=meshes[currentNode.meshid].links[userinfo._id].rights;if(0==(4294967295==t||0!=(8&t)&&0==(256&t)))return!1;if(1==(4294967295!=t&&0!=(8&t)&&0==(256&t)&&0!=(4096&t))&&(1==e.altKey||1==e.ctrlKey||e.keyCode<32&&8!=e.keyCode&&13!=e.keyCode||90<e.keyCode))return!1}return desktop.m.handleKeyUp(e)}}var updateDevicesTimer=null;function updateDevices(){null==updateDevicesTimer&&(updateDevicesTimer=setTimeout(updateDevicesEx,200))}var deviceHeaderCount,sort=0,deviceHeaderId=0,deviceHeaders={},showRealNames=!1,deviceHeaderTotal=0,deviceHeadersTitles=(deviceHeaders={},{});function updateDevicesEx(){null!=updateDevicesTimer&&(clearTimeout(updateDevicesTimer),updateDevicesTimer=null);var e="",t=0,o=null,n=0,i={};for(var a in deviceHeaderCount={},deviceHeaders={},deviceHeadersTitles={},(deviceHeaderTotal=deviceHeaderId=0)==sort?nodes.sort(meshSort):1==sort?nodes.sort(powerSort):2==sort&&(1==showRealNames?nodes.sort(deviceHostSort):nodes.sort(deviceSort)),nodes)if(0!=nodes[a].v){var s=meshes[nodes[a].meshid].links[userinfo._id];if(null!=s){s.rights;if(0==sort){if(nodes.sort(meshSort),nodes[a].meshid!=o){deviceHeaderSet();var l="";1==meshes[nodes[a].meshid].mtype&&(l="<span style=color:lightgray>, Intel&reg; AMT pouze</span>"),null!=o&&(2==t&&(e+="<td><div style=width:301px></div></td>"),""!=e&&(e+="</tr></table>")),e+="<div class=DevSt style=padding-top:4px><span style=float:right>",e+='</span><span id=MxMESH style=cursor:pointer onclick=goForward("'+nodes[a].meshid+'")>'+EscapeHtml(meshes[nodes[a].meshid].name)+"</span>"+l+"<span id=DevxHeader"+deviceHeaderId+" style=color:lightgray></span></div>",i[o=nodes[a].meshid]=1,t=0}}else 1==sort?nodes[a].pwr!==o&&(deviceHeaderSet(),null!==o&&(2==t&&(e+="<td><div style=width:301px></div></td>"),""!=e&&(e+="</tr></table>")),e+="<div class=DevSt style=width:100%;padding-top:4px><span>"+PowerStateStr2(nodes[a].pwr)+"</span><span id=DevxHeader"+deviceHeaderId+" style=color:lightgray></span></div>",o=nodes[a].pwr,t=0):2==sort&&null==o&&(o="1");n++;var r=EscapeHtml(nodes[a].name);0==r.length&&(r="<i>Nic</i>"),null!=nodes[a].rname&&0<nodes[a].rname.length&&(r+=" / "+EscapeHtml(nodes[a].rname));var d=EscapeHtml(nodes[a].name);1==showRealNames&&null!=nodes[a].rname&&(d=EscapeHtml(nodes[a].rname)),0==d.length&&(d="<i>Nic</i>");var p=nodes[a].icon,c=NodeStateStr(nodes[a]);nodes[a].conn&&0!=nodes[a].conn||(p+=" gray"),e+="<div style=cursor:pointer onclick=goForward('"+nodes[a]._id+"')>",e+='<div class="i'+p+'" style="float:left;margin-left:4px"></div>',e+='<div style="width:auto;height:40px;background-color:lightgray;margin-top:5px;margin-bottom:5px;margin-left:60px;padding-top:5px;padding-bottom:5px;border-radius:8px 0px 0px 8px">',e+="<div><div style=padding-left:12px;padding-top:2px><b>"+d+"</b></div><div style=padding-left:12px;padding-top:3px;color:gray>"+c+"</div></div>",e+="</div></div>",deviceHeaderTotal++,void 0===deviceHeaderCount[nodes[a].state]?deviceHeaderCount[nodes[a].state]=1:deviceHeaderCount[nodes[a].state]++}}if(0==sort)for(var a in meshes){var u=meshes[a],m=u.links[userinfo._id];if(null!=m){m.rights;null==i[u._id]&&(""!=o&&""!=e&&(e+="</tr></table>"),e+="<div><div colspan=3 class=DevSt><span style=float:right>",e+='</span><span id=MxMESH style=cursor:pointer onclick=goForward("'+u._id+'")>'+EscapeHtml(u.name)+"</span></div>",1==u.mtype&&(e+="<div style=padding:10px><i>No Intel&reg; AMT devices in this group"),2==u.mtype&&(e+="<div style=padding:10px><i>Žádné zařízení v této skupině"),e+=".</i></div></div>",o=u._id,n++)}}for(var a in 0==n?QH("xdevices",'<div style="margin-top:50px;text-align:center"><span style="font-size:30px">Žádné zařízení</span><br /><br />Use the desktop version of this website to add devices.</div>'):QH("xdevices",e),deviceHeaderSet(),deviceHeaders)QH(a,deviceHeaders[a]);for(var a in deviceHeadersTitles)Q(a).title=deviceHeadersTitles[a]}var powerStatetable=["","Zapnuto","Spánek","Spánek","Spánek","Hibernating","Vypnout","Present"],powerStateStrings=["","Zapnuto","Sleeping","Sleeping","Deep Sleep","Hibernating","Soft-Off","Present"],powerStateStrings2=["","Zařízení je zapnuto","Zařízení je ve stavu spánku (S1)","Device is in sleep state (S2)","Zařízení je v hlubokém spánku (S3)","Device is hibernating (S4)","Device is in soft-off state (S5)","Device is present, but power state cannot be determined"],powerColorTable=["#00000000","black","blue","blue","lightblue","blueviolet","darkgreen","lightseagreen","lightseagreen"];function NodeStateStr(e){var t=[];return 0<e.state&&e.state<powerStatetable.length&&state.push(powerStatetable[e.state]),e.conn&&(0!=(1&e.conn)&&t.push("<span>Agent</span>"),0!=(2&e.conn)?t.push("<span>CIRA</span>"):0!=(4&e.conn)&&t.push("<span>Intel&reg; AMT</span>"),0!=(8&e.conn)&&t.push("<span>Relay</span>"),0!=(16&e.conn)&&t.push("<span>MQTT</span>")),null!=e.pwr&&0!=e.pwr&&t.push(powerStateStrings[e.pwr]),t.join(", ")}function PowerStateStr(e){return e<powerStatetable.length?powerStatetable[e]:""}function PowerStateStr2(e){return 0!=e&&e<powerStatetable.length?powerStatetable[e]:"Unknown"}function onSortSelectChange(e){sort=document.getElementById("sortselect").selectedIndex,e||putstore("sort",sort),updateDevicesEx()}function deviceHeaderSet(){if(0!=deviceHeaderId){deviceHeaders["DevxHeader"+deviceHeaderId]=", "+deviceHeaderTotal+(1==deviceHeaderTotal?" nód":" nódy");var e="";for(var t in deviceHeaderCount)0<e.length&&(e+=", "),e+=deviceHeaderCount[t]+" "+PowerStateStr2(t);deviceHeadersTitles["DevxHeader"+deviceHeaderId]=e,deviceHeaderId++,deviceHeaderCount={},deviceHeaderTotal=0}else deviceHeaderId=1}function meshSort(e,t){return e.meshnamel>t.meshnamel?1:e.meshnamel<t.meshnamel?-1:e.meshid==t.meshid?1==showRealNames?e.rnamel>t.rnamel?1:e.rnamel<t.rnamel?-1:0:e.namel>t.namel?1:e.namel<t.namel?-1:0:0}function powerSort(e,t){var o=e.pwr?e.pwr:0,n=t.pwr?t.pwr:0;return o==n?1==showRealNames?e.rnamel>t.rnamel?1:e.rnamel<t.rnamel?-1:0:e.namel>t.namel?1:e.namel<t.namel?-1:0:n<o?1:o<n?-1:0}function deviceSort(e,t){return e.namel>t.namel?1:e.namel<t.namel?-1:0}function deviceHostSort(e,t){return e.rnamel>t.rnamel?1:e.rnamel<t.rnamel?-1:0}function refreshDevice(e){currentNode&&currentNode._id==e&&gotoDevice(e,xxcurrentView,!0)}function getNodeRights(e){var t=getNodeFromId(e);return meshes[t.meshid].links[userinfo._id].rights}var currentNode,currentDevicePanel=0,powerTimelineNode=null,powerTimelineReq=null,powerTimelineUpdate=null,powerTimeline=null;function getCurrentNode(){return currentNode}function gotoDevice(e,t,o){if(!0===userinfo.emailVerified||1!=serverinfo.emailcheck||4294967295==userinfo.siteadmin)if(!(262144&features)||1==userinfo.otpsecret||0<userinfo.otphkeys||0<userinfo.otpkeys){var n=getNodeFromId(e);if(null!=n){var i=meshes[n.meshid];if(null!=i){var a=i.links[userinfo._id].rights;if(!currentNode||currentNode._id!=n._id||1==o){currentNode=n;var s=EscapeHtml(n.name);0==s.length&&(s="<i>Nic</i>"),0!=(4&a)&&(s="<span onclick=showEditNodeValueDialog(0) style=cursor:pointer>"+s+"</span>"),QH("p10deviceName",s);var l="<table style=width:100%>";l+=addDeviceAttribute("<span>Skupina</span>",'<a onclick=goForward("'+n.meshid+'") style=cursor:pointer>'+EscapeHtml(meshes[n.meshid].name)+"</a>"),null!=n.rname&&(l+=addDeviceAttribute("<span>Jméno</span>","<span>"+EscapeHtml(n.rname)+"</span>")),1!=i.mtype&&n.name==n.host||(0!=(4&a)?n.host?l+=addDeviceAttribute("Hostname","<span onclick=showEditNodeValueDialog(1) style=cursor:pointer>"+EscapeHtml(n.host)+"</span>"):l+=addDeviceAttribute("Hostname","<span onclick=showEditNodeValueDialog(1) style=cursor:pointer><i>Nic</i></span>"):l+=addDeviceAttribute("Hostname",EscapeHtml(n.host)));var r=n.desc?EscapeHtml(n.desc):"<i>Nic</i>";l+=addDeviceAttribute("Popis",0!=(4&a)?"<span onclick=showEditNodeValueDialog(2) style=cursor:pointer>"+r+"</span>":r);var d=["Unknown","Windows 32bit console","Windows 64bit console","Windows 32bit service","Windows 64bit service","Linux 32bit","Linux 64bit","MIPS","XENx86","Android ARM","Linux ARM","MacOS 32bit","Android x86","PogoPlug ARM","Android APK","Linux Poky x86-32bit","MacOS 64bit","ChromeOS","Linux Poky x86-64bit","Linux NoKVM x86-32bit","Linux NoKVM x86-64bit","Windows MinCore console","Windows MinCore service","NodeJS","ARM-Linaro","ARMv6l / ARMv7l","ARMv8 64bit","ARMv6l / ARMv7l / NoKVM","Unknown","Unknown","FreeBSD x86-64"];if(null!=n.agent&&null!=n.agent.id&&null!=n.agent.ver){var p="";p=n.agent.id<=d.length?d[n.agent.id]:d[0],0!=n.agent.ver&&(p+=" v"+n.agent.ver),l+=addDeviceAttribute("Agent",p)}if(null!=n.intelamt){p="";var c={0:nobreak("Not Activated (Pre)"),1:nobreak("Not Activated (In)"),2:nobreak("Aktivováno")};null!=n.intelamt.ver&&null==n.intelamt.state?p+="<i>"+nobreak("Unknown State")+"</i>, v"+n.intelamt.ver:null==n.intelamt.ver&&2==n.intelamt.state?p+="<i>Aktivováno</i>":null==n.intelamt.ver||null==n.intelamt.state?p+="<i>Unknown Version & State</i>":(p+=c[n.intelamt.state],n.intelamt.flags&&(2&n.intelamt.flags?p=" <span>CCM</span>":4&n.intelamt.flags&&(p=" <span>ACM</span>")),p+=", v"+n.intelamt.ver),1==n.intelamt.tls&&(p+=", <span>TLS</span>"),2==n.intelamt.state&&(null!=n.intelamt.user&&""!=n.intelamt.user||(p+=0!=(4&a)?', <i style=color:#FF0000;cursor:pointer onclick=editDeviceAmtSettings("'+n._id+'")>'+nobreak("Žádné přihlašovací údaje")+"</i>":", <i style=color:#FF0000>Žádné přihlašovací údaje</i>"),p+=" ",0!=(4&a)&&(p+='<img src=images/link4.png height=10 width=10 style=cursor:pointer onclick=editDeviceAmtSettings("'+n._id+'")>'));var u="Intel&reg; ME";"number"==typeof n.intelamt.sku&&(0!=(8&n.intelamt.sku)?u="Intel&reg; AMT":0!=(16&n.intelamt.sku)&&(u="Intel&reg; SM")),l+=addDeviceAttribute(u,p)}if(null!=n.agent&&null!=n.agent.tag&&"mailto:"!=n.agent.tag){var m=EscapeHtml(n.agent.tag);m.startsWith("mailto:")&&(m='<a href="'+m+'">'+m.substring(7)+"</a>"),l+=addDeviceAttribute("Agent Tag",m)}var h=n.conn;if(h&&1<h){var f=[];0!=(1&n.conn)&&f.push("<span>Agent</span>"),0!=(2&n.conn)?f.push("<span>Intel&reg; AMT CIRA</span>"):0!=(4&n.conn)&&f.push("<span>Intel&reg; AMT</span>"),0!=(8&n.conn)&&f.push("<span>Agent Relay</span>"),0!=(16&n.conn)&&f.push("<span>MQTT</span>"),l+=addDeviceAttribute("Connectivity",f.join(", "))}var v="<i>Nic</i>";if(null!=n.tags)for(var g in v="",n.tags)v+='<span style="background-color:lightgray;padding:3px;margin-right:4px;border-radius:5px">'+n.tags[g]+"</span>";l+=addDeviceAttribute("Tagy",0!=(4&a)?"<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>"+v+"</span>":v),l+="</table><br />",0!=(76&a)&&(l+="<input type=button value=Actions onclick=deviceActionFunction() />"),QH("p10html",l),setupFiles(),l="<div style=float:right;font-size:x-small;margin-right:10px>",0!=(4&a)&&(l+='<a style=cursor:pointer onclick=p10showDeleteNodeDialog("'+n._id+'")>Smazat zařízení</a>'),l+="</div><div style=font-size:x-small>",l+="</div><br>",QH("p10html3",l);var k=PowerStateStr(n.state);0!=(1&h)&&(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Mesh Agent</span>"),0!=(2&h)?(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Intel&reg; AMT connected</span>"):0!=(4&h)&&(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Intel&reg; AMT detected</span>"),0!=(16&h)&&(0<k.length&&(k+="<br/>"),k+="<span style=font-size:12px>MQTT channel connected</span>"),QH("MainComputerState",k),QH("MainComputerImage",'<div class="i'+n.icon+'"></div>'),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,'Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the "My Account" and look at the "Account Security" section.');else setDialogMode(2,"Nastavení bezpečnosti",1,null,'Unable to access a device until a email address is verified. This is required for password recovery. Go to the "My Account" to change and verify an email address.')}function deviceToastFunction(){xxdialogMode||setDialogMode(2,"Device Toast",3,deviceToastFunctionEx,"<textarea id=d2devToast style=width:100%;height:80px;resize:none;overflow-y:scroll></textarea>")}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&currentNode.intelamt.sku))||currentNode.agent&&1&currentNode.agent.caps)&&n.push({n:"Desktop",f:"setupDeviceMenu(1)"}),2!=currentDevicePanel&&null!=currentNode&&8&o&&(4294967295==o||0==(1024&o))&&2==currentNode.mtype&&4&currentNode.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í.<br /><br />",o="<select id=d2deviceop style=float:right;width:170px>";0!=(64&e)&&(o+="<option value=100>Probudit</option>"),0!=(8&e)&&(o+="<option value=4>Spánek</option><option value=3>Reset</option><option value=2>Vypnout</option>"),setDialogMode(2,"Akce zařízení",3,deviceActionFunctionEx,t+=addHtmlValue("Operace",o+="</select>"))}}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&&currentNode._id==powerTimelineNode&&powerTimelineUpdate<Date.now()&&(powerTimelineUpdate=null,meshserver.send({action:"powertimeline",nodeid:currentNode._id}))}function drawDeviceTimeline(){var e=null,t=Date.now();currentNode._id==powerTimelineNode&&(e=powerTimeline);var o=new Date;o.setHours(0,0,0,0);(o=new Date(o.getTime()-5184e5)).getTime();var n=[];if(null!=e&&1<e.length){n.push([0,e[1],e[0]]);for(var i=e[1],a=2;a<e.length;a+=2){var s=e[a],l=t;e.length>a+1&&(l=e[a+1]),n.push([i,i+l,s]),i+=l}}var r="",d=1,p=new Date,c=Q("masthead").offsetWidth-122;p.setHours(0,0,0,0);for(a=0;a<7;a++){var u="",m=p.getTime(),h=m+864e5;for(var f in n){var v=n[f];if(1==isTimeBlockInside(m,h,v[0],v[1])){var g=Math.max(m,v[0]),k=Math.min(Math.min(h,v[1]),t),y=Math.round((k-g)*c/864e5);0<y&&(u+="<div style=display:table-cell;width:"+y+"px;background-color:"+powerColor(v[2])+";height:16px></div>")}}r+="<tr style="+(d%2==0?"background-color:#DDD":"")+"><td><div>&nbsp;"+printDate(p)+"<div></div></div></td><td><div>"+u+"</div></td></tr>",++d,p=new Date(p.getTime()-864e5)}QH("p10html2",'<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse;width:calc(100% - 18px);margin:9px" border=0 cellpadding=2 cellspacing=0><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:center;width:90px>Day</th><th scope=col style=text-align:center>Power State</th></tr>'+r+"</tbody></table>")}function powerColor(e){return e<powerColorTable.length?powerColorTable[e]:"yellow"}function isTimeBlockInside(e,t,o,n){return o<e&&t<n||(e<o&&o<t||e<n&&n<t)}function addDeviceAttribute(e,t){return"<tr><td style=width:100px;color:gray>"+e+"</td><td style=overflow:hidden>"+t+"</td></tr>"}function editDeviceAmtSettings(e,t){if(!xxdialogMode){var o="",n=getNodeFromId(e),i=3;0!=(4&getNodeRights(e))&&(o+=addHtmlValue("Uživatel",'<input id=dp10username style=width:170px maxlength=32 autocomplete=nope placeholder="admin" onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />'),o+=addHtmlValue("Heslo","<input id=dp10password type=password style=width:170px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />"),o+=addHtmlValue("Bezpečnost","<select id=dp10tls style=width:176px><option value=0>Žádné TLS</option><option value=1>TLS vyžadováno</option></select>"),null!=n.intelamt.user&&""!=n.intelamt.user&&(i=7),setDialogMode(2,"Edit Intel&reg; AMT credentials",i,editDeviceAmtSettingsEx,o,{node:n,func:t}),null!=n.intelamt.user&&""!=n.intelamt.user?Q("dp10username").value=n.intelamt.user:Q("dp10username").value="admin",Q("dp10tls").value=n.intelamt.tls,validateDeviceAmtSettings())}}function validateDeviceAmtSettings(){QE("idx_dlgOkButton",passwordcheck(Q("dp10password").value))}function editDeviceAmtSettingsEx(e,t){if(2==e)meshserver.send({action:"changedevice",nodeid:t.node._id,intelamt:{user:"",pass:""}});else{var o=Q("dp10username").value;""==o&&(o="admin");var n=Q("dp10password").value;""==n&&(o=""),meshserver.send({action:"changedevice",nodeid:t.node._id,intelamt:{user:o,pass:n,tls:Q("dp10tls").value}}),t.node.intelamt.user=o,t.node.intelamt.tls=Q("dp10tls").value,t.func&&setTimeout(t.func,300)}}function p10showDeleteNodeDialog(e){xxdialogMode||(setDialogMode(2,"Smazat nod",3,p10showDeleteNodeDialogEx,format("Smazat {0}?",EscapeHtml(currentNode.name))+"<br /><br /><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />Confirm",e),p10validateDeleteNodeDialog())}function p10validateDeleteNodeDialog(){QE("idx_dlgOkButton",Q("p10check").checked)}function p10showDeleteNodeDialogEx(e,t){meshserver.send({action:"removedevices",nodeids:[t]})}function p10showiconselector(){if(!xxdialogMode&&0!=(4&meshes[currentNode.meshid].links[userinfo._id].rights)){"<div style=display:inline-block class=i1 onclick=p10setIcon(1)></div>","<div style=display:inline-block class=i2 onclick=p10setIcon(2)></div>","<div style=display:inline-block class=i3 onclick=p10setIcon(3)></div><br>","<div style=display:inline-block class=i4 onclick=p10setIcon(4)></div>","<div style=display:inline-block class=i5 onclick=p10setIcon(5)></div>","<div style=display:inline-block class=i6 onclick=p10setIcon(6)></div></table>",setDialogMode(2,"Icon Selection",0,null,"<table align=center><td><div style=display:inline-block class=i1 onclick=p10setIcon(1)></div><div style=display:inline-block class=i2 onclick=p10setIcon(2)></div><div style=display:inline-block class=i3 onclick=p10setIcon(3)></div><br><div style=display:inline-block class=i4 onclick=p10setIcon(4)></div><div style=display:inline-block class=i5 onclick=p10setIcon(5)></div><div style=display:inline-block class=i6 onclick=p10setIcon(6)></div></table>"),QV("id_dialogclose",!0)}}function p10setIcon(e){setDialogMode(0),meshserver.send({action:"changedevice",nodeid:currentNode._id,icon:e})}var desktop,desktopNode,showEditNodeValueDialog_modes=["Device Name","Hostname","Popis","Tagy"],showEditNodeValueDialog_modes2=["name","host","desc","tags"],showEditNodeValueDialog_modes3=["","","","Skupina1, Skupina2, Skupina3"];function showEditNodeValueDialog(e){if(!xxdialogMode){setDialogMode(2,"Edit Device",3,showEditNodeValueDialogEx,addHtmlValue(showEditNodeValueDialog_modes[e],'<input id=dp10devicevalue style=width:170px maxlength=64 placeholder="'+showEditNodeValueDialog_modes3[e]+'" onchange=p10editdevicevalueValidate('+e+",event) onkeyup=p10editdevicevalueValidate("+e+",event) />"),e);var t=currentNode[showEditNodeValueDialog_modes2[e]];null==t&&(t=""),Array.isArray(t)&&(t=t.join(", ")),Q("dp10devicevalue").value=t,p10editdevicevalueValidate(),Q("dp10devicevalue").focus()}}function showEditNodeValueDialogEx(e,t){var o={action:"changedevice",nodeid:currentNode._id};o[showEditNodeValueDialog_modes2[t]]=Q("dp10devicevalue").value,meshserver.send(o)}function p10editdevicevalueValidate(e,t){var o=1<e||0<Q("dp10devicevalue").value.length;QE("idx_dlgOkButton",o),null!=t&&1==o&&13==t.keyCode&&dialogclose(1)}var desktopsettings={encoding:2,showfocus:!1,showmouse:!0,showcad:!0,quality:40,scaling:1024,framerate:50};function setupDesktop(){desktopNode!=currentNode&&null!=desktop&&(desktop.Stop(),desktop=desktopNode=null),desktopNode==currentNode&&null!=desktop||(QH("DeskParent",'<canvas id=Desk width=640 height=200 style="width:100%;-ms-touch-action:none;margin-left:0px" oncontextmenu="return false" onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></canvas>'),desktopNode=currentNode,Q("Desk").addEventListener("DOMMouseScroll",function(e){return dmousewheel(e)}),Q("Desk").addEventListener("mousewheel",function(e){return dmousewheel(e)})),desktopNode=currentNode,updateDesktopButtons(),Q("Desk").toBlob||QV("deskSaveBtn",!1)}function updateDesktopButtons(){var e=meshes[currentNode.meshid],t=0;null!=desktop&&(t=desktop.State);var o=e.links[userinfo._id].rights;QV("disconnectbutton1",0!=t),QV("connectbutton1",0==t&&2==e.mtype&&(8&o||256&o)),QV("connectbutton1h",0==t&&8&o&&(1==e.mtype||null!=currentNode.intelamt&&2==currentNode.intelamt.state&&null!=currentNode.intelamt.ver&&"number"==typeof currentNode.intelamt.sku&&0!=(8&currentNode.intelamt.sku))),QV("d7amtkvm",!(null==currentNode.intelamt||null==currentNode.intelamt.ver&&1!=e.mtype||0!=t&&2!=desktop.contype)),QV("d7meshkvm",2==e.mtype&&(0==t||1==desktop.contype));var n=0!=(1&currentNode.conn);QE("connectbutton1",n);var i=0!=(6&currentNode.conn);QE("connectbutton1h",i),QV("DeskToastButton",0!=(16384&o)&&currentNode.agent&&currentNode.agent.id<5&&8&o),QV("deskActionsBtn",8&o),Q("DeskControl").checked=0!=(8&o),0==n&&QV("DeskTools",!1)}function connectDesktop(e,t){if(setSessionActivity(),null==desktop)if(desktopNode=currentNode,2==t){if(null==desktopNode.intelamt.user||""==desktopNode.intelamt.user)return void editDeviceAmtSettings(desktopNode._id,connectDesktop);(desktop=CreateAmtRedirect(CreateAmtRemoteDesktop("Desk"),authCookie)).debugmode=debugmode,desktop.onStateChanged=onDesktopStateChange,desktop.m.bpp=1==desktopsettings.encoding||3==desktopsettings.encoding?1:2,desktop.m.useZRLE=desktopsettings.encoding<3,desktop.m.showmouse=desktopsettings.showmouse,desktop.m.onScreenSizeChange=deskAdjust,desktop.Start(desktopNode._id,16994,"*","*",0),desktop.contype=2}else(desktop=CreateAgentRedirect(meshserver,CreateAgentRemoteDesktop("Desk"),serverPublicNamePort,authCookie,authRelayCookie,domainUrl)).debugmode=debugmode,desktop.m.debugmode=debugmode,desktop.attemptWebRTC=attemptWebRTC,desktop.onStateChanged=onDesktopStateChange,desktop.m.CompressionLevel=desktopsettings.quality,desktop.m.ScalingLevel=desktopsettings.scaling,desktop.m.FrameRateTimer=desktopsettings.framerate,desktop.m.onDisplayinfo=deskDisplayInfo,desktop.m.onScreenSizeChange=deskAdjust,desktop.Start(desktopNode._id),desktop.contype=1;else desktop.Stop(),desktopNode=desktop=null}function onDesktopStateChange(e,t){var o=t;3==o&&2==e.contype&&o++;var n=StatusStrs[o];switch(null!=desktop&&1==desktop.webRtcActive&&(n+=", WebRTC"),QH("deskstatus",n),t){case 0:desktop.Stop(),desktopNode=desktop=null,QV("termdisplays",!1),1==fullscreen&&deskToggleFull()}updateDesktopButtons(),deskAdjust(),setTimeout(deskAdjust,50)}function showDesktopSettings(){xxdialogMode||(applyDesktopSettings(),updateDesktopButtons(),setDialogMode(7,"Remote Desktop Settings",3,showDesktopSettingsChanged))}function showDesktopSettingsChanged(){desktopsettings.encoding=d7desktopmode.value,desktopsettings.showfocus=d7showfocus.checked,desktopsettings.showmouse=d7showcursor.checked,desktopsettings.quality=d7bitmapquality.value,desktopsettings.scaling=d7bitmapscaling.value,desktopsettings.framerate=d7framelimiter.value,localStorage.setItem("desktopsettings",JSON.stringify(desktopsettings)),applyDesktopSettings(),desktop&&(1==desktop.contype&&0!=desktop.State&&desktop.m.SendCompressionLevel(1,desktopsettings.quality,desktopsettings.scaling,desktopsettings.framerate),2==desktop.contype&&0!=desktop.State&&(desktop.Stop(),setTimeout(function(){connectDesktop(null,2)},50)))}function applyDesktopSettings(){var e="",t=512&features?[90,70,50,40,30,20,10,5,1]:[50,40,30,20,10,5,1];for(var o in t)e+="<option value="+t[o]+">"+t[o]+"%</option>";QH("d7bitmapquality",e),d7desktopmode.value=desktopsettings.encoding,d7showfocus.checked=desktopsettings.showfocus,d7showcursor.checked=desktopsettings.showmouse,d7bitmapquality.value=40,0<=t.indexOf(parseInt(desktopsettings.quality))&&(d7bitmapquality.value=desktopsettings.quality),d7bitmapscaling.value=desktopsettings.scaling,desktopsettings.framerate&&(d7framelimiter.value=desktopsettings.framerate)}var fullscreen=!1;function deskAdjust(){var e=(Q("DeskParent").clientHeight-Q("Desk").clientHeight)/2;if(e<0){var t=Q("DeskParent").clientHeight,o=9999;desktop&&(o=desktop.m.width/desktop.m.height*t),QS("Desk")["max-height"]=t+"px",QS("Desk")["max-width"]=o+"px",e=0}else QS("Desk")["max-height"]=null,QS("Desk")["max-width"]=null;QS("Desk")["margin-top"]=e+"px",QS("Desk")["margin-bottom"]=e+"px"}function deskSendKeys(){if(!xxdialogMode&&null!=desktop&&3==desktop.State){var e=Q("deskkeys").value;0==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[65364,1],[65364,0],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,40],[desktop.m.KeyAction.UP,40],[desktop.m.KeyAction.EXUP,91]]):1==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[65362,1],[65362,0],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,38],[desktop.m.KeyAction.UP,38],[desktop.m.KeyAction.EXUP,91]]):2==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[108,1],[108,0],[65511,0]]):desktop.sendCtrlMsg('{"action":"lock"}'):3==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[109,1],[109,0],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,77],[desktop.m.KeyAction.UP,77],[desktop.m.KeyAction.EXUP,91]]):4==e?2==desktop.contype?desktop.m.sendkey([[65505,1],[65511,1],[109,1],[109,0],[65511,0],[65505,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN,16],[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,77],[desktop.m.KeyAction.UP,77],[desktop.m.KeyAction.EXUP,91],[desktop.m.KeyAction.UP,16]]):5==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.EXUP,91]]):6==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[114,1],[114,0],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,82],[desktop.m.KeyAction.UP,82],[desktop.m.KeyAction.EXUP,91]]):7==e?2==desktop.contype?desktop.m.sendkey([[65513,1],[65473,1],[65473,0],[65513,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,18],[desktop.m.KeyAction.DOWN,115],[desktop.m.KeyAction.UP,115],[desktop.m.KeyAction.EXUP,18]]):8==e?2==desktop.contype?desktop.m.sendkey([[65507,1],[119,1],[119,0],[65507,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,17],[desktop.m.KeyAction.DOWN,87],[desktop.m.KeyAction.UP,87],[desktop.m.KeyAction.EXUP,17]]):9==e?2==desktop.contype?desktop.m.sendkey([[65513,1],[65289,1],[65289,0],[65513,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,18],[desktop.m.KeyAction.DOWN,9],[desktop.m.KeyAction.UP,9],[desktop.m.KeyAction.EXUP,18]]):10==e?desktop.m.sendcad():11==e&&(2==desktop.contype?desktop.m.sendkey([[65289,1],[65289,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN,9],[desktop.m.KeyAction.UP,9]]))}}function sendSpecialKeys(){xxdialogMode||null==desktop||3!=desktop.State||setDialogMode(3,"Special Keys",3,deskSendKeys)}function toggleSoftKeys(e){QV("DeskSoftInput",1==e),1==e&&Q("DeskSoftInput").focus()}function toggleDeskTools(){setSessionActivity(),xxdialogMode||("none"==QS("DeskTools").display?(QV("DeskTools",!0),Q("DeskTools").nodeid=currentNode._id,refreshDeskTools()):QV("DeskTools",!1))}function refreshDeskTools(){setSessionActivity(),QV("DeskToolsRefreshButton",!1),setTimeout(refreshDeskToolsEx,500),meshserver.send({action:"msg",type:"ps",nodeid:currentNode._id})}function refreshDeskToolsEx(){QV("DeskToolsRefreshButton",!0)}var filesNode,deskTools={sort:1,msg:null};function sortProcess(e){deskTools.sort=e,showDeskToolsProcesses(deskTools.msg)}function sortProcessPid(e,t){return e.p>t.p?1:e.p<t.p?-1:0}function sortProcessName(e,t){return e.d>t.d?1:e.d<t.d?-1:0}function showDeskToolsProcesses(e){if(null!=(deskTools.msg=e)){if(Q("DeskTools").nodeid==e.nodeid){var t=[],o=null;try{o=JSON.parse(e.value)}catch(e){}if(console.log(o),null!=o){for(var n in o)t.push({p:parseInt(n),c:o[n].cmd,d:o[n].cmd.toLowerCase(),u:o[n].user});0==deskTools.sort?t.sort(sortProcessPid):1==deskTools.sort&&t.sort(sortProcessName);var i="";for(var a in t)0!=t[a].p&&(i+="<div class=deskToolsBar><div style=width:50px;float:left;text-align:right;padding-right:5px>"+t[a].p+"</div><a style=float:right;padding-right:5px;cursor:pointer onclick=stopProcess("+t[a].p+',"'+t[a].c+'")><img width=10 height=10 src="images/trash.png"></a><div style=float:right;padding-right:5px>'+(t[a].u?t[a].u:"")+"</div><div>"+t[a].c+"</div></div>");QH("DeskToolsProcesses",i)}}}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 i=Q("termdisplays").value;if(0<t.length){var a="";for(var s in t)a+="<option"+(i==t[s]?" selected":"")+">"+t[s]+"</option>";QH("termdisplays",a)}QV("termdisplays",0<t.length)}function deskGetDisplayNumbers(e){desktop.m.GetDisplayNumbers()}function deskSetDisplay(e){setSessionActivity();var t=0,o=Q("termdisplays").value;t="Všechny displeje"==o?65535:parseInt(o.substring(8)),desktop.m.SetDisplay(t)}function dmousedown(e){setSessionActivity(),xxdialogMode||null==desktop||desktop.m.mousedown(e)}function dmouseup(e){setSessionActivity(),xxdialogMode||null==desktop||desktop.m.mouseup(e)}function dmousemove(e){setSessionActivity(),xxdialogMode||null==desktop||desktop.m.mousemove(e)}function dmousewheel(e){return setSessionActivity(),!(xxdialogMode||null==desktop||!desktop.m.mousewheel)&&(desktop.m.mousewheel(e),haltEvent(e),!0)}function drotate(e){xxdialogMode||null==desktop||(desktop.m.setRotation(desktop.m.rotation+e),deskAdjust(),deskAdjust())}function stopProcess(e,t){return setDialogMode(2,"Process Control",3,stopProcessEx,format('Stop process #{0} "{1}"?',e,t),e),!1}function stopProcessEx(e,t){meshserver.send({action:"msg",type:"pskill",nodeid:currentNode._id,value:t}),setTimeout(refreshDeskTools,300)}function setupFiles(){var e=filesNode==currentNode,t=0!=(1&(filesNode=currentNode).conn);QE("p13Connect",t),0!=e&&0!=t||!files||(files.Stop(),files=null)}function onFilesStateChange(e,t){setSessionActivity(),p13Connect.value=0==t?"Připojit":"Disconnect";var o=StatusStrs[t];switch(1==files.webRtcActive&&(o+=", WebRTC"),Q("p13Status").textContent=o,t){case 0:QH("p13files",""),p13filetree=null,p13filetreelocation=[],QH("p13currentpath",""),QE("p13FolderUp",!1),p13setActions(),null!=files&&(files.Stop(),files=null);break;case 3:p13targetpath="",files.sendText({action:"ls",reqid:1,path:""})}}function CreateRemoteFiles(e){var t={protocol:5};return t.onFileUpdate=e,t.xxStateChange=function(e){},t.ProcessData=function(e){t.onFileUpdate(e)},t}var autoConnectFilesTimer=null;function autoConnectFiles(e){autoConnectFilesTimer=null==autoConnectFilesTimer?setInterval(connectFiles,100):(clearInterval(autoConnectFilesTimer),null)}function connectFiles(e){files?(files.Stop(),files=null):((files=CreateAgentRedirect(meshserver,CreateRemoteFiles(p13gotFiles),serverPublicNamePort,authCookie,authRelayCookie,domainUrl)).attemptWebRTC=attemptWebRTC,files.onStateChanged=onFilesStateChange,files.Start(filesNode._id)),p13clipboard=p13clipboardFolder=null,p13clipboardCut=0,p13updateClipview()}var p13sortorder,p13filetree=null,p13targetpath=null,p13filetreelocation=[];function p13gotFiles(e){if(setSessionActivity(),0<e.length&&123!=e.charCodeAt(0))p13gotDownloadBinaryData(e);else if("download"!=(e=JSON.parse(decode_utf8(e))).action)if(e.path=e.path.replace(/\//g,"\\"),null!=p13filetree&&e.path==p13filetree.path){var t=p13getCheckedNames();p13filetree=e,p13updateFiles(t)}else{for(var o=e.path.replace(/\//g,"\\"),n=p13targetpath.replace(/\//g,"\\");0<o.length&&"\\"==o[0];)o=o.substring(1);for(;0<n.length&&"\\"==n[0];)n=n.substring(1);(o==n||"\\"==e.path&&""==p13targetpath)&&(p13filetree=e,p13updateFiles())}else p13gotDownloadCommand(e)}function p13getCheckedNames(){for(var e=[],t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked&&e.push(p13filetree.dir[t[o].value].n);return e}function p13updateFiles(e){var t="",o="",n="<a style=cursor:pointer onclick=p13folderup(0)>Root</a>",i=p13filetree.path.split("\\");for(var a in p13filetreelocation=[],i)""!=i[a]&&p13filetreelocation.push(i[a]);for(var a in p13filetreelocation)n+=" / <a style=cursor:pointer onclick=p13folderup("+(parseInt(a)+1)+")>"+p13filetreelocation[a]+"</a>";var s=p13filetreelocation.join("/"),l=p13sort_files(p13filetree.dir);for(var a in l){var r,d=l[a],p=d.n;r=70<(r=p).length?EscapeHtml(p.substring(0,70))+"...":EscapeHtml(p),p=EscapeHtml(p);var c="";null!=d.s&&(c=getFileSizeStr(d.s));var u="";if(d.t<3){u="<div class=filelist file=999><input file=999 style=float:left name=fd class=fcb type=checkbox onchange=p13setActions() value='"+d.nx+"'>&nbsp;<span style=float:right></span><span><div class=fileIcon"+d.t+'></div><a style=cursor:pointer onclick=p13folderset("'+encodeURIComponent(d.nx)+'")>'+r+"</a></span></div>"}else{var m=r;0<d.s&&(m='<a rel="noreferrer noopener" target="_blank" style=cursor:pointer onclick="p13downloadfile(\''+encodeURIComponent(s+"/"+p)+"','"+encodeURIComponent(p)+"',"+d.s+')">'+r+"</a>"),u="<div class=filelist file=3><input file=3 style=float:left name=fd class=fcb type=checkbox onchange=p13setActions() value='"+d.nx+"'>&nbsp;<span style=float:right;padding-right:4px>"+c+"</span><span><div class=fileIcon"+d.t+"></div>"+m+"</span></div>"}d.t<3?t+=u:o+=u}if(QH("p13files",t+o),QH("p13currentpath",n),QE("p13FolderUp",0!=p13filetreelocation.length),null!=e){var h=document.getElementsByName("fd");for(a=0;a<h.length;a++)0<=e.indexOf(p13filetree.dir[h[a].value].n)&&(h[a].checked=!0)}p13setActions()}function p13folderset(e){p13targetpath=joinPaths(p13filetree.path,p13filetree.dir[e].n).split("\\").join("/"),files.sendText({action:"ls",reqid:1,path:p13targetpath})}function p13folderup(e){if(null==e)p13filetreelocation.pop();else for(;p13filetreelocation.length>e;)p13filetreelocation.pop();p13targetpath=p13filetreelocation.join("/"),files.sendText({action:"ls",reqid:1,path:p13targetpath})}function p13sort_filename(e,t){return e.ln>t.ln?1*p13sortorder:e.ln<t.ln?-1*p13sortorder:0}function p13sort_timestamp(e,t){return e.d>t.d?1*p13sortorder:e.d<t.d?-1*p13sortorder:0}function p13sort_bysize(e,t){return e.s==t.s?p13sort_filename(e,t):(e.s-t.s)*p13sortorder}function p13sort_files(e){var t=[],o=Q("p13sortdropdown").value;for(var n in e)e[n].nx=n,null==e[n].s&&(e[n].s=0),null==e[n].n&&(e[n].n=n),e[n].ln=e[n].n.toLowerCase(),t.push(e[n]);return p13sortorder=1,3<o&&(p13sortorder=-1,o-=3),1==o?t.sort(p13sort_filename):2==o?t.sort(p13sort_bysize):3==o&&t.sort(p13sort_timestamp),t}function p13setActions(){if(null==p13filetree)QE("p13DeleteFileButton",!1),QE("p13NewFolderButton",!1),QE("p13UploadButton",!1),QE("p13RenameFileButton",!1),QE("p13SelectAllButton",!1),Q("p13SelectAllButton").value="Vše",QE("p13RefreshButton",!1),QE("p13CutButton",!1),QE("p13CopyButton",!1),QE("p13PasteButton",!1);else{var e=p13getFileSelCount(),t=p13getFileCount(),o=p13getFileSelCount(!1),n=0<currentNode.agent.id&&currentNode.agent.id<5;QE("p13DeleteFileButton",0<e&&(0<p13filetreelocation.length||0==n)),QE("p13NewFolderButton",0<p13filetreelocation.length||0==n),QE("p13UploadButton",0<p13filetreelocation.length||0==n),QE("p13RenameFileButton",1==e&&(0<p13filetreelocation.length||0==n)),QE("p13SelectAllButton",0<t),Q("p13SelectAllButton").value=0<e?"Nic":"Vše",QE("p13RefreshButton",!0),QE("p13CutButton",0<e&&e==o&&(0<p13filetreelocation.length||0==n)),QE("p13CopyButton",0<e&&e==o&&(0<p13filetreelocation.length||0==n)),QE("p13PasteButton",(0<p13filetreelocation.length||0==n)&&null!=p13clipboard&&0<p13clipboard.length)}}function p13getFileSelCount(e){for(var t=0,o=document.getElementsByName("fd"),n=0;n<o.length;n++)!o[n].checked||0==e&&"3"!=o[n].attributes.file.value||t++;return t}function p13getFileSelDirCount(){for(var e=0,t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked&&"999"==t[o].attributes.file.value&&e++;return e}function p13getFileCount(){return document.getElementsByName("fd").length}function p13selectallfile(){for(var e=0==p13getFileSelCount(),t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked=e;p13setActions()}function p13createfolder(){setDialogMode(2,"Nový adresář",3,p13createfolderEx,"<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />"),focusTextBox("p13renameinput"),p13fileNameCheck()}function p13createfolderEx(){files.sendText({action:"mkdir",reqid:1,path:p13filetreelocation.join("/")+"/"+Q("p13renameinput").value}),p13folderup(999)}function p13deletefile(){var e=p13getFileSelCount(),t=0<p13getFileSelDirCount()?"<br /><br /><label><input type=checkbox id=p13recdeleteinput>Recursive delete</label><br>":"<input type=checkbox id=p13recdeleteinput style='display:none'>";setDialogMode(2,"Smazat",3,p13deletefileEx,1<e?format("Smazat {0} vybrané prvky?",e)+t:"Smazat vybraný prvek?"+t)}function p13deletefileEx(){for(var e=[],t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked&&e.push(p13filetree.dir[t[o].value].n);files.sendText({action:"rm",reqid:1,path:p13filetreelocation.join("/"),delfiles:e,rec:Q("p13recdeleteinput").checked}),p13folderup(999)}function p13renamefile(){for(var e,t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked&&(e=p13filetree.dir[t[o].value].n);setDialogMode(2,"Přejmenovat",3,p13renamefileEx,'<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% value="'+e+'" />',{action:"rename",path:p13filetreelocation.join("/"),oldname:e}),focusTextBox("p13renameinput"),p13fileNameCheck()}function p13renamefileEx(e,t){t.newname=Q("p13renameinput").value,files.sendText(t),p13folderup(999)}function p13fileNameCheck(e){var t=isFilenameValid(Q("p13renameinput").value);QE("idx_dlgOkButton",t),1==t&&null!=e&&13==e.keyCode&&dialogclose(1)}function p13uploadFile(){setDialogMode(2,"Nahrát soubor",3,p13uploadFileEx,"<input type=file name=files id=p13uploadinput style=width:100% multiple=multiple onchange=\"updateUploadDialogOk('p13uploadinput')\" />"),updateUploadDialogOk("p13uploadinput")}function p13uploadFileEx(){p13doUploadFiles(Q("p13uploadinput").files)}function p13viewfile(){for(var e=document.getElementsByName("fd"),t=0;t<e.length;t++)if(e[t].checked){p13filetree.dir[e[t].value].s<=204800?p13downloadfile(encodeURIComponent(p13filetreelocation.join("/")+"/"+p13filetree.dir[e[t].value].n),encodeURIComponent(p13filetree.dir[e[t].value].n),p13filetree.dir[e[t].value].s,"viewer"):messagebox("File Editor","Jen soubory menší než 200k mohou být editovány.");break}}var downloadFile,uploadFile,currentMesh,p13clipboard=null,p13clipboardFolder=null,p13clipboardCut=0;function p13copyFile(e){var t=document.getElementsByName("fd");p13clipboard=[],p13clipboardCut=e,p13clipboardFolder=p13targetpath;for(var o=0;o<t.length;o++)t[o].checked&&"3"==t[o].attributes.file.value&&p13clipboard.push(p13filetree.dir[t[o].value].n);p13updateClipview()}function p13pasteFile(){var e="";null!=p13clipboard&&0<p13clipboard.length&&(e=0==p13clipboardCut?1<p13clipboard.length?format("Confirm copy of {0} entries's to this location?",p13clipboard.length):format("Confirm copy of 1 entrie to this location?"):1<p13clipboard.length?format("Confirm move of {0} entries's to this location?",p13clipboard.length):format("Confirm move of 1 entrie to this location?")),setDialogMode(2,"Vložit",3,p13pasteFileEx,e)}function p13pasteFileEx(){files.sendText({action:0==p13clipboardCut?"copy":"move",reqid:1,scpath:p13clipboardFolder,dspath:p13targetpath,names:p13clipboard}),p13folderup(999),1==p13clipboardCut&&(p13clipboardFolder=p13clipboard=null,p13clipboardCut=0,p13updateClipview())}function p13updateClipview(){var e="";null!=p13clipboard&&0<p13clipboard.length&&(e=0==p13clipboardCut?1<p13clipboard.length?format('Holding {0} entries for copy, <a href=# onclick="return p13clearClip()" style=cursor:pointer>Clear</a>.',p13clipboard.length):format('Holding 1 entrie for copy, <a href=# onclick="return p13clearClip()" style=cursor:pointer>Clear</a>.'):1<p13clipboard.length?format('Holding {0} entries for move, <a href=# onclick="return p13clearClip()" style=cursor:pointer>Clear</a>.',p13clipboard.length):format('Holding 1 entrie for move, <a href=# onclick="return p13clearClip()" style=cursor:pointer>Clear</a>.')),QH("p13bottomstatus",e),p13setActions()}function p13clearClip(){return p13clipboardFolder=p13clipboard=null,p13clipboardCut=0,p13updateClipview(),!1}function updateUploadDialogOk(e){QE("idx_dlgOkButton",""!=Q(e).value)}function getFileSelCount(e){for(var t=0,o=document.getElementsByName("fc"),n=0;n<o.length;n++)!o[n].checked||0==e&&"3"!=o[n].attributes.file.value||t++;return t}function getFileCount(){return document.getElementsByName("fc").length}function p13downloadfile(e,t,o){xxdialogMode||downloadFile||!files||(downloadFile={path:decodeURIComponent(e),file:decodeURIComponent(t),size:o,tsize:0,data:"",state:0,id:Math.random()},files.sendText({action:"download",sub:"start",id:downloadFile.id,path:downloadFile.path}),setDialogMode(2,"Stáhnout soubor",10,p13downloadFileCancel,"<div>"+downloadFile.file+"</div><br /><progress id=d2progressBar style=width:100% value=0 max="+o+" />"))}function p13downloadFileCancel(){setDialogMode(0),files.sendText({action:"download",sub:"cancel",id:downloadFile.id}),downloadFile=null}function p13gotDownloadCommand(e){null!=downloadFile&&e.id==downloadFile.id&&("start"==e.sub?(downloadFile.state=1,files.sendText({action:"download",sub:"startack",id:downloadFile.id})):"cancel"==e.sub&&(downloadFile=null,setDialogMode(0)))}function p13gotDownloadBinaryData(e){downloadFile&&0!=downloadFile.state&&(4<e.length&&(downloadFile.tsize+=e.length-4,downloadFile.data+=e.substring(4),Q("d2progressBar").value=downloadFile.tsize),0!=(1&ReadInt(e,0))?(saveAs(data2blob(downloadFile.data),downloadFile.file),downloadFile=null,setDialogMode(0)):files.sendText({action:"download",sub:"ack",id:downloadFile.id}))}function p13doUploadFiles(e){xxdialogMode||((uploadFile={}).xpath=p13filetreelocation.join("/"),uploadFile.xfiles=e,uploadFile.xfilePtr=-1,setDialogMode(2,"Nahrát soubor",10,p13uploadFileCancel,"<div id=p13dfileName>Connecting...</div><br /><progress id=d2progressBar style=width:100% value=0 max=0 />"),p13uploadReconnect())}function onFileUploadStateChange(e,t){switch(t){case 0:p13folderup(9999);break;case 3:p13uploadNextFile();break;default:console.log("Unknown onFileUploadStateChange state",t)}}function p13uploadReconnect(){uploadFile.ws=CreateAgentRedirect(meshserver,CreateRemoteFiles(p13gotUploadData),serverPublicNamePort,authCookie,authRelayCookie,domainUrl),uploadFile.ws.attemptWebRTC=!1,uploadFile.ws.ctrlMsgAllowed=!1,uploadFile.ws.onStateChanged=onFileUploadStateChange,uploadFile.ws.Start(filesNode._id)}function p13uploadNextFile(){if(uploadFile.xfilePtr++,uploadFile.xfiles.length>uploadFile.xfilePtr){uploadFile.xptr=0;var e=uploadFile.xfiles[uploadFile.xfilePtr];QH("p13dfileName",e.name),Q("d2progressBar").max=e.size,Q("d2progressBar").value=0,uploadFile.xreader=new FileReader,uploadFile.xreader.onload=function(){uploadFile.xdata=uploadFile.xreader.result,uploadFile.ws.sendText({action:"upload",reqid:uploadFile.xfilePtr,path:uploadFile.xpath,name:e.name,size:uploadFile.xdata.byteLength})},uploadFile.xreader.readAsArrayBuffer(e)}else p13uploadFileCancel()}function p13uploadFileCancel(e,t){null!=uploadFile&&(null!=uploadFile.ws&&(uploadFile.ws.Stop(),uploadFile.ws=null),uploadFile=null),setDialogMode(0)}function p13gotUploadData(e){var t=JSON.parse(e);if(null!=uploadFile&&parseInt(uploadFile.xfilePtr)==parseInt(t.reqid))if("uploadstart"==t.action){p13uploadNextPart(!1);for(var o=0;o<8;o++)p13uploadNextPart(!0)}else"uploadack"==t.action?p13uploadNextPart(!1):"uploaderror"==t.action&&p13uploadFileCancel()}function p13uploadNextPart(e){var t=uploadFile.xdata,o=uploadFile.xptr,n=uploadFile.xptr+4096;if(n>t.byteLength){if(1==e)return;n=t.byteLength}if(o==t.byteLength)null!=uploadFile.ws&&(uploadFile.ws.Stop(),uploadFile.ws=null),uploadFile.xfiles.length>uploadFile.xfilePtr+1?p13uploadReconnect():p13uploadFileCancel();else{var i=t.slice(o,n);uploadFile.ws.send(i),uploadFile.xptr=n,Q("d2progressBar").value=n}}function p20updateMesh(){if(null!=currentMesh){QH("p20meshName",EscapeHtml(currentMesh.name));var e=format("Unknown #{0}",currentMesh.mtype),t=currentMesh.links[userinfo._id].rights;1==currentMesh.mtype&&(e="Intel&reg; AMT only, no agent"),2==currentMesh.mtype&&(e="Managed using a software agent");var o="";o+=addHtmlValue("Jméno",addLinkConditional(EscapeHtml(currentMesh.name),"p20editmesh(1)",0!=(1&t))),o+=addHtmlValue("Popis",addLinkConditional(currentMesh.desc&&""!=currentMesh.desc?EscapeHtml(currentMesh.desc):"<i>Nic</i>","p20editmesh(2)",0!=(1&t))),o+=addHtmlValue("Typ",e),o+="<br style=clear:both><br>";var n=currentMesh.links[userinfo._id];n&&0!=(2&n.rights)&&(o+="<div style=margin-bottom:6px><a onclick=p20showAddMeshUserDialog() style=cursor:pointer><img src=images/icon-addnew.png border=0 height=12 width=12> Přidat uživatele</a></div>"),o+='<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>User Authorizations</th></tr>';var i=1,a=[];for(var s in currentMesh.links)a.push({id:s,name:s.split("/")[2],rights:currentMesh.links[s].rights});for(var s in a.sort(function(e,t){return e.name>t.name?1:e.name<t.name?-1:0}),a){var l="",r="Partial Rights",d=a[s].rights;4294967295==d?r="Hlavní administrátor":0==d&&(r="No Rights"),s==userinfo._id||4294967295!=t&&0==(2&t)||(l='<a onclick=p20deleteUser(event,"'+encodeURIComponent(a[s].id)+'") style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'),o+='<tr onclick=p20viewuser("'+encodeURIComponent(a[s].id)+'") style=height:32px;cursor:pointer'+(i%2==0?";background-color:#DDD":"")+"><td>",o+="<div style=float:right>"+l+"</div><div style=float:right;padding-right:4px>"+r+"</div><div class=m2></div><div>&nbsp;"+EscapeHtml(decodeURIComponent(a[s].name))+"<div></div></div>",o+="</td></tr>",++i}o+="</tbody></table>",4294967295==t&&(o+="<div style=font-size:small;text-align:right;margin-top:6px><span><a onclick=p20showDeleteMeshDialog() style=cursor:pointer>Smazat skupinu</a></span></div>"),QH("p20info",o)}}function p20showDeleteMeshDialog(){if(xxdialogMode)return!1;var e=format("Are you sure you want to delete group {0}? Deleting the device group will also delete all information about devices within this group.",EscapeHtml(currentMesh.name))+"<br /><br />";return setDialogMode(2,"Smazat skupinu",3,p20showDeleteMeshDialogEx,e+="<label><input id=p20check type=checkbox onchange=p20validateDeleteMeshDialog() />Confirm</label>"),p20validateDeleteMeshDialog(),!1}function p20validateDeleteMeshDialog(){QE("idx_dlgOkButton",Q("p20check").checked)}function p20showDeleteMeshDialogEx(e,t){meshserver.send({action:"deletemesh",meshid:currentMesh._id,meshname:currentMesh.name})}function p20editmesh(e){if(!xxdialogMode){var t=addHtmlValue("Jméno","<input id=dp20meshname style=width:170px maxlength=32 onchange=p20editmeshValidate() onkeyup=p20editmeshValidate() />");setDialogMode(2,"Editovat skupinu zařízení",3,p20editmeshEx,t+=addHtmlValue("Popis","<input id=dp20meshdesc style=width:170px maxlength=1024 onkeyup=p20editmeshValidate() />")),Q("dp20meshname").value=currentMesh.name,currentMesh.desc&&(Q("dp20meshdesc").value=currentMesh.desc),p20editmeshValidate(),2==e?Q("dp20meshdesc").focus():Q("dp20meshname").focus()}}function p20editmeshEx(){meshserver.send({action:"editmesh",meshid:currentMesh._id,meshname:Q("dp20meshname").value,desc:Q("dp20meshdesc").value})}function p20editmeshValidate(){QE("idx_dlgOkButton",0<Q("dp20meshname").value.length)}function p20showAddMeshUserDialog(){if(!xxdialogMode){var e=addHtmlValue("User","<input id=dp20username style=width:170px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() />");e+='<div style="border:2px groove gray;background-color:white;max-height:120px;overflow-y:scroll">',e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>Hlavní administrátor</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>Editovat skupinu zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>Spravovat uživatele pro skupinu zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>Správa skupin zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>Remote Control</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>Remote View Only</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>Limited Input Only</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>No Terminal Access</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20nofiles style=margin-left:12px>No File Access</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>No Intel&reg; AMT</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshagentconsole>Konzole agenta</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshserverfiles>Server Files</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20wakedevices>Wake Devices</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editnotes>Upravit popis zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20limitevents>Show Only Own Events</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20chatnotify>Chat & Notify</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20uninstall>Uninstall Agent</label><br>",setDialogMode(2,"Přidat uživatele do skupiny",3,p20showAddMeshUserDialogEx,e+="</div>"),p20validateAddMeshUserDialog(),Q("dp20username").focus()}}function p20validateAddMeshUserDialog(){var e=currentMesh.links[userinfo._id].rights,t=!Q("p20fulladmin").checked;QE("p20fulladmin",4294967295==e),QE("p20editmesh",t&&4294967295==e),QE("p20manageusers",t),QE("p20managecomputers",t),QE("p20remotecontrol",t),QE("p20meshagentconsole",t),QE("p20meshserverfiles",t),QE("p20wakedevices",t),QE("p20editnotes",t),QE("p20limitevents",t),QE("p20remoteview",t&&Q("p20remotecontrol").checked),QE("p20remotelimitedinput",t&&Q("p20remotecontrol").checked&&!Q("p20remoteview").checked),QE("p20noterminal",t&&Q("p20remotecontrol").checked),QE("p20nofiles",t&&Q("p20remotecontrol").checked),QE("p20noamt",t&&Q("p20remotecontrol").checked),QE("p20chatnotify",t),QE("p20uninstall",t)}function p20showAddMeshUserDialogEx(){var e=0;1==Q("p20fulladmin").checked?e=4294967295:(1==Q("p20editmesh").checked&&(e+=1),1==Q("p20manageusers").checked&&(e+=2),1==Q("p20managecomputers").checked&&(e+=4),1==Q("p20remotecontrol").checked&&(e+=8),1==Q("p20meshagentconsole").checked&&(e+=16),1==Q("p20meshserverfiles").checked&&(e+=32),1==Q("p20wakedevices").checked&&(e+=64),1==Q("p20editnotes").checked&&(e+=128),1==Q("p20remoteview").checked&&(e+=256),1==Q("p20noterminal").checked&&(e+=512),1==Q("p20nofiles").checked&&(e+=1024),1==Q("p20noamt").checked&&(e+=2048),1==Q("p20remotelimitedinput").checked&&(e+=4096),1==Q("p20limitevents").checked&&(e+=8192),1==Q("p20chatnotify").checked&&(e+=16384),1==Q("p20uninstall").checked&&(e+=32768));var t=Q("dp20username").value.split(","),o=[];for(var n in t)o.push(t[n].trim());meshserver.send({action:"addmeshuser",meshid:currentMesh._id,meshname:currentMesh.name,usernames:o,meshadmin:e})}function p20viewuser(e){if(!xxdialogMode){e=decodeURIComponent(e);var t=[],o=currentMesh.links[userinfo._id].rights,n=currentMesh.links[e].rights;4294967295==n?t.push("Hlavní administrátor"):(0!=(1&n)&&t.push("Editovat skupinu zařízení"),0!=(2&n)&&t.push("Spravovat uživatele pro skupinu zařízení"),0!=(4&n)&&t.push("Správa skupin zařízení"),0!=(8&n)&&t.push("Remote Control"),0!=(16&n)&&t.push("Konzole agenta"),0!=(32&n)&&t.push("Server Files"),0!=(64&n)&&t.push("Wake Devices"),0!=(128&n)&&t.push("Edit Notes"),0!=(256&n)&&t.push("Remote View Only"),0!=(512&n)&&t.push("Žádný terminál"),0!=(1024&n)&&t.push("No Files"),0!=(2048&n)&&t.push("No Intel&reg; AMT"),0!=(8&n)&&0!=(4096&n)&&0==(256&n)&&t.push("Limited Input"),0!=(8192&n)&&t.push("Self Events Only"),0!=(16384&n)&&t.push("Chat & Notify"),0!=(32768&n)&&t.push("Uninstall")),0==t.length&&t.push("No Rights");var i=1,a=addHtmlValue("User",EscapeHtml(decodeURIComponent(e.split("/")[2])));a+=addHtmlValue("Práva",t.join(", ")),userinfo._id!=e&&(4294967295==o||0!=(2&o)&&4294967295!=n)&&(i+=4),setDialogMode(2,"Uživatelé této skupiny zařízení",i,p20viewuserEx,a,e)}}function p20viewuserEx(e,t){2==e&&setDialogMode(2,"Remote Mesh User",3,p20viewuserEx2,format("Confirm removal of user {0}?",t.split("/")[2]),t)}function p20deleteUser(e,t){haltEvent(e),p20viewuserEx(2,decodeURIComponent(t))}function p20viewuserEx2(e,t){meshserver.send({action:"removemeshuser",meshid:currentMesh._id,meshname:currentMesh.name,userid:t})}var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,xxcurrentView=-1;function go(e){if(setSessionActivity(),!xxdialogMode&&xxcurrentView!=e){updateFooterMenu(),setDialogMode(0);for(var t=0;t<32;t++)QV("p"+t,t==e);xxcurrentView=e}}function setDialogMode(e,t,o,n,i,a){setSessionActivity(),xxdialogMode=e,xxdialogFunc=n,xxdialogButtons=o,xxdialogTag=a,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&o),QV("idx_dlgCancelButton",2&o),QV("id_dialogclose",2&o||8&o),QV("idx_dlgButtonBar",7&o),t&&QH("id_dialogtitle",t);for(var s=1;s<24;s++)QV("dialog"+s,s==e);QV("dialog",e),i&&(2==e?QH("id_dialogOptions",i):QH("id_dialogMessage",i))}function dialogclose(e){setSessionActivity();var t=xxdialogFunc,o=xxdialogButtons,n=xxdialogTag;setDialogMode(),(8&o||e)&&t&&t(e,n)}function putstore(e,t){try{if("undefined"==typeof localStorage||localStorage.getItem(e)==t)return;null==t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch(e){}if("_"!=e[0]){for(var o={},n=0,i=localStorage.length;n<i;++n){var a=localStorage.key(n);"_"!=a[0]&&(o[a]=localStorage.getItem(a))}meshserver.send({action:"userWebState",state:JSON.stringify(o)})}}function getstore(e,t){try{if("undefined"==typeof localStorage)return t;var o=localStorage.getItem(e);return null==o||null==o?t:o}catch(e){return t}}function center(){QS("dialog").left=(getDocWidth()-300)/2+"px",deskAdjust(),deskAdjust()}function messagebox(e,t){QH("id_dialogMessage",t),setDialogMode(1,e,1)}function statusbox(e,t){QH("id_dialogMessage",t),setDialogMode(1,e)}function getDocWidth(){return window.innerWidth?window.innerWidth:document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement.clientWidth:document.getElementsByTagName("body")[0].clientWidth}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function haltReturn(e){13==e.keyCode&&haltEvent(e)}function validateEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function reload(){window.location.href=window.location.href}function getNodeFromId(e){for(var t in nodes)if(nodes[t]._id==e)return nodes[t];return null}function addHtmlValue(e,t){return"<table><td style=width:120px>"+e+"<td><b>"+t+"</b></table>"}function addHtmlValue2(e,t){return"<div><div style=display:inline-block;float:right>"+t+"</div><div style=display:inline-block>"+e+"</div></div>"}function addLink(e,t){return"<a style=cursor:pointer;color:darkblue;text-decoration:none onclick='"+t+"'>&diams; "+e+"</a>"}function addLinkConditional(e,t,o){return o?addLink(e,t):e}function passwordcheck(e){return/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()]).{8,}/.test(e)}function getFileSizeStr(e){return 1==e?"1 byte":format("{0} bytes",e)}function joinPaths(){var e=[];for(var t in arguments){var o=arguments[t];if(null!=o&&""!=o){for(;o.endsWith("/")||o.endsWith("\\");)o=o.substring(0,o.length-1);for(;o.startsWith("/")||o.startsWith("\\");)o=o.substring(1);e.push(o)}}return e.join("/")}function focusTextBox(e){setTimeout(function(){Q(e).selectionStart=Q(e).selectionEnd=65535,Q(e).focus()},0)}isFilenameValid=function(){var t=/^[^\\/:\*\?"<>\|]+$/,o=/^\./,n=/^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i;return function(e){return t.test(e)&&!o.test(e)&&!n.test(e)&&"."!=e[0]}}();function parseUriArgs(){var e,t={},o=window.document.location.href.split(/[\?&|\=]/);for(n in o.splice(0,1),o)switch(n%2){case 0:e=decodeURIComponent(o[n]);break;case 1:t[e]=decodeURIComponent(o[n]);var n=parseInt(t[e]);n==t[e]&&(t[e]=n)}return t}function printDate(e){return e.toLocaleDateString(args.locale)}function printTime(e){return e.toLocaleTimeString(args.locale)}function printDateTime(e){return e.toLocaleString(args.locale)}function format(e){var o=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,t){return void 0!==o[t]?o[t]:e})}function nobreak(e){return e.split(" ").join("&nbsp;")}</script>
\ No newline at end of file
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><script src=scripts/common-0.0.1.js></script><script src=scripts/meshcentral.js></script><script src=scripts/agent-redir-ws-0.1.1.js></script><script src=scripts/agent-desktop-0.0.2.js></script><script src=scripts/amt-0.2.0.js></script><script src=scripts/amt-redir-ws-0.1.0.js></script><script src=scripts/amt-desktop-0.0.2.js></script><script src=scripts/zlib.js></script><script src=scripts/zlib-inflate.js></script><script src=scripts/zlib-adler32.js></script><script src=scripts/zlib-crc32.js></script><script keeplink=1 src=scripts/filesaver.js></script><title>{{{title}}}</title><style>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}.i1{background:url(../images/icons50.png) 0 0;height:50px;width:50px;border:none}.i2{background:url(../images/icons50.png) -50px 0;height:50px;width:50px;border:none}.i3{background:url(../images/icons50.png) -100px 0;height:50px;width:50px;border:none}.i4{background:url(../images/icons50.png) -150px 0;height:50px;width:50px;border:none}.i5{background:url(../images/icons50.png) -200px 0;height:50px;width:50px;border:none}.i6{background:url(../images/icons50.png) -250px 0;height:50px;width:50px;border:none}.m0{background:url(../images/images16.png) -32px 0;height:16px;width:16px;border:none;float:left}.m1{background:url(../images/images16.png) -16px 0;height:16px;width:16px;border:none;float:left}.m2{background:url(../images/images16.png) -96px 0;height:16px;width:16px;border:none;float:left}.m3{background:url(../images/images16.png) -112px 0;height:16px;width:16px;border:none;float:left}.gray{filter:gray;-webkit-filter:grayscale(100%) opacity(60%)}.DevSt{padding-left:5px;border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:#ddd}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fileIcon1{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAPb49Y2Sj9LT2f///yH5BAEAAAMALAAAAAAQABAAAAImnI+py+1vhJwyUYAzHTL4D3qdlJWaIFJqmKod607sDKIiDUP63hQAOw==);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px}.fileIcon2{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAM2xV/Xur+XPgP///yH5BAEAAAMALAAAAAAQABAAAAJD3ISZIGHWUGihznesYDYATFVM+D2hJ4lgN1olxALAtAlmPCJvuMmJd6PJckDYwicrHhTD5o7plJmg0Uc0asNMkphHAQA7);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px}.fileIcon3{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAPb19IGBgbq6uv///yH5BAEAAAMALAAAAAAQABAAAAIy3ISpxgcPH2ouQgFEw1YmxnUXKEaaEZZnVWZk66JwzKpvuwZzwOgwb/C1gIOA8Yg8DgoAOw==);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px}.fileIcon4{background:url(../images/meshicon16.png);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px}.filelist{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;cursor:default;-khtml-user-drag:element;background-color:#fff;clear:both}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style="width:calc(100% - 50px);overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:6px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:10px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><img id=topMenuIcon class=noselect style=position:absolute;right:0;top:10px;bottom:50px;color:#c8c8c8;font-size:44px;margin-right:8px;cursor:pointer;display:none onclick=topMenu() src=/images/3bars-30.png width=30 height=30></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%><div id=column_l style=width:100%;padding:0;position:absolute;bottom:0;top:0><div id=p0 style=display:none;width:100%;height:100%><div style=display:flex;align-items:center;width:100%;height:100%><div id=p0message style=text-align:center;width:100%><span id=p0span>Server odpojen</span>,<href onclick=reload() style=cursor:pointer><u>klikni pro opětovné připojení</u></href>.</div></div></div><div id=p1 style=display:none;width:100%;height:100%><div style=display:flex;align-items:center;width:100%;height:100%><div id=p1message style=text-align:center;width:100%></div></div></div><div id=p2 style=display:none><div id=xdevices></div></div><div id=p3 style=display:none;position:absolute;bottom:0;top:0;width:100%><table cellspacing=0 style=margin:0;padding:0;border-spacing:0;border:0><tr style=padding:0><td style=padding:0;color:#c8c8c8;text-align:center;cursor:pointer width=60px valign=top onclick=goBack()><div style=padding:0;background-color:#036;width:10px;height:10px;float:right;border:0><div style="background-color:#fff;width:10px;height:10px;border-radius:10px 0 0 0;border-right:1px solid #fff;border-bottom:1px solid #fff"></div></div><div style="padding:0;font-size:25px;background-color:#036;width:50px;border-radius:0 0 10px 0;height:36px">◀</div><td><img src=/images/user-50.png width=50 height=50><td><div style=margin-left:5px><strong style=font-size:large><span id=p3userName></span></strong><br></div></table><div id=p3info style=overflow-y:scroll;position:absolute;top:55px;bottom:0;width:100%><div style=margin-left:8px><div id=p3AccountActions><p><strong>Nastavení bezpečnosti</strong><div style=margin-left:9px;margin-bottom:8px><div id=manageAuthApp style=margin-top:5px;display:none><a onclick=account_manageAuthApp() style=cursor:pointer>Spravovat autentizační aplikace</a></div><div id=manageOtp style=margin-top:5px;display:none><a onclick=account_manageOtp(0) style=cursor:pointer>Spravovat záložní kódy</a></div></div><p><strong>Akce účtu</strong><div style=margin-left:9px;margin-bottom:8px><div style=margin-top:5px><span id=verifyEmailId style=display:none><a onclick=account_showVerifyEmail() style=cursor:pointer>Ověřit email</a></span></div><div style=margin-top:5px><span id=changeEmailId style=display:none><a onclick=account_showChangeEmail() style=cursor:pointer>Změnit emailovou adresu</a></span></div><div style=margin-top:5px><a onclick=account_showChangePassword() style=cursor:pointer>Změnit heslo</a><span id=p2nextPasswordUpdateTime></span></div><div style=margin-top:5px><a onclick=account_showDeleteAccount() style=cursor:pointer>Smazat účet</a></div></div><br style=clear:both></div><strong>Skupiny zařízení</strong> <span id=p3createMeshLink1>( <a onclick=account_createMesh() style=cursor:pointer><img src=images/icon-addnew.png width=12 height=12 border=0> Vytvořit</a> )</span><br><br><div id=p3meshes></div><div id=p3noMeshFound style=margin-left:9px;display:none>Žádná skupina zařízení.<span id=p3createMeshLink2> <a onclick=account_createMesh() style=cursor:pointer><strong>Začněte zde!</strong></a></span></div><br style=clear:both></div></div></div><div id=p5 style=display:none><table cellspacing=0 style=margin:0;padding:0;border-spacing:0;border:0><tr style=padding:0><td style=padding:0;color:#c8c8c8;text-align:center;cursor:pointer width=60px valign=top onclick=goBack()><div style=padding:0;background-color:#036;width:10px;height:10px;float:right;border:0><div style="background-color:#fff;width:10px;height:10px;border-radius:10px 0 0 0;border-right:1px solid #fff;border-bottom:1px solid #fff"></div></div><div style="padding:0;font-size:25px;background-color:#036;width:50px;border-radius:0 0 10px 0;height:36px">◀</div><td><img src=/images/user-50.png width=50 height=50><td><div style=margin-left:5px><strong style=font-size:large>Moje soubory</strong><br></div></table><div id=p5myfiles style=overflow-y:scroll;position:absolute;top:55px;bottom:0;width:100%><table id=p5toolbar style=width:100%;height:78px cellpadding=0 cellspacing=0><tr><td style=width:100%;background-color:#d3d9d6;text-align:left;padding:4px valign=bottom><div style=width:100%;text-align:center><input type=button style="width:calc(100%/5 - 5px)"id=p5FolderUp disabled onclick=p5folderup() value=Nahoru> <input type=button style="width:calc(100%/5 - 5px)"id=p5SelectAllButton disabled onclick=p5selectallfile() value="Vybrat vše"onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5RenameFileButton disabled value=Přejmenovat onclick=p5renamefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5DeleteFileButton disabled value=Smazat onclick=p5deletefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5NewFolderButton disabled value=Adresář onclick=p5createfolder() onkeypress=return!1 onkeydown=return!1></div><div style=width:100%;text-align:center><input type=button style="width:calc(100%/5 - 5px)"id=p5UploadButton disabled value=Nahrát onclick=p5uploadFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5CutButton disabled value=Vyjmout onclick=p5copyFile(1) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5CopyButton disabled value=Kopírovat onclick=p5copyFile(0) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5PasteButton disabled value=Vložit onclick=p5pasteFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5RefreshButton value=Obnovit onclick=p5refreshFiles() onkeypress=return!1 onkeydown=return!1></div><tr><td style=background-color:#e4e9e7;height:28px><table style=width:100%><tr><td id=p5currentpath style=overflow:hidden;padding-left:4px;padding-top:2px><td style=text-align:right;padding-right:4px><select id=p5sortdropdown onchange=updateFiles()><option value=1 selected>Třídit podle jména<option value=2>Třídit podle velikosti<option value=3>STřídit podle datumu<option value=4>Sestupně podle jména<option value=5>Sestupně podle velikosti<option value=6>Sestupně podle datumu</select></table></table><div id=p5filetable style="width:100%;height:calc(100% - 133px);overflow:auto;-webkit-user-select:none"><span id=p5files></span></div><table id=p5toolbarBottom style=width:100%;height:22px;position:absolute;bottom:0;background-color:#d3d9d6 cellpadding=0 cellspacing=0><tr><td style=text-align:left;padding:3px>&nbsp;<span id=p5bottomstatus></span><td id=p5rightOfButtons style=text-align:right;padding:3px></table></div></div><div id=p10 style=display:none;position:absolute;bottom:0;top:0;width:100%;overflow:hidden><table cellspacing=0 style=margin:0;padding:0;border-spacing:0;border:0;position:absolute;top:0><tr style=padding:0><td style=padding:0;color:#c8c8c8;text-align:center;cursor:pointer width=60px valign=top onclick=goBack()><div style=padding:0;background-color:#036;width:10px;height:10px;float:right;border:0><div style="background-color:#fff;width:10px;height:10px;border-radius:10px 0 0 0;border-right:1px solid #fff;border-bottom:1px solid #fff"></div></div><div style="padding:0;font-size:25px;background-color:#036;width:50px;border-radius:0 0 10px 0;height:36px">◀</div><td><a id=MainComputerImage style=cursor:pointer onclick=p10showiconselector()></a><td><div style=margin-left:5px><strong><span id=p10deviceName></span></strong><br><span id=MainComputerState></span></div></table><div id=p10general style=overflow-y:scroll;position:absolute;top:55px;bottom:0;width:100%><div id=p10html style=margin-left:8px;margin-right:8px></div><div id=p10html2></div><div id=p10html3></div></div><div id=p10desktop style=overflow:hidden;position:absolute;top:55px;bottom:0;width:100%;display:none><div id=deskarea1 style=position:absolute;top:0;width:100%;height:25px><div style=padding-top:2px;padding-bottom:2px;background:silver><div style=float:right;text-align:right><span id=p14power></span>&nbsp; <input id=DeskSoftInput style=width:25px;display:none;opacity:.2 onblur=toggleSoftKeys(0) onkeypress="return ondeskkeypress(event)"onkeydown="return ondeskkeydown(event)"onkeyup="return ondeskkeyup(event)"></div><div style=margin-left:3px><input type=button id=connectbutton1 value=Připojit onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled> <input type=button id=connectbutton1h value="HW připojení"onclick=connectDesktop(event,2) onkeypress=return!1 onkeydown=return!1 disabled> <input type=button id=disconnectbutton1 value=Odpojit onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1> <span id=deskstatus>Odpojeno</span></div></div></div><div id=deskarea3 style="position:absolute;top:25px;width:100%;height:calc(100% - 50px)"><div id=deskarea3x style=background:#000;text-align:center;height:100%;position:relative><div id=DeskParent style=height:100%><canvas id=Desk width=640 height=200 style=width:100%;-ms-touch-action:none;margin-left:0 oncontextmenu=return!1 onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event) onmousewheel=dmousewheel(event)></canvas></div><div id=DeskTools style="position:absolute;width:400px;height:100%;background-color:gray;top:0;right:0;border-left:2px solid #d3d3d3;display:none"><a id=DeskToolsRefreshButton style=float:right;padding:3px;cursor:pointer onclick=refreshDeskTools()>Obnovit</a><div id=DeskToolsBar style="position:absolute;padding:3px;border-radius:3px 3px 0 0;top:5px;left:4px;bottom:26px;background-color:#d3d3d3;cursor:pointer">Procesy</div><div style=position:absolute;top:26px;left:4px;right:4px;bottom:4px;background-color:#d3d3d3;text-align:left><div style="border-bottom:1px solid #a9a9a9;padding:3px"><a style=width:50px;padding-right:5px;float:left;cursor:pointer onclick=sortProcess(0)>PID</a><a style=cursor:pointer onclick=sortProcess(1)>Jméno</a></div><div id=DeskToolsProcesses style=overflow-y:scroll;position:absolute;top:24px;bottom:0;width:100%></div></div></div></div></div><div id=deskarea4 style=position:absolute;bottom:0;width:100%;height:25px><div style=padding-top:2px;padding-bottom:2px;background:silver><div style=float:right;text-align:right><select id=termdisplays style=display:none onchange=deskSetDisplay(event) onclick=deskGetDisplayNumbers(event)></select>&nbsp; <span id=DeskToastButton><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span>&nbsp;</div><div><input id=deskActionsBtn type=button style=margin-left:3px onkeypress=return!1 onkeydown=return!1 value=Akce onclick=deviceActionFunction()> <input type=button value=Nastavení onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings()> <input type=button onkeypress=return!1 onkeydown=return!1 value="Akce napájení"onclick=showPowerActionDlg() style=display:none> <input id=DeskSpecialKeys type=button value="Speciální klíče"onkeypress=return!1 onkeydown=return!1 onclick=sendSpecialKeys()> <input id=DeskSoftKeys type=button value=Klávesnice onkeypress=return!1 onkeydown=return!1 onclick=toggleSoftKeys(1)> <label><span id=DeskControlSpan style=display:none><input id=DeskControl type=checkbox onkeypress=return!1 onkeydown=return!1>Vstup</span></label></div></div></div></div><div id=p10files style=overflow-y:scroll;position:absolute;top:55px;bottom:0;width:100%;display:none><table id=p13toolbar style=width:100%;height:111px cellpadding=0 cellspacing=0><tr><td style="background-color:silver;border-bottom:2px solid #000;padding:2px"><div style=float:right;text-align:right><input id=filesActionsBtn type=button onkeypress=return!1 onkeydown=return!1 value=Akce onclick=deviceActionFunction() style=margin-right:2px></div><div style=margin-left:2px><input id=p13AutoConnect value="Automatické připojení"onclick=autoConnectFiles(event) onkeypress=return!1 onkeydown=return!1 type=button style=display:none> <input id=p13Connect value=Připojit onclick=connectFiles(event) onkeypress=return!1 onkeydown=return!1 type=button> <span id=p13Status>Odpojeno</span></div><tr><td style=width:100%;background-color:#d3d9d6;text-align:left;padding:4px valign=bottom><div style=width:100%;text-align:center><input type=button style="width:calc(100%/5 - 5px)"id=p13FolderUp disabled onclick=p13folderup() value=Nahoru> <input type=button style="width:calc(100%/5 - 5px)"id=p13SelectAllButton disabled onclick=p13selectallfile() value="Vybrat vše"onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13RenameFileButton disabled value=Přejmenovat onclick=p13renamefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13DeleteFileButton disabled value=Smazat onclick=p13deletefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13NewFolderButton disabled value=Adresář onclick=p13createfolder() onkeypress=return!1 onkeydown=return!1></div><div style=width:100%;text-align:center><input type=button style="width:calc(100%/5 - 5px)"id=p13UploadButton disabled value=Nahrát onclick=p13uploadFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13CutButton disabled value=Vyjmout onclick=p13copyFile(1) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13CopyButton disabled value=Kopírovat onclick=p13copyFile(0) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13PasteButton disabled value=Vložit onclick=p13pasteFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13RefreshButton disabled value=Obnovit onclick=p13folderup(9999) onkeypress=return!1 onkeydown=return!1></div><tr><td style=background-color:#e4e9e7;height:28px><table style=width:100%><tr><td id=p13currentpath style=overflow:hidden;padding-left:4px;padding-top:2px><td style=text-align:right;padding-right:4px><select id=p13sortdropdown onchange=p13updateFiles()><option value=1 selected>Třídit podle jména<option value=2>Třídit podle velikosti<option value=3>STřídit podle datumu<option value=4>Sestupně podle jména<option value=5>Sestupně podle velikosti<option value=6>Sestupně podle datumu</select></table></table><div id=p13filetable style="width:100%;height:calc(100% - 133px);overflow:auto;-webkit-user-select:none"><span id=p13files></span></div><table id=p13toolbarBottom style=width:100%;height:22px;position:absolute;bottom:0 cellpadding=0 cellspacing=0><tr><td style=text-align:left;padding:3px;text-align:center;background-color:#d3d9d6>&nbsp;<span id=p13bottomstatus></span></table></div></div><div id=p20 style=display:none;position:absolute;bottom:0;top:0;width:100%><table cellspacing=0 style=margin:0;padding:0;border-spacing:0;border:0><tr style=padding:0><td style=padding:0;color:#c8c8c8;text-align:center;cursor:pointer width=60px valign=top onclick=goBack()><div style=padding:0;background-color:#036;width:10px;height:10px;float:right;border:0><div style="background-color:#fff;width:10px;height:10px;border-radius:10px 0 0 0;border-right:1px solid #fff;border-bottom:1px solid #fff"></div></div><div style="padding:0;font-size:25px;background-color:#036;width:50px;border-radius:0 0 10px 0;height:36px">◀</div><td onclick=p20editmesh(1)><img src=/images/meshicon50.png width=50 height=50><td onclick=p20editmesh(1)><div style=margin-left:5px><strong style=font-size:large><span id=p20meshName></span></strong><br></div></table><div id=p20info style=margin-left:8px;margin-right:8px></div></div></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table id=footerMenu cellpadding=0 cellspacing=0 style=height:32px;width:100%;color:#fff;cursor:pointer;table-layout:fixed></table></div></div><div id=dialog style="z-index:1000;background-color:#eee;box-shadow:0 0 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:5px;position:fixed;top:90px;width:300px;display:none"><div style="width:100%;background-color:#036;color:#fff;border-radius:5px 5px 0 0"><div id=id_dialogclose style=float:right;padding:5px;cursor:pointer onclick=setDialogMode()><b>X</b></div><div id=id_dialogtitle style=padding:5px></div><div style=width:100%;margin:6px></div></div><div style=margin-right:16px;margin-left:8px><div id=dialog1 style=margin:auto;text-align:center;margin:3px><div id=id_dialogMessage style=padding:10px></div></div><div id=dialog2 style=margin:auto;margin:3px><div id=id_dialogOptions></div></div><div id=dialog3 style=margin:auto;margin:3px><select id=deskkeys style=width:100%><option value=10>Ctrl+Alt+Del<option value=11>Tab<option value=5>Win<option value=0>Win+Down<option value=1>Win+Up<option value=2>Win+L<option value=3>Win+M<option value=4>Shift+Win+M<option value=6>Win+R<option value=7>Alt-F4<option value=8>Ctrl-W<option value=9>Alt-Tab</select></div><div id=dialog7 style=margin:auto;margin:3px><div id=d7meshkvm><h4 style="width:100%;border-bottom:1px solid gray">Agent vzdálené plochy</h4><div style="margin:3px 0 3px 0"><select id=d7bitmapquality style=float:right;width:200px;height:20px dir=rtl></select><div style=height:20px>Kvalita</div></div><div style="margin:3px 0 3px 0"><select id=d7bitmapscaling style=float:right;width:200px;height:20px dir=rtl><option selected value=1024>100%<option value=896>87.5%<option value=768>75%<option value=640>62.5%<option value=512>50%<option value=384>37.5%<option value=256>25%<option value=128>12.5%</select><div style=height:20px>Škálování</div></div><div style="margin:3px 0 3px 0"><select id=d7framelimiter style=float:right;width:200px;height:20px dir=rtl><option selected value=50>Rychle<option value=100>Středně<option value=400>Pomalu<option value=1000>Velmi pomalu</select><div style=height:20px>Hodnocení</div></div></div><div id=d7amtkvm><h4 style="width:100%;border-bottom:1px solid gray">Intel® AMT Hardware KVM</h4><div style=height:26px><select id=d7desktopmode style=float:right;width:200px><option value=1>RLE8, Rychlejší<option value=2>RLE16, doporučeno<option value=3>RAW8, pomalé<option value=4>RAW16, hodně pomalé</select><div>Kódování</div></div><div style=height:60px><div style="float:right;border:1px solid #666;width:200px;height:60px;overflow-y:scroll;background-color:#fff"><label><input type=checkbox id=d7showfocus>Zobrazit nástroj pro zaměření</label><br><label><input type=checkbox id=d7showcursor>Zobrazit lokální kurzor myši</label><br></div><div>Ostatní</div></div></div></div></div><div id=idx_dlgButtonBar style=padding:10px;margin-bottom:20px><input id=idx_dlgCancelButton type=button value=Zrušit style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK style=float:right;width:80px onclick=dialogclose(1)></div></div><div id=topMenu style="z-index:1000;background-color:#eee;box-shadow:0 0 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:0 0 5px 5px;position:fixed;top:50px;right:5px;width:170px;display:none"><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer"onclick=topMenu(2)>Moje soubory</div><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer"onclick=topMenu(1)>Můj účet</div><div id=logoutMenuOption><a href=/logout><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer">Odhlásit</div></a></div></div><iframe name=fileUploadFrame style=display:none></iframe><script>"use strict";var webState="{{{webstate}}}";for(var i in""!=webState&&(webState=JSON.parse(decodeURIComponent(webState))),webState)localStorage.setItem(i,webState[i]);webState.loctag||localStorage.removeItem("loctag");var files,args=parseUriArgs(),debugLevel=parseInt("{{{debuglevel}}}"),features=parseInt("{{{features}}}"),sessionTime=parseInt("{{{sessiontime}}}"),domain="{{{domain}}}",domainUrl="{{{domainurl}}}",authCookie="{{{authCookie}}}",authRelayCookie="{{{authRelayCookie}}}",authCookieRenewTimer=null,meshserver=null,xdr=null,serverinfo=null,nodes=[],meshes={},filetree={},userinfo=null,users=(serverinfo=null,null),nodeShortIdent=0,serverPublicNamePort="{{{serverDnsName}}}:{{{serverPublicPort}}}",debugmode=!1,attemptWebRTC=0!=(128&features),StatusStrs=["Odpojeno","Připojování...","Nastavení...","Připojeno","Intel&reg; AMT připojeno"],passRequirements="{{{passRequirements}}}";""!=passRequirements&&(passRequirements=JSON.parse(decodeURIComponent(passRequirements)));var sessionActivity=Date.now();function startup(){if(0==(32&features)){var e=null;try{e=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==e||0==top.active))return void(top.location=self.location)}if(!args.locale){var t=getstore("loctag",0);null!=t&&"*"!=t&&(args.locale=t)}(window.onresize=center)(),QV("changeEmailId",0==(2097152&features)),QH("p1message","Připojování..."),go(1),(meshserver=MeshServerCreateControl(domainUrl,authCookie)).onStateChanged=onStateChanged,meshserver.onMessage=onMessage,meshserver.Start();var o=localStorage.getItem("desktopsettings");null!=o&&(desktopsettings=JSON.parse(o)),applyDesktopSettings()}function onStateChanged(e,t,o,n){if(0==t){if(setDialogMode(0),go(0),"noauth"==n)return void QH("p0span","Unable to perform authentication");2==o?setTimeout(serverPoll,5e3):QH("p0span","Nelze se připojit k web socketu"),null!=authCookieRenewTimer&&(clearInterval(authCookieRenewTimer),authCookieRenewTimer=null)}else 2==t&&(meshserver.send({action:"meshes"}),meshserver.send({action:"nodes"}),meshserver.send({action:"files"}),xxcurrentView<2&&go(2),authCookieRenewTimer=setInterval(function(){meshserver.send({action:"authcookie"})},18e5));QV("topMenuIcon",2==t)}function serverPoll(){xdr=null;try{xdr=new XDomainRequest}catch(e){}(xdr=xdr||new XMLHttpRequest).open("HEAD",window.location.href),xdr.timeout=15e3,xdr.onload=function(){reload()},xdr.onerror=xdr.ontimeout=function(){setTimeout(serverPoll,1e4)},xdr.send()}function updateSelf(){if(QV("verifyEmailId",!0!==userinfo.emailVerified&&null!=userinfo.email&&1==serverinfo.emailcheck),QV("manageAuthApp",4096&features),QV("manageOtp",0!=(4096&features)&&(1==userinfo.otpsecret||0<userinfo.otphkeys)),QV("p3createMeshLink1",!1),QV("p3createMeshLink2",!1),"number"==typeof userinfo.passchange)if(-1==userinfo.passchange)QH("p2nextPasswordUpdateTime"," - Reset při příštím přihlášení.");else if(null!=passRequirements&&"number"==typeof passRequirements.reset){var e=userinfo.passchange+86400*passRequirements.reset-Math.floor(Date.now()/1e3);e<0?QH("p2nextPasswordUpdateTime"," - Reset při příštím přihlášení."):e<3600?QH("p2nextPasswordUpdateTime",format(" - Reset v {0} minut{1}.",Math.floor(e/60),addLetterS(Math.floor(e/60)))):e<86400?QH("p2nextPasswordUpdateTime",format(" - Reset v {0} hodin{1}.",Math.floor(e/3600),addLetterS(Math.floor(e/3600)))):QH("p2nextPasswordUpdateTime",format(" - Reset v {0} den{1}."),Math.floor(e/86400),addLetterS(Math.floor(e/86400)))}}function addLetterS(e){return 1<e?"s":""}function setSessionActivity(){sessionActivity=Date.now()}function checkIdleSessionTimeout(){Date.now()-sessionActivity>serverinfo.timeout&&(window.location.href="logout")}function onMessage(e,t){switch(t.action){case"serverinfo":(serverinfo=t.serverinfo).timeout&&(setInterval(checkIdleSessionTimeout,1e4),checkIdleSessionTimeout()),QV("p3AccountActions",0==(4&features)&&0==serverinfo.domainauth),QV("logoutMenuOption",0==(4&features)&&0==serverinfo.domainauth);break;case"authcookie":authCookie=t.cookie,authRelayCookie=t.rcookie;break;case"userinfo":userinfo=t.userinfo,QH("p3userName",userinfo.name),updateSelf();break;case"users":for(var o in users={},t.users)users[t.users[o]._id]=t.users[o];updateUsers();break;case"wssessioncount":wssessions=t.wssessions,updateUsers();break;case"meshes":for(var o in meshes={},t.meshes)meshes[t.meshes[o]._id]=t.meshes[o];updateMeshes(),updateDevices();break;case"files":filetree=setupBackPointers(t.filetree),updateFiles();break;case"nodes":for(var o in nodes=[],t.nodes)for(var n in t.nodes[o])meshes[o]?(t.nodes[o][n].namel=t.nodes[o][n].name.toLowerCase(),t.nodes[o][n].rname?t.nodes[o][n].rnamel=t.nodes[o][n].rname.toLowerCase():t.nodes[o][n].rnamel=t.nodes[o][n].namel,t.nodes[o][n].meshnamel=meshes[o].name.toLowerCase(),t.nodes[o][n].meshid=o,t.nodes[o][n].state=t.nodes[o][n].state?t.nodes[o][n].state:0,t.nodes[o][n].desc=t.nodes[o][n].desc,t.nodes[o][n].icon||(t.nodes[o][n].icon=1),t.nodes[o][n].ident=++nodeShortIdent,nodes.push(t.nodes[o][n])):console.log("Invalid mesh (1): "+o);updateDevices(),0==xxcurrentView&&go(parseInt("{{viewmode}}")),gotoDevice("{{currentNode}}",parseInt("{{viewmode}}"));break;case"powertimeline":if(t.nodeid!=powerTimelineReq)break;powerTimelineNode=t.nodeid,powerTimeline=t.timeline,powerTimelineUpdate=Date.now()+3e5,currentNode._id==t.nodeid&&drawDeviceTimeline();break;case"otpauth-request":if(2==xxdialogMode&&"otpauth-request"==xxdialogTag){var a=t.secret;52==a.length?a=a.split(/(.............)/).filter(Boolean).join(" "):32==a.length&&(a=(a=a.split(/(....)/).filter(Boolean).join(" ")).substring(0,20)+"<br/>"+a.substring(20)),QH("d2optinfo",'Nainstalujte si <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" rel="noreferrer noopener" target=_blank>Google Authenticator</a> nebo kompatibilní aplikaci, použijte <a href="\' + message.url + \'" rel="noreferrer noopener" target=_blank> tento odkaz</a> nebo vložte secret. Pak vložte aktuální 6 číselný token pro aktivaci 2-faktorového přihlašování.<br /><br /><div style=width:100%;text-align:center><tt id=d2optsecret secret="'+t.secret+'" style=font-size:15px>'+a+'</tt><br /><br />Token: <input type=text onkeypress="return (event.keyCode == 8) || (event.charCode >= 48 && event.charCode <= 57)" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text></div>'),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?"<b style=color:green>2-faktorová autentizace zapnuta</b>. Je třeba platný token k přihlášení.":"<b style=color:red>2-faktorové přihlášení selhalo</b>. 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?"<b style=color:green>2-faktorové přihlášení odstraněno</b>. Lze znovu kdykoliv zapnout.":"<b style=color:red>Odstranění 2-faktorového přihlášení selhalo</b>. 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+="<div style='border-radius:6px;border: 2px dashed #888;width:100%;margin-top:8px'><div style='padding:8px;font-family:Arial, Helvetica, sans-serif;font-size:20px;font-weight:bold'><table style=width:100%;text-align:center>",t.passwords){var s=0;for(var l in t.passwords){++s%2&&(i+="<tr>");for(var r=""+t.passwords[l].p;r.length<8;)r="0"+r;!0===t.passwords[l].u?i+="<td>"+r.substring(0,4)+"&nbsp;"+r.substring(4):i+="<td><strike style=color:#BBB>"+r.substring(0,4)+"&nbsp;"+r.substring(4)}}else i+="<tr><td>Žádné aktivní tokeny";i+="</table></div></div><br />",i+="<div><input type=button value='Zavřít' onclick=setDialogMode(0) style=float:right></input>",i+="<input type=button value='Nové tokeny' onclick='account_manageOtp(1);'></input>",null!=t.passwords&&(i+="<input type=button value='Vymazat' onclick='account_manageOtp(2);'></input>"),setDialogMode(2,"Spravovat záložní kódy",8,null,i+="</div><br />","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&&currentMesh==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&&currentNode&&currentNode.meshid==t.event.meshid&&(setDialogMode(0),go(2))}}updateMeshes(),updateDevices(),meshserver.send({action:"files"}),20==xxcurrentView&&currentMesh._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&&currentMesh._id==t.event.meshid&&(setDialogMode(0),go(2)),10<=xxcurrentView&&xxcurrentView<20&&currentNode&&currentNode.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<backStack.length&&backStack.pop(),goStack())}function goForward(e){xxdialogMode||(backStack.push(e),goStack())}function goStack(){if(0!=backStack.length){var e=backStack[backStack.length-1],t=e.split("/")[0];"node"==t&&(setupDeviceMenu(0),gotoDevice(e)),"mesh"==t&&gotoMesh(e),"account"==t&&go(3),"devices"==t&&go(2),"files"==t&&go(5)}else go(2)}function updateFooterMenu(e){for(;null!=e&&e.length<3;)e.push({n:""});var t="",o="";if(null!=e)for(var n in e)t+='<td style="cursor:pointer'+(""==o?"":";border-left:solid 1px white")+'" onclick="'+e[n].f+'">'+e[n].n,o=e[n].n;QH("footerMenu","<tr>"+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})},"<div id=d2optinfo>Nahrávání...</div>","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:<br /><div style=padding:8px><b>"+EscapeHtml(userinfo.email)+"</b></div>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","<input id=dp3email style=width:170px maxlength=256 onchange=account_validateEmail() onkeyup=account_validateEmail(event) />")),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="<form method=post><table style=margin-left:10px><input type=hidden name=action value=deleteaccount /><input type=hidden name=authcookie value="+authCookie+" /><tr>";e+="<td align=right>Heslo:</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>",e+="</tr><tr><td align=right>Heslo:</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>",e+="</tr></table><div style=padding:10px;margin-bottom:4px>",e+='<input id=account_dlgCancelButton type=button value="Zrušit" style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)>',e+='<input id=account_dlgOkButton type=submit value="OK" style="float:right;width:80px" onclick=dialogclose(1)>',setDialogMode(2,"Smazat účet",0,null,e+="</div><br /></form>"),account_validateDeleteAccount(),Q("apassword1").focus()}}function account_showChangePassword(){if(xxdialogMode)return!1;var e="<table style=margin-left:10px>";if(e+="<tr><td align=right>"+nobreak("Staré heslo:")+"</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>",e+="<tr><td align=right>"+nobreak("Nové heslo:")+"</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b><span id=dxPassWarn></span></b></td></tr>",e+="<tr><td align=right>"+nobreak("Nové heslo:")+"</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>",65536&features&&(e+="<tr><td align=right>Nápověda k heslu:</td><td><input id=apasswordhint name=apasswordhint maxlength=250 type=text autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>"),e+="</table>",passRequirements){var t=[],o=0;for(var n in passRequirements)"reset"!=n&&"hint"!=n&&(t.push(n+":"+passRequirements[n]),o++);0<o&&(e+="<br /><span style=font-size:x-small>"+format("Požadavky: {0}.",t.join(", "))+"</span>")}return setDialogMode(2,"Změnit heslo",3,account_showChangePasswordEx,e+="<br />"),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<userinfo.otphkeys||0<userinfo.otpkeys){var e=addHtmlValue("Jméno","<input id=dp3meshname style=width:170px maxlength=64 onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate() />");e+=addHtmlValue("Typ","<div style=width:170px;margin:0;padding:0><select id=dp3meshtype style=width:100% onchange=account_validateMeshCreate() ><option value=2>Skupina Software Agent</option><option value=1>Intel&reg; AMT pouze</option></select></div>"),setDialogMode(2,"Vytvořit skupinu zařízení",3,account_createMeshEx,e+=addHtmlValue("Popis","<div style=width:170px;margin:0;padding:0><textarea id=dp3meshdesc maxlength=1024 style=width:100%;resize:none></textarea></div>")),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",0<Q("dp3meshname").value.length)}function account_createMeshEx(e,t){meshserver.send({action:"createmesh",meshname:Q("dp3meshname").value,meshtype:Q("dp3meshtype").value,desc:Q("dp3meshdesc").value})}function account_validateDeleteAccount(){QE("account_dlgOkButton",0<Q("apassword1").value.length&&Q("apassword1").value==Q("apassword2").value)}function account_validateNewPassword(){var e="",t=0<Q("apassword0").value.length&&0<Q("apassword1").value.length&&Q("apassword1").value==Q("apassword2").value&&Q("apassword0").value!=Q("apassword1").value;if(65536&features&&Q("apasswordhint").value==Q("apassword1").value&&(t=!1),""!=Q("apassword1").value)if(null==passRequirements||""==passRequirements){var o=checkPasswordStrength(Q("apassword1").value);e=80<=o?"<span style=color:green>Strong<span>":60<=o?"<span style=color:blue>&#9679;<span>":"<span style=color:red>&#9679;<span>"}else{0==checkPasswordRequirements(Q("apassword1").value,passRequirements)&&(t=!1,e="<span style=color:red>Politika<span>")}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;i<e.length;i++)o[e[i]]=(o[e[i]]||0)+1,t+=5/o[e[i]];for(var s in a)n+=1==a[s]?1:0;return parseInt(t+10*(n-1))}function checkPasswordRequirements(e,t){if(null==t||""==t||"object"!=typeof t)return!0;if(t.min&&e.length<t.min)return!1;if(t.max&&e.length>t.max)return!1;for(var o=0,n=0,a=0,i=0,s=0;s<e.length;s++)/\d/.test(e[s])&&o++,/[a-z]/.test(e[s])&&n++,/[A-Z]/.test(e[s])&&a++,/\W/.test(e[s])&&i++;return!(t.num&&o<t.num)&&(!(t.lower&&n<t.lower)&&(!(t.upper&&a<t.upper)&&!(t.nonalpha&&i<t.nonalpha)))}function updateMeshes(){var e="",t=0;for(i in meshes){t++;var o=meshes[i].links[userinfo._id].rights,n="Částečné práva";4294967295==o?n="Hlavní administrátor":0==o&&(n="Žádná práva"),e+="<div style=cursor:pointer onclick=goForward('"+i+"')>",e+='<div style="float:left;margin-left:4px"><img src="/images/meshicon50.png" width=50 height=50 /></div>',e+='<div style="width:auto;height:40px;background-color:lightgray;margin-top:5px;margin-bottom:5px;margin-left:60px;padding-top:5px;padding-bottom:5px;border-radius:8px 0px 0px 8px">',e+="<div><div style=padding-left:12px;padding-top:2px><b>"+EscapeHtml(meshes[i].name)+"</b></div><div style=padding-left:12px;padding-top:3px;color:gray>"+n+"</div></div>",e+="</div></div>"}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="<a style=cursor:pointer onclick=p5folderup(0)>Root</a>",a="Root",i=filetree,s=1,l=[],r=filetreelinkpath,d=[],p=document.getElementsByName("fc"),u=0;u<p.length;u++)p[u].checked&&d.push(p[u].value);for(var u in filetreelinkpath="",filetreelocation){if(null==i.f||null==i.f[filetreelocation[u]])break;if(l.push(filetreelocation[u]),a+=" / "+filetreelocation[u],1==s){var c=filetreelocation[u].split("/");e=window.location+c[0]+"files/"+c[2],filetreelinkpath+=filetreelocation[u]}else""!=filetreelinkpath&&(filetreelinkpath+="/"+filetreelocation[u],2<s&&(e+="/"+filetreelocation[u]));n+=" / <a style=cursor:pointer onclick=p5folderup("+s+")>"+(null!=(i=i.f[filetreelocation[u]]).n?i.n:filetreelocation[u])+"</a>",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="<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+g+"'>&nbsp;<span style=float:right;padding-right:4px>"+(1==f.t||4==f.t?p5getQuotabar(f):"")+"</span><span><div class=fileIcon"+f.t+'></div><a style=cursor:pointer onclick=p5folderset("'+encodeURIComponent(f.nx)+'")>'+h+"</a></span></div>"}else{var b=h,x="";m&&(x=" (<a style=cursor:pointer onclick='p5showPublicLink(\""+e+"/"+f.nx+"\")'>Odkaz</a>)"),0<f.s&&(b='<a rel="noreferrer noopener" target="_blank" href="downloadfile.ashx?link='+encodeURIComponent(filetreelinkpath+"/"+f.nx)+'">'+h+"</a>"+x),y="<div class=filelist file=3><input file=3 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+f.nx+"'>&nbsp;<span style=float:right;padding-right:4px>"+k+"</span><span><div class=fileIcon"+f.t+"></div>"+b+"</span></div>"}f.t<3?t+=y:o+=y}if(QH("p5rightOfButtons",p5getQuotabar(i)),QH("p5files",t+o),QH("p5currentpath",n),QE("p5FolderUp",0!=filetreelocation.length),QV("p5PublicShare",m),r==filetreelinkpath){p=document.getElementsByName("fc");for(u=0;u<p.length;u++)p[u].checked=0<=d.indexOf(p[u].value)}p5setActions()}}function getNiceSize(e){return e<=0?"Uložiště plné":e<2048?format("{0}b zbývá",e):e<2097152?format("{0}k zbývá",Math.round(e/1024)):e<2147483648?format("{0}m zbývá",Math.round(e/1024/1024)):format("{0}g zbývá",Math.round(e/1024/1024/1024))}function p5getQuotabar(e){for(;1<e.t&&4!=e.t;)e=e.parent;return 1!=e.t&&4!=e.t||null==e.maxbytes?"":getNiceSize(e.maxbytes-e.s)+" <progress style=height:10px;width:100px value="+e.s+" max="+e.maxbytes+" />"}function p5showPublicLink(e){setDialogMode(2,"Veřejný odkaz",1,null,'<input type=text style=width:100% value="'+e+'" readonly />')}function p5sort_filename(e,t){return e.ln>t.ln?1*sortorder:e.ln<t.ln?-1*sortorder:0}function p5sort_timestamp(e,t){return e.d>t.d?1*sortorder:e.d<t.d?-1*sortorder:0}function p5sort_bysize(e,t){return e.s==t.s?p5sort_filename(e,t):(e.s-t.s)*sortorder}function p5sort_files(e){var t=[],o=Q("p5sortdropdown").value;for(var n in e)e[n].nx=n,null==e[n].n&&(e[n].n=n),e[n].ln=e[n].n.toLowerCase(),t.push(e[n]);return sortorder=1,3<o&&(sortorder=-1,o-=3),1==o?t.sort(p5sort_filename):2==o?t.sort(p5sort_bysize):3==o&&t.sort(p5sort_timestamp),t}function p5setActions(){var e=getFileSelCount(),t=getFileCount(),o=getFileSelCount(!1);QE("p5DeleteFileButton",0<e&&0<filetreelocation.length),QE("p5NewFolderButton",0<filetreelocation.length),QE("p5UploadButton",0<filetreelocation.length),QE("p5RenameFileButton",1==e&&0<filetreelocation.length),QE("p5SelectAllButton",0<t),Q("p5SelectAllButton").value=0<e?"Nic":"Vše",QE("p5CutButton",0<o&&e==o),QE("p5CopyButton",0<o&&e==o),QE("p5PasteButton",null!=p5clipboard&&0<p5clipboard.length&&0<filetreelocation.length)}function getFileSelCount(e){for(var t=0,o=document.getElementsByName("fc"),n=0;n<o.length;n++)!o[n].checked||0==e&&"3"!=o[n].attributes.file.value||t++;return t}function getFileSelDirCount(){for(var e=0,t=document.getElementsByName("fc"),o=0;o<t.length;o++)t[o].checked&&"999"==t[o].attributes.file.value&&e++;return e}function getFileCount(){return document.getElementsByName("fc").length}function p5selectallfile(){for(var e=0==getFileSelCount(),t=document.getElementsByName("fc"),o=0;o<t.length;o++)t[o].checked=e;p5setActions()}function setupBackPointers(e){if(null!=e.f){var t=0,o=0;for(var n in e.f)setupBackPointers(e.f[n]),(e.f[n].parent=e).f[n].s&&(t+=e.f[n].s),e.f[n].c&&(o+=e.f[n].c),3==e.f[n].t&&o++;e.s=t,e.c=o}return e}function getFileSizeStr(e){return 1==e?"1 byte":format("{0} bytů",e)}function p5folderup(e){if(null==e)filetreelocation.pop();else for(;filetreelocation.length>e;)filetreelocation.pop();return updateFiles(),!1}function p5folderset(e){return filetreelocation.push(decodeURIComponent(e)),updateFiles(),!1}function p5createfolder(){setDialogMode(2,"Nový adresář",3,p5createfolderEx,"<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% />"),focusTextBox("p5renameinput"),p5fileNameCheck()}function p5createfolderEx(){meshserver.send({action:"fileoperation",fileop:"createfolder",path:filetreelocation,newfolder:Q("p5renameinput").value})}function p5deletefile(){var e=getFileSelCount(),t=0<getFileSelDirCount()?"<br /><br /><label><input type=checkbox id=p5recdeleteinput>Rekurzivní mazání</label><br>":"<input type=checkbox id=p5recdeleteinput style='display:none'>";setDialogMode(2,"Smazat",3,p5deletefileEx,1<e?format("Smazat {0} vybrané prvky?",e)+t:"Smazat vybraný prvek?"+t)}function p5deletefileEx(){for(var e=[],t=document.getElementsByName("fc"),o=0;o<t.length;o++)t[o].checked&&e.push(t[o].value);meshserver.send({action:"fileoperation",fileop:"delete",path:filetreelocation,delfiles:e,rec:Q("p5recdeleteinput").checked})}function p5renamefile(){for(var e,t=document.getElementsByName("fc"),o=0;o<t.length;o++)t[o].checked&&(e=t[o].value);setDialogMode(2,"Přejmenovat",3,p5renamefileEx,'<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% value="'+e+'" />',{action:"fileoperation",fileop:"rename",path:filetreelocation,oldname:e}),focusTextBox("p5renameinput"),p5fileNameCheck()}function p5renamefileEx(e,t){t.newname=Q("p5renameinput").value,meshserver.send(t)}function p5fileNameCheck(e){var t=isFilenameValid(Q("p5renameinput").value);QE("idx_dlgOkButton",t),1==t&&e&&13==e.keyCode&&dialogclose(1)}var isFilenameValid=function(){var t=/^[^\\/:\*\?"<>\|]+$/,o=/^\./,n=/^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i;return function(e){return t.test(e)&&!o.test(e)&&!n.test(e)&&"."!=e[0]}}();function p5uploadFile(){setDialogMode(2,"Nahrát soubor",3,p5uploadFileEx,'<form method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input type=text name=link style=display:none id=p5uploadpath value="'+encodeURIComponent(filetreelinkpath)+'" /><input type=file name=files id=p5uploadinput style=width:100% multiple=multiple onchange="updateUploadDialogOk(\'p5uploadinput\')" /><input type=hidden name=authCookie value='+authCookie+" /><input type=submit id=p5loginSubmit style=display:none /></form>"),updateUploadDialogOk("p5uploadinput")}function p5uploadFileEx(){Q("p5loginSubmit").click()}function updateUploadDialogOk(e){QE("idx_dlgOkButton",""!=Q(e).value)}var p5clipboard=null,p5clipboardFolder=null,p5clipboardCut=0;function p5copyFile(e){var t=document.getElementsByName("fc");p5clipboard=[],p5clipboardCut=e,p5clipboardFolder=Clone(filetreelocation);for(var o=0;o<t.length;o++)t[o].checked&&"3"==t[o].attributes.file.value&&p5clipboard.push(t[o].value);p5updateClipview()}function p5pasteFile(){var e="";null!=p5clipboard&&0<p5clipboard.length&&(e=format("Potvrdit {0} z {1} záznam{2} do tohoto umístění?",0==p5clipboardCut?"copy":"move",p5clipboard.length,1<p5clipboard.length?"s":"")),setDialogMode(2,"Vložit",3,p5pasteFileEx,e)}function p5pasteFileEx(){meshserver.send({action:"fileoperation",fileop:0==p5clipboardCut?"copy":"move",scpath:p5clipboardFolder,path:filetreelocation,names:p5clipboard}),p5folderup(999),1==p5clipboardCut&&(p5clipboardFolder=p5clipboard=null,p5clipboardCut=0,p5updateClipview())}function p5updateClipview(){var e="";null!=p5clipboard&&0<p5clipboard.length&&(e=format("Držím {0} zaznamů{1} pro {2}",p5clipboard.length,1<p5clipboard.length?"s":"",0==p5clipboardCut?"kopírovat":"přesun")+', <a href=# onclick="return p5clearClip()" style=cursor:pointer>Vymazat</a>.'),QH("p5bottomstatus",e),p5setActions()}function p5clearClip(){return p5clipboardFolder=p5clipboard=null,p5clipboardCut=0,p5updateClipview(),!1}function p5fileDragDrop(e){if(haltEvent(e),QV("bigfail",!1),QV("bigok",!1),null!=e.dataTransfer&&0!=e.dataTransfer.files.length&&0!=filetreelocation.length)for(var t=[],o=[],n=[],a=[],i=e.dataTransfer.files.length,s=0;s<e.dataTransfer.files.length;s++){var l=new FileReader,r=e.dataTransfer.files[s];t.push(r.name),o.push(r.size),n.push(r.type),l.onload=function(e){a.push(e.target.result),0==--i&&(Q("p5fileDragName").value=t.join("*"),Q("p5fileDragSize").value=o.join("*"),Q("p5fileDragType").value=n.join("*"),Q("p5fileDragData").value=a.join("*"),Q("p5fileDragLink").value=encodeURIComponent(filetreelinkpath),Q("p5loginSubmit2").click())},l.readAsDataURL(r)}}var p5dragtimer=null;function p5fileDragOver(e){haltEvent(e),null!=p5dragtimer&&(clearTimeout(p5dragtimer),p5dragtimer=null);var t=!0;0==filetreelocation.length&&(t=!1),QV("bigok",t),QV("bigfail",!t)}function p5fileDragLeave(e){haltEvent(e),"p5filetable"!=e.target.id?(QV("bigfail",!1),QV("bigok",!1)):p5dragtimer=setTimeout("QV('bigfail',false);QV('bigok',false);p5dragtimer=null;",200)}function ondeskkeypress(e){if(toggleSoftKeys(0),Q("DeskSoftInput").value="",setSessionActivity(),desktop&&!xxdialogMode&&10==xxcurrentView){if(null!=currentNode){var t=meshes[currentNode.meshid].links[userinfo._id].rights;if(0==(4294967295==t||0!=(8&t)&&0==(256&t)))return!1;if(1==(4294967295!=t&&0!=(8&t)&&0==(256&t)&&0!=(4096&t))&&(1==e.altKey||1==e.ctrlKey||e.keyCode<32&&8!=e.keyCode&&13!=e.keyCode||90<e.keyCode))return!1}return desktop.m.handleKeys(e)}}function ondeskkeydown(e){if(toggleSoftKeys(0),Q("DeskSoftInput").value="",setSessionActivity(),desktop&&!xxdialogMode&&10==xxcurrentView){if(null!=currentNode){var t=meshes[currentNode.meshid].links[userinfo._id].rights;if(0==(4294967295==t||0!=(8&t)&&0==(256&t)))return!1;if(1==(4294967295!=t&&0!=(8&t)&&0==(256&t)&&0!=(4096&t))&&(1==e.altKey||1==e.ctrlKey||e.keyCode<32&&8!=e.keyCode&&13!=e.keyCode||90<e.keyCode))return!1}return desktop.m.handleKeyDown(e)}}function ondeskkeyup(e){if(toggleSoftKeys(0),Q("DeskSoftInput").value="",setSessionActivity(),desktop&&!xxdialogMode&&10==xxcurrentView){if(null!=currentNode){var t=meshes[currentNode.meshid].links[userinfo._id].rights;if(0==(4294967295==t||0!=(8&t)&&0==(256&t)))return!1;if(1==(4294967295!=t&&0!=(8&t)&&0==(256&t)&&0!=(4096&t))&&(1==e.altKey||1==e.ctrlKey||e.keyCode<32&&8!=e.keyCode&&13!=e.keyCode||90<e.keyCode))return!1}return desktop.m.handleKeyUp(e)}}var updateDevicesTimer=null;function updateDevices(){null==updateDevicesTimer&&(updateDevicesTimer=setTimeout(updateDevicesEx,200))}var deviceHeaderCount,sort=0,deviceHeaderId=0,deviceHeaders={},showRealNames=!1,deviceHeaderTotal=0,deviceHeadersTitles=(deviceHeaders={},{});function updateDevicesEx(){null!=updateDevicesTimer&&(clearTimeout(updateDevicesTimer),updateDevicesTimer=null);var e="",t=0,o=null,n=0,a={};for(var i in deviceHeaderCount={},deviceHeaders={},deviceHeadersTitles={},(deviceHeaderTotal=deviceHeaderId=0)==sort?nodes.sort(meshSort):1==sort?nodes.sort(powerSort):2==sort&&(1==showRealNames?nodes.sort(deviceHostSort):nodes.sort(deviceSort)),nodes)if(0!=nodes[i].v){var s=meshes[nodes[i].meshid].links[userinfo._id];if(null!=s){s.rights;if(0==sort){if(nodes.sort(meshSort),nodes[i].meshid!=o){deviceHeaderSet();var l="";1==meshes[nodes[i].meshid].mtype&&(l="<span style=color:lightgray>, Intel&reg; AMT pouze</span>"),null!=o&&(2==t&&(e+="<td><div style=width:301px></div></td>"),""!=e&&(e+="</tr></table>")),e+="<div class=DevSt style=padding-top:4px><span style=float:right>",e+='</span><span id=MxMESH style=cursor:pointer onclick=goForward("'+nodes[i].meshid+'")>'+EscapeHtml(meshes[nodes[i].meshid].name)+"</span>"+l+"<span id=DevxHeader"+deviceHeaderId+" style=color:lightgray></span></div>",a[o=nodes[i].meshid]=1,t=0}}else 1==sort?nodes[i].pwr!==o&&(deviceHeaderSet(),null!==o&&(2==t&&(e+="<td><div style=width:301px></div></td>"),""!=e&&(e+="</tr></table>")),e+="<div class=DevSt style=width:100%;padding-top:4px><span>"+PowerStateStr2(nodes[i].pwr)+"</span><span id=DevxHeader"+deviceHeaderId+" style=color:lightgray></span></div>",o=nodes[i].pwr,t=0):2==sort&&null==o&&(o="1");n++;var r=EscapeHtml(nodes[i].name);0==r.length&&(r="<i>Nic</i>"),null!=nodes[i].rname&&0<nodes[i].rname.length&&(r+=" / "+EscapeHtml(nodes[i].rname));var d=EscapeHtml(nodes[i].name);1==showRealNames&&null!=nodes[i].rname&&(d=EscapeHtml(nodes[i].rname)),0==d.length&&(d="<i>Nic</i>");var p=nodes[i].icon,u=NodeStateStr(nodes[i]);nodes[i].conn&&0!=nodes[i].conn||(p+=" gray"),e+="<div style=cursor:pointer onclick=goForward('"+nodes[i]._id+"')>",e+='<div class="i'+p+'" style="float:left;margin-left:4px"></div>',e+='<div style="width:auto;height:40px;background-color:lightgray;margin-top:5px;margin-bottom:5px;margin-left:60px;padding-top:5px;padding-bottom:5px;border-radius:8px 0px 0px 8px">',e+="<div><div style=padding-left:12px;padding-top:2px><b>"+d+"</b></div><div style=padding-left:12px;padding-top:3px;color:gray>"+u+"</div></div>",e+="</div></div>",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+="</tr></table>"),e+="<div><div colspan=3 class=DevSt><span style=float:right>",e+='</span><span id=MxMESH style=cursor:pointer onclick=goForward("'+c._id+'")>'+EscapeHtml(c.name)+"</span></div>",1==c.mtype&&(e+="<div style=padding:10px><i>Žádné Intel&reg; AMT zařízení v této skupině"),2==c.mtype&&(e+="<div style=padding:10px><i>Žádné zařízení v této skupině"),e+=".</i></div></div>",o=c._id,n++)}}for(var i in 0==n?QH("xdevices",'<div style="margin-top:50px;text-align:center"><span style="font-size:30px">Žádné zařízení</span><br /><br />Pro přidání zařízení použijte desktop verzi těchto stránek.</div>'):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 0<e.state&&e.state<powerStatetable.length&&state.push(powerStatetable[e.state]),e.conn&&(0!=(1&e.conn)&&t.push("<span>Agent</span>"),0!=(2&e.conn)?t.push("<span>CIRA</span>"):0!=(4&e.conn)&&t.push("<span>Intel&reg; AMT</span>"),0!=(8&e.conn)&&t.push("<span>Přesměrování</span>"),0!=(16&e.conn)&&t.push("<span>MQTT</span>")),null!=e.pwr&&0!=e.pwr&&t.push(powerStateStrings[e.pwr]),t.join(", ")}function PowerStateStr(e){return e<powerStatetable.length?powerStatetable[e]:""}function PowerStateStr2(e){return 0!=e&&e<powerStatetable.length?powerStatetable[e]:"Neznámý"}function onSortSelectChange(e){sort=document.getElementById("sortselect").selectedIndex,e||putstore("sort",sort),updateDevicesEx()}function deviceHeaderSet(){if(0!=deviceHeaderId){deviceHeaders["DevxHeader"+deviceHeaderId]=", "+deviceHeaderTotal+(1==deviceHeaderTotal?" nód":" nódy");var e="";for(var t in deviceHeaderCount)0<e.length&&(e+=", "),e+=deviceHeaderCount[t]+" "+PowerStateStr2(t);deviceHeadersTitles["DevxHeader"+deviceHeaderId]=e,deviceHeaderId++,deviceHeaderCount={},deviceHeaderTotal=0}else deviceHeaderId=1}function meshSort(e,t){return e.meshnamel>t.meshnamel?1:e.meshnamel<t.meshnamel?-1:e.meshid==t.meshid?1==showRealNames?e.rnamel>t.rnamel?1:e.rnamel<t.rnamel?-1:0:e.namel>t.namel?1:e.namel<t.namel?-1:0:0}function powerSort(e,t){var o=e.pwr?e.pwr:0,n=t.pwr?t.pwr:0;return o==n?1==showRealNames?e.rnamel>t.rnamel?1:e.rnamel<t.rnamel?-1:0:e.namel>t.namel?1:e.namel<t.namel?-1:0:n<o?1:o<n?-1:0}function deviceSort(e,t){return e.namel>t.namel?1:e.namel<t.namel?-1:0}function deviceHostSort(e,t){return e.rnamel>t.rnamel?1:e.rnamel<t.rnamel?-1:0}function refreshDevice(e){currentNode&&currentNode._id==e&&gotoDevice(e,xxcurrentView,!0)}function getNodeRights(e){var t=getNodeFromId(e);return meshes[t.meshid].links[userinfo._id].rights}var currentNode,currentDevicePanel=0,powerTimelineNode=null,powerTimelineReq=null,powerTimelineUpdate=null,powerTimeline=null;function getCurrentNode(){return currentNode}function gotoDevice(e,t,o){if(!0===userinfo.emailVerified||1!=serverinfo.emailcheck||4294967295==userinfo.siteadmin)if(!(262144&features)||1==userinfo.otpsecret||0<userinfo.otphkeys||0<userinfo.otpkeys){var n=getNodeFromId(e);if(null!=n){var a=meshes[n.meshid];if(null!=a){var i=a.links[userinfo._id].rights;if(!currentNode||currentNode._id!=n._id||1==o){currentNode=n;var s=EscapeHtml(n.name);0==s.length&&(s="<i>Nic</i>"),0!=(4&i)&&(s="<span onclick=showEditNodeValueDialog(0) style=cursor:pointer>"+s+"</span>"),QH("p10deviceName",s);var l="<table style=width:100%>";l+=addDeviceAttribute("<span>Skupina</span>",'<a onclick=goForward("'+n.meshid+'") style=cursor:pointer>'+EscapeHtml(meshes[n.meshid].name)+"</a>"),null!=n.rname&&(l+=addDeviceAttribute("<span>Jméno</span>","<span>"+EscapeHtml(n.rname)+"</span>")),1!=a.mtype&&n.name==n.host||(0!=(4&i)?n.host?l+=addDeviceAttribute("Hostname","<span onclick=showEditNodeValueDialog(1) style=cursor:pointer>"+EscapeHtml(n.host)+"</span>"):l+=addDeviceAttribute("Hostname","<span onclick=showEditNodeValueDialog(1) style=cursor:pointer><i>Nic</i></span>"):l+=addDeviceAttribute("Hostname",EscapeHtml(n.host)));var r=n.desc?EscapeHtml(n.desc):"<i>Nic</i>";l+=addDeviceAttribute("Popis",0!=(4&i)?"<span onclick=showEditNodeValueDialog(2) style=cursor:pointer>"+r+"</span>":r);var d=["Neznámý","Windows 32bit konzole","Windows 64bit konzole","Windows 32bit služba","Windows 64bit služba","Linux 32bit","Linux 64bit","MIPS","XENx86","Android ARM","Linux ARM","MacOS 32bit","Android x86","PogoPlug ARM","Android APK","Linux Poky x86-32bit","MacOS 64bit","ChromeOS","Linux Poky x86-64bit","Linux NoKVM x86-32bit","Linux NoKVM x86-64bit","Windows MinCore konzole","Windows MinCore služba","NodeJS","ARM-Linaro","ARMv6l / ARMv7l","ARMv8 64bit","ARMv6l / ARMv7l / NoKVM","Neznámý","Neznámý","FreeBSD x86-64"];if(null!=n.agent&&null!=n.agent.id&&null!=n.agent.ver){var p="";p=n.agent.id<=d.length?d[n.agent.id]:d[0],0!=n.agent.ver&&(p+=" v"+n.agent.ver),l+=addDeviceAttribute("Agent",p)}if(null!=n.intelamt){p="";var u={0:nobreak("Neaktivováno (před)"),1:nobreak("Neaktivováno"),2:nobreak("Aktivováno")};null!=n.intelamt.ver&&null==n.intelamt.state?p+="<i>"+nobreak("Neznámý stav")+"</i>, v"+n.intelamt.ver:null==n.intelamt.ver&&2==n.intelamt.state?p+="<i>Aktivováno</i>":null==n.intelamt.ver||null==n.intelamt.state?p+="<i>Neznámý stav & verze</i>":(p+=u[n.intelamt.state],n.intelamt.flags&&(2&n.intelamt.flags?p=" <span>CCM</span>":4&n.intelamt.flags&&(p=" <span>ACM</span>")),p+=", v"+n.intelamt.ver),1==n.intelamt.tls&&(p+=", <span>TLS</span>"),2==n.intelamt.state&&(null!=n.intelamt.user&&""!=n.intelamt.user||(p+=0!=(4&i)?', <i style=color:#FF0000;cursor:pointer onclick=editDeviceAmtSettings("'+n._id+'")>'+nobreak("Žádné přihlašovací údaje")+"</i>":", <i style=color:#FF0000>Žádné přihlašovací údaje</i>"),p+=" ",0!=(4&i)&&(p+='<img src=images/link4.png height=10 width=10 style=cursor:pointer onclick=editDeviceAmtSettings("'+n._id+'")>'));var c="Intel&reg; ME";"number"==typeof n.intelamt.sku&&(0!=(8&n.intelamt.sku)?c="Intel&reg; AMT":0!=(16&n.intelamt.sku)&&(c="Intel&reg; SM")),l+=addDeviceAttribute(c,p)}if(null!=n.agent&&null!=n.agent.tag&&"mailto:"!=n.agent.tag){var m=EscapeHtml(n.agent.tag);m.startsWith("mailto:")&&(m='<a href="'+m+'">'+m.substring(7)+"</a>"),l+=addDeviceAttribute("Značka agenta",m)}var v=n.conn;if(v&&1<v){var h=[];0!=(1&n.conn)&&h.push("<span>Agent</span>"),0!=(2&n.conn)?h.push("<span>Intel&reg; AMT CIRA</span>"):0!=(4&n.conn)&&h.push("<span>Intel&reg; AMT</span>"),0!=(8&n.conn)&&h.push("<span>Agent Relay (přesměrování)</span>"),0!=(16&n.conn)&&h.push("<span>MQTT</span>"),l+=addDeviceAttribute("Konektivita",h.join(", "))}var f="<i>Nic</i>";if(null!=n.tags)for(var g in f="",n.tags)f+='<span style="background-color:lightgray;padding:3px;margin-right:4px;border-radius:5px">'+n.tags[g]+"</span>";l+=addDeviceAttribute("Tagy",0!=(4&i)?"<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>"+f+"</span>":f),l+="</table><br />",0!=(76&i)&&(l+="<input type=button value=Actions onclick=deviceActionFunction() />"),QH("p10html",l),setupFiles(),l="<div style=float:right;font-size:x-small;margin-right:10px>",0!=(4&i)&&(l+='<a style=cursor:pointer onclick=p10showDeleteNodeDialog("'+n._id+'")>Smazat zařízení</a>'),l+="</div><div style=font-size:x-small>",l+="</div><br>",QH("p10html3",l);var k=PowerStateStr(n.state);0!=(1&v)&&(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Mesh Agent</span>"),0!=(2&v)?(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Intel&reg; AMT připojeno</span>"):0!=(4&v)&&(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Intel&reg; AMT detekováno</span>"),0!=(16&v)&&(0<k.length&&(k+="<br/>"),k+="<span style=font-size:12px>MQTT kanál připojen</span>"),QH("MainComputerState",k),QH("MainComputerImage",'<div class="i'+n.icon+'"></div>'),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,"<textarea id=d2devToast style=width:100%;height:80px;resize:none;overflow-y:scroll></textarea>")}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&currentNode.intelamt.sku))||currentNode.agent&&1&currentNode.agent.caps)&&n.push({n:"Desktop",f:"setupDeviceMenu(1)"}),2!=currentDevicePanel&&null!=currentNode&&8&o&&(4294967295==o||0==(1024&o))&&2==currentNode.mtype&&4&currentNode.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í.<br /><br />",o="<select id=d2deviceop style=float:right;width:170px>";0!=(64&e)&&(o+="<option value=100>Probudit</option>"),0!=(8&e)&&(o+="<option value=4>Spánek</option><option value=3>Reset</option><option value=2>Vypnout</option>"),setDialogMode(2,"Akce zařízení",3,deviceActionFunctionEx,t+=addHtmlValue("Operace",o+="</select>"))}}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&&currentNode._id==powerTimelineNode&&powerTimelineUpdate<Date.now()&&(powerTimelineUpdate=null,meshserver.send({action:"powertimeline",nodeid:currentNode._id}))}function drawDeviceTimeline(){var e=null,t=Date.now();currentNode._id==powerTimelineNode&&(e=powerTimeline);var o=new Date;o.setHours(0,0,0,0);(o=new Date(o.getTime()-5184e5)).getTime();var n=[];if(null!=e&&1<e.length){n.push([0,e[1],e[0]]);for(var a=e[1],i=2;i<e.length;i+=2){var s=e[i],l=t;e.length>i+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<y&&(c+="<div style=display:table-cell;width:"+y+"px;background-color:"+powerColor(f[2])+";height:16px></div>")}}r+="<tr style="+(d%2==0?"background-color:#DDD":"")+"><td><div>&nbsp;"+printDate(p)+"<div></div></div></td><td><div>"+c+"</div></td></tr>",++d,p=new Date(p.getTime()-864e5)}QH("p10html2",'<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse;width:calc(100% - 18px);margin:9px" border=0 cellpadding=2 cellspacing=0><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:center;width:90px>Day</th><th scope=col style=text-align:center>Power State</th></tr>'+r+"</tbody></table>")}function powerColor(e){return e<powerColorTable.length?powerColorTable[e]:"yellow"}function isTimeBlockInside(e,t,o,n){return o<e&&t<n||(e<o&&o<t||e<n&&n<t)}function addDeviceAttribute(e,t){return"<tr><td style=width:100px;color:gray>"+e+"</td><td style=overflow:hidden>"+t+"</td></tr>"}function editDeviceAmtSettings(e,t){if(!xxdialogMode){var o="",n=getNodeFromId(e),a=3;0!=(4&getNodeRights(e))&&(o+=addHtmlValue("Uživatel",'<input id=dp10username style=width:170px maxlength=32 autocomplete=nope placeholder="admin" onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />'),o+=addHtmlValue("Heslo","<input id=dp10password type=password style=width:170px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />"),o+=addHtmlValue("Bezpečnost","<select id=dp10tls style=width:176px><option value=0>Žádné TLS</option><option value=1>TLS vyžadováno</option></select>"),null!=n.intelamt.user&&""!=n.intelamt.user&&(a=7),setDialogMode(2,"Upravit Intel&reg; AMT pověření",a,editDeviceAmtSettingsEx,o,{node:n,func:t}),null!=n.intelamt.user&&""!=n.intelamt.user?Q("dp10username").value=n.intelamt.user:Q("dp10username").value="admin",Q("dp10tls").value=n.intelamt.tls,validateDeviceAmtSettings())}}function validateDeviceAmtSettings(){QE("idx_dlgOkButton",passwordcheck(Q("dp10password").value))}function editDeviceAmtSettingsEx(e,t){if(2==e)meshserver.send({action:"changedevice",nodeid:t.node._id,intelamt:{user:"",pass:""}});else{var o=Q("dp10username").value;""==o&&(o="admin");var n=Q("dp10password").value;""==n&&(o=""),meshserver.send({action:"changedevice",nodeid:t.node._id,intelamt:{user:o,pass:n,tls:Q("dp10tls").value}}),t.node.intelamt.user=o,t.node.intelamt.tls=Q("dp10tls").value,t.func&&setTimeout(t.func,300)}}function p10showDeleteNodeDialog(e){xxdialogMode||(setDialogMode(2,"Smazat nod",3,p10showDeleteNodeDialogEx,format("Smazat {0}?",EscapeHtml(currentNode.name))+"<br /><br /><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />Potvrdit",e),p10validateDeleteNodeDialog())}function p10validateDeleteNodeDialog(){QE("idx_dlgOkButton",Q("p10check").checked)}function p10showDeleteNodeDialogEx(e,t){meshserver.send({action:"removedevices",nodeids:[t]})}function p10showiconselector(){if(!xxdialogMode&&0!=(4&meshes[currentNode.meshid].links[userinfo._id].rights)){"<div style=display:inline-block class=i1 onclick=p10setIcon(1)></div>","<div style=display:inline-block class=i2 onclick=p10setIcon(2)></div>","<div style=display:inline-block class=i3 onclick=p10setIcon(3)></div><br>","<div style=display:inline-block class=i4 onclick=p10setIcon(4)></div>","<div style=display:inline-block class=i5 onclick=p10setIcon(5)></div>","<div style=display:inline-block class=i6 onclick=p10setIcon(6)></div></table>",setDialogMode(2,"Výběr ikony",0,null,"<table align=center><td><div style=display:inline-block class=i1 onclick=p10setIcon(1)></div><div style=display:inline-block class=i2 onclick=p10setIcon(2)></div><div style=display:inline-block class=i3 onclick=p10setIcon(3)></div><br><div style=display:inline-block class=i4 onclick=p10setIcon(4)></div><div style=display:inline-block class=i5 onclick=p10setIcon(5)></div><div style=display:inline-block class=i6 onclick=p10setIcon(6)></div></table>"),QV("id_dialogclose",!0)}}function p10setIcon(e){setDialogMode(0),meshserver.send({action:"changedevice",nodeid:currentNode._id,icon:e})}var desktop,desktopNode,showEditNodeValueDialog_modes=["Název zařízení","Hostname","Popis","Tagy"],showEditNodeValueDialog_modes2=["name","host","desc","tags"],showEditNodeValueDialog_modes3=["","","","Skupina1, Skupina2, Skupina3"];function showEditNodeValueDialog(e){if(!xxdialogMode){setDialogMode(2,"Upravit zařízení",3,showEditNodeValueDialogEx,addHtmlValue(showEditNodeValueDialog_modes[e],'<input id=dp10devicevalue style=width:170px maxlength=64 placeholder="'+showEditNodeValueDialog_modes3[e]+'" onchange=p10editdevicevalueValidate('+e+",event) onkeyup=p10editdevicevalueValidate("+e+",event) />"),e);var t=currentNode[showEditNodeValueDialog_modes2[e]];null==t&&(t=""),Array.isArray(t)&&(t=t.join(", ")),Q("dp10devicevalue").value=t,p10editdevicevalueValidate(),Q("dp10devicevalue").focus()}}function showEditNodeValueDialogEx(e,t){var o={action:"changedevice",nodeid:currentNode._id};o[showEditNodeValueDialog_modes2[t]]=Q("dp10devicevalue").value,meshserver.send(o)}function p10editdevicevalueValidate(e,t){var o=1<e||0<Q("dp10devicevalue").value.length;QE("idx_dlgOkButton",o),null!=t&&1==o&&13==t.keyCode&&dialogclose(1)}var desktopsettings={encoding:2,showfocus:!1,showmouse:!0,showcad:!0,quality:40,scaling:1024,framerate:50};function setupDesktop(){desktopNode!=currentNode&&null!=desktop&&(desktop.Stop(),desktop=desktopNode=null),desktopNode==currentNode&&null!=desktop||(QH("DeskParent",'<canvas id=Desk width=640 height=200 style="width:100%;-ms-touch-action:none;margin-left:0px" oncontextmenu="return false" onmousedown=dmousedown(event) onmouseup=dmouseup(event) onmousemove=dmousemove(event)></canvas>'),desktopNode=currentNode,Q("Desk").addEventListener("DOMMouseScroll",function(e){return dmousewheel(e)}),Q("Desk").addEventListener("mousewheel",function(e){return dmousewheel(e)})),desktopNode=currentNode,updateDesktopButtons(),Q("Desk").toBlob||QV("deskSaveBtn",!1)}function updateDesktopButtons(){var e=meshes[currentNode.meshid],t=0;null!=desktop&&(t=desktop.State);var o=e.links[userinfo._id].rights;QV("disconnectbutton1",0!=t),QV("connectbutton1",0==t&&2==e.mtype&&(8&o||256&o)),QV("connectbutton1h",0==t&&8&o&&(1==e.mtype||null!=currentNode.intelamt&&2==currentNode.intelamt.state&&null!=currentNode.intelamt.ver&&"number"==typeof currentNode.intelamt.sku&&0!=(8&currentNode.intelamt.sku))),QV("d7amtkvm",!(null==currentNode.intelamt||null==currentNode.intelamt.ver&&1!=e.mtype||0!=t&&2!=desktop.contype)),QV("d7meshkvm",2==e.mtype&&(0==t||1==desktop.contype));var n=0!=(1&currentNode.conn);QE("connectbutton1",n);var a=0!=(6&currentNode.conn);QE("connectbutton1h",a),QV("DeskToastButton",0!=(16384&o)&&currentNode.agent&&currentNode.agent.id<5&&8&o),QV("deskActionsBtn",8&o),Q("DeskControl").checked=0!=(8&o),0==n&&QV("DeskTools",!1)}function connectDesktop(e,t){if(setSessionActivity(),null==desktop)if(desktopNode=currentNode,2==t){if(null==desktopNode.intelamt.user||""==desktopNode.intelamt.user)return void editDeviceAmtSettings(desktopNode._id,connectDesktop);(desktop=CreateAmtRedirect(CreateAmtRemoteDesktop("Desk"),authCookie)).debugmode=debugmode,desktop.onStateChanged=onDesktopStateChange,desktop.m.bpp=1==desktopsettings.encoding||3==desktopsettings.encoding?1:2,desktop.m.useZRLE=desktopsettings.encoding<3,desktop.m.showmouse=desktopsettings.showmouse,desktop.m.onScreenSizeChange=deskAdjust,desktop.Start(desktopNode._id,16994,"*","*",0),desktop.contype=2}else(desktop=CreateAgentRedirect(meshserver,CreateAgentRemoteDesktop("Desk"),serverPublicNamePort,authCookie,authRelayCookie,domainUrl)).debugmode=debugmode,desktop.m.debugmode=debugmode,desktop.attemptWebRTC=attemptWebRTC,desktop.onStateChanged=onDesktopStateChange,desktop.m.CompressionLevel=desktopsettings.quality,desktop.m.ScalingLevel=desktopsettings.scaling,desktop.m.FrameRateTimer=desktopsettings.framerate,desktop.m.onDisplayinfo=deskDisplayInfo,desktop.m.onScreenSizeChange=deskAdjust,desktop.Start(desktopNode._id),desktop.contype=1;else desktop.Stop(),desktopNode=desktop=null}function onDesktopStateChange(e,t){var o=t;3==o&&2==e.contype&&o++;var n=StatusStrs[o];switch(null!=desktop&&1==desktop.webRtcActive&&(n+=", WebRTC"),QH("deskstatus",n),t){case 0:desktop.Stop(),desktopNode=desktop=null,QV("termdisplays",!1),1==fullscreen&&deskToggleFull()}updateDesktopButtons(),deskAdjust(),setTimeout(deskAdjust,50)}function showDesktopSettings(){xxdialogMode||(applyDesktopSettings(),updateDesktopButtons(),setDialogMode(7,"Nastavení vzdálené plochy",3,showDesktopSettingsChanged))}function showDesktopSettingsChanged(){desktopsettings.encoding=d7desktopmode.value,desktopsettings.showfocus=d7showfocus.checked,desktopsettings.showmouse=d7showcursor.checked,desktopsettings.quality=d7bitmapquality.value,desktopsettings.scaling=d7bitmapscaling.value,desktopsettings.framerate=d7framelimiter.value,localStorage.setItem("desktopsettings",JSON.stringify(desktopsettings)),applyDesktopSettings(),desktop&&(1==desktop.contype&&0!=desktop.State&&desktop.m.SendCompressionLevel(1,desktopsettings.quality,desktopsettings.scaling,desktopsettings.framerate),2==desktop.contype&&0!=desktop.State&&(desktop.Stop(),setTimeout(function(){connectDesktop(null,2)},50)))}function applyDesktopSettings(){var e="",t=512&features?[90,70,50,40,30,20,10,5,1]:[50,40,30,20,10,5,1];for(var o in t)e+="<option value="+t[o]+">"+t[o]+"%</option>";QH("d7bitmapquality",e),d7desktopmode.value=desktopsettings.encoding,d7showfocus.checked=desktopsettings.showfocus,d7showcursor.checked=desktopsettings.showmouse,d7bitmapquality.value=40,0<=t.indexOf(parseInt(desktopsettings.quality))&&(d7bitmapquality.value=desktopsettings.quality),d7bitmapscaling.value=desktopsettings.scaling,desktopsettings.framerate&&(d7framelimiter.value=desktopsettings.framerate)}var fullscreen=!1;function deskAdjust(){var e=(Q("DeskParent").clientHeight-Q("Desk").clientHeight)/2;if(e<0){var t=Q("DeskParent").clientHeight,o=9999;desktop&&(o=desktop.m.width/desktop.m.height*t),QS("Desk")["max-height"]=t+"px",QS("Desk")["max-width"]=o+"px",e=0}else QS("Desk")["max-height"]=null,QS("Desk")["max-width"]=null;QS("Desk")["margin-top"]=e+"px",QS("Desk")["margin-bottom"]=e+"px"}function deskSendKeys(){if(!xxdialogMode&&null!=desktop&&3==desktop.State){var e=Q("deskkeys").value;0==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[65364,1],[65364,0],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,40],[desktop.m.KeyAction.UP,40],[desktop.m.KeyAction.EXUP,91]]):1==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[65362,1],[65362,0],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,38],[desktop.m.KeyAction.UP,38],[desktop.m.KeyAction.EXUP,91]]):2==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[108,1],[108,0],[65511,0]]):desktop.sendCtrlMsg('{"action":"lock"}'):3==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[109,1],[109,0],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,77],[desktop.m.KeyAction.UP,77],[desktop.m.KeyAction.EXUP,91]]):4==e?2==desktop.contype?desktop.m.sendkey([[65505,1],[65511,1],[109,1],[109,0],[65511,0],[65505,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN,16],[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,77],[desktop.m.KeyAction.UP,77],[desktop.m.KeyAction.EXUP,91],[desktop.m.KeyAction.UP,16]]):5==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.EXUP,91]]):6==e?2==desktop.contype?desktop.m.sendkey([[65511,1],[114,1],[114,0],[65511,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,91],[desktop.m.KeyAction.DOWN,82],[desktop.m.KeyAction.UP,82],[desktop.m.KeyAction.EXUP,91]]):7==e?2==desktop.contype?desktop.m.sendkey([[65513,1],[65473,1],[65473,0],[65513,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,18],[desktop.m.KeyAction.DOWN,115],[desktop.m.KeyAction.UP,115],[desktop.m.KeyAction.EXUP,18]]):8==e?2==desktop.contype?desktop.m.sendkey([[65507,1],[119,1],[119,0],[65507,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,17],[desktop.m.KeyAction.DOWN,87],[desktop.m.KeyAction.UP,87],[desktop.m.KeyAction.EXUP,17]]):9==e?2==desktop.contype?desktop.m.sendkey([[65513,1],[65289,1],[65289,0],[65513,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.EXDOWN,18],[desktop.m.KeyAction.DOWN,9],[desktop.m.KeyAction.UP,9],[desktop.m.KeyAction.EXUP,18]]):10==e?desktop.m.sendcad():11==e&&(2==desktop.contype?desktop.m.sendkey([[65289,1],[65289,0]]):desktop.m.SendKeyMsgKC([[desktop.m.KeyAction.DOWN,9],[desktop.m.KeyAction.UP,9]]))}}function sendSpecialKeys(){xxdialogMode||null==desktop||3!=desktop.State||setDialogMode(3,"Speciální klíče",3,deskSendKeys)}function toggleSoftKeys(e){QV("DeskSoftInput",1==e),1==e&&Q("DeskSoftInput").focus()}function toggleDeskTools(){setSessionActivity(),xxdialogMode||("none"==QS("DeskTools").display?(QV("DeskTools",!0),Q("DeskTools").nodeid=currentNode._id,refreshDeskTools()):QV("DeskTools",!1))}function refreshDeskTools(){setSessionActivity(),QV("DeskToolsRefreshButton",!1),setTimeout(refreshDeskToolsEx,500),meshserver.send({action:"msg",type:"ps",nodeid:currentNode._id})}function refreshDeskToolsEx(){QV("DeskToolsRefreshButton",!0)}var filesNode,deskTools={sort:1,msg:null};function sortProcess(e){deskTools.sort=e,showDeskToolsProcesses(deskTools.msg)}function sortProcessPid(e,t){return e.p>t.p?1:e.p<t.p?-1:0}function sortProcessName(e,t){return e.d>t.d?1:e.d<t.d?-1:0}function showDeskToolsProcesses(e){if(null!=(deskTools.msg=e)){if(Q("DeskTools").nodeid==e.nodeid){var t=[],o=null;try{o=JSON.parse(e.value)}catch(e){}if(console.log(o),null!=o){for(var n in o)t.push({p:parseInt(n),c:o[n].cmd,d:o[n].cmd.toLowerCase(),u:o[n].user});0==deskTools.sort?t.sort(sortProcessPid):1==deskTools.sort&&t.sort(sortProcessName);var a="";for(var i in t)0!=t[i].p&&(a+="<div class=deskToolsBar><div style=width:50px;float:left;text-align:right;padding-right:5px>"+t[i].p+"</div><a style=float:right;padding-right:5px;cursor:pointer onclick=stopProcess("+t[i].p+',"'+t[i].c+'")><img width=10 height=10 src="images/trash.png"></a><div style=float:right;padding-right:5px>'+(t[i].u?t[i].u:"")+"</div><div>"+t[i].c+"</div></div>");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.length){var i="";for(var s in t)i+="<option"+(a==t[s]?" selected":"")+">"+t[s]+"</option>";QH("termdisplays",i)}QV("termdisplays",0<t.length)}function deskGetDisplayNumbers(e){desktop.m.GetDisplayNumbers()}function deskSetDisplay(e){setSessionActivity();var t=0,o=Q("termdisplays").value;t="Všechny displeje"==o?65535:parseInt(o.substring(8)),desktop.m.SetDisplay(t)}function dmousedown(e){setSessionActivity(),xxdialogMode||null==desktop||desktop.m.mousedown(e)}function dmouseup(e){setSessionActivity(),xxdialogMode||null==desktop||desktop.m.mouseup(e)}function dmousemove(e){setSessionActivity(),xxdialogMode||null==desktop||desktop.m.mousemove(e)}function dmousewheel(e){return setSessionActivity(),!(xxdialogMode||null==desktop||!desktop.m.mousewheel)&&(desktop.m.mousewheel(e),haltEvent(e),!0)}function drotate(e){xxdialogMode||null==desktop||(desktop.m.setRotation(desktop.m.rotation+e),deskAdjust(),deskAdjust())}function stopProcess(e,t){return setDialogMode(2,"Správa procesů",3,stopProcessEx,format('Ukončit proces #{0} "{1}"?',e,t),e),!1}function stopProcessEx(e,t){meshserver.send({action:"msg",type:"pskill",nodeid:currentNode._id,value:t}),setTimeout(refreshDeskTools,300)}function setupFiles(){var e=filesNode==currentNode,t=0!=(1&(filesNode=currentNode).conn);QE("p13Connect",t),0!=e&&0!=t||!files||(files.Stop(),files=null)}function onFilesStateChange(e,t){setSessionActivity(),p13Connect.value=0==t?"Připojit":"Odpojit";var o=StatusStrs[t];switch(1==files.webRtcActive&&(o+=", WebRTC"),Q("p13Status").textContent=o,t){case 0:QH("p13files",""),p13filetree=null,p13filetreelocation=[],QH("p13currentpath",""),QE("p13FolderUp",!1),p13setActions(),null!=files&&(files.Stop(),files=null);break;case 3:p13targetpath="",files.sendText({action:"ls",reqid:1,path:""})}}function CreateRemoteFiles(e){var t={protocol:5};return t.onFileUpdate=e,t.xxStateChange=function(e){},t.ProcessData=function(e){t.onFileUpdate(e)},t}var autoConnectFilesTimer=null;function autoConnectFiles(e){autoConnectFilesTimer=null==autoConnectFilesTimer?setInterval(connectFiles,100):(clearInterval(autoConnectFilesTimer),null)}function connectFiles(e){files?(files.Stop(),files=null):((files=CreateAgentRedirect(meshserver,CreateRemoteFiles(p13gotFiles),serverPublicNamePort,authCookie,authRelayCookie,domainUrl)).attemptWebRTC=attemptWebRTC,files.onStateChanged=onFilesStateChange,files.Start(filesNode._id)),p13clipboard=p13clipboardFolder=null,p13clipboardCut=0,p13updateClipview()}var p13sortorder,p13filetree=null,p13targetpath=null,p13filetreelocation=[];function p13gotFiles(e){if(setSessionActivity(),0<e.length&&123!=e.charCodeAt(0))p13gotDownloadBinaryData(e);else if("download"!=(e=JSON.parse(decode_utf8(e))).action)if(e.path=e.path.replace(/\//g,"\\"),null!=p13filetree&&e.path==p13filetree.path){var t=p13getCheckedNames();p13filetree=e,p13updateFiles(t)}else{for(var o=e.path.replace(/\//g,"\\"),n=p13targetpath.replace(/\//g,"\\");0<o.length&&"\\"==o[0];)o=o.substring(1);for(;0<n.length&&"\\"==n[0];)n=n.substring(1);(o==n||"\\"==e.path&&""==p13targetpath)&&(p13filetree=e,p13updateFiles())}else p13gotDownloadCommand(e)}function p13getCheckedNames(){for(var e=[],t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked&&e.push(p13filetree.dir[t[o].value].n);return e}function p13updateFiles(e){var t="",o="",n="<a style=cursor:pointer onclick=p13folderup(0)>Root</a>",a=p13filetree.path.split("\\");for(var i in p13filetreelocation=[],a)""!=a[i]&&p13filetreelocation.push(a[i]);for(var i in p13filetreelocation)n+=" / <a style=cursor:pointer onclick=p13folderup("+(parseInt(i)+1)+")>"+p13filetreelocation[i]+"</a>";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="<div class=filelist file=999><input file=999 style=float:left name=fd class=fcb type=checkbox onchange=p13setActions() value='"+d.nx+"'>&nbsp;<span style=float:right></span><span><div class=fileIcon"+d.t+'></div><a style=cursor:pointer onclick=p13folderset("'+encodeURIComponent(d.nx)+'")>'+r+"</a></span></div>"}else{var m=r;0<d.s&&(m='<a rel="noreferrer noopener" target="_blank" style=cursor:pointer onclick="p13downloadfile(\''+encodeURIComponent(s+"/"+p)+"','"+encodeURIComponent(p)+"',"+d.s+')">'+r+"</a>"),c="<div class=filelist file=3><input file=3 style=float:left name=fd class=fcb type=checkbox onchange=p13setActions() value='"+d.nx+"'>&nbsp;<span style=float:right;padding-right:4px>"+u+"</span><span><div class=fileIcon"+d.t+"></div>"+m+"</span></div>"}d.t<3?t+=c:o+=c}if(QH("p13files",t+o),QH("p13currentpath",n),QE("p13FolderUp",0!=p13filetreelocation.length),null!=e){var v=document.getElementsByName("fd");for(i=0;i<v.length;i++)0<=e.indexOf(p13filetree.dir[v[i].value].n)&&(v[i].checked=!0)}p13setActions()}function p13folderset(e){p13targetpath=joinPaths(p13filetree.path,p13filetree.dir[e].n).split("\\").join("/"),files.sendText({action:"ls",reqid:1,path:p13targetpath})}function p13folderup(e){if(null==e)p13filetreelocation.pop();else for(;p13filetreelocation.length>e;)p13filetreelocation.pop();p13targetpath=p13filetreelocation.join("/"),files.sendText({action:"ls",reqid:1,path:p13targetpath})}function p13sort_filename(e,t){return e.ln>t.ln?1*p13sortorder:e.ln<t.ln?-1*p13sortorder:0}function p13sort_timestamp(e,t){return e.d>t.d?1*p13sortorder:e.d<t.d?-1*p13sortorder:0}function p13sort_bysize(e,t){return e.s==t.s?p13sort_filename(e,t):(e.s-t.s)*p13sortorder}function p13sort_files(e){var t=[],o=Q("p13sortdropdown").value;for(var n in e)e[n].nx=n,null==e[n].s&&(e[n].s=0),null==e[n].n&&(e[n].n=n),e[n].ln=e[n].n.toLowerCase(),t.push(e[n]);return p13sortorder=1,3<o&&(p13sortorder=-1,o-=3),1==o?t.sort(p13sort_filename):2==o?t.sort(p13sort_bysize):3==o&&t.sort(p13sort_timestamp),t}function p13setActions(){if(null==p13filetree)QE("p13DeleteFileButton",!1),QE("p13NewFolderButton",!1),QE("p13UploadButton",!1),QE("p13RenameFileButton",!1),QE("p13SelectAllButton",!1),Q("p13SelectAllButton").value="Vše",QE("p13RefreshButton",!1),QE("p13CutButton",!1),QE("p13CopyButton",!1),QE("p13PasteButton",!1);else{var e=p13getFileSelCount(),t=p13getFileCount(),o=p13getFileSelCount(!1),n=0<currentNode.agent.id&&currentNode.agent.id<5;QE("p13DeleteFileButton",0<e&&(0<p13filetreelocation.length||0==n)),QE("p13NewFolderButton",0<p13filetreelocation.length||0==n),QE("p13UploadButton",0<p13filetreelocation.length||0==n),QE("p13RenameFileButton",1==e&&(0<p13filetreelocation.length||0==n)),QE("p13SelectAllButton",0<t),Q("p13SelectAllButton").value=0<e?"Nic":"Vše",QE("p13RefreshButton",!0),QE("p13CutButton",0<e&&e==o&&(0<p13filetreelocation.length||0==n)),QE("p13CopyButton",0<e&&e==o&&(0<p13filetreelocation.length||0==n)),QE("p13PasteButton",(0<p13filetreelocation.length||0==n)&&null!=p13clipboard&&0<p13clipboard.length)}}function p13getFileSelCount(e){for(var t=0,o=document.getElementsByName("fd"),n=0;n<o.length;n++)!o[n].checked||0==e&&"3"!=o[n].attributes.file.value||t++;return t}function p13getFileSelDirCount(){for(var e=0,t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked&&"999"==t[o].attributes.file.value&&e++;return e}function p13getFileCount(){return document.getElementsByName("fd").length}function p13selectallfile(){for(var e=0==p13getFileSelCount(),t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked=e;p13setActions()}function p13createfolder(){setDialogMode(2,"Nový adresář",3,p13createfolderEx,"<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />"),focusTextBox("p13renameinput"),p13fileNameCheck()}function p13createfolderEx(){files.sendText({action:"mkdir",reqid:1,path:p13filetreelocation.join("/")+"/"+Q("p13renameinput").value}),p13folderup(999)}function p13deletefile(){var e=p13getFileSelCount(),t=0<p13getFileSelDirCount()?"<br /><br /><label><input type=checkbox id=p13recdeleteinput>Rekurzivní mazání</label><br>":"<input type=checkbox id=p13recdeleteinput style='display:none'>";setDialogMode(2,"Smazat",3,p13deletefileEx,1<e?format("Smazat {0} vybrané prvky?",e)+t:"Smazat vybraný prvek?"+t)}function p13deletefileEx(){for(var e=[],t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked&&e.push(p13filetree.dir[t[o].value].n);files.sendText({action:"rm",reqid:1,path:p13filetreelocation.join("/"),delfiles:e,rec:Q("p13recdeleteinput").checked}),p13folderup(999)}function p13renamefile(){for(var e,t=document.getElementsByName("fd"),o=0;o<t.length;o++)t[o].checked&&(e=p13filetree.dir[t[o].value].n);setDialogMode(2,"Přejmenovat",3,p13renamefileEx,'<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% value="'+e+'" />',{action:"rename",path:p13filetreelocation.join("/"),oldname:e}),focusTextBox("p13renameinput"),p13fileNameCheck()}function p13renamefileEx(e,t){t.newname=Q("p13renameinput").value,files.sendText(t),p13folderup(999)}function p13fileNameCheck(e){var t=isFilenameValid(Q("p13renameinput").value);QE("idx_dlgOkButton",t),1==t&&null!=e&&13==e.keyCode&&dialogclose(1)}function p13uploadFile(){setDialogMode(2,"Nahrát soubor",3,p13uploadFileEx,"<input type=file name=files id=p13uploadinput style=width:100% multiple=multiple onchange=\"updateUploadDialogOk('p13uploadinput')\" />"),updateUploadDialogOk("p13uploadinput")}function p13uploadFileEx(){p13doUploadFiles(Q("p13uploadinput").files)}function p13viewfile(){for(var e=document.getElementsByName("fd"),t=0;t<e.length;t++)if(e[t].checked){p13filetree.dir[e[t].value].s<=204800?p13downloadfile(encodeURIComponent(p13filetreelocation.join("/")+"/"+p13filetree.dir[e[t].value].n),encodeURIComponent(p13filetree.dir[e[t].value].n),p13filetree.dir[e[t].value].s,"viewer"):messagebox("Editor souborů","Jen soubory menší než 200k mohou být editovány.");break}}var downloadFile,uploadFile,currentMesh,p13clipboard=null,p13clipboardFolder=null,p13clipboardCut=0;function p13copyFile(e){var t=document.getElementsByName("fd");p13clipboard=[],p13clipboardCut=e,p13clipboardFolder=p13targetpath;for(var o=0;o<t.length;o++)t[o].checked&&"3"==t[o].attributes.file.value&&p13clipboard.push(p13filetree.dir[t[o].value].n);p13updateClipview()}function p13pasteFile(){var e="";null!=p13clipboard&&0<p13clipboard.length&&(e=0==p13clipboardCut?1<p13clipboard.length?format("Potvrdit kopírování {0} zaznámů do tohoto umístění?",p13clipboard.length):format("Potvrdit kopírování jednoho záznamu do tohoto umístění?"):1<p13clipboard.length?format("Potvrdit přesun {0} záznamů do tohoto umístění?",p13clipboard.length):format("Potvrdit přesun jednoho záznamu do tohoto umístění?")),setDialogMode(2,"Vložit",3,p13pasteFileEx,e)}function p13pasteFileEx(){files.sendText({action:0==p13clipboardCut?"copy":"move",reqid:1,scpath:p13clipboardFolder,dspath:p13targetpath,names:p13clipboard}),p13folderup(999),1==p13clipboardCut&&(p13clipboardFolder=p13clipboard=null,p13clipboardCut=0,p13updateClipview())}function p13updateClipview(){var e="";null!=p13clipboard&&0<p13clipboard.length&&(e=0==p13clipboardCut?1<p13clipboard.length?format('Držím {0} záznamů pro kopii, <a href=# onclick="return p13clearClip()" style=cursor:pointer>Vymazat</a>.',p13clipboard.length):format('Držím jeden záznam pro kopii, <a href=# onclick="return p13clearClip()" style=cursor:pointer>Vymazat</a>.'):1<p13clipboard.length?format('Držím {0} zaznamů pro přesun, <a href=# onclick="return p13clearClip()" style=cursor:pointer>Vymazat</a>.',p13clipboard.length):format('Držím jeden záznam pro přesun, <a href=# onclick="return p13clearClip()" style=cursor:pointer>Vymazat</a>.')),QH("p13bottomstatus",e),p13setActions()}function p13clearClip(){return p13clipboardFolder=p13clipboard=null,p13clipboardCut=0,p13updateClipview(),!1}function updateUploadDialogOk(e){QE("idx_dlgOkButton",""!=Q(e).value)}function getFileSelCount(e){for(var t=0,o=document.getElementsByName("fc"),n=0;n<o.length;n++)!o[n].checked||0==e&&"3"!=o[n].attributes.file.value||t++;return t}function getFileCount(){return document.getElementsByName("fc").length}function p13downloadfile(e,t,o){xxdialogMode||downloadFile||!files||(downloadFile={path:decodeURIComponent(e),file:decodeURIComponent(t),size:o,tsize:0,data:"",state:0,id:Math.random()},files.sendText({action:"download",sub:"start",id:downloadFile.id,path:downloadFile.path}),setDialogMode(2,"Stáhnout soubor",10,p13downloadFileCancel,"<div>"+downloadFile.file+"</div><br /><progress id=d2progressBar style=width:100% value=0 max="+o+" />"))}function p13downloadFileCancel(){setDialogMode(0),files.sendText({action:"download",sub:"cancel",id:downloadFile.id}),downloadFile=null}function p13gotDownloadCommand(e){null!=downloadFile&&e.id==downloadFile.id&&("start"==e.sub?(downloadFile.state=1,files.sendText({action:"download",sub:"startack",id:downloadFile.id})):"cancel"==e.sub&&(downloadFile=null,setDialogMode(0)))}function p13gotDownloadBinaryData(e){downloadFile&&0!=downloadFile.state&&(4<e.length&&(downloadFile.tsize+=e.length-4,downloadFile.data+=e.substring(4),Q("d2progressBar").value=downloadFile.tsize),0!=(1&ReadInt(e,0))?(saveAs(data2blob(downloadFile.data),downloadFile.file),downloadFile=null,setDialogMode(0)):files.sendText({action:"download",sub:"ack",id:downloadFile.id}))}function p13doUploadFiles(e){xxdialogMode||((uploadFile={}).xpath=p13filetreelocation.join("/"),uploadFile.xfiles=e,uploadFile.xfilePtr=-1,setDialogMode(2,"Nahrát soubor",10,p13uploadFileCancel,"<div id=p13dfileName>Připojování...</div><br /><progress id=d2progressBar style=width:100% value=0 max=0 />"),p13uploadReconnect())}function onFileUploadStateChange(e,t){switch(t){case 0:p13folderup(9999);break;case 3:p13uploadNextFile();break;default:console.log("Unknown onFileUploadStateChange state",t)}}function p13uploadReconnect(){uploadFile.ws=CreateAgentRedirect(meshserver,CreateRemoteFiles(p13gotUploadData),serverPublicNamePort,authCookie,authRelayCookie,domainUrl),uploadFile.ws.attemptWebRTC=!1,uploadFile.ws.ctrlMsgAllowed=!1,uploadFile.ws.onStateChanged=onFileUploadStateChange,uploadFile.ws.Start(filesNode._id)}function p13uploadNextFile(){if(uploadFile.xfilePtr++,uploadFile.xfiles.length>uploadFile.xfilePtr){uploadFile.xptr=0;var e=uploadFile.xfiles[uploadFile.xfilePtr];QH("p13dfileName",e.name),Q("d2progressBar").max=e.size,Q("d2progressBar").value=0,uploadFile.xreader=new FileReader,uploadFile.xreader.onload=function(){uploadFile.xdata=uploadFile.xreader.result,uploadFile.ws.sendText({action:"upload",reqid:uploadFile.xfilePtr,path:uploadFile.xpath,name:e.name,size:uploadFile.xdata.byteLength})},uploadFile.xreader.readAsArrayBuffer(e)}else p13uploadFileCancel()}function p13uploadFileCancel(e,t){null!=uploadFile&&(null!=uploadFile.ws&&(uploadFile.ws.Stop(),uploadFile.ws=null),uploadFile=null),setDialogMode(0)}function p13gotUploadData(e){var t=JSON.parse(e);if(null!=uploadFile&&parseInt(uploadFile.xfilePtr)==parseInt(t.reqid))if("uploadstart"==t.action){p13uploadNextPart(!1);for(var o=0;o<8;o++)p13uploadNextPart(!0)}else"uploadack"==t.action?p13uploadNextPart(!1):"uploaderror"==t.action&&p13uploadFileCancel()}function p13uploadNextPart(e){var t=uploadFile.xdata,o=uploadFile.xptr,n=uploadFile.xptr+4096;if(n>t.byteLength){if(1==e)return;n=t.byteLength}if(o==t.byteLength)null!=uploadFile.ws&&(uploadFile.ws.Stop(),uploadFile.ws=null),uploadFile.xfiles.length>uploadFile.xfilePtr+1?p13uploadReconnect():p13uploadFileCancel();else{var a=t.slice(o,n);uploadFile.ws.send(a),uploadFile.xptr=n,Q("d2progressBar").value=n}}function p20updateMesh(){if(null!=currentMesh){QH("p20meshName",EscapeHtml(currentMesh.name));var e=format("Neznámý #{0}",currentMesh.mtype),t=currentMesh.links[userinfo._id].rights;1==currentMesh.mtype&&(e="Intel&reg; AMT pouze, bez agenta"),2==currentMesh.mtype&&(e="Spravovat pomocí softwarového aenta");var o="";o+=addHtmlValue("Jméno",addLinkConditional(EscapeHtml(currentMesh.name),"p20editmesh(1)",0!=(1&t))),o+=addHtmlValue("Popis",addLinkConditional(currentMesh.desc&&""!=currentMesh.desc?EscapeHtml(currentMesh.desc):"<i>Nic</i>","p20editmesh(2)",0!=(1&t))),o+=addHtmlValue("Typ",e),o+="<br style=clear:both><br>";var n=currentMesh.links[userinfo._id];n&&0!=(2&n.rights)&&(o+="<div style=margin-bottom:6px><a onclick=p20showAddMeshUserDialog() style=cursor:pointer><img src=images/icon-addnew.png border=0 height=12 width=12> Přidat uživatele</a></div>"),o+='<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>Uživatelská oprávnění</th></tr>';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<t.name?-1:0}),i){var l="",r="Částečné práva",d=i[s].rights;4294967295==d?r="Hlavní administrátor":0==d&&(r="Žádná práva"),s==userinfo._id||4294967295!=t&&0==(2&t)||(l='<a onclick=p20deleteUser(event,"'+encodeURIComponent(i[s].id)+'") style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'),o+='<tr onclick=p20viewuser("'+encodeURIComponent(i[s].id)+'") style=height:32px;cursor:pointer'+(a%2==0?";background-color:#DDD":"")+"><td>",o+="<div style=float:right>"+l+"</div><div style=float:right;padding-right:4px>"+r+"</div><div class=m2></div><div>&nbsp;"+EscapeHtml(decodeURIComponent(i[s].name))+"<div></div></div>",o+="</td></tr>",++a}o+="</tbody></table>",4294967295==t&&(o+="<div style=font-size:small;text-align:right;margin-top:6px><span><a onclick=p20showDeleteMeshDialog() style=cursor:pointer>Smazat skupinu</a></span></div>"),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))+"<br /><br />";return setDialogMode(2,"Smazat skupinu",3,p20showDeleteMeshDialogEx,e+="<label><input id=p20check type=checkbox onchange=p20validateDeleteMeshDialog() />Potvrdit</label>"),p20validateDeleteMeshDialog(),!1}function p20validateDeleteMeshDialog(){QE("idx_dlgOkButton",Q("p20check").checked)}function p20showDeleteMeshDialogEx(e,t){meshserver.send({action:"deletemesh",meshid:currentMesh._id,meshname:currentMesh.name})}function p20editmesh(e){if(!xxdialogMode){var t=addHtmlValue("Jméno","<input id=dp20meshname style=width:170px maxlength=32 onchange=p20editmeshValidate() onkeyup=p20editmeshValidate() />");setDialogMode(2,"Upravit skupinu zařízení",3,p20editmeshEx,t+=addHtmlValue("Popis","<input id=dp20meshdesc style=width:170px maxlength=1024 onkeyup=p20editmeshValidate() />")),Q("dp20meshname").value=currentMesh.name,currentMesh.desc&&(Q("dp20meshdesc").value=currentMesh.desc),p20editmeshValidate(),2==e?Q("dp20meshdesc").focus():Q("dp20meshname").focus()}}function p20editmeshEx(){meshserver.send({action:"editmesh",meshid:currentMesh._id,meshname:Q("dp20meshname").value,desc:Q("dp20meshdesc").value})}function p20editmeshValidate(){QE("idx_dlgOkButton",0<Q("dp20meshname").value.length)}function p20showAddMeshUserDialog(){if(!xxdialogMode){var e=addHtmlValue("User","<input id=dp20username style=width:170px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() />");e+='<div style="border:2px groove gray;background-color:white;max-height:120px;overflow-y:scroll">',e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>Hlavní administrátor</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>Upravit skupinu zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>Spravovat uživatele pro skupinu zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>Správa skupin zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>Vzdálené ovládání</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>Pouze vzdálené prohlížení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>Pouze omezené vstupy</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>Žádný přístup k terminálu</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20nofiles style=margin-left:12px>Žádný přístup k souborům</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>Žádné Intel&reg; AMT</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshagentconsole>Konzole agenta</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshserverfiles>Soubory serveru</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20wakedevices>Probudit zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editnotes>Upravit popis zařízení</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20limitevents>Zobrazit pouze vlastní události</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20chatnotify>Chat & Upozornění</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20uninstall>Odinstalovat agenta</label><br>",setDialogMode(2,"Přidat uživatele do skupiny",3,p20showAddMeshUserDialogEx,e+="</div>"),p20validateAddMeshUserDialog(),Q("dp20username").focus()}}function p20validateAddMeshUserDialog(){var e=currentMesh.links[userinfo._id].rights,t=!Q("p20fulladmin").checked;QE("p20fulladmin",4294967295==e),QE("p20editmesh",t&&4294967295==e),QE("p20manageusers",t),QE("p20managecomputers",t),QE("p20remotecontrol",t),QE("p20meshagentconsole",t),QE("p20meshserverfiles",t),QE("p20wakedevices",t),QE("p20editnotes",t),QE("p20limitevents",t),QE("p20remoteview",t&&Q("p20remotecontrol").checked),QE("p20remotelimitedinput",t&&Q("p20remotecontrol").checked&&!Q("p20remoteview").checked),QE("p20noterminal",t&&Q("p20remotecontrol").checked),QE("p20nofiles",t&&Q("p20remotecontrol").checked),QE("p20noamt",t&&Q("p20remotecontrol").checked),QE("p20chatnotify",t),QE("p20uninstall",t)}function p20showAddMeshUserDialogEx(){var e=0;1==Q("p20fulladmin").checked?e=4294967295:(1==Q("p20editmesh").checked&&(e+=1),1==Q("p20manageusers").checked&&(e+=2),1==Q("p20managecomputers").checked&&(e+=4),1==Q("p20remotecontrol").checked&&(e+=8),1==Q("p20meshagentconsole").checked&&(e+=16),1==Q("p20meshserverfiles").checked&&(e+=32),1==Q("p20wakedevices").checked&&(e+=64),1==Q("p20editnotes").checked&&(e+=128),1==Q("p20remoteview").checked&&(e+=256),1==Q("p20noterminal").checked&&(e+=512),1==Q("p20nofiles").checked&&(e+=1024),1==Q("p20noamt").checked&&(e+=2048),1==Q("p20remotelimitedinput").checked&&(e+=4096),1==Q("p20limitevents").checked&&(e+=8192),1==Q("p20chatnotify").checked&&(e+=16384),1==Q("p20uninstall").checked&&(e+=32768));var t=Q("dp20username").value.split(","),o=[];for(var n in t)o.push(t[n].trim());meshserver.send({action:"addmeshuser",meshid:currentMesh._id,meshname:currentMesh.name,usernames:o,meshadmin:e})}function p20viewuser(e){if(!xxdialogMode){e=decodeURIComponent(e);var t=[],o=currentMesh.links[userinfo._id].rights,n=currentMesh.links[e].rights;4294967295==n?t.push("Hlavní administrátor"):(0!=(1&n)&&t.push("Upravit skupinu zařízení"),0!=(2&n)&&t.push("Spravovat uživatele pro skupinu zařízení"),0!=(4&n)&&t.push("Správa skupin zařízení"),0!=(8&n)&&t.push("Vzdálené ovládání"),0!=(16&n)&&t.push("Konzole agenta"),0!=(32&n)&&t.push("Soubory serveru"),0!=(64&n)&&t.push("Probudit zařízení"),0!=(128&n)&&t.push("Upravit poznámky"),0!=(256&n)&&t.push("Pouze vzdálené prohlížení"),0!=(512&n)&&t.push("Žádný terminál"),0!=(1024&n)&&t.push("Žádné soubory"),0!=(2048&n)&&t.push("Žádné Intel&reg; AMT"),0!=(8&n)&&0!=(4096&n)&&0==(256&n)&&t.push("Omezené vstupy"),0!=(8192&n)&&t.push("Pouze vlastní události"),0!=(16384&n)&&t.push("Chat & Upozornění"),0!=(32768&n)&&t.push("Odinstalace")),0==t.length&&t.push("Žádná práva");var a=1,i=addHtmlValue("Uživatel",EscapeHtml(decodeURIComponent(e.split("/")[2])));i+=addHtmlValue("Práva",t.join(", ")),userinfo._id!=e&&(4294967295==o||0!=(2&o)&&4294967295!=n)&&(a+=4),setDialogMode(2,"Uživatelé této skupiny zařízení",a,p20viewuserEx,i,e)}}function p20viewuserEx(e,t){2==e&&setDialogMode(2,"Vzdálený uživatel",3,p20viewuserEx2,format("Potvrdit odstranění uživatele {0}?",t.split("/")[2]),t)}function p20deleteUser(e,t){haltEvent(e),p20viewuserEx(2,decodeURIComponent(t))}function p20viewuserEx2(e,t){meshserver.send({action:"removemeshuser",meshid:currentMesh._id,meshname:currentMesh.name,userid:t})}var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,xxcurrentView=-1;function go(e){if(setSessionActivity(),!xxdialogMode&&xxcurrentView!=e){updateFooterMenu(),setDialogMode(0);for(var t=0;t<32;t++)QV("p"+t,t==e);xxcurrentView=e}}function setDialogMode(e,t,o,n,a,i){setSessionActivity(),xxdialogMode=e,xxdialogFunc=n,xxdialogButtons=o,xxdialogTag=i,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&o),QV("idx_dlgCancelButton",2&o),QV("id_dialogclose",2&o||8&o),QV("idx_dlgButtonBar",7&o),t&&QH("id_dialogtitle",t);for(var s=1;s<24;s++)QV("dialog"+s,s==e);QV("dialog",e),a&&(2==e?QH("id_dialogOptions",a):QH("id_dialogMessage",a))}function dialogclose(e){setSessionActivity();var t=xxdialogFunc,o=xxdialogButtons,n=xxdialogTag;setDialogMode(),(8&o||e)&&t&&t(e,n)}function putstore(e,t){try{if("undefined"==typeof localStorage||localStorage.getItem(e)==t)return;null==t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch(e){}if("_"!=e[0]){for(var o={},n=0,a=localStorage.length;n<a;++n){var i=localStorage.key(n);"_"!=i[0]&&(o[i]=localStorage.getItem(i))}meshserver.send({action:"userWebState",state:JSON.stringify(o)})}}function getstore(e,t){try{if("undefined"==typeof localStorage)return t;var o=localStorage.getItem(e);return null==o||null==o?t:o}catch(e){return t}}function center(){QS("dialog").left=(getDocWidth()-300)/2+"px",deskAdjust(),deskAdjust()}function messagebox(e,t){QH("id_dialogMessage",t),setDialogMode(1,e,1)}function statusbox(e,t){QH("id_dialogMessage",t),setDialogMode(1,e)}function getDocWidth(){return window.innerWidth?window.innerWidth:document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement.clientWidth:document.getElementsByTagName("body")[0].clientWidth}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function haltReturn(e){13==e.keyCode&&haltEvent(e)}function validateEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function reload(){window.location.href=window.location.href}function getNodeFromId(e){for(var t in nodes)if(nodes[t]._id==e)return nodes[t];return null}function addHtmlValue(e,t){return"<table><td style=width:120px>"+e+"<td><b>"+t+"</b></table>"}function addHtmlValue2(e,t){return"<div><div style=display:inline-block;float:right>"+t+"</div><div style=display:inline-block>"+e+"</div></div>"}function addLink(e,t){return"<a style=cursor:pointer;color:darkblue;text-decoration:none onclick='"+t+"'>&diams; "+e+"</a>"}function addLinkConditional(e,t,o){return o?addLink(e,t):e}function passwordcheck(e){return/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()]).{8,}/.test(e)}function getFileSizeStr(e){return 1==e?"1 byte":format("{0} bytes",e)}function joinPaths(){var e=[];for(var t in arguments){var o=arguments[t];if(null!=o&&""!=o){for(;o.endsWith("/")||o.endsWith("\\");)o=o.substring(0,o.length-1);for(;o.startsWith("/")||o.startsWith("\\");)o=o.substring(1);e.push(o)}}return e.join("/")}function focusTextBox(e){setTimeout(function(){Q(e).selectionStart=Q(e).selectionEnd=65535,Q(e).focus()},0)}isFilenameValid=function(){var t=/^[^\\/:\*\?"<>\|]+$/,o=/^\./,n=/^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i;return function(e){return t.test(e)&&!o.test(e)&&!n.test(e)&&"."!=e[0]}}();function parseUriArgs(){var e,t={},o=window.document.location.href.split(/[\?&|\=]/);for(n in o.splice(0,1),o)switch(n%2){case 0:e=decodeURIComponent(o[n]);break;case 1:t[e]=decodeURIComponent(o[n]);var n=parseInt(t[e]);n==t[e]&&(t[e]=n)}return t}function printDate(e){return e.toLocaleDateString(args.locale)}function printTime(e){return e.toLocaleTimeString(args.locale)}function printDateTime(e){return e.toLocaleString(args.locale)}function format(e){var o=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,t){return void 0!==o[t]?o[t]:e})}function nobreak(e){return e.split(" ").join("&nbsp;")}</script>
\ No newline at end of file
views/translations/default-mobile_cs.handlebars
+129 -129
@@ -200,7 +200,7 @@
200 <div id="column_l" style="width:100%;padding:0;position:absolute;bottom:0px;top:0px">
201 <div id="p0" style="display:none;width:100%;height:100%">
202 <div style="display:flex;align-items:center;width:100%;height:100%">
203 - <div id="p0message" style="text-align:center;width:100%"><span id="p0span">Server disconnected</span>, <href onclick="reload()" style="cursor:pointer"><u>klikni pro opětovné připojení</u></href>.</div>
203 + <div id="p0message" style="text-align:center;width:100%"><span id="p0span">Server odpojen</span>, <href onclick="reload()" style="cursor:pointer"><u>klikni pro opětovné připojení</u></href>.</div>
204 </div>
205 </div>
206 <div id="p1" style="display:none;width:100%;height:100%">
@@ -236,7 +236,7 @@
236 <p><strong>Nastavení bezpečnosti</strong></p>
237 <div style="margin-left:9px;margin-bottom:8px">
238 <div id="manageAuthApp" style="margin-top:5px;display:none"><a onclick="account_manageAuthApp()" style="cursor:pointer">Spravovat autentizační aplikace</a></div>
239 - <div id="manageOtp" style="margin-top:5px;display:none"><a onclick="account_manageOtp(0)" style="cursor:pointer">Manage backup codes</a></div>
239 + <div id="manageOtp" style="margin-top:5px;display:none"><a onclick="account_manageOtp(0)" style="cursor:pointer">Spravovat záložní kódy</a></div>
240 </div>
241 <p><strong>Akce účtu</strong></p>
242 <div style="margin-left:9px;margin-bottom:8px">
@@ -251,7 +251,7 @@
251 <span id="p3createMeshLink1">( <a onclick="account_createMesh()" style="cursor:pointer"><img src="images/icon-addnew.png" width="12" height="12" border="0"> Vytvořit</a> )</span>
252 <br><br>
253 <div id="p3meshes"></div>
254 - <div id="p3noMeshFound" style="margin-left:9px;display:none">No device groups.<span id="p3createMeshLink2"> <a onclick="account_createMesh()" style="cursor:pointer"><strong>Get started here!</strong></a></span></div>
254 + <div id="p3noMeshFound" style="margin-left:9px;display:none">Žádná skupina zařízení.<span id="p3createMeshLink2"> <a onclick="account_createMesh()" style="cursor:pointer"><strong>Začněte zde!</strong></a></span></div>
255 <br style="clear:both">
256 </div>
257 </div>
@@ -304,10 +304,10 @@
304 <select id="p5sortdropdown" onchange="updateFiles()">
305 <option value="1" selected="selected">Třídit podle jména</option>
306 <option value="2">Třídit podle velikosti</option>
307 - <option value="3">Sort by date</option>
308 - <option value="4">Descend by name</option>
309 - <option value="5">Descend by size</option>
310 - <option value="6">Descend by date</option>
307 + <option value="3">STřídit podle datumu</option>
308 + <option value="4">Sestupně podle jména</option>
309 + <option value="5">Sestupně podle velikosti</option>
310 + <option value="6">Sestupně podle datumu</option>
311 </select>
312 </td>
313 </tr>
@@ -364,8 +364,8 @@
364 </div>
365 <div style="margin-left:3px">
366 <input type="button" id="connectbutton1" value="Připojit" onclick="connectDesktop(event,1)" onkeypress="return false" onkeydown="return false" disabled="disabled">
367 - <input type="button" id="connectbutton1h" value="HW Connect" onclick="connectDesktop(event,2)" onkeypress="return false" onkeydown="return false" disabled="disabled">
368 - <input type="button" id="disconnectbutton1" value="Disconnect" onclick="connectDesktop(event,0)" onkeypress="return false" onkeydown="return false">
367 + <input type="button" id="connectbutton1h" value="HW připojení" onclick="connectDesktop(event,2)" onkeypress="return false" onkeydown="return false" disabled="disabled">
368 + <input type="button" id="disconnectbutton1" value="Odpojit" onclick="connectDesktop(event,0)" onkeypress="return false" onkeydown="return false">
369 <span id="deskstatus">Odpojeno</span>
370 </div>
371 </div>
@@ -396,7 +396,7 @@
396 <input id="deskActionsBtn" type="button" style="margin-left:3px" onkeypress="return false" onkeydown="return false" value="Akce" onclick="deviceActionFunction()">
397 <input type="button" value="Nastavení" onkeypress="return false" onkeydown="return false" onclick="showDesktopSettings()">
398 <input type="button" onkeypress="return false" onkeydown="return false" value="Akce napájení" onclick="showPowerActionDlg()" style="display:none">
399 - <input id="DeskSpecialKeys" type="button" value="Special Keys" onkeypress="return false" onkeydown="return false" onclick="sendSpecialKeys()">
399 + <input id="DeskSpecialKeys" type="button" value="Speciální klíče" onkeypress="return false" onkeydown="return false" onclick="sendSpecialKeys()">
400 <input id="DeskSoftKeys" type="button" value="Klávesnice" onkeypress="return false" onkeydown="return false" onclick="toggleSoftKeys(1)">
401 <label><span id="DeskControlSpan" style="display:none"><input id="DeskControl" type="checkbox" onkeypress="return false" onkeydown="return false">Vstup</span></label>
402 </div>
@@ -411,7 +411,7 @@
411 <input id="filesActionsBtn" type="button" onkeypress="return false" onkeydown="return false" value="Akce" onclick="deviceActionFunction()" style="margin-right:2px">
412 </div>
413 <div style="margin-left:2px">
414 - <input id="p13AutoConnect" value="AutoConnect" onclick="autoConnectFiles(event)" onkeypress="return false" onkeydown="return false" type="button" style="display:none">
414 + <input id="p13AutoConnect" value="Automatické připojení" onclick="autoConnectFiles(event)" onkeypress="return false" onkeydown="return false" type="button" style="display:none">
415 <input id="p13Connect" value="Připojit" onclick="connectFiles(event)" onkeypress="return false" onkeydown="return false" type="button">
416 <span id="p13Status">Odpojeno</span>
417 </div>
@@ -444,10 +444,10 @@
444 <select id="p13sortdropdown" onchange="p13updateFiles()">
445 <option value="1" selected="selected">Třídit podle jména</option>
446 <option value="2">Třídit podle velikosti</option>
447 - <option value="3">Sort by date</option>
448 - <option value="4">Descend by name</option>
449 - <option value="5">Descend by size</option>
450 - <option value="6">Descend by date</option>
447 + <option value="3">STřídit podle datumu</option>
448 + <option value="4">Sestupně podle jména</option>
449 + <option value="5">Sestupně podle velikosti</option>
450 + <option value="6">Sestupně podle datumu</option>
451 </select>
452 </td>
453 </tr>
@@ -525,7 +525,7 @@
525 </div>
526 <div id="dialog7" style="margin:auto;margin:3px">
527 <div id="d7meshkvm">
528 - <h4 style="width:100%;border-bottom:1px solid gray">Agent Remote Desktop</h4>
528 + <h4 style="width:100%;border-bottom:1px solid gray">Agent vzdálené plochy</h4>
529 <div style="margin:3px 0 3px 0">
530 <select id="d7bitmapquality" style="float:right;width:200px;height:20px" dir="rtl"></select>
531 <div style="height:20px">Kvalita</div>
@@ -550,24 +550,24 @@
550 <option value="400">Pomalu</option>
551 <option value="1000">Velmi pomalu</option>
552 </select>
553 - <div style="height:20px">Rate</div>
553 + <div style="height:20px">Hodnocení</div>
554 </div>
555 </div>
556 <div id="d7amtkvm">
557 <h4 style="width:100%;border-bottom:1px solid gray">Intel® AMT Hardware KVM</h4>
558 <div style="height:26px">
559 <select id="d7desktopmode" style="float:right;width:200px">
560 - <option value="1">RLE8, Fastest</option>
561 - <option value="2">RLE16, Recommended</option>
562 - <option value="3">RAW8, Slow</option>
563 - <option value="4">RAW16, Very Slow</option>
560 + <option value="1">RLE8, Rychlejší</option>
561 + <option value="2">RLE16, doporučeno</option>
562 + <option value="3">RAW8, pomalé</option>
563 + <option value="4">RAW16, hodně pomalé</option>
564 </select>
565 - <div>Encoding</div>
565 + <div>Kódování</div>
566 </div>
567 <div style="height:60px">
568 <div style="float:right;border:1px solid #666;width:200px;height:60px;overflow-y:scroll;background-color:white">
569 - <label><input type="checkbox" id="d7showfocus">Show Focus Tool</label><br>
570 - <label><input type="checkbox" id="d7showcursor">Show Local Mouse Cursor</label><br>
569 + <label><input type="checkbox" id="d7showfocus">Zobrazit nástroj pro zaměření</label><br>
570 + <label><input type="checkbox" id="d7showcursor">Zobrazit lokální kurzor myši</label><br>
571 </div>
572 <div>Ostatní</div>
573 </div>
@@ -616,7 +616,7 @@
616 var serverPublicNamePort = '{{{serverDnsName}}}:{{{serverPublicPort}}}';
617 var debugmode = false;
618 var attemptWebRTC = ((features & 128) != 0);
619 - var StatusStrs = ["Odpojeno", "Connecting...", "Setup...", "Connected", "Intel&reg; AMT Connected"];
619 + var StatusStrs = ["Odpojeno", "Připojování...", "Nastavení...", "Připojeno", "Intel&reg; AMT připojeno"];
620 var files;
621 var passRequirements = '{{{passRequirements}}}';
622 if (passRequirements != '') { passRequirements = JSON.parse(decodeURIComponent(passRequirements)); }
@@ -635,7 +635,7 @@
635 window.onresize = center;
636 center();
637 QV('changeEmailId', (features & 0x200000) == 0);
638 - QH('p1message', "Connecting...");
638 + QH('p1message', "Připojování...");
639 go(1);
640
641 // Connect to the mesh server
@@ -656,7 +656,7 @@
656 setDialogMode(0); // Close any dialog boxes if present
657 go(0); // Go to disconnection panel
658 if (errorCode == 'noauth') { QH('p0span', "Unable to perform authentication"); return; }
659 - if (prevState == 2) { setTimeout(serverPoll, 5000); } else { QH('p0span', "Unable to connect web socket"); }
659 + if (prevState == 2) { setTimeout(serverPoll, 5000); } else { QH('p0span', "Nelze se připojit k web socketu"); }
660 // Clean up here
661 if (authCookieRenewTimer != null) { clearInterval(authCookieRenewTimer); authCookieRenewTimer = null; }
662 } else if (state == 2) {
@@ -790,7 +790,7 @@
790 var secret = message.secret;
791 if (secret.length == 52) { secret = secret.split(/(.............)/).filter(Boolean).join(' '); }
792 else if (secret.length == 32) { secret = secret.split(/(....)/).filter(Boolean).join(' '); secret = secret.substring(0, 20) + '<br/>' + secret.substring(20) }
793 - QH('d2optinfo', "Install <a href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\" rel=\"noreferrer noopener\" target=_blank>Google Authenticator</a> or a compatible application, use <a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank> this link</a> or enter the secret below. Then, enter the current 6 digit token to activate 2-Step login." + '<br /><br /><div style=width:100%;text-align:center><tt id=d2optsecret secret=\"' + message.secret + '\" style=font-size:15px>' + secret + '</tt><br /><br />Token: <input type=text onkeypress=\"return (event.keyCode == 8) || (event.charCode >= 48 && event.charCode <= 57)\" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text></div>');
793 + QH('d2optinfo', "Nainstalujte si <a href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\" rel=\"noreferrer noopener\" target=_blank>Google Authenticator</a> nebo kompatibilní aplikaci, použijte <a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank> tento odkaz</a> nebo vložte secret. Pak vložte aktuální 6 číselný token pro aktivaci 2-faktorového přihlašování." + '<br /><br /><div style=width:100%;text-align:center><tt id=d2optsecret secret=\"' + message.secret + '\" style=font-size:15px>' + secret + '</tt><br /><br />Token: <input type=text onkeypress=\"return (event.keyCode == 8) || (event.charCode >= 48 && event.charCode <= 57)\" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text></div>');
794 QV('idx_dlgOkButton', true);
795 QE('idx_dlgOkButton', false);
796 Q('d2otpauthinput').focus();
@@ -799,17 +799,17 @@
799 }
800 case 'otpauth-setup': {
801 if (xxdialogMode) return;
802 - setDialogMode(2, "Authenticator App", 1, null, message.success ? "<b style=color:green>2-faktorová autentizace zapnuta</b>. Je třeba platný token k přihlášení." : "<b style=color:red>2-faktorové přihlášení selhalo</b>. Je třeba smazat tajemství z aplikace a zkusit znovu. Na toto máte již jen pár minut.");
802 + setDialogMode(2, "Aplikace pro autentizaci", 1, null, message.success ? "<b style=color:green>2-faktorová autentizace zapnuta</b>. Je třeba platný token k přihlášení." : "<b style=color:red>2-faktorové přihlášení selhalo</b>. Je třeba smazat tajemství z aplikace a zkusit znovu. Na toto máte již jen pár minut.");
803 break;
804 }
805 case 'otpauth-clear': {
806 if (xxdialogMode) return;
807 - setDialogMode(2, "Authenticator App", 1, null, message.success ? "<b style=color:green>2-faktorové přihlášení odstraněno</b>. Lze znovu kdykoliv zapnout." : "<b style=color:red>Odstranění 2-faktorového přihlášení selhalo</b>. Zkuste znovu.");
807 + setDialogMode(2, "Aplikace pro autentizaci", 1, null, message.success ? "<b style=color:green>2-faktorové přihlášení odstraněno</b>. Lze znovu kdykoliv zapnout." : "<b style=color:red>Odstranění 2-faktorového přihlášení selhalo</b>. Zkuste znovu.");
808 break;
809 }
810 case 'otpauth-getpasswords': {
811 if (xxdialogMode) return;
812 - var x = "One time tokens can be used as secondary authentication. Generate a set, print them and keep them in a safe place.";
812 + var x = "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ě.";
813 x += '<div style=\'border-radius:6px;border: 2px dashed #888;width:100%;margin-top:8px\'><div style=\'padding:8px;font-family:Arial, Helvetica, sans-serif;font-size:20px;font-weight:bold\'><table style=width:100%;text-align:center>';
814 if (message.passwords) {
815 var j = 0;
@@ -820,14 +820,14 @@
820 if (message.passwords[i].u === true) { x += '<td>' + p.substring(0, 4) + '&nbsp;' + p.substring(4); } else { x += '<td><strike style=color:#BBB>' + p.substring(0, 4) + '&nbsp;' + p.substring(4); + '</strike>'; }
821 }
822 } else {
823 - x += '<tr><td>' + "No Active Tokens";
823 + x += '<tr><td>' + "Žádné aktivní tokeny";
824 }
825 x += '</table></div></div><br />';
826 - x += '<div><input type=button value=\'' + "Close" + '\' onclick=setDialogMode(0) style=float:right></input>';
827 - x += '<input type=button value=\'' + "New Tokens" + '\' onclick=\'account_manageOtp(1);\'></input>';
828 - if (message.passwords != null) { x += '<input type=button value=\'' + "Clear" + '\' onclick=\'account_manageOtp(2);\'></input>'; }
826 + x += '<div><input type=button value=\'' + "Zavřít" + '\' onclick=setDialogMode(0) style=float:right></input>';
827 + x += '<input type=button value=\'' + "Nové tokeny" + '\' onclick=\'account_manageOtp(1);\'></input>';
828 + if (message.passwords != null) { x += '<input type=button value=\'' + "Vymazat" + '\' onclick=\'account_manageOtp(2);\'></input>'; }
829 x += '</div><br />';
830 - setDialogMode(2, "Manage Backup Codes", 8, null, x, 'otpauth-manage');
830 + setDialogMode(2, "Spravovat záložní kódy", 8, null, x, 'otpauth-manage');
831 break;
832 }
833 case 'event': {
@@ -1147,7 +1147,7 @@
1147
1148 function account_addOtp() {
1149 if (xxdialogMode || (userinfo.otpsecret == 1) || ((features & 4096) == 0)) return;
1150 - setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, '<div id=d2optinfo>' + "Nahrávání..." + '</div>', 'otpauth-request');
1150 + setDialogMode(2, "Aplikace pro autentizaci", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, '<div id=d2optinfo>' + "Nahrávání..." + '</div>', 'otpauth-request');
1151 meshserver.send({ action: 'otpauth-request' });
1152 }
1153
@@ -1159,7 +1159,7 @@
1159
1160 function account_removeOtp() {
1161 if (xxdialogMode || (userinfo.otpsecret != 1) || ((features & 4096) == 0)) return;
1162 - setDialogMode(2, "Authenticator App", 3, function () { meshserver.send({ action: 'otpauth-clear' }); }, "Confirm removal of authenticator application 2-step login?");
1162 + 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í?");
1163 }
1164
1165 function account_manageOtp(action) {
@@ -1170,8 +1170,8 @@
1170
1171 function account_showVerifyEmail() {
1172 if (xxdialogMode || (userinfo.emailVerified == true) || (serverinfo.emailcheck != true)) return;
1173 - var x = "Click ok to send a verification mail to:" + '<br /><div style=padding:8px><b>' + EscapeHtml(userinfo.email) + '</b></div>' + "Please wait a few minute to receive the verification.";
1174 - setDialogMode(2, "Email Verification", 3, account_showVerifyEmailEx, x);
1173 + var x = "Klikni na OK pro zaslání verifikačního emailu na:" + '<br /><div style=padding:8px><b>' + EscapeHtml(userinfo.email) + '</b></div>' + "Prosím počkejte pár minut než dojde k verifikaci.";
1174 + setDialogMode(2, "Ověření emailu", 3, account_showVerifyEmailEx, x);
1175 }
1176
1177 function account_showVerifyEmailEx() {
@@ -1217,12 +1217,12 @@
1217 x += '<tr><td align=right>' + nobreak("Staré heslo:") + '</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>';
1218 x += '<tr><td align=right>' + nobreak("Nové heslo:") + '</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b><span id=dxPassWarn></span></b></td></tr>';
1219 x += '<tr><td align=right>' + nobreak("Nové heslo:") + '</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>';
1220 - if (features & 0x00010000) { x += '<tr><td align=right>' + "Password hint:" + '</td><td><input id=apasswordhint name=apasswordhint maxlength=250 type=text autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>'; }
1220 + if (features & 0x00010000) { x += '<tr><td align=right>' + "Nápověda k heslu:" + '</td><td><input id=apasswordhint name=apasswordhint maxlength=250 type=text autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>'; }
1221 x += '</table>'
1222 if (passRequirements) {
1223 var r = [], rc = 0;
1224 for (var i in passRequirements) { if ((i != 'reset') && (i != 'hint')) { r.push(i + ':' + passRequirements[i]); rc++; } }
1225 - if (rc > 0) { x += '<br /><span style=font-size:x-small>' + format("Requirements: {0}.", r.join(', ')) + '</span>'; }
1225 + if (rc > 0) { x += '<br /><span style=font-size:x-small>' + format("Požadavky: {0}.", r.join(', ')) + '</span>'; }
1226 }
1227 x += '<br />';
1228 setDialogMode(2, "Změnit heslo", 3, account_showChangePasswordEx, x);
@@ -1243,17 +1243,17 @@
1243 if (xxdialogMode) return;
1244
1245 // Check if we are disallowed from creating a device group
1246 - if ((userinfo.siteadmin != 0xFFFFFFFF) && ((userinfo.siteadmin & 64) != 0)) { setDialogMode(2, "Nová skupina zařízení", 1, null, "This account does not have the rights to create a new device group."); return; }
1246 + if ((userinfo.siteadmin != 0xFFFFFFFF) && ((userinfo.siteadmin & 64) != 0)) { setDialogMode(2, "Nová skupina zařízení", 1, null, "Tento účet nemá práva k vytvoření nové skupiny zařízení."); return; }
1247
1248 // Remind the user to verify the email address
1249 - if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until a email address is verified. This is required for password recovery. Go to the \"My Account\" to change and verify an email address."); return; }
1249 + if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { 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.."); return; }
1250
1251 // Remind the user to add two factor authentication
1252 - if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the \"My Account\" and look at the \"Account Security\" section."); return; }
1252 + if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { 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\"."); return; }
1253
1254 // We are allowed, let's prompt to information
1255 var x = addHtmlValue("Jméno", '<input id=dp3meshname style=width:170px maxlength=64 onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate() />');
1256 - x += addHtmlValue("Typ", '<div style=width:170px;margin:0;padding:0><select id=dp3meshtype style=width:100% onchange=account_validateMeshCreate() ><option value=2>' + "Software Agent Group" + '</option><option value=1>' + "Intel&reg; AMT only" + '</option></select></div>');
1256 + x += addHtmlValue("Typ", '<div style=width:170px;margin:0;padding:0><select id=dp3meshtype style=width:100% onchange=account_validateMeshCreate() ><option value=2>' + "Skupina Software Agent" + '</option><option value=1>' + "Intel&reg; AMT pouze" + '</option></select></div>');
1257 x += addHtmlValue("Popis", '<div style=width:170px;margin:0;padding:0><textarea id=dp3meshdesc maxlength=1024 style=width:100%;resize:none></textarea></div>');
1258 setDialogMode(2, "Vytvořit skupinu zařízení", 3, account_createMeshEx, x);
1259 account_validateMeshCreate();
@@ -1283,7 +1283,7 @@
1283 } else {
1284 // Password requirements provided, use that
1285 var passReq = checkPasswordRequirements(Q('apassword1').value, passRequirements);
1286 - if (passReq == false) { ok = false; r = '<span style=color:red>' + "Policy" + '<span>' }
1286 + if (passReq == false) { ok = false; r = '<span style=color:red>' + "Politika" + '<span>' }
1287 }
1288 }
1289 QH('dxPassWarn', r);
@@ -1326,8 +1326,8 @@
1326
1327 // Mesh rights
1328 var meshrights = meshes[i].links[userinfo._id].rights;
1329 - var rights = "Partial Rights";
1330 - if (meshrights == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (meshrights == 0) rights = "No Rights";
1329 + var rights = "Částečné práva";
1330 + if (meshrights == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (meshrights == 0) rights = "Žádná práva";
1331
1332 // Print the mesh information
1333 r += '<div style=cursor:pointer onclick=goForward(\'' + i + '\')>';
@@ -1415,7 +1415,7 @@
1415 } else {
1416 var link = shortname;
1417 var publiclink = '';
1418 - if (publicfolder) { publiclink = ' (<a style=cursor:pointer onclick=\'p5showPublicLink(\"' + publicPath + '/' + f.nx + '\")\'>' + "Link" + '</a>)'; }
1418 + if (publicfolder) { publiclink = ' (<a style=cursor:pointer onclick=\'p5showPublicLink(\"' + publicPath + '/' + f.nx + '\")\'>' + "Odkaz" + '</a>)'; }
1419 if (f.s > 0) { link = '<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"downloadfile.ashx?link=' + encodeURIComponent(filetreelinkpath + '/' + f.nx) + '\">' + shortname + '</a>' + publiclink; }
1420 h = '<div class=filelist file=3><input file=3 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value=\'' + f.nx + '\'>&nbsp;<span style=float:right;padding-right:4px>' + fsize + '</span><span><div class=fileIcon' + f.t + '></div>' + link + '</span></div>';
1421 }
@@ -1444,10 +1444,10 @@
1444
1445 function getNiceSize(bytes) {
1446 if (bytes <= 0) return "Uložiště plné";
1447 - if (bytes < 2048) return format("{0}b left", bytes);
1447 + if (bytes < 2048) return format("{0}b zbývá", bytes);
1448 if (bytes < 2097152) return format("{0}k zbývá", Math.round(bytes / 1024));
1449 - if (bytes < 2147483648) return format("{0}m left", Math.round(bytes / 1024 / 1024));
1450 - return format("{0}g left", Math.round(bytes / 1024 / 1024 / 1024));
1449 + if (bytes < 2147483648) return format("{0}m zbývá", Math.round(bytes / 1024 / 1024));
1450 + return format("{0}g zbývá", Math.round(bytes / 1024 / 1024 / 1024));
1451 }
1452
1453 function p5getQuotabar(f) {
@@ -1497,7 +1497,7 @@
1497 function p5folderset(x) { filetreelocation.push(decodeURIComponent(x)); updateFiles(); return false; }
1498 function p5createfolder() { setDialogMode(2, "Nový adresář", 3, p5createfolderEx, '<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% />'); focusTextBox('p5renameinput'); p5fileNameCheck(); }
1499 function p5createfolderEx() { meshserver.send({ action: 'fileoperation', fileop: 'createfolder', path: filetreelocation, newfolder: Q('p5renameinput').value }); }
1500 - function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Recursive delete" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p5deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
1500 + function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Rekurzivní mazání" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p5deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
1501 function p5deletefileEx() { var delfiles = [], checkboxes = document.getElementsByName('fc'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { delfiles.push(checkboxes[i].value); } } meshserver.send({ action: 'fileoperation', fileop: 'delete', path: filetreelocation, delfiles: delfiles, rec: Q('p5recdeleteinput').checked }); }
1502 function p5renamefile() { var renamefile, checkboxes = document.getElementsByName('fc'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { renamefile = checkboxes[i].value; } } setDialogMode(2, "Přejmenovat", 3, p5renamefileEx, '<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% value="' + renamefile + '" />', { action: 'fileoperation', fileop: 'rename', path: filetreelocation, oldname: renamefile }); focusTextBox('p5renameinput'); p5fileNameCheck(); }
1503 function p5renamefileEx(b, t) { t.newname = Q('p5renameinput').value; meshserver.send(t); }
@@ -1509,9 +1509,9 @@
1509
1510 var p5clipboard = null, p5clipboardFolder = null, p5clipboardCut = 0;
1511 function p5copyFile(cut) { var checkboxes = document.getElementsByName('fc'); p5clipboard = []; p5clipboardCut = cut, p5clipboardFolder = Clone(filetreelocation); for (var i = 0; i < checkboxes.length; i++) { if ((checkboxes[i].checked) && (checkboxes[i].attributes.file.value == '3')) { p5clipboard.push(checkboxes[i].value); } } p5updateClipview(); }
1512 - function p5pasteFile() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Confim {0} of {1} entrie{2} to this location?", (p5clipboardCut == 0 ? 'copy' : 'move'), p5clipboard.length, ((p5clipboard.length > 1) ? 's' : '')) } setDialogMode(2, "Vložit", 3, p5pasteFileEx, x); }
1512 + function p5pasteFile() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Potvrdit {0} z {1} záznam{2} do tohoto umístění?", (p5clipboardCut == 0 ? 'copy' : 'move'), p5clipboard.length, ((p5clipboard.length > 1) ? 's' : '')) } setDialogMode(2, "Vložit", 3, p5pasteFileEx, x); }
1513 function p5pasteFileEx() { meshserver.send({ action: 'fileoperation', fileop: (p5clipboardCut == 0 ? 'copy' : 'move'), scpath: p5clipboardFolder, path: filetreelocation, names: p5clipboard }); p5folderup(999); if (p5clipboardCut == 1) { p5clipboard = null, p5clipboardFolder = null, p5clipboardCut = 0; p5updateClipview(); } }
1514 - function p5updateClipview() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Holding {0} entrie{1} for {2}", p5clipboard.length, ((p5clipboard.length > 1) ? 's' : ''), (p5clipboardCut == 0 ? "copy" : "move")) + ', <a href=# onclick="return p5clearClip()" style=cursor:pointer>' + "Clear" + '</a>.' } QH('p5bottomstatus', x); p5setActions(); }
1514 + function p5updateClipview() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Držím {0} zaznamů{1} pro {2}", p5clipboard.length, ((p5clipboard.length > 1) ? 's' : ''), (p5clipboardCut == 0 ? "kopírovat" : "přesun")) + ', <a href=# onclick="return p5clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.' } QH('p5bottomstatus', x); p5setActions(); }
1515 function p5clearClip() { p5clipboard = null; p5clipboardFolder = null; p5clipboardCut = 0; p5updateClipview(); return false; }
1516
1517 function p5fileDragDrop(e) {
@@ -1732,7 +1732,7 @@
1732 r += '<div><div colspan=3 class=DevSt><span style=float:right>';
1733 //r += getMeshActions(mesh, meshrights);
1734 r += '</span><span id=MxMESH style=cursor:pointer onclick=goForward("' + mesh._id + '")>' + EscapeHtml(mesh.name) + '</span></div>';
1735 - if (mesh.mtype == 1) { r += '<div style=padding:10px><i>' + "No Intel&reg; AMT devices in this group"; }
1735 + if (mesh.mtype == 1) { r += '<div style=padding:10px><i>' + "Žádné Intel&reg; AMT zařízení v této skupině"; }
1736 if (mesh.mtype == 2) { r += '<div style=padding:10px><i>' + "Žádné zařízení v této skupině"; }
1737 r += '.</i></div></div>';
1738 current = mesh._id;
@@ -1743,7 +1743,7 @@
1743 }
1744
1745 if (count == 0) {
1746 - QH('xdevices', '<div style="margin-top:50px;text-align:center"><span style="font-size:30px">' + "Žádné zařízení" + '</span><br /><br />' + "Use the desktop version of this website to add devices." + '</div>');
1746 + QH('xdevices', '<div style="margin-top:50px;text-align:center"><span style="font-size:30px">' + "Žádné zařízení" + '</span><br /><br />' + "Pro přidání zařízení použijte desktop verzi těchto stránek." + '</div>');
1747 } else {
1748 QH('xdevices', r);
1749 }
@@ -1752,9 +1752,9 @@
1752 for (var i in deviceHeadersTitles) { Q(i).title = deviceHeadersTitles[i]; }
1753 }
1754
1755 - var powerStatetable = ['', "Zapnuto", "Spánek", "Spánek", "Spánek", "Hibernating", "Vypnout", "Present"];
1756 - var powerStateStrings = ['', "Zapnuto", "Sleeping", "Sleeping", "Deep Sleep", "Hibernating", "Soft-Off", "Present"];
1757 - var powerStateStrings2 = ['', "Zařízení je zapnuto", "Zařízení je ve stavu spánku (S1)", "Device is in sleep state (S2)", "Zařízení je v hlubokém spánku (S3)", "Device is hibernating (S4)", "Device is in soft-off state (S5)", "Device is present, but power state cannot be determined"];
1755 + var powerStatetable = ['', "Zapnuto", "Spánek", "Spánek", "Spánek", "Hibernuji", "Vypnout", "Současnost"];
1756 + var powerStateStrings = ['', "Zapnuto", "Spí", "Spí", "Hluboký spánek", "Hibernuji", "Soft-Off", "Současnost"];
1757 + var 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í"];
1758 var powerColorTable = ['#00000000', 'black', 'blue', 'blue', 'lightblue', 'blueviolet', 'darkgreen', 'lightseagreen', 'lightseagreen'];
1759 function NodeStateStr(node) {
1760 var states = [];
@@ -1763,7 +1763,7 @@
1763 if ((node.conn & 1) != 0) { states.push('<span>' + "Agent" + '</span>'); }
1764 if ((node.conn & 2) != 0) { states.push('<span>' + "CIRA" + '</span>'); }
1765 else if ((node.conn & 4) != 0) { states.push('<span>' + "Intel&reg; AMT" + '</span>'); }
1766 - if ((node.conn & 8) != 0) { states.push('<span>' + "Relay" + '</span>'); }
1766 + if ((node.conn & 8) != 0) { states.push('<span>' + "Přesměrování" + '</span>'); }
1767 if ((node.conn & 16) != 0) { states.push('<span>' + "MQTT" + '</span>'); }
1768 }
1769 if ((node.pwr != null) && (node.pwr != 0)) { states.push(powerStateStrings[node.pwr]); }
@@ -1777,7 +1777,7 @@
1777
1778 function PowerStateStr2(x) {
1779 if ((x != 0) && (x < powerStatetable.length)) return powerStatetable[x];
1780 - return "Unknown";
1780 + return "Neznámý";
1781 }
1782
1783 function onSortSelectChange(skipsave) {
@@ -1826,10 +1826,10 @@
1826 function gotoDevice(nodeid, panel, refresh) {
1827
1828 // Remind the user to verify the email address
1829 - if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until a email address is verified. This is required for password recovery. Go to the \"My Account\" to change and verify an email address."); return; }
1829 + if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { 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.."); return; }
1830
1831 // Remind the user to add two factor authentication
1832 - if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the \"My Account\" and look at the \"Account Security\" section."); return; }
1832 + if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { 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\"."); return; }
1833
1834 var node = getNodeFromId(nodeid);
1835 if (node == null) { goBack(); return; }
@@ -1876,7 +1876,7 @@
1876 }
1877
1878 // Attribute: Mesh Agent
1879 - var agentsStr = ["Unknown", "Windows 32bit console", "Windows 64bit console", "Windows 32bit service", "Windows 64bit service", "Linux 32bit", "Linux 64bit", "MIPS", "XENx86", "Android ARM", "Linux ARM", "MacOS 32bit", "Android x86", "PogoPlug ARM", "Android APK", "Linux Poky x86-32bit", "MacOS 64bit", "ChromeOS", "Linux Poky x86-64bit", "Linux NoKVM x86-32bit", "Linux NoKVM x86-64bit", "Windows MinCore console", "Windows MinCore service", "NodeJS", "ARM-Linaro", "ARMv6l / ARMv7l", "ARMv8 64bit", "ARMv6l / ARMv7l / NoKVM", "Unknown", "Unknown", "FreeBSD x86-64"];
1879 + var agentsStr = ["Neznámý", "Windows 32bit konzole", "Windows 64bit konzole", "Windows 32bit služba", "Windows 64bit služba", "Linux 32bit", "Linux 64bit", "MIPS", "XENx86", "Android ARM", "Linux ARM", "MacOS 32bit", "Android x86", "PogoPlug ARM", "Android APK", "Linux Poky x86-32bit", "MacOS 64bit", "ChromeOS", "Linux Poky x86-64bit", "Linux NoKVM x86-32bit", "Linux NoKVM x86-64bit", "Windows MinCore konzole", "Windows MinCore služba", "NodeJS", "ARM-Linaro", "ARMv6l / ARMv7l", "ARMv8 64bit", "ARMv6l / ARMv7l / NoKVM", "Neznámý", "Neznámý", "FreeBSD x86-64"];
1880 if ((node.agent != null) && (node.agent.id != null) && (node.agent.ver != null)) {
1881 var str = '';
1882 if (node.agent.id <= agentsStr.length) { str = agentsStr[node.agent.id]; } else { str = agentsStr[0]; }
@@ -1887,11 +1887,11 @@
1887 // Attribute: Intel AMT
1888 if (node.intelamt != null) {
1889 var str = '';
1890 - var provisioningStates = { 0: nobreak("Not Activated (Pre)"), 1: nobreak("Not Activated (In)"), 2: nobreak("Aktivováno") };
1891 - if (node.intelamt.ver != null && node.intelamt.state == null) { str += '<i>' + nobreak("Unknown State") + '</i>, v' + node.intelamt.ver; } else
1890 + var provisioningStates = { 0: nobreak("Neaktivováno (před)"), 1: nobreak("Neaktivováno"), 2: nobreak("Aktivováno") };
1891 + if (node.intelamt.ver != null && node.intelamt.state == null) { str += '<i>' + nobreak("Neznámý stav") + '</i>, v' + node.intelamt.ver; } else
1892
1893 if ((node.intelamt.ver == null) && (node.intelamt.state == 2)) { str += '<i>' + "Aktivováno" + '</i>'; }
1894 - else if ((node.intelamt.ver == null) || (node.intelamt.state == null)) { str += '<i>' + "Unknown Version & State" + '</i>'; }
1894 + else if ((node.intelamt.ver == null) || (node.intelamt.state == null)) { str += '<i>' + "Neznámý stav & verze" + '</i>'; }
1895 else {
1896 str += provisioningStates[node.intelamt.state];
1897 if (node.intelamt.flags) { if (node.intelamt.flags & 2) { str = ' <span>' + "CCM" + '</span>'; } else if (node.intelamt.flags & 4) { str = ' <span>' + "ACM" + '</span>'; } }
@@ -1925,7 +1925,7 @@
1925 if ((node.agent != null) && (node.agent.tag != null) && (node.agent.tag != 'mailto:')) {
1926 var tag = EscapeHtml(node.agent.tag);
1927 if (tag.startsWith('mailto:')) { tag = '<a href="' + tag + '">' + tag.substring(7) + '</a>'; }
1928 - x += addDeviceAttribute("Agent Tag", tag);
1928 + x += addDeviceAttribute("Značka agenta", tag);
1929 }
1930
1931 // Attribute: Intel AMT
@@ -1938,9 +1938,9 @@
1938 if ((node.conn & 1) != 0) cstate.push('<span>' + "Agent" + '</span>');
1939 if ((node.conn & 2) != 0) cstate.push('<span>' + "Intel&reg; AMT CIRA" + '</span>');
1940 else if ((node.conn & 4) != 0) cstate.push('<span>' + "Intel&reg; AMT" + '</span>');
1941 - if ((node.conn & 8) != 0) cstate.push('<span>' + "Agent Relay" + '</span>');
1941 + if ((node.conn & 8) != 0) cstate.push('<span>' + "Agent Relay (přesměrování)" + '</span>');
1942 if ((node.conn & 16) != 0) cstate.push('<span>' + "MQTT" + '</span>');
1943 - x += addDeviceAttribute("Connectivity", cstate.join(', '));
1943 + x += addDeviceAttribute("Konektivita", cstate.join(', '));
1944 }
1945
1946 // Node tags
@@ -1977,9 +1977,9 @@
1977 var powerstate = PowerStateStr(node.state);
1978 //if (node.state == 0) { powerstate = 'Unknown State'; }
1979 if ((connectivity & 1) != 0) { if (powerstate.length > 0) { powerstate += ', '; } powerstate += '<span style=font-size:10px>' + "Mesh Agent" + '</span>'; }
1980 - if ((connectivity & 2) != 0) { if (powerstate.length > 0) { powerstate += ', '; } powerstate += '<span style=font-size:10px>' + "Intel&reg; AMT connected" + '</span>'; }
1981 - else if ((connectivity & 4) != 0) { if (powerstate.length > 0) { powerstate += ', '; } powerstate += '<span style=font-size:10px>' + "Intel&reg; AMT detected" + '</span>'; }
1982 - if ((connectivity & 16) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px>' + "MQTT channel connected" + '</span>'; }
1980 + if ((connectivity & 2) != 0) { if (powerstate.length > 0) { powerstate += ', '; } powerstate += '<span style=font-size:10px>' + "Intel&reg; AMT připojeno" + '</span>'; }
1981 + else if ((connectivity & 4) != 0) { if (powerstate.length > 0) { powerstate += ', '; } powerstate += '<span style=font-size:10px>' + "Intel&reg; AMT detekováno" + '</span>'; }
1982 + if ((connectivity & 16) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px>' + "MQTT kanál připojen" + '</span>'; }
1983 QH('MainComputerState', powerstate);
1984
1985 // Set the node icon
@@ -2121,7 +2121,7 @@
2121 x += addHtmlValue("Heslo", '<input id=dp10password type=password style=width:170px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
2122 x += addHtmlValue("Bezpečnost", '<select id=dp10tls style=width:176px><option value=0>' + "Žádné TLS" + '</option><option value=1>' + "TLS vyžadováno" + '</option></select>');
2123 if ((node.intelamt.user != null) && (node.intelamt.user != '')) { buttons = 7; }
2124 - setDialogMode(2, "Edit Intel&reg; AMT credentials", buttons, editDeviceAmtSettingsEx, x, { node: node, func: func });
2124 + setDialogMode(2, "Upravit Intel&reg; AMT pověření", buttons, editDeviceAmtSettingsEx, x, { node: node, func: func });
2125 if ((node.intelamt.user != null) && (node.intelamt.user != '')) { Q('dp10username').value = node.intelamt.user; } else { Q('dp10username').value = 'admin'; }
2126 Q('dp10tls').value = node.intelamt.tls;
2127 validateDeviceAmtSettings();
@@ -2150,7 +2150,7 @@
2150
2151 function p10showDeleteNodeDialog(nodeid) {
2152 if (xxdialogMode) return;
2153 - setDialogMode(2, "Smazat nod", 3, p10showDeleteNodeDialogEx, format("Smazat {0}?", EscapeHtml(currentNode.name)) + '<br /><br /><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Confirm", nodeid);
2153 + setDialogMode(2, "Smazat nod", 3, p10showDeleteNodeDialogEx, format("Smazat {0}?", EscapeHtml(currentNode.name)) + '<br /><br /><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Potvrdit", nodeid);
2154 p10validateDeleteNodeDialog();
2155 }
2156
@@ -2175,7 +2175,7 @@
2175 x += '<div style=display:inline-block class=i4 onclick=p10setIcon(4)></div>';
2176 x += '<div style=display:inline-block class=i5 onclick=p10setIcon(5)></div>';
2177 x += '<div style=display:inline-block class=i6 onclick=p10setIcon(6)></div></table>';
2178 - setDialogMode(2, "Icon Selection", 0, null, x);
2178 + setDialogMode(2, "Výběr ikony", 0, null, x);
2179 QV('id_dialogclose', true);
2180 }
2181
@@ -2184,13 +2184,13 @@
2184 meshserver.send({ action: 'changedevice', nodeid: currentNode._id, icon: icon });
2185 }
2186
2187 - var showEditNodeValueDialog_modes = ["Device Name", "Hostname", "Popis", "Tagy"];
2187 + var showEditNodeValueDialog_modes = ["Název zařízení", "Hostname", "Popis", "Tagy"];
2188 var showEditNodeValueDialog_modes2 = ['name', 'host', 'desc', 'tags'];
2189 var showEditNodeValueDialog_modes3 = ['', '', '', "Skupina1, Skupina2, Skupina3"];
2190 function showEditNodeValueDialog(mode) {
2191 if (xxdialogMode) return;
2192 var x = addHtmlValue(showEditNodeValueDialog_modes[mode], '<input id=dp10devicevalue style=width:170px maxlength=64 placeholder="' + showEditNodeValueDialog_modes3[mode] + '" onchange=p10editdevicevalueValidate(' + mode + ',event) onkeyup=p10editdevicevalueValidate(' + mode + ',event) />');
2193 - setDialogMode(2, "Edit Device", 3, showEditNodeValueDialogEx, x, mode);
2193 + setDialogMode(2, "Upravit zařízení", 3, showEditNodeValueDialogEx, x, mode);
2194 var v = currentNode[showEditNodeValueDialog_modes2[mode]];
2195 if (v == null) v = '';
2196 if (Array.isArray(v)) { v = v.join(', '); }
@@ -2352,7 +2352,7 @@
2352 if (xxdialogMode) return;
2353 applyDesktopSettings();
2354 updateDesktopButtons();
2355 - setDialogMode(7, "Remote Desktop Settings", 3, showDesktopSettingsChanged);
2355 + setDialogMode(7, "Nastavení vzdálené plochy", 3, showDesktopSettingsChanged);
2356 }
2357
2358 function showDesktopSettingsChanged() {
@@ -2515,7 +2515,7 @@
2515
2516 function sendSpecialKeys() {
2517 if (xxdialogMode || desktop == null || desktop.State != 3) return;
2518 - setDialogMode(3, "Special Keys", 3, deskSendKeys);
2518 + setDialogMode(3, "Speciální klíče", 3, deskSendKeys);
2519 }
2520
2521 // Send CTRL-ALT-DEL
@@ -2601,7 +2601,7 @@
2601 function dmousemove(e) { setSessionActivity(); if ((!xxdialogMode && desktop != null)) desktop.m.mousemove(e) }
2602 function dmousewheel(e) { setSessionActivity(); if ((!xxdialogMode && desktop != null) && desktop.m.mousewheel) { desktop.m.mousewheel(e); haltEvent(e); return true; } return false; }
2603 function drotate(x) { if (!xxdialogMode && desktop != null) { desktop.m.setRotation(desktop.m.rotation + x); deskAdjust(); deskAdjust(); } }
2604 - function stopProcess(id, name) { setDialogMode(2, "Process Control", 3, stopProcessEx, format("Stop process #{0} \"{1}\"?", id, name), id); return false; }
2604 + function stopProcess(id, name) { setDialogMode(2, "Správa procesů", 3, stopProcessEx, format("Ukončit proces #{0} \"{1}\"?", id, name), id); return false; }
2605 function stopProcessEx(buttons, tag) { meshserver.send({ action: 'msg', type: 'pskill', nodeid: currentNode._id, value: tag }); setTimeout(refreshDeskTools, 300); }
2606
2607 //
@@ -2620,7 +2620,7 @@
2620
2621 function onFilesStateChange(xfiles, state) {
2622 setSessionActivity();
2623 - p13Connect.value = (state == 0) ? "Připojit" : "Disconnect";
2623 + p13Connect.value = (state == 0) ? "Připojit" : "Odpojit";
2624 var str = StatusStrs[state];
2625 if (files.webRtcActive == true) { str += ", WebRTC"; }
2626 Q('p13Status').textContent = str;
@@ -2822,7 +2822,7 @@
2822 function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
2823 function p13createfolder() { setDialogMode(2, "Nový adresář", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
2824 function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
2825 - function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Recursive delete" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p13deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
2825 + function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Rekurzivní mazání" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p13deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
2826 function p13deletefileEx() { var delfiles = [], checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { delfiles.push(p13filetree.dir[checkboxes[i].value].n); } } files.sendText({ action: 'rm', reqid: 1, path: p13filetreelocation.join('/'), delfiles: delfiles, rec: Q('p13recdeleteinput').checked }); p13folderup(999); }
2827 function p13renamefile() { var renamefile, checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { renamefile = p13filetree.dir[checkboxes[i].value].n; } } setDialogMode(2, "Přejmenovat", 3, p13renamefileEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% value="' + renamefile + '" />', { action: 'rename', path: p13filetreelocation.join('/'), oldname: renamefile }); focusTextBox('p13renameinput'); p13fileNameCheck(); }
2828 function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -2835,7 +2835,7 @@
2835 if (checkboxes[i].checked) {
2836 if (p13filetree.dir[checkboxes[i].value].s <= 204800) {
2837 p13downloadfile(encodeURIComponent(p13filetreelocation.join('/') + '/' + p13filetree.dir[checkboxes[i].value].n), encodeURIComponent(p13filetree.dir[checkboxes[i].value].n), p13filetree.dir[checkboxes[i].value].s, 'viewer');
2838 - } else { messagebox("File Editor", "Jen soubory menší než 200k mohou být editovány."); }
2838 + } else { messagebox("Editor souborů", "Jen soubory menší než 200k mohou být editovány."); }
2839 break;
2840 }
2841 }
@@ -2847,9 +2847,9 @@
2847 var x = '';
2848 if ((p13clipboard != null) && (p13clipboard.length > 0)) {
2849 if (p13clipboardCut == 0) {
2850 - if (p13clipboard.length > 1) { x = format("Confirm copy of {0} entries's to this location?", p13clipboard.length); } else { x = format("Confirm copy of 1 entrie to this location?"); }
2850 + if (p13clipboard.length > 1) { x = format("Potvrdit kopírování {0} zaznámů do tohoto umístění?", p13clipboard.length); } else { x = format("Potvrdit kopírování jednoho záznamu do tohoto umístění?"); }
2851 } else {
2852 - if (p13clipboard.length > 1) { x = format("Confirm move of {0} entries's to this location?", p13clipboard.length); } else { x = format("Confirm move of 1 entrie to this location?"); }
2852 + if (p13clipboard.length > 1) { x = format("Potvrdit přesun {0} záznamů do tohoto umístění?", p13clipboard.length); } else { x = format("Potvrdit přesun jednoho záznamu do tohoto umístění?"); }
2853 }
2854 }
2855 setDialogMode(2, "Vložit", 3, p13pasteFileEx, x);
@@ -2860,15 +2860,15 @@
2860 if ((p13clipboard != null) && (p13clipboard.length > 0)) {
2861 if (p13clipboardCut == 0) {
2862 if (p13clipboard.length > 1) {
2863 - x = format("Holding {0} entries for copy" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.', p13clipboard.length);
2863 + x = format("Držím {0} záznamů pro kopii" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.', p13clipboard.length);
2864 } else {
2865 - x = format("Holding 1 entrie for copy" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.');
2865 + x = format("Držím jeden záznam pro kopii" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.');
2866 }
2867 } else {
2868 if (p13clipboard.length > 1) {
2869 - x = format("Holding {0} entries for move" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.', p13clipboard.length);
2869 + x = format("Držím {0} zaznamů pro přesun" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.', p13clipboard.length);
2870 } else {
2871 - x = format("Holding 1 entrie for move" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.');
2871 + x = format("Držím jeden záznam pro přesun" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.');
2872 }
2873 }
2874 }
@@ -2993,7 +2993,7 @@
2993 uploadFile.xpath = p13filetreelocation.join('/');
2994 uploadFile.xfiles = files;
2995 uploadFile.xfilePtr = -1;
2996 - setDialogMode(2, "Nahrát soubor", 10, p13uploadFileCancel, '<div id=p13dfileName>' + "Connecting..." + '</div><br /><progress id=d2progressBar style=width:100% value=0 max=0 />');
2996 + setDialogMode(2, "Nahrát soubor", 10, p13uploadFileCancel, '<div id=p13dfileName>' + "Připojování..." + '</div><br /><progress id=d2progressBar style=width:100% value=0 max=0 />');
2997 p13uploadReconnect();
2998 }
2999
@@ -3093,10 +3093,10 @@
3093 function p20updateMesh() {
3094 if (currentMesh == null) return;
3095 QH('p20meshName', EscapeHtml(currentMesh.name));
3096 - var meshtype = format("Unknown #{0}", currentMesh.mtype);
3096 + var meshtype = format("Neznámý #{0}", currentMesh.mtype);
3097 var meshrights = currentMesh.links[userinfo._id].rights;
3098 - if (currentMesh.mtype == 1) meshtype = "Intel&reg; AMT only, no agent";
3099 - if (currentMesh.mtype == 2) meshtype = "Managed using a software agent";
3098 + if (currentMesh.mtype == 1) meshtype = "Intel&reg; AMT pouze, bez agenta";
3099 + if (currentMesh.mtype == 2) meshtype = "Spravovat pomocí softwarového aenta";
3100
3101 var x = '';
3102 x += addHtmlValue("Jméno", addLinkConditional(EscapeHtml(currentMesh.name), 'p20editmesh(1)', (meshrights & 1) != 0));
@@ -3137,7 +3137,7 @@
3137 }
3138 */
3139
3140 - x += '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "User Authorizations" + '</th></tr>';
3140 + x += '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "Uživatelská oprávnění" + '</th></tr>';
3141
3142 // Sort the users for this mesh
3143 var count = 1, sortedusers = [];
@@ -3146,8 +3146,8 @@
3146
3147 // Display all users for this mesh
3148 for (var i in sortedusers) {
3149 - var trash = '', rights = "Partial Rights", r = sortedusers[i].rights;
3150 - if (r == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (r == 0) rights = "No Rights";
3149 + var trash = '', rights = "Částečné práva", r = sortedusers[i].rights;
3150 + if (r == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (r == 0) rights = "Žádná práva";
3151 if ((i != userinfo._id) && (meshrights == 0xFFFFFFFF || (((meshrights & 2) != 0)))) { trash = '<a onclick=p20deleteUser(event,"' + encodeURIComponent(sortedusers[i].id) + '") style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
3152 x += '<tr onclick=p20viewuser("' + encodeURIComponent(sortedusers[i].id) + '") style=height:32px;cursor:pointer' + (((count % 2) == 0) ? ';background-color:#DDD' : '') + '><td>';
3153 x += '<div style=float:right>' + trash + '</div><div style=float:right;padding-right:4px>' + rights + '</div><div class=m2></div><div>&nbsp;' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div>';
@@ -3165,8 +3165,8 @@
3165
3166 function p20showDeleteMeshDialog() {
3167 if (xxdialogMode) return false;
3168 - var x = format("Are you sure you want to delete group {0}? Deleting the device group will also delete all information about devices within this group.", EscapeHtml(currentMesh.name)) + '<br /><br />';
3169 - x += '<label><input id=p20check type=checkbox onchange=p20validateDeleteMeshDialog() />' + "Confirm" + '</label>';
3168 + var x = 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)) + '<br /><br />';
3169 + x += '<label><input id=p20check type=checkbox onchange=p20validateDeleteMeshDialog() />' + "Potvrdit" + '</label>';
3170 setDialogMode(2, "Smazat skupinu", 3, p20showDeleteMeshDialogEx, x);
3171 p20validateDeleteMeshDialog();
3172 return false;
@@ -3184,7 +3184,7 @@
3184 if (xxdialogMode) return;
3185 var x = addHtmlValue("Jméno", '<input id=dp20meshname style=width:170px maxlength=32 onchange=p20editmeshValidate() onkeyup=p20editmeshValidate() />');
3186 x += addHtmlValue("Popis", '<input id=dp20meshdesc style=width:170px maxlength=1024 onkeyup=p20editmeshValidate() />');
3187 - setDialogMode(2, "Editovat skupinu zařízení", 3, p20editmeshEx, x);
3187 + setDialogMode(2, "Upravit skupinu zařízení", 3, p20editmeshEx, x);
3188 Q('dp20meshname').value = currentMesh.name;
3189 if (currentMesh.desc) Q('dp20meshdesc').value = currentMesh.desc;
3190 p20editmeshValidate();
@@ -3204,22 +3204,22 @@
3204 var x = addHtmlValue('User', '<input id=dp20username style=width:170px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() />');
3205 x += '<div style="border:2px groove gray;background-color:white;max-height:120px;overflow-y:scroll">';
3206 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>' + "Hlavní administrátor" + '</label><br>';
3207 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Editovat skupinu zařízení" + '</label><br>';
3207 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Upravit skupinu zařízení" + '</label><br>';
3208 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>' + "Spravovat uživatele pro skupinu zařízení" + '</label><br>';
3209 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>' + "Správa skupin zařízení" + '</label><br>';
3210 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Remote Control" + '</label><br>';
3211 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>' + "Remote View Only" + '</label><br>';
3212 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>' + "Limited Input Only" + '</label><br>';
3213 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>' + "No Terminal Access" + '</label><br>';
3214 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20nofiles style=margin-left:12px>' + "No File Access" + '</label><br>';
3215 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>' + "No Intel&reg; AMT" + '</label><br>';
3210 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Vzdálené ovládání" + '</label><br>';
3211 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>' + "Pouze vzdálené prohlížení" + '</label><br>';
3212 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>' + "Pouze omezené vstupy" + '</label><br>';
3213 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>' + "Žádný přístup k terminálu" + '</label><br>';
3214 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20nofiles style=margin-left:12px>' + "Žádný přístup k souborům" + '</label><br>';
3215 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>' + "Žádné Intel&reg; AMT" + '</label><br>';
3216 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshagentconsole>' + "Konzole agenta" + '</label><br>';
3217 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshserverfiles>' + "Server Files" + '</label><br>';
3218 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20wakedevices>' + "Wake Devices" + '</label><br>';
3217 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshserverfiles>' + "Soubory serveru" + '</label><br>';
3218 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20wakedevices>' + "Probudit zařízení" + '</label><br>';
3219 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editnotes>' + "Upravit popis zařízení" + '</label><br>';
3220 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20limitevents>' + "Show Only Own Events" + '</label><br>';
3221 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20chatnotify>' + "Chat & Notify" + '</label><br>';
3222 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20uninstall>' + "Uninstall Agent" + '</label><br>';
3220 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20limitevents>' + "Zobrazit pouze vlastní události" + '</label><br>';
3221 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20chatnotify>' + "Chat & Upozornění" + '</label><br>';
3222 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20uninstall>' + "Odinstalovat agenta" + '</label><br>';
3223 x += '</div>';
3224 setDialogMode(2, "Přidat uživatele do skupiny", 3, p20showAddMeshUserDialogEx, x);
3225 p20validateAddMeshUserDialog();
@@ -3278,31 +3278,31 @@
3278 userid = decodeURIComponent(userid);
3279 var r = [], cmeshrights = currentMesh.links[userinfo._id].rights, meshrights = currentMesh.links[userid].rights;
3280 if (meshrights == 0xFFFFFFFF) r.push("Hlavní administrátor"); else {
3281 - if ((meshrights & 1) != 0) r.push("Editovat skupinu zařízení");
3281 + if ((meshrights & 1) != 0) r.push("Upravit skupinu zařízení");
3282 if ((meshrights & 2) != 0) r.push("Spravovat uživatele pro skupinu zařízení");
3283 if ((meshrights & 4) != 0) r.push("Správa skupin zařízení");
3284 - if ((meshrights & 8) != 0) r.push("Remote Control");
3284 + if ((meshrights & 8) != 0) r.push("Vzdálené ovládání");
3285 if ((meshrights & 16) != 0) r.push("Konzole agenta");
3286 - if ((meshrights & 32) != 0) r.push("Server Files");
3287 - if ((meshrights & 64) != 0) r.push("Wake Devices");
3288 - if ((meshrights & 128) != 0) r.push("Edit Notes");
3289 - if ((meshrights & 256) != 0) r.push("Remote View Only");
3286 + if ((meshrights & 32) != 0) r.push("Soubory serveru");
3287 + if ((meshrights & 64) != 0) r.push("Probudit zařízení");
3288 + if ((meshrights & 128) != 0) r.push("Upravit poznámky");
3289 + if ((meshrights & 256) != 0) r.push("Pouze vzdálené prohlížení");
3290 if ((meshrights & 512) != 0) r.push("Žádný terminál");
3291 - if ((meshrights & 1024) != 0) r.push("No Files");
3292 - if ((meshrights & 2048) != 0) r.push("No Intel&reg; AMT");
3293 - if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Limited Input");
3294 - if ((meshrights & 8192) != 0) r.push("Self Events Only");
3295 - if ((meshrights & 16384) != 0) r.push("Chat & Notify");
3296 - if ((meshrights & 32768) != 0) r.push("Uninstall");
3291 + if ((meshrights & 1024) != 0) r.push("Žádné soubory");
3292 + if ((meshrights & 2048) != 0) r.push("Žádné Intel&reg; AMT");
3293 + if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Omezené vstupy");
3294 + if ((meshrights & 8192) != 0) r.push("Pouze vlastní události");
3295 + if ((meshrights & 16384) != 0) r.push("Chat & Upozornění");
3296 + if ((meshrights & 32768) != 0) r.push("Odinstalace");
3297 }
3298 - if (r.length == 0) { r.push("No Rights"); }
3299 - var buttons = 1, x = addHtmlValue("User", EscapeHtml(decodeURIComponent(userid.split('/')[2])));
3298 + if (r.length == 0) { r.push("Žádná práva"); }
3299 + var buttons = 1, x = addHtmlValue("Uživatel", EscapeHtml(decodeURIComponent(userid.split('/')[2])));
3300 x += addHtmlValue("Práva", r.join(", "));
3301 if (((userinfo._id) != userid) && (cmeshrights == 0xFFFFFFFF || (((cmeshrights & 2) != 0) && (meshrights != 0xFFFFFFFF)))) buttons += 4;
3302 setDialogMode(2, "Uživatelé této skupiny zařízení", buttons, p20viewuserEx, x, userid);
3303 }
3304
3305 - function p20viewuserEx(button, userid) { if (button != 2) return; setDialogMode(2, "Remote Mesh User", 3, p20viewuserEx2, format("Confirm removal of user {0}?", userid.split('/')[2]), userid); }
3305 + function p20viewuserEx(button, userid) { if (button != 2) return; setDialogMode(2, "Vzdálený uživatel", 3, p20viewuserEx2, format("Potvrdit odstranění uživatele {0}?", userid.split('/')[2]), userid); }
3306 function p20deleteUser(e, userid) { haltEvent(e); p20viewuserEx(2, decodeURIComponent(userid)); }
3307 function p20viewuserEx2(button, userid) { meshserver.send({ action: 'removemeshuser', meshid: currentMesh._id, meshname: currentMesh.name, userid: userid }); }
3308
views/translations/default_cs.handlebars
+549 -553
@@ -36,7 +36,7 @@
36
37 <!-- right click menu -->
38 <div id="contextMenu" class="contextMenu noselect" style="display:none">
39 - <div id="cxinfo" class="cmtext" onclick="cmaction(1,event)"><b>Information</b></div>
39 + <div id="cxinfo" class="cmtext" onclick="cmaction(1,event)"><b>Informace</b></div>
40 <div id="cxdesktop" class="cmtext" onclick="cmaction(3,event)">Plocha</div>
41 <div id="cxterminal" class="cmtext" onclick="cmaction(2,event)">Terminál</div>
42 <div id="cxfiles" class="cmtext" onclick="cmaction(4,event)">Soubory</div>
@@ -54,14 +54,14 @@
54 -->
55 </div>
56 <div id="termShellContextMenu" class="contextMenu noselect" style="display:none;min-width:0px">
57 - <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Admin Shell</b></div>
58 - <div id="cxtermps" class="cmtext" onclick="cmtermaction(6,event)">Admin PowerShell</div>
59 - <div id="cxtermunorm" class="cmtext" style="display:none" onclick="cmtermaction(8,event)">User Shell</div>
60 - <div id="cxtermups" class="cmtext" style="display:none" onclick="cmtermaction(9,event)">User PowerShell</div>
57 + <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Administrátorská příkazová řádka</b></div>
58 + <div id="cxtermps" class="cmtext" onclick="cmtermaction(6,event)">Administrátorský PowerShell</div>
59 + <div id="cxtermunorm" class="cmtext" onclick="cmtermaction(8,event)">Uživatelská přikazová řádka</div>
60 + <div id="cxtermups" class="cmtext" onclick="cmtermaction(9,event)">Uživateský PowerShell</div>
61 </div>
62 <div id="termShellContextMenuLinux" class="contextMenu noselect" style="display:none;min-width:0px">
63 - <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Root Shell</b></div>
64 - <div id="cxtermps" class="cmtext" onclick="cmtermaction(8,event)">User Shell</div>
63 + <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Root příkazová řádka</b></div>
64 + <div id="cxtermps" class="cmtext" onclick="cmtermaction(8,event)">Uživatelská přikazová řádka</div>
65 </div>
66 <!--
67 <div id="pluginTabContextMenu" class="contextMenu noselect" style="display:none;min-width:0px">
@@ -75,7 +75,7 @@
75 <div class="title">{{{title}}}</div>
76 <div class="title2">{{{title2}}}</div>
77 <div style="float:right">
78 - <div id="notificationCount" onclick="clickNotificationIcon()" class="unselectable" style="display: none;" title="Click to view current notifications">0</div>
78 + <div id="notificationCount" onclick="clickNotificationIcon()" class="unselectable" style="display: none;" title="Klikni pro zobrazení nastavení notifikací">0</div>
79 </div>
80 <p id="logoutControl"><span id="logoutControlSpan" style="color:white"></span><span id="idleTimeoutNotify" style="color:yellow"></span></p>
81 </div>
@@ -103,13 +103,13 @@
103 <div id="topbar" class="noselect">
104 <div>
105 <div style="position:relative">
106 - <div tabindex="0" id="uiMenuButton" title="User interface selection" onclick="showUserInterfaceSelectMenu()" onkeypress="if (event.key == 'Enter') showUserInterfaceSelectMenu()">
106 + <div tabindex="0" id="uiMenuButton" title="Výběr rozhraní uživatele" onclick="showUserInterfaceSelectMenu()" onkeypress="if (event.key == 'Enter') showUserInterfaceSelectMenu()">
107
108 <div id="uiMenu" style="display:none">
109 - <div tabindex="0" id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Left bar interface" onkeypress="if (event.key == 'Enter') userInterfaceSelectMenu(1)"><div class="uiSelector1"></div></div>
110 - <div tabindex="0" id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Top bar interface" onkeypress="if (event.key == 'Enter') userInterfaceSelectMenu(2)"><div class="uiSelector2"></div></div>
111 - <div tabindex="0" id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Fixed width interface" onkeypress="if (event.key == 'Enter') userInterfaceSelectMenu(3)"><div class="uiSelector3"></div></div>
112 - <div tabindex="0" id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Toggle night mode" onkeypress="if (event.key == 'Enter') toggleNightMode()"><div class="uiSelector4"></div></div>
109 + <div tabindex="0" id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Rozhraní levé lišty" onkeypress="if (event.key == 'Enter') userInterfaceSelectMenu(1)"><div class="uiSelector1"></div></div>
110 + <div tabindex="0" id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Rozhraní horní lišty" onkeypress="if (event.key == 'Enter') userInterfaceSelectMenu(2)"><div class="uiSelector2"></div></div>
111 + <div tabindex="0" id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Rozhraní s pevnou šířkou" onkeypress="if (event.key == 'Enter') userInterfaceSelectMenu(3)"><div class="uiSelector3"></div></div>
112 + <div tabindex="0" id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Přepnout na noční mód" onkeypress="if (event.key == 'Enter') toggleNightMode()"><div class="uiSelector4"></div></div>
113 </div>
114 </div>
115 <table id="MainMenuSpan" cellpadding="0" cellspacing="0" class="style1">
@@ -162,7 +162,7 @@
162 <td tabindex="0" id="ServerGeneral" class="topbar_td style3x" onclick="go(6,event)" onkeypress="if (event.key == 'Enter') go(6)">Obecné</td>
163 <td tabindex="0" id="ServerStats" class="topbar_td style3x" onclick="go(40,event)" onkeypress="if (event.key == 'Enter') go(40)">Statistiky</td>
164 <td tabindex="0" id="ServerConsole" class="topbar_td style3x" onclick="go(115,event)" onkeypress="if (event.key == 'Enter') go(115)">Konzole</td>
165 - <td tabindex="0" id="ServerTrace" class="topbar_td style3x" onclick="go(41,event)" onkeypress="if (event.key == 'Enter') go(41)">Trace</td>
165 + <td tabindex="0" id="ServerTrace" class="topbar_td style3x" onclick="go(41,event)" onkeypress="if (event.key == 'Enter') go(41)">Trasování</td>
166 <td tabindex="0" id="ServerPlugins" class="topbar_td style3x" onclick="go(42,event)" onkeypress="if (event.key == 'Enter') go(42)">Pluginy</td>
167 <td class="topbar_td_end style3">&nbsp;</td>
168 </tr>
@@ -178,12 +178,12 @@
178 </div>
179 <div id="column_l">
180 <div id="p0" style="display:none">
181 - <div id="p0message"><span id="p0span">Server disconnected</span>, <href onclick="reload()" style="cursor:pointer"><u>klikni pro opětovné připojení</u></href>.</div>
181 + <div id="p0message"><span id="p0span">Server odpojen</span>, <href onclick="reload()" style="cursor:pointer"><u>klikni pro opětovné připojení</u></href>.</div>
182 </div>
183 <div id="p1" style="display:none">
184 <div style="display:none" id="devListToolbarViewIcons">
185 <div tabindex="0" id="devViewButton1" class="viewSelector" onclick="onDeviceViewChange(1)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(1); }" title="Buňky"><div class="viewSelector2"></div></div>
186 - <div tabindex="0" id="devViewButton2" class="viewSelector" onclick="onDeviceViewChange(2)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(2); }" title="List"><div class="viewSelector1"></div></div>
186 + <div tabindex="0" id="devViewButton2" class="viewSelector" onclick="onDeviceViewChange(2)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(2); }" title="Seznam"><div class="viewSelector1"></div></div>
187 <div tabindex="0" id="devViewButton3" class="viewSelector" onclick="onDeviceViewChange(3)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(3); }" title="Desktopy"><div class="viewSelector3"></div></div>
188 <div tabindex="0" id="devViewButton4" class="viewSelector" onclick="onDeviceViewChange(4)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(4); }" title="Mapa" style="display:none"><div class="viewSelector4"></div></div>
189 </div><div><h1>Moje zařízení</h1></div>
@@ -194,25 +194,25 @@
194 &nbsp;&nbsp;<input type="button" id="SelectAllButton" onclick="selectallButtonFunction();" value="Vybrat vše">&nbsp;
195 <input type="button" id="GroupActionButton" disabled="disabled" value="Akce skupiny" onclick="groupActionFunction()">&nbsp;
196 <input id="SearchInput" type="text" placeholder="Filtr" onchange="masterUpdate(5)" onkeyup="masterUpdate(5)" autocomplete="off" onfocus="onSearchFocus(1)" onblur="onSearchFocus(0)">&nbsp;
197 - <label><input type="checkbox" id="RealNameCheckBox" onclick="onRealNameCheckBox()"><span title="Show devices operating system name">Jméno operačního systému</span></label>
197 + <label><input type="checkbox" id="RealNameCheckBox" onclick="onRealNameCheckBox()"><span title="Zobrazit jméno operačního systému">Jméno operačního systému</span></label>
198 </td>
199 <td id="kvmListToolbar" class="style14" style="display:none">
200 - &nbsp;&nbsp;<input type="button" onclick="connectAllKvmFunction()" value="Connect All">&nbsp;
201 - <input type="button" onclick="disconnectAllKvmFunction()" value="Disconnect All">&nbsp;
202 - <label><input type="checkbox" id="autoConnectDesktopCheckbox" onclick="autoConnectDesktops(event)" title="Automatic connect">Auto&nbsp;</label>
200 + &nbsp;&nbsp;<input type="button" onclick="connectAllKvmFunction()" value="Připojit vše">&nbsp;
201 + <input type="button" onclick="disconnectAllKvmFunction()" value="Odpojit vše">&nbsp;
202 + <label><input type="checkbox" id="autoConnectDesktopCheckbox" onclick="autoConnectDesktops(event)" title="Automatické připojení">Auto&nbsp;</label>
203 <input type="button" onclick="showMultiDesktopSettings()" value="Nastavení">&nbsp;
204 </td>
205 <td id="devMapToolbar" class="style14" style="display:none">
206 - &nbsp;&nbsp;<input type="text" id="mapSearchLocation" placeholder="Search Location" onfocus="onMapSearchFocus(1)" onblur="onMapSearchFocus(0)">
207 - <input type="button" value="Search" title="Search for location" onclick="getSearchLocation()">
208 - <input type="button" id="refreshmap" title="Reset map view" value="Reset" onclick="refreshMap(false,true)">
206 + &nbsp;&nbsp;<input type="text" id="mapSearchLocation" placeholder="Hledat umístění" onfocus="onMapSearchFocus(1)" onblur="onMapSearchFocus(0)">
207 + <input type="button" value="Hledat" title="Vyhledat umístění" onclick="getSearchLocation()">
208 + <input type="button" id="refreshmap" title="Reset pohledu" value="Reset" onclick="refreshMap(false,true)">
209 </td>
210 <td class="auto-style1" style="height:100%">
211 <div style="display:none" id="devListToolbarView">
212 - View
212 + Zobrazit
213 <select id="viewselect" onchange="onDeviceViewChange()">
214 <option value="1">Buňky</option>
215 - <option value="2">List</option>
215 + <option value="2">Seznam</option>
216 <option value="3">Desktopy</option>
217 <option id="viewselectmapoption" value="4" style="display:none">Mapa</option>
218 </select>
@@ -247,8 +247,8 @@
247 <img src="images/info.png">
248 </td>
249 <td>
250 - <div id="getStarted1">To get started, <a href="#" onclick="return account_createMesh()"><strong>click here to create a device group</strong></a>.</div>
251 - <div id="getStarted2">No device groups.</div>
250 + <div id="getStarted1">Začít, <a href="#" onclick="return account_createMesh()"><strong>klikni zde pro vytvoření skupiny zařízení</strong></a>.</div>
251 + <div id="getStarted2">Žádná skupina zařízení.</div>
252 </td>
253 </tr>
254 </tbody></table>
@@ -258,7 +258,7 @@
258 <div id="xmapSearchResultsDlg" style="display:none">
259 <div id="xmapSearchResultsBck">
260 <div id="xmapSearchClose" onclick="mapCloseSearchWindow()"><b>X</b></div>
261 - <div style="padding:5px">Location Results</div>
261 + <div style="padding:5px">Výsledky umístění</div>
262 <div style="width:100%;margin:6px"></div>
263 </div>
264 <div id="xmapSearchResults" style="margin:6px"></div>
@@ -274,7 +274,7 @@
274 <div style="margin-left:25px">
275 <div id="manageAuthApp"><div class="p2AccountActions"><span id="authAppSetupCheck"><strong>✓</strong></span></div><span><a href="#" onclick="return account_manageAuthApp()">Spravovat autentizační aplikace</a><br></span></div>
276 <div id="manageHardwareOtp"><div class="p2AccountActions"><span id="authKeySetupCheck"><strong>✓</strong></span></div><span><a href="#" onclick="return account_manageHardwareOtp(0)">Spravovat bezpečnostní klíče</a><br></span></div>
277 - <div id="manageOtp"><div class="p2AccountActions"><span id="authCodesSetupCheck"><strong>✓</strong></span></div><span><a href="#" onclick="return account_manageOtp(0)">Manage backup codes</a><br></span></div>
277 + <div id="manageOtp"><div class="p2AccountActions"><span id="authCodesSetupCheck"><strong>✓</strong></span></div><span><a href="#" onclick="return account_manageOtp(0)">Spravovat záložní kódy</a><br></span></div>
278 </div>
279 </div>
280 <div id="p2AccountActions">
@@ -294,7 +294,7 @@
294 <span id="p2createMeshLink1">( <a href="#" onclick="return account_createMesh()" class="newMeshBtn"> Vytvořit</a> )</span>
295 <br><br>
296 <div id="p2meshes"></div>
297 - <div id="p2noMeshFound" style="display:none">No device groups.<span id="p2createMeshLink2"> <a href="#" onclick="return account_createMesh()"><strong>Get started here!</strong></a></span></div>
297 + <div id="p2noMeshFound" style="display:none">Žádná skupina zařízení.<span id="p2createMeshLink2"> <a href="#" onclick="return account_createMesh()"><strong>Začněte zde!</strong></a></span></div>
298 <br style="clear:both">
299 </div>
300 <div id="p3" style="display:none">
@@ -311,7 +311,7 @@
311 <option value="500">Posledních 500</option>
312 <option value="1000">Posledních 1000</option>
313 </select>&nbsp;
314 - <a href="#" onclick="p3showDownloadEventsDialog(2)"><img src="images/link4.png" height="10" width="10" title="Download Events" style="cursor:pointer"></a>&nbsp;
314 + <a href="#" onclick="p3showDownloadEventsDialog(2)"><img src="images/link4.png" height="10" width="10" title="Stáhnout události" style="cursor:pointer"></a>&nbsp;
315 </td>
316 <td class="h2"></td>
317 </tr>
@@ -325,9 +325,9 @@
325 <td class="h1"></td>
326 <td class="style14">
327 <div style="float:right">
328 - <input type="button" onclick="showUserBroadcastDialog()" style="margin-right:6px" value="Broadcast">
329 - <a href="#" onclick="p4downloadUserInfo()"><img style="cursor:pointer" title="Download user information" src="images/link4.png"></a>
330 - <a href="#" onclick="p4batchAccountCreate()"><img id="p4UserBatchCreate" style="cursor:pointer;display:none" title="Batch create many user accounts" src="images/link6.png"></a>
328 + <input type="button" onclick="showUserBroadcastDialog()" style="margin-right:6px" value="Hromadná zpráva">
329 + <a href="#" onclick="p4downloadUserInfo()"><img style="cursor:pointer" title="Stáhnout uživatelské informace" src="images/link4.png"></a>
330 + <a href="#" onclick="p4batchAccountCreate()"><img id="p4UserBatchCreate" style="cursor:pointer;display:none" title="Dávkově vytvořit více uživatelů" src="images/link6.png"></a>
331 </div>
332 <div>
333 <input id="UserNewAccountButton" type="button" style="margin-left:6px" onclick="showCreateNewAccountDialog()" value="Nový účet...">
@@ -365,10 +365,10 @@
365 <select id="p5sortdropdown" onchange="updateFiles()">
366 <option value="1" selected="selected">Třídit podle jména</option>
367 <option value="2">Třídit podle velikosti</option>
368 - <option value="3">Sort by date</option>
369 - <option value="4">Descend by name</option>
370 - <option value="5">Descend by size</option>
371 - <option value="6">Descend by date</option>
368 + <option value="3">STřídit podle datumu</option>
369 + <option value="4">Sestupně podle jména</option>
370 + <option value="5">Sestupně podle velikosti</option>
371 + <option value="6">Sestupně podle datumu</option>
372 </select>
373 </div>
374 <div>&nbsp;&nbsp;<span id="p5currentpath"></span></div>
@@ -383,7 +383,7 @@
383 <input type=submit id=p5fileCatchAllSubmit style="display:none" />
384 </form>
385 -->
386 - <div id="p5PublicShare" style=""><div>These files are shared publicly, click "link" to get public url.</div></div>
386 + <div id="p5PublicShare" style=""><div>Tyto soubory jsou veřejné, klikni "link" pro získání veřejného url.</div></div>
387 <div id="bigok" style="display:none"><b>✓</b></div>
388 <div id="bigfail" style="display:none"><b>✗</b></div>
389 <span id="p5files"></span>
@@ -396,10 +396,10 @@
396 <img id="MainMeshImage" src="serverpic.ashx">
397 <h1>Můj server</h1>
398 <div id="p2ServerActions">
399 - <p><strong>Server actions</strong></p>
399 + <p><strong>Kce serveru</strong></p>
400 <div class="mL">
401 - <div id="p2ServerActionsBackup"><a href="{{{domainurl}}}backup.zip" rel="noreferrer noopener" target="_blank">Download server backup</a></div>
402 - <div id="p2ServerActionsRestore"><a href="#" onclick="return server_showRestoreDlg()">Restore server with backup</a></div>
401 + <div id="p2ServerActionsBackup"><a href="{{{domainurl}}}backup.zip" rel="noreferrer noopener" target="_blank">Stáhnout zálohu serveru</a></div>
402 + <div id="p2ServerActionsRestore"><a href="#" onclick="return server_showRestoreDlg()">Obnova serveru se zálohou</a></div>
403 <div id="p2ServerActionsVersion"><a href="#" onclick="return server_showVersionDlg()">Zkontrolovat verzi serveru</a></div>
404 <div id="p2ServerActionsErrors"><a href="#" onclick="return server_showErrorsDlg()">Zobrazit chyby serveru</a></div>
405 </div>
@@ -417,7 +417,7 @@
417 <div id="serverStatsTable"></div>
418 </div>
419 <div id="serverWarningsDiv" style="display:none">
420 - <br><strong>Server Warnings</strong><br><br>
420 + <br><strong>Varování serveru</strong><br><br>
421 <div id="serverWarnings"></div>
422 </div>
423 </div>
@@ -445,13 +445,13 @@
445 <div id="p11title">
446 <div id="p11deviceNameHeader">
447 <div id="p11BackButton"><div class="backButton" tabindex="0" onclick="goBack()" title="Zpět" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
448 - <div id="devListToolbarViewIcons"><div class="viewSelector" onclick="deskToggleFull(event)" title="Full Screen. Hold shift to browser full screen."><div class="viewSelector5"></div></div></div>
449 - <h1>Desktop - <span id="p11deviceName"></span></h1>
448 + <div id="devListToolbarViewIcons"><div class="viewSelector" onclick="deskToggleFull(event)" title="Celá obrazovka. Podržte shift pro zobrazení na celou obrazovku."><div class="viewSelector5"></div></div></div>
449 + <h1>Plocha - <span id="p11deviceName"></span></h1>
450 </div>
451 </div>
452 <div id="p11warning" onclick="showFeaturesDlg()">
453 <div class="icon2"></div>
454 - <div class="warningbox">Intel® AMT Redirection port or KVM feature is disabled<span id="p11warninga">, zde kliknout pro aktivaci.</span></div>
454 + <div class="warningbox">Intel® AMT přesměrování portu nebo KVM vlastnost je vypnuta<span id="p11warninga">, zde kliknout pro aktivaci.</span></div>
455 </div>
456 <div id="p11warning2" onclick="showPowerActionDlg()">
457 <div class="icon2"></div>
@@ -461,22 +461,22 @@
461 <div id="deskarea1" class="areaHead">
462 <div class="toright2">
463 <span id="p11power"></span>&nbsp;
464 - <div class="deskareaicon" title="Toggle View Mode" onclick="toggleAspectRatio(1)">⇲</div>
465 - <div class="deskareaicon" title="Rotate Left" onclick="drotate(-1)">↺</div>
466 - <div class="deskareaicon" title="Rotate Right" onclick="drotate(1)">↻</div>
467 - <div id="deskRecordIcon" class="deskareaicon" title="Server is recording this session" style="display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px"></div>
468 - <input id="deskFocusBtn" type="button" title="Toggle focus mode, when active only the region around the mouse is updated" onkeypress="return false" onkeydown="return false" value="Focus All" onclick="deskToggleFocus()" style="margin-right:3px;display:none">
469 - <input id="deskSaveBtn" type="button" title="Uložit screenshot vzdáleného počítače" onkeypress="return false" onkeydown="return false" value="Save..." onclick="deskSaveImage()" class="mR">
464 + <div class="deskareaicon" title="Přepnout režim zobrazení" onclick="toggleAspectRatio(1)">⇲</div>
465 + <div class="deskareaicon" title="Otočit doleva" onclick="drotate(-1)">↺</div>
466 + <div class="deskareaicon" title="Otočit doprava" onclick="drotate(1)">↻</div>
467 + <div id="deskRecordIcon" class="deskareaicon" title="Server nahrává toto spojení" style="display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px"></div>
468 + <input id="deskFocusBtn" type="button" title="Přepnout režim zaměření, pokud je aktivní pouze oblast kolem myši" onkeypress="return false" onkeydown="return false" value="Zaměřit vše" onclick="deskToggleFocus()" style="margin-right:3px;display:none">
469 + <input id="deskSaveBtn" type="button" title="Uložit screenshot vzdáleného počítače" onkeypress="return false" onkeydown="return false" value="Uložit..." onclick="deskSaveImage()" class="mR">
470 <input id="deskActionsBtn" type="button" title="Akce napájení" onkeypress="return false" onkeydown="return false" value="Akce" onclick="deviceActionFunction()" class="mR">
471 - <input id="deskActionsSettings" type="button" value="Nastavení..." title="Edit remote desktop settings" onkeypress="return false" onkeydown="return false" onclick="showDesktopSettings()" class="mR">
472 - <input type="button" title="Change the power state of the remote machine" onkeypress="return false" onkeydown="return false" value="Akce napájení" onclick="showPowerActionDlg()" style="display:none">
471 + <input id="deskActionsSettings" type="button" value="Nastavení..." title="Upravit nastavení vzdálené plochy" onkeypress="return false" onkeydown="return false" onclick="showDesktopSettings()" class="mR">
472 + <input type="button" title="Změnit stav napájení vzdáleného zařízení" onkeypress="return false" onkeydown="return false" value="Akce napájení" onclick="showPowerActionDlg()" style="display:none">
473 </div>
474 <div>
475 <div id="idx_deskFullBtn2" onclick="deskToggleFull(event)">&nbsp;✖</div>
476 - <input type="button" id="autoconnectbutton1" value="AutoConnect" onclick="autoConnectDesktop(event)" onkeypress="return false" onkeydown="return false" style="display:none">
476 + <input type="button" id="autoconnectbutton1" value="Automatické připojení" onclick="autoConnectDesktop(event)" onkeypress="return false" onkeydown="return false" style="display:none">
477 <span id="connectbutton1span"><input type="button" id="connectbutton1" value="Připojit" onclick="connectDesktop(event,1)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
478 - <span id="connectbutton1hspan">&nbsp;<input type="button" id="connectbutton1h" value="HW Connect" title="Connect using Intel AMT hardware KVM" onclick="connectDesktop(event,2)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
479 - <span id="disconnectbutton1span">&nbsp;<input type="button" id="disconnectbutton1" value="Disconnect" onclick="connectDesktop(event,0)" onkeypress="return false" onkeydown="return false"></span>
478 + <span id="connectbutton1hspan">&nbsp;<input type="button" id="connectbutton1h" value="HW připojení" title="Připojit pomocí Intel AMT hardware KVM" onclick="connectDesktop(event,2)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
479 + <span id="disconnectbutton1span">&nbsp;<input type="button" id="disconnectbutton1" value="Odpojit" onclick="connectDesktop(event,0)" onkeypress="return false" onkeydown="return false"></span>
480 &nbsp;<span id="deskstatus">Odpojeno</span>
481 </div>
482 </div>
@@ -497,7 +497,7 @@
497 <div id="deskToolsArea">
498 <div id="DeskToolsProcessTab">
499 <div id="deskToolsHeader">
500 - <a class="colmn1" title="Sort by process id" onclick="sortProcess(0)">PID</a>
500 + <a class="colmn1" title="Třídit podle id procesu" onclick="sortProcess(0)">PID</a>
501 <a class="colmn2" title="Třídit podle jména" onclick="sortProcess(1)">Jméno</a>
502 </div>
503 <div id="DeskToolsProcesses" style=""></div>
@@ -515,13 +515,13 @@
515 </div>
516 <div id="deskarea4" class="areaFoot">
517 <div class="toright2">
518 - <span id="DeskTimer" title="Session time"></span>&nbsp;
518 + <span id="DeskTimer" title="Čas spojení"></span>&nbsp;
519 <select id="termdisplays" style="display:none" onchange="deskSetDisplay(event)" onkeypress="return false" onkeydown="return false"></select>&nbsp;
520 <input id="DeskToolsButton" type="button" value="Nástroje" title="Přepnout zobrazení nástrojů" onkeypress="return false" onkeydown="return false" onclick="toggleDeskTools()">&nbsp;
521 - <span id="DeskChatButton" class="deskarea" title="Open chat window to this computer"><img src="images/icon-chat.png" onclick="deviceChat(event)" height="16" width="16" style="padding-top:2px"></span>
522 - <span id="DeskNotifyButton" title="Display a notification on the remote computer"><img src="images/icon-notify.png" onclick="deviceToastFunction()" height="16" width="16" style="padding-top:2px"></span>
523 - <span id="DeskOpenWebButton" title="Open a web address on the remote computer"><img src="images/icon-url2.png" onclick="deviceUrlFunction()" height="16" width="16" style="padding-top:2px"></span>
524 - <span id="DeskBackgroundButton" title="Toggle remote desktop background"><img src="images/icon-background.png" onclick="deviceToggleBackground(event)" height="16" width="16" style="padding-top:2px"></span>
521 + <span id="DeskChatButton" class="deskarea" title="Otevřít chat na tomto počítači"><img src="images/icon-chat.png" onclick="deviceChat(event)" height="16" width="16" style="padding-top:2px"></span>
522 + <span id="DeskNotifyButton" title="Zobrazit notifikaci na vzdáleném zařízení"><img src="images/icon-notify.png" onclick="deviceToastFunction()" height="16" width="16" style="padding-top:2px"></span>
523 + <span id="DeskOpenWebButton" title="Otevřít webovou adresu na vzdáleném zařízení"><img src="images/icon-url2.png" onclick="deviceUrlFunction()" height="16" width="16" style="padding-top:2px"></span>
524 + <span id="DeskBackgroundButton" title="Přepnout pozadí vzdálené plochy"><img src="images/icon-background.png" onclick="deviceToggleBackground(event)" height="16" width="16" style="padding-top:2px"></span>
525 </div>
526 <div>
527 <select id="deskkeys">
@@ -540,9 +540,9 @@
540 <option value="12">Win+Right</option>
541 </select>
542 <input id="DeskWD" type="button" value="Odeslat" onkeypress="return false" onkeydown="return false" onclick="deskSendKeys()">
543 - <input id="DeskClip" style="" type="button" value="Clipboard" onkeypress="return false" onkeydown="return false" onclick="showDeskClip()">
543 + <input id="DeskClip" style="" type="button" value="Schránka" onkeypress="return false" onkeydown="return false" onclick="showDeskClip()">
544 <input id="DeskType" style="" type="button" value="Typ" onkeypress="return false" onkeydown="return false" onclick="showDeskType()">
545 - <label><span id="DeskControlSpan" title="Toggle mouse and keyboard input"><input id="DeskControl" type="checkbox" onkeypress="return false" onkeydown="return false" onclick="toggleKvmControl()">Vstup</span></label>&nbsp;
545 + <label><span id="DeskControlSpan" title="Přepnutí vstupu myši a klávesnice"><input id="DeskControl" type="checkbox" onkeypress="return false" onkeydown="return false" onclick="toggleKvmControl()">Vstup</span></label>&nbsp;
546 </div>
547 </div>
548 </div>
@@ -550,11 +550,11 @@
550 <div id="p12" style="display:none">
551 <div id="p12title">
552 <div id="p12BackButton"><div class="backButton" tabindex="0" onclick="goBack()" title="Zpět" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
553 - <h1>Terminal - <span id="p12deviceName"></span></h1>
553 + <h1>Terminál - <span id="p12deviceName"></span></h1>
554 </div>
555 <div id="p12warning" onclick="showFeaturesDlg()">
556 <div class="icon2"></div>
557 - <div class="warningbox">Intel® AMT Redirection port or KVM feature is disabled<span id="p12warninga">, zde kliknout pro aktivaci.</span></div>
557 + <div class="warningbox">Intel® AMT přesměrování portu nebo KVM vlastnost je vypnuta<span id="p12warninga">, zde kliknout pro aktivaci.</span></div>
558 </div>
559 <div id="p12warning2" onclick="showPowerActionDlg()">
560 <div class="icon2"></div>
@@ -565,14 +565,14 @@
565 <tbody><tr>
566 <td class="areaHead">
567 <div class="toright2">
568 - <div id="termRecordIcon" class="deskareaicon" title="Server is recording this session" style="display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px"></div>
568 + <div id="termRecordIcon" class="deskareaicon" title="Server nahrává toto spojení" style="display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px"></div>
569 <input id="termActionsBtn" type="button" title="Akce napájení" onkeypress="return false" onkeydown="return false" value="Akce" onclick="deviceActionFunction()">
570 </div>
571 <div>
572 - <input type="button" id="autoconnectbutton2" value="AutoConnect" onclick="autoConnectTerminal(event)" onkeypress="return false" onkeydown="return false" style="display:none">
572 + <input type="button" id="autoconnectbutton2" value="Automatické připojení" onclick="autoConnectTerminal(event)" onkeypress="return false" onkeydown="return false" style="display:none">
573 <span id="connectbutton2span"><input type="button" id="connectbutton2" value="Připojit" onclick="connectTerminal(event,1)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
574 - <span id="connectbutton2hspan">&nbsp;<input type="button" id="connectbutton2h" value="HW Connect" title="Connect using Intel AMT hardware KVM" onclick="connectTerminal(event,2)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
575 - <span id="disconnectbutton2span">&nbsp;<input type="button" id="disconnectbutton2" value="Disconnect" onclick="connectTerminal(event,0)" onkeypress="return false" onkeydown="return false"></span>
574 + <span id="connectbutton2hspan">&nbsp;<input type="button" id="connectbutton2h" value="HW připojení" title="Připojit pomocí Intel AMT hardware KVM" onclick="connectTerminal(event,2)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
575 + <span id="disconnectbutton2span">&nbsp;<input type="button" id="disconnectbutton2" value="Odpojit" onclick="connectTerminal(event,0)" onkeypress="return false" onkeydown="return false"></span>
576 &nbsp;<span id="termstatus">Odpojeno</span><span id="termtitle"></span>
577 </div>
578 </td>
@@ -590,25 +590,25 @@
590 <tr>
591 <td class="areaFoot">
592 <div class="toright2">
593 - <span id="TermTimer" title="Session time"></span>&nbsp;
593 + <span id="TermTimer" title="Čas spojení"></span>&nbsp;
594 <span id="terminalSettingsButtons" style="display:none">
595 - <input id="id_tcrbutton" type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" value="CR+LF" title="Toggle what the return key will send" onclick="termToggleCr()">
596 - <input id="id_tfxkeysbutton" type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" value="Intel (F10 = ESC+[OM)" title="Toggle F1 to F10 keys emulation type" onclick="termToggleFx()">
597 - <input id="id_ttypebutton" type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" value="Extended Ascii" title="Toggle terminal emulation type" onclick="termToggleType()">
595 + <input id="id_tcrbutton" type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" value="CR+LF" title="Přepnout, co odešle klávesa return" onclick="termToggleCr()">
596 + <input id="id_tfxkeysbutton" type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" value="Intel (F10 = ESC+[OM)" title="Přepněte typ emulace kláves F1 na F10" onclick="termToggleFx()">
597 + <input id="id_ttypebutton" type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" value="Rozšířené Ascii" title="Přepnout typ emulace terminálu" onclick="termToggleType()">
598 </span>
599 <span id="terminalSizeDropDown">
600 <select id="termSizeList" onkeypress="return false"><option value="1">80x25</option><option value="2">100x30</option><option value="3" selected="">Auto</option></select>
601 </span>
602 <select id="specialkeylist" onkeypress="return false"></select>
603 - <input id="specialkeylistinput" type="button" onkeypress="return false" class="bottombutton" value="Odeslat" title="Send the selected special key" onclick="sendSpecialKey()">
603 + <input id="specialkeylistinput" type="button" onkeypress="return false" class="bottombutton" value="Odeslat" title="Poslat vybraný speciální klíč" onclick="sendSpecialKey()">
604 </div>
605 <div>
606 &nbsp;
607 <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="ctrlcbutton" value="Ctl-C" onclick="termSendKey(3,'ctrlcbutton')">
608 <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="ctrlxbutton" value="Ctl-X" onclick="termSendKey(24,'ctrlxbutton')">
609 <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="escbutton" value="ESC" onclick="termSendKey(27,'escbutton')">
610 - <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="bsbutton" value="Backspace" onclick="termSendKey(8,'bsbutton')">
611 - <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="pastebutton" value="Vložit" title="Paste text into the terminal" onclick="showTermPasteDialog()">
610 + <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="bsbutton" value="Zpětná klávesa (backspace)" onclick="termSendKey(8,'bsbutton')">
611 + <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="pastebutton" value="Vložit" title="Vložit text do terminálu" onclick="showTermPasteDialog()">
612 </div>
613 </td>
614 </tr>
@@ -626,10 +626,10 @@
626 <td class="areaHead">
627 <div class="toright2">
628 <input id="filesActionsBtn" type="button" title="Akce napájení" value="Akce" onclick="deviceActionFunction()">
629 - <div id="filesRecordIcon" class="deskareaicon" title="Server is recording this session" style="display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px"></div>
629 + <div id="filesRecordIcon" class="deskareaicon" title="Server nahrává toto spojení" style="display:none;background-color:red;width:12px;height:12px;border-radius:6px;margin-top:5px;margin-left:5px"></div>
630 </div>
631 <div>
632 - <input id="p13AutoConnect" value="AutoConnect" onclick="autoConnectFiles(event)" type="button" style="display:none">
632 + <input id="p13AutoConnect" value="Automatické připojení" onclick="autoConnectFiles(event)" type="button" style="display:none">
633 <input id="p13Connect" value="Připojit" onclick="connectFiles(event)" type="button">
634 <span id="p13Status">Odpojeno</span>
635 </div>
@@ -643,7 +643,7 @@
643 <input type="button" id="p13SelectAllButton" disabled="disabled" onclick="p13selectallfile()" value="Vybrat vše">&nbsp;
644 <input type="button" id="p13RenameFileButton" disabled="disabled" value="Přejmenovat" onclick="p13renamefile()">&nbsp;
645 <input type="button" id="p13DeleteFileButton" disabled="disabled" value="Smazat" onclick="p13deletefile()">&nbsp;
646 - <input type="button" id="p13ViewFileButton" disabled="disabled" value="Edit" onclick="p13viewfile()">&nbsp;
646 + <input type="button" id="p13ViewFileButton" disabled="disabled" value="Upravit" onclick="p13viewfile()">&nbsp;
647 <input type="button" id="p13NewFolderButton" disabled="disabled" value="Nový adresář" onclick="p13createfolder()">&nbsp;
648 <input type="button" id="p13UploadButton" disabled="disabled" value="Nahrát" onclick="p13uploadFile()">&nbsp;
649 <input type="button" id="p13CutButton" disabled="disabled" value="Vyjmout" onclick="p13copyFile(1)">&nbsp;
@@ -659,10 +659,10 @@
659 <select id="p13sortdropdown" onchange="p13updateFiles()">
660 <option value="1" selected="selected">Třídit podle jména</option>
661 <option value="2">Třídit podle velikosti</option>
662 - <option value="3">Sort by date</option>
663 - <option value="4">Descend by name</option>
664 - <option value="5">Descend by size</option>
665 - <option value="6">Descend by date</option>
662 + <option value="3">STřídit podle datumu</option>
663 + <option value="4">Sestupně podle jména</option>
664 + <option value="5">Sestupně podle velikosti</option>
665 + <option value="6">Sestupně podle datumu</option>
666 </select>
667 </div>
668 <div>&nbsp;&nbsp;<span id="p13currentpath"></span></div>
@@ -682,7 +682,7 @@
682 <div id="p14" style="display:none">
683 <div id="p14title">
684 <div id="p14BackButton" style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Zpět" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
685 - <div id="devListToolbarViewIcons"><div class="viewSelector" onclick="deskToggleFull(event)" title="Full Screen. Hold shift to browser full screen."><div class="viewSelector5"></div></div></div>
685 + <div id="devListToolbarViewIcons"><div class="viewSelector" onclick="deskToggleFull(event)" title="Celá obrazovka. Podržte shift pro zobrazení na celou obrazovku."><div class="viewSelector5"></div></div></div>
686 <h1>Intel® AMT - <span id="p14deviceName"></span></h1>
687 </div>
688 <iframe id="p14iframe" src="{{{domainurl}}}commander.htm"></iframe>
@@ -696,9 +696,9 @@
696 <tbody><tr>
697 <td class="areaHead">
698 <div class="toright2">
699 - <div id="p15coreName" title="Information about current core running on this agent"></div>
700 - <input type="button" id="p15uploadCore" value="Akce agenta" onclick="p15uploadCore(event)" title="Change the agent Java Script code module">
701 - <img onclick="p15downloadConsoleText()" style="cursor:pointer;margin-top:6px" title="Download console text" src="images/link4.png">
699 + <div id="p15coreName" title="Informace o aktuálním jádru v tomto agentovi"></div>
700 + <input type="button" id="p15uploadCore" value="Akce agenta" onclick="p15uploadCore(event)" title="Změnit kód modulu agenta Java Script">
701 + <img onclick="p15downloadConsoleText()" style="cursor:pointer;margin-top:6px" title="Stáhnout text z konzole" src="images/link4.png">
702 </div>
703 <div id="p15statetext"></div>
704 </td>
@@ -727,7 +727,7 @@
727 <option value="2">MQTT</option>
728 </select>
729 </td>
730 - <td style="width:1%"><input id="id_p15consoleClear" type="button" class="bottombutton" value="Clear" onclick="p15consoleClear()"></td>
730 + <td style="width:1%"><input id="id_p15consoleClear" type="button" class="bottombutton" value="Vymazat" onclick="p15consoleClear()"></td>
731 </tr>
732 </tbody></table>
733 </td>
@@ -737,7 +737,7 @@
737 <div id="p16" style="display:none">
738 <div id="p16title">
739 <div id="p16BackButton" style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Zpět" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
740 - <h1>Events - <span id="p16deviceName"></span></h1>
740 + <h1>Události - <span id="p16deviceName"></span></h1>
741 </div>
742 <table class="pTable">
743 <tbody><tr>
@@ -752,7 +752,7 @@
752 <option value="500">Posledních 500</option>
753 <option value="1000">Posledních 1000</option>
754 </select>
755 - <a href="#" onclick="p3showDownloadEventsDialog(1)"><img src="images/link4.png" height="10" width="10" title="Download Events" style="cursor:pointer"></a>&nbsp;
755 + <a href="#" onclick="p3showDownloadEventsDialog(1)"><img src="images/link4.png" height="10" width="10" title="Stáhnout události" style="cursor:pointer"></a>&nbsp;
756 </td>
757 <td class="h2"></td>
758 </tr>
@@ -800,7 +800,7 @@
800 </div>
801 <div id="p31" style="display:none">
802 <div style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Zpět" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
803 - <h1>Events - <span id="p31userName"></span></h1>
803 + <h1>Události - <span id="p31userName"></span></h1>
804 <table class="pTable">
805 <tbody><tr>
806 <td class="h1"></td>
@@ -814,7 +814,7 @@
814 <option value="500">Posledních 500</option>
815 <option value="1000">Posledních 1000</option>
816 </select>
817 - <a href="#" onclick="p3showDownloadEventsDialog(3)"><img src="images/link4.png" height="10" width="10" title="Download Events" style="cursor:pointer"></a>&nbsp;
817 + <a href="#" onclick="p3showDownloadEventsDialog(3)"><img src="images/link4.png" height="10" width="10" title="Stáhnout události" style="cursor:pointer"></a>&nbsp;
818 </td>
819 <td class="h2"></td>
820 </tr>
@@ -826,17 +826,17 @@
826 <div class="areaHead">
827 <div class="toright2">
828 <select id="p40type" onchange="updateServerTimelineStats()">
829 - <option value="0">Connections</option>
829 + <option value="0">Spojení</option>
830 <option value="1">Paměť</option>
831 </select>&nbsp;
832 <select id="p40time" onchange="updateServerTimelineHours()">
833 - <option value="3">Last 3 hours</option>
833 + <option value="3">Poslední 3 hodiny</option>
834 <option value="8">Posledních 8 hodin</option>
835 <option value="24">Poslední den</option>
836 <option value="168">Poslední týden</option>
837 - <option value="720">Last 30 days</option>
837 + <option value="720">Posledních 30 dní</option>
838 </select>&nbsp;
839 - <img src="images/link4.png" height="10" width="10" title="Download data points (.csv)" style="cursor:pointer" onclick="p40downloadEvents()">&nbsp;
839 + <img src="images/link4.png" height="10" width="10" title="Stáhnout datové body (.csv)" style="cursor:pointer" onclick="p40downloadEvents()">&nbsp;
840 </div>
841 <div>
842 <input value="Obnovit" type="button" onclick="refreshServerTimelineStats()">
@@ -846,7 +846,7 @@
846 <canvas id="serverMainStats" style=""></canvas>
847 </div>
848 <div id="p41" style="display:none">
849 - <h1>My Server Tracing</h1>
849 + <h1>Moje serverové trasování</h1>
850 <div class="areaHead">
851 <div class="toright2">
852 Zobrazit
@@ -856,41 +856,41 @@
856 <option value="500">Posledních 500</option>
857 <option value="1000">Posledních 1000</option>
858 </select>
859 - <input value="Clear" type="button" onclick="clearServerTracing()">
860 - <img src="images/link4.png" height="10" width="10" title="Download trace (.csv)" style="cursor:pointer" onclick="p41downloadServerTrace()">&nbsp;
859 + <input value="Vymazat" type="button" onclick="clearServerTracing()">
860 + <img src="images/link4.png" height="10" width="10" title="Stáhnout trace (.csv)" style="cursor:pointer" onclick="p41downloadServerTrace()">&nbsp;
861 </div>
862 <div>
863 - <input value="Tracing" type="button" onclick="setServerTracing()">
863 + <input value="Trasování" type="button" onclick="setServerTracing()">
864 <span id="p41traceStatus">Nic</span>
865 </div>
866 </div>
867 <div id="p41events" style=""></div>
868 </div>
869 <div id="p42" style="display:none">
870 - <h1>My Server Plugins</h1>
870 + <h1>Moje serverové pluginy</h1>
871 <div class="areaHead">
872 <div class="toright2">
873 </div>
874 <div>
875 - <input value="Download Plugin" type="button" onclick="return pluginHandler.addPluginDlg();">
875 + <input value="Stáhnout plugin" type="button" onclick="return pluginHandler.addPluginDlg();">
876 </div>
877 </div>
878 <div id="pluginRestartNotice" class="areaHead" style="background-color:gold;display:none">
879 <div class="toright2">
880 - <input value="Refresh Agent Cores" type="button" onclick="distributeCore();return false">
880 + <input value="Obnovit jádra agentů" type="button" onclick="distributeCore();return false">
881 </div>
882 <div style="padding:2px">
883 - <div style="padding:2px"><b>Notice:</b> Plugins have been altered, this may require agent core update.</div>
883 + <div style="padding:2px"><b>Poznámka:</b> Pluginy byly změněny, může to vyžadovat aktualizaci jádra agenta.</div>
884 </div>
885 </div>
886 <table id="p42tbl">
887 - <tbody><tr class="DevSt"><th style="width:26px"></th><th style="width:10px"></th><th class="chName">Jméno</th><th class="chDescription">Popis</th><th class="chSite" style="text-align:center">Link</th><th class="chVersion" style="text-align:center">Verze</th><th class="chUpgradeAvail" style="text-align:center">Latest</th><th class="chStatus" style="text-align:center">Status</th><th class="chAction" style="text-align:center">Akce</th><th style="width:10px"></th></tr>
887 + <tbody><tr class="DevSt"><th style="width:26px"></th><th style="width:10px"></th><th class="chName">Jméno</th><th class="chDescription">Popis</th><th class="chSite" style="text-align:center">Odkaz</th><th class="chVersion" style="text-align:center">Verze</th><th class="chUpgradeAvail" style="text-align:center">Poslední</th><th class="chStatus" style="text-align:center">Status</th><th class="chAction" style="text-align:center">Akce</th><th style="width:10px"></th></tr>
888 </tbody></table>
889 - <div id="pluginNoneNotice" style="width:100%;text-align:center;padding-top:10px;display:none"><i>No plugins on server.</i></div>
889 + <div id="pluginNoneNotice" style="width:100%;text-align:center;padding-top:10px;display:none"><i>Žádný plugin na serveru.</i></div>
890 </div>
891 <div id="p43" style="display:none">
892 <div id="p43BackButton"><div class="backButton" tabindex="0" onclick="go(42)" title="Zpět" onkeypress="if (event.key == 'Enter') go(42)"><div class="backButtonEx"></div></div></div>
893 - <h1>My Server Plugins - <span id="p43title"></span></h1>
893 + <h1>Moje serverové pluginy - <span id="p43title"></span></h1>
894 <iframe id="p43iframe" frameborder="0" style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe>
895 </div>
896 <div id="p19" style="display:none">
@@ -904,7 +904,7 @@
904 <div class="footer1">{{{footer}}}</div>
905 <div class="footer2">
906 <a id="verifyEmailId2" style="display:none" href="#" onclick="account_showVerifyEmail()">Ověřit email</a>
907 - &nbsp;<a href="terms">Terms &amp; Privacy</a>
907 + &nbsp;<a href="terms">Podmínky &amp; soukromí</a>
908 </div>
909 </div>
910 <div id="dialog" class="noselect" style="display:none">
@@ -921,10 +921,10 @@
921 </div>
922 <div id="dialog3" style="">
923 <div id="d3upload">
924 - <div>File Selection</div>
924 + <div>Výběr souboru</div>
925 <select id="d3uploadMode" onchange="d3modechange()">
926 - <option value="1">Local file upload</option>
927 - <option value="2">Server file selection</option>
926 + <option value="1">Nahrání lokálního souboru</option>
927 + <option value="2">Výběr souboru serveru</option>
928 </select>
929 </div>
930 <div id="d3localmode" style="display:none">
@@ -945,7 +945,7 @@
945 </div>
946 <div id="dialog7" style="">
947 <div id="d7meshkvm">
948 - <h4>Agent Remote Desktop</h4>
948 + <h4>Agent vzdálené plochy</h4>
949 <div>
950 <div>Kvalita</div>
951 <select id="d7bitmapquality" dir="rtl"></select>
@@ -978,18 +978,18 @@
978 <div>
979 <div>Kódovaní obrazu</div>
980 <select id="d7desktopmode">
981 - <option value="1">RLE8, Fastest</option>
982 - <option value="2">RLE16, Recommended</option>
983 - <option value="3">RAW8, Slow</option>
984 - <option value="4">RAW16, Very Slow</option>
981 + <option value="1">RLE8, Rychlejší</option>
982 + <option value="2">RLE16, doporučeno</option>
983 + <option value="3">RAW8, pomalé</option>
984 + <option value="4">RAW16, hodně pomalé</option>
985 </select>
986 </div>
987 <div>
988 - <div>Other Settings</div>
988 + <div>Ostatní nastavení</div>
989 <div id="d7otherset" style="display:block">
990 - <label style="display:block"><input type="checkbox" id="d7showfocus">Show Focus Tool</label>
991 - <label style="display:block"><input type="checkbox" id="d7showcursor">Show Local Mouse Cursor</label>
992 - <label style="display:block"><input type="checkbox" id="d7localKeyMap">Local Keyboard Map</label>
990 + <label style="display:block"><input type="checkbox" id="d7showfocus">Zobrazit nástroj pro zaměření</label>
991 + <label style="display:block"><input type="checkbox" id="d7showcursor">Zobrazit lokální kurzor myši</label>
992 + <label style="display:block"><input type="checkbox" id="d7localKeyMap">Lokální klávesová mapa</label>
993 </div>
994 </div>
995 </div>
@@ -1017,8 +1017,8 @@
1017
1018 var args;
1019 var autoReconnect = true;
1020 - var powerStatetable = ['', "Zapnuto", "Spánek", "Spánek", "Spánek", "Hibernating", "Vypnout", "Present"];
1021 - var StatusStrs = ["Odpojeno", "Connecting...", "Setup...", "Connected", "Intel&reg; AMT Connected"];
1020 + var powerStatetable = ['', "Zapnuto", "Spánek", "Spánek", "Spánek", "Hibernuji", "Vypnout", "Současnost"];
1021 + var StatusStrs = ["Odpojeno", "Připojování...", "Nastavení...", "Připojeno", "Intel&reg; AMT připojeno"];
1022 var sort = 0;
1023 var searchFocus = 0;
1024 var mapSearchFocus = 0;
@@ -1104,10 +1104,6 @@
1104 if (nightMode) { QC('body').add('night'); }
1105 toggleFullScreen();
1106
1107 - // Debug
1108 - QV('cxtermunorm', debugmode == 1);
1109 - QV('cxtermups', debugmode == 1);
1110 -
1107 // Setup page visuals
1108 if (args.hide) {
1109 var hide = parseInt(args.hide);
@@ -1330,7 +1326,7 @@
1326 QV('verifyEmailId2', false);
1327 QV('logoutControl', false);
1328 if (errorCode == 'noauth') { QH('p0span', "Unable to perform authentication"); return; }
1333 - if (prevState == 2) { if (autoReconnect) { setTimeout(serverPoll, 5000); } } else { QH('p0span', "Unable to connect web socket"); }
1329 + if (prevState == 2) { if (autoReconnect) { setTimeout(serverPoll, 5000); } } else { QH('p0span', "Nelze se připojit k web socketu"); }
1330 if (authCookieRenewTimer != null) { clearInterval(authCookieRenewTimer); authCookieRenewTimer = null; }
1331 } else if (state == 2) {
1332 // Fetch list of meshes, nodes, files
@@ -1443,7 +1439,7 @@
1439
1440 // Check if backup codes should really be enabled
1441 if ((backupCodesWarningDone == false) && !(userinfo.otpkeys > 0) && (((userinfo.otpsecret == 1) && !(userinfo.otphkeys > 0)) || ((userinfo.otpsecret != 1) && (userinfo.otphkeys == 1)))) {
1446 - var n = { text: "Please add two-factor backup codes. If the current factor is lost, there is not way to recover this account.", title: "Two factor authentication" };
1442 + var n = { text: "Prosím přidejte 2-faktorové záložní kódy. Pokud dojde ke ztrátě současných faktorů, není možné tento účet obnovit.", title: "2-faktorová autentizace" };
1443 addNotification(n);
1444 backupCodesWarningDone = true;
1445 }
@@ -1477,7 +1473,7 @@
1473 QH('idleTimeoutNotify', '<br />' + format("{0} sekund{1} do odpojení", ds, addLetterS(ds)));
1474 } else {
1475 ds = Math.round(ds / 60);
1480 - if (ds <= 5) { QH('idleTimeoutNotify', '<br />' + format("{0} minute{1} until disconnect", ds, addLetterS(ds))); }
1476 + if (ds <= 5) { QH('idleTimeoutNotify', '<br />' + format("{0} minut{1} do odpojení", ds, addLetterS(ds))); }
1477 }
1478 }
1479 }
@@ -1596,7 +1592,7 @@
1592 if (message.nodeid != powerTimelineReq) break;
1593 //console.log('getsysinfo', message); // ***********************
1594 if (message.noinfo === true) {
1599 - QH('p17info', "No information for this device.");
1595 + QH('p17info', "Žádné informace o tomto zařízení.");
1596 } else {
1597 var x = '', s = {};
1598 if (message.hardware) {
@@ -1609,12 +1605,12 @@
1605 x += '<br />';
1606
1607 // Motherboard
1612 - x += '<div class=DevSt style=margin-bottom:3px><b>' + "Motherboard" + '</b></div>';
1608 + x += '<div class=DevSt style=margin-bottom:3px><b>' + "Základní deska" + '</b></div>';
1609 if (ident.board_vendor) { x += addDetailItem("Výrobce", ident.board_vendor, s); }
1610 if (ident.board_name) { x += addDetailItem("Jméno", ident.board_name, s); }
1615 - if (ident.board_serial && (ident.board_serial != '')) { x += addDetailItem("Serial", ident.board_serial, s); }
1611 + if (ident.board_serial && (ident.board_serial != '')) { x += addDetailItem("Sériový", ident.board_serial, s); }
1612 if (ident.board_version) { x += addDetailItem("Verze", ident.board_version, s); }
1617 - if (ident.product_uuid) { x += addDetailItem("Identifier", ident.product_uuid, s); }
1613 + if (ident.product_uuid) { x += addDetailItem("Identifikátor", ident.product_uuid, s); }
1614 x += '<br />';
1615 }
1616
@@ -1633,8 +1629,8 @@
1629 x += '<tr><td VALIGN=Top style=width:38px><img src="images/ram2.png" />'
1630 x += '<td><div style=background-color:lightgray;border-radius:5px;padding:8px>';
1631 x += '<div><b>' + m.BankLabel + '</b></div>';
1636 - if (m.Capacity) { x += addDetailItem("Capacity / Speed", format("{0} Mb, {1} Mhz", (m.Capacity / 1024 / 1024), m.Speed), s); }
1637 - if (m.PartNumber) { x += addDetailItem("Part Number", ((m.Manufacturer && m.Manufacturer != 'Undefined')?(m.Manufacturer + ', '):'') + m.PartNumber, s); }
1632 + if (m.Capacity) { x += addDetailItem("Kapacita / Rychlost", format("{0} Mb, {1} Mhz", (m.Capacity / 1024 / 1024), m.Speed), s); }
1633 + if (m.PartNumber) { x += addDetailItem("Číslo dílu", ((m.Manufacturer && m.Manufacturer != 'Undefined')?(m.Manufacturer + ', '):'') + m.PartNumber, s); }
1634 x += '</div>';
1635 }
1636 x += '</table><br />';
@@ -1712,11 +1708,11 @@
1708 case 'getnetworkinfo': {
1709 if ((currentNode._id == message.nodeid) && (xxdialogMode == 2) && (xxdialogTag == 'if' + message.nodeid)) {
1710 if (message.netif == null) {
1715 - QH('d2netinfo', "No network interface information available for this device.");
1711 + QH('d2netinfo', "Žádné informace k tomuto síťovému rozhraní.");
1712 } else {
1713 var x = '<div class=dialogText>';
1714
1719 - if (currentNode.lastconnect) { x += addHtmlValue2("Last agent connection", printDateTime(new Date(currentNode.lastconnect))); }
1715 + if (currentNode.lastconnect) { x += addHtmlValue2("Poslední připojení agenta", printDateTime(new Date(currentNode.lastconnect))); }
1716 if (currentNode.lastaddr) {
1717 var splitip = currentNode.lastaddr.split(':');
1718 if (splitip.length > 2) {
@@ -1725,9 +1721,9 @@
1721 } else {
1722 // IPv4
1723 if (isPrivateIP(currentNode.lastaddr)) {
1728 - x += addHtmlValue2("Poslední adresa agenta", splitip[0] + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
1724 + x += addHtmlValue2("Poslední adresa agenta", splitip[0] + ' <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
1725 } else {
1730 - x += addHtmlValue2("Poslední adresa agenta", '<a href="https://iplocation.com/?ip=' + splitip[0] + '" rel="noreferrer noopener" target="MeshIPLoopup">' + splitip[0] + '</a> <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
1726 + x += addHtmlValue2("Poslední adresa agenta", '<a href="https://iplocation.com/?ip=' + splitip[0] + '" rel="noreferrer noopener" target="MeshIPLoopup">' + splitip[0] + '</a> <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
1727 }
1728 }
1729 }
@@ -1740,9 +1736,9 @@
1736 if (net.desc) { x += addHtmlValue2("Popis", EscapeHtml(net.desc).replace('(R)', '&reg;').replace('(r)', '&reg;')); }
1737 if (net.dnssuffix) { x += addHtmlValue2("DNS suffix", EscapeHtml(net.dnssuffix) + ' <img src="images/link4.png" title="' + "Zkopírovat jméno do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.dnssuffix) + '\") width=10 height=10>'); }
1738 if (net.mac) { x += addHtmlValue2("MAC adresa", '<a href="https://dnslytics.com/mac-address-lookup/' + net.mac.substring(0, 6) + '" rel="noreferrer noopener" target="MeshMACLoopup">' + EscapeHtml(net.mac.toLowerCase()) + '</a> <img src="images/link4.png" title="' + "Kopírovat MAC adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.mac.toLowerCase()) + '\") width=10 height=10>'); }
1743 - if (net.v4addr) { x += addHtmlValue2("IPv4 address", EscapeHtml(net.v4addr) + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4addr) + '\") width=10 height=10>'); }
1744 - if (net.v4mask) { x += addHtmlValue2("IPv4 mask", EscapeHtml(net.v4mask) + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4mask) + '\") width=10 height=10>'); }
1745 - if (net.v4gateway) { x += addHtmlValue2("IPv4 gateway", EscapeHtml(net.v4gateway) + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4gateway) + '\") width=10 height=10>'); }
1739 + if (net.v4addr) { x += addHtmlValue2("IPv4 adresa", EscapeHtml(net.v4addr) + ' <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4addr) + '\") width=10 height=10>'); }
1740 + if (net.v4mask) { x += addHtmlValue2("IPv4 maska", EscapeHtml(net.v4mask) + ' <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4mask) + '\") width=10 height=10>'); }
1741 + if (net.v4gateway) { x += addHtmlValue2("IPv4 brána", EscapeHtml(net.v4gateway) + ' <img src="images/link4.png" title="' + "Kopírovat adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.v4gateway) + '\") width=10 height=10>'); }
1742 if (net.gatewaymac) { x += addHtmlValue2("MAC brány", '<a href="https://dnslytics.com/mac-address-lookup/' + net.gatewaymac.substring(0, 6) + '" rel="noreferrer noopener" target="MeshMACLoopup">' + EscapeHtml(net.gatewaymac.toLowerCase()) + '</a> <img src="images/link4.png" title="' + "Kopírovat MAC adresu do schránky" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.gatewaymac.toLowerCase()) + '\") width=10 height=10>'); }
1743 }
1744 x += '</div>';
@@ -1754,15 +1750,15 @@
1750 case 'serverversion': {
1751 if ((xxdialogMode == 2) && (xxdialogTag == 'MeshCentralServerUpdate')) {
1752 var x = '<div class=dialogText>';
1757 - if (!message.current) { message.current = "Unknown"; }
1758 - if (!message.latest) { message.latest = "Unknown"; }
1759 - x += addHtmlValue2("Current Version", '<b>' + EscapeHtml(message.current) + '</b>');
1760 - x += addHtmlValue2("Latest Version", '<b>' + EscapeHtml(message.latest) + '</b>');
1753 + if (!message.current) { message.current = "Neznámý"; }
1754 + if (!message.latest) { message.latest = "Neznámý"; }
1755 + x += addHtmlValue2("Aktuální verze", '<b>' + EscapeHtml(message.current) + '</b>');
1756 + x += addHtmlValue2("Poslední verze", '<b>' + EscapeHtml(message.latest) + '</b>');
1757 x += '</div>';
1758 if ((message.latest.indexOf('.') == -1) || (message.current == message.latest) || ((features & 2048) == 0)) {
1763 - setDialogMode(2, "MeshCentral Version", 1, null, x);
1759 + setDialogMode(2, "MeshCentral verze", 1, null, x);
1760 } else {
1765 - setDialogMode(2, "MeshCentral Version", 3, server_showVersionDlgEx, x + '<br /><label><input id=d2updateCheck type=checkbox onclick=server_showVersionDlgUpdate() /> ' + "Check and click OK to start server self-update." + '</label>');
1761 + setDialogMode(2, "MeshCentral verze", 3, server_showVersionDlgEx, x + '<br /><label><input id=d2updateCheck type=checkbox onclick=server_showVersionDlgUpdate() /> ' + "Zatrhni a klikni na OK pro automatickou aktializaci serveru. " + '</label>');
1762 server_showVersionDlgUpdate();
1763 }
1764 }
@@ -1771,10 +1767,10 @@
1767 case 'servererrors': {
1768 if ((xxdialogMode == 2) && (xxdialogTag == 'MeshCentralServerErrors')) {
1769 if (message.data == null) {
1774 - setDialogMode(2, "MeshCentral Server Errors", 1, null, "Server has no error log.");
1770 + setDialogMode(2, "MeshCentral Serverové chyby", 1, null, "Server nemá žádný chybový log.");
1771 } else {
1772 var x = '<div class="dialogText dialogTextLog"><pre id=d2ServerErrorsLogPre>' + message.data + '<pre></div>';
1777 - setDialogMode(2, "MeshCentral Server Errors", 3, server_showErrorsDlgEx, x + '<br /><div style=float:right><img src=images/link4.png height=10 width=10 title="' + "Download error log" + '" style=cursor:pointer onclick=d2CopyServerErrorsToClip()></div><div><label><input id=d2updateCheck type=checkbox onclick=server_showVersionDlgUpdate() /> ' + "Check and click OK to clear error log." + '</label></div>');
1773 + setDialogMode(2, "MeshCentral Serverové chyby", 3, server_showErrorsDlgEx, x + '<br /><div style=float:right><img src=images/link4.png height=10 width=10 title="' + "Stáhnout chybový log" + '" style=cursor:pointer onclick=d2CopyServerErrorsToClip()></div><div><label><input id=d2updateCheck type=checkbox onclick=server_showVersionDlgUpdate() /> ' + "Zatrhni a klikni na OK pro vymazaní chybového logu." + '</label></div>');
1774 server_showVersionDlgUpdate();
1775 }
1776 }
@@ -1825,7 +1821,7 @@
1821 var secret = message.secret;
1822 if (secret.length == 52) { secret = secret.split(/(.............)/).filter(Boolean).join(' '); }
1823 else if (secret.length == 32) { secret = secret.split(/(....)/).filter(Boolean).join(' '); secret = secret.substring(0, 20) + '<br/>' + secret.substring(20) }
1828 - QH('d2optinfo', '<table style=width:380px><tr><td style=vertical-align:top>' + "Install <a href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\" rel=\"noreferrer noopener\" target=_blank>Google Authenticator</a> or a compatible application and scan the barcode, use <a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank> this link</a> or enter the secret. Then, enter the current 6 digit token below to activate 2-Step login." + '<br /><br />Secret<br /><tt id=d2optsecret secret=\"' + message.secret + '\" style=font-size:12px>' + secret + '</tt><br /><br /></td><td style=width:1px;vertical-align:top><a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank><div id="qrcode"></div></a></td><tr><td colspan=2 style="text-align:center;border-top:1px solid black"><br />' + "Enter the token here for 2-step login:" + ' <input type=text onkeypress=\"return (event.keyCode == 8) || (event.charCode >= 48 && event.charCode <= 57)\" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text></td></table>');
1824 + QH('d2optinfo', '<table style=width:380px><tr><td style=vertical-align:top>' + "Nainstalujte si <a href=\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\" rel=\"noreferrer noopener\" target=_blank>Google Authenticator</a> nebo kompatibilní aplikaci a naskenujte kód, použijte <a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank> tento odkaz</a> nebo vložte secret. Pak vložte aktuální 6 číselný token pro aktivaci 2-faktorového přihlašování." + '<br /><br />Secret<br /><tt id=d2optsecret secret=\"' + message.secret + '\" style=font-size:12px>' + secret + '</tt><br /><br /></td><td style=width:1px;vertical-align:top><a href=\"' + message.url + '\" rel=\"noreferrer noopener\" target=_blank><div id="qrcode"></div></a></td><tr><td colspan=2 style="text-align:center;border-top:1px solid black"><br />' + "Zadejte token pro 2-faktorové přihlášení:" + ' <input type=text onkeypress=\"return (event.keyCode == 8) || (event.charCode >= 48 && event.charCode <= 57)\" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text></td></table>');
1825 new QRCode(Q('qrcode'), { text: message.url, width: 128, height: 128, colorDark: '#000000', colorLight: '#EEE', correctLevel: QRCode.CorrectLevel.H });
1826 QV('idx_dlgOkButton', true);
1827 QE('idx_dlgOkButton', false);
@@ -1835,17 +1831,17 @@
1831 }
1832 case 'otpauth-setup': {
1833 if (xxdialogMode) return;
1838 - setDialogMode(2, "Authenticator App", 1, null, message.success ? ('<b style=color:green>' + "Authenticator app activation successful." + '</b> ' + "You will now need a valid token to login again.") : ('<b style=color:red>' + "aktivace 2-faktorového přihlašování selhalo." + '</b> ' + "Clear the secret from the application and try again. You only have a few minutes to enter the proper code."));
1834 + setDialogMode(2, "Aplikace pro autentizaci", 1, null, message.success ? ('<b style=color:green>' + "Aktivace autentizační aplikace úspěšná." + '</b> ' + "Budete potřebovat platný token k novému přihlášení.") : ('<b style=color:red>' + "aktivace 2-faktorového přihlašování selhalo." + '</b> ' + "Vymaž tajemství z aplikace a zkus to znovu. Máš na zadání správného kódu jen pár minut."));
1835 break;
1836 }
1837 case 'otpauth-clear': {
1838 if (xxdialogMode) return;
1843 - setDialogMode(2, "Authenticator App", 1, null, message.success ? ('<b>' + "Authenticator application removed." + '</b> ' + "You can reactivate this feature at any time.") : ('<b style=color:red>' + "odstranění 2-faktorového přihlašování selhalo." + '</b> ' + "Zkusit znovu."));
1839 + setDialogMode(2, "Aplikace pro autentizaci", 1, null, message.success ? ('<b>' + "Autentizační aplikace odstraněna." + '</b> ' + "Tuto funkci můžete kdykoli znovu aktivovat.") : ('<b style=color:red>' + "odstranění 2-faktorového přihlašování selhalo." + '</b> ' + "Zkusit znovu."));
1840 break;
1841 }
1842 case 'otpauth-getpasswords': {
1843 if (xxdialogMode) return;
1848 - var x = "One time tokens can be used as secondary authentication. Generate a set, print them and keep them in a safe place.";
1844 + var x = "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ě.";
1845 x += '<div style="border-radius:6px;border: 2px dashed #888;width:100%;margin-top:8px"><div style="padding:8px;font-family:Arial, Helvetica, sans-serif;font-size:20px;font-weight:bold"><table class=selecttext style=width:100%;text-align:center>';
1846 if (message.passwords) {
1847 var j = 0, clipb = '';
@@ -1862,17 +1858,17 @@
1858 }
1859 }
1860 } else {
1865 - x += '<tr><td>' + "No Active Tokens";
1861 + x += '<tr><td>' + "Žádné aktivní tokeny";
1862 }
1863 x += '</table></div></div><br />';
1868 - x += '<div><input type=button value=' + "Close" + ' onclick=setDialogMode(0) style=float:right></input>';
1864 + x += '<div><input type=button value=' + "Zavřít" + ' onclick=setDialogMode(0) style=float:right></input>';
1865 x += '<input type=button value="' + "Generovat nové tokeny" + '" onclick="account_manageOtp(1);"></input>';
1866 if (message.passwords != null) {
1871 - x += '<input type=button value="' + "Clear Tokens" + '" onclick="account_manageOtp(2);"></input>';
1872 - x += '&nbsp;<img src=images/link4.png height=10 width=10 title="' + "Copy valid codes to clipboard" + '" style=cursor:pointer onclick=copyTextToClip2("' + encodeURIComponent(clipb) + '")>';
1867 + x += '<input type=button value="' + "Vymazat tokeny" + '" onclick="account_manageOtp(2);"></input>';
1868 + x += '&nbsp;<img src=images/link4.png height=10 width=10 title="' + "Kopírovat platné kódy do schránky" + '" style=cursor:pointer onclick=copyTextToClip2("' + encodeURIComponent(clipb) + '")>';
1869 }
1870 x += '</div><br />';
1875 - setDialogMode(2, "Manage Backup Codes", 8, null, x, 'otpauth-manage');
1871 + setDialogMode(2, "Spravovat záložní kódy", 8, null, x, 'otpauth-manage');
1872 break;
1873 }
1874 case 'otp-hkey-get': {
@@ -1890,7 +1886,7 @@
1886 x += start + '<tr style=text-align:center><td>' + "Žádný klíč není zkonfigurován" + end;
1887 }
1888 x += '</div>';
1893 - x += '<div><input type=button value="' + "Close" + '" onclick=setDialogMode(0) style=float:right></input>';
1889 + x += '<div><input type=button value="' + "Zavřít" + '" onclick=setDialogMode(0) style=float:right></input>';
1890 if ((features & 0x00020000) != 0) { x += '<input id=d2addkey3 type=button value="' + "Přidat klíč" + '" onclick="account_addhkey(3);"></input>'; }
1891 if ((features & 0x00004000) != 0) { x += '<input id=d2addkey2 type=button value="' + "Přidat YubiKey&reg; OTP" + '" onclick="account_addhkey(2);"></input>'; }
1892 x += '</div><br />';
@@ -1902,7 +1898,7 @@
1898 if (message.result) {
1899 meshserver.send({ action: 'otp-hkey-get' }); // Success, ask for the full list of keys.
1900 } else {
1905 - setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, '<br />' + "Error, Unable to add key." + '<br /><br />');
1901 + setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, '<br />' + "Chyba, nelze přidat klíč." + '<br /><br />');
1902 }
1903 break;
1904 }
@@ -1911,13 +1907,13 @@
1907 if (message.result == true) {
1908 meshserver.send({ action: 'otp-hkey-get' }); // Success, ask for the full list of keys.
1909 } else {
1914 - setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, '<br />' + "ERROR: Unable to add key." + '<br /><br />', 'otpauth-hardware-manage');
1910 + setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, '<br />' + "CHYBA: nelze přidat klíč." + '<br /><br />', 'otpauth-hardware-manage');
1911 }
1912 break;
1913 }
1914 case 'webauthn-startregister': {
1915 if (xxdialogMode && (xxdialogTag != 'otpauth-hardware-manage')) return;
1920 - var x = "Press the key button now." + '<br /><br /><div style=width:100%;text-align:center><img width=120 height=117 src="images/hardware-keypress-120.png" /></div><input id=dp1keyname style=display:none value=' + message.name + ' />';
1916 + var x = "Stiskni klávesu." + '<br /><br /><div style=width:100%;text-align:center><img width=120 height=117 src="images/hardware-keypress-120.png" /></div><input id=dp1keyname style=display:none value=' + message.name + ' />';
1917 setDialogMode(2, "Přidat bezpečnostní klíč", 2, null, x);
1918
1919 var publicKey = message.request;
@@ -1931,7 +1927,7 @@
1927 setDialogMode(0);
1928 }, function(error) {
1929 // Error
1934 - setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, "ERROR: " + error);
1930 + setDialogMode(2, "Přidat bezpečnostní klíč", 1, null, "CHYBA: " + error);
1931 });
1932 break;
1933 }
@@ -2239,15 +2235,15 @@
2235 // Show the notification
2236 if (n & 2) {
2237 if (((node.conn & 1) == 0) && ((message.event.conn & 1) != 0)) { addNotification({ text: "Agent připojen", title: node.name, icon: node.icon, nodeid: node._id }); }
2242 - if (((node.conn & 2) == 0) && ((message.event.conn & 2) != 0)) { addNotification({ text: "Intel AMT detected", title: node.name, icon: node.icon, nodeid: node._id }); }
2243 - if (((node.conn & 4) == 0) && ((message.event.conn & 4) != 0)) { addNotification({ text: "Intel AMT CIRA connected", title: node.name, icon: node.icon, nodeid: node._id }); }
2238 + if (((node.conn & 2) == 0) && ((message.event.conn & 2) != 0)) { addNotification({ text: "Intel AMT detekováno", title: node.name, icon: node.icon, nodeid: node._id }); }
2239 + if (((node.conn & 4) == 0) && ((message.event.conn & 4) != 0)) { addNotification({ text: "Intel AMT CIRA připojeno", title: node.name, icon: node.icon, nodeid: node._id }); }
2240 if (((node.conn & 16) == 0) && ((message.event.conn & 16) != 0)) { addNotification({ text: "MQTT připojeno", title: node.name, icon: node.icon, nodeid: node._id }); }
2241 }
2242 if (n & 4) {
2243 if (((node.conn & 1) != 0) && ((message.event.conn & 1) == 0)) { addNotification({ text: "Agent odpojen", title: node.name, icon: node.icon, nodeid: node._id }); }
2248 - if (((node.conn & 2) != 0) && ((message.event.conn & 2) == 0)) { addNotification({ text: "Intel AMT not detected", title: node.name, icon: node.icon, nodeid: node._id }); }
2249 - if (((node.conn & 4) != 0) && ((message.event.conn & 4) == 0)) { addNotification({ text: "Intel AMT CIRA disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
2250 - if (((node.conn & 16) != 0) && ((message.event.conn & 16) == 0)) { addNotification({ text: "MQTT disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
2244 + if (((node.conn & 2) != 0) && ((message.event.conn & 2) == 0)) { addNotification({ text: "Intel AMT není detekováno", title: node.name, icon: node.icon, nodeid: node._id }); }
2245 + if (((node.conn & 4) != 0) && ((message.event.conn & 4) == 0)) { addNotification({ text: "Intel AMT CIRA odpojeno", title: node.name, icon: node.icon, nodeid: node._id }); }
2246 + if (((node.conn & 16) != 0) && ((message.event.conn & 16) == 0)) { addNotification({ text: "MQTT odpojeno", title: node.name, icon: node.icon, nodeid: node._id }); }
2247 }
2248
2249 // Change the node connection state
@@ -2285,7 +2281,7 @@
2281 var x = '';
2282 if (message.event.results == null) {
2283 // The scan could not occur because of an error. Likely the user range was invalid.
2288 - x = '<div style=width:100%;text-align:center;margin-top:12px>' + "Nelze skenovat tento rozsah." + '</div><div style=width:100%;text-align:center;margin-top:12px;color:gray;line-height:1.5>' + "Sample IP range values<br />192.168.0.100<br />192.168.1.0/24<br />192.167.0.1-192.168.0.100" + '</div>';
2284 + x = '<div style=width:100%;text-align:center;margin-top:12px>' + "Nelze skenovat tento rozsah." + '</div><div style=width:100%;text-align:center;margin-top:12px;color:gray;line-height:1.5>' + "Příklad rozsahu IP adres<br />192.168.0.100<br />192.168.1.0/24<br />192.167.0.1-192.168.0.100" + '</div>';
2285 } else {
2286 // Go thru all the results and populate the dialog box
2287 amtScanResults = message.event.results;
@@ -2376,7 +2372,7 @@
2372 }
2373 case 'getmqttlogin': {
2374 if ((currentNode == null) || (currentNode._id != message.nodeid) || (xxdialogMode != null)) return;
2379 - var x = "These settings can be used to connect MQTT for this device." + '<br /><br />';
2375 + var x = "Tyto nastavení mohou být použity pro MQTT tohoto zařízení." + '<br /><br />';
2376 delete message.action;
2377 delete message.nodeid;
2378 x += '<textarea readonly=readonly style=width:100%;resize:none;height:100px;overflow:auto;font-size:12px readonly>' + JSON.stringify(message) + '</textarea>';
@@ -2389,7 +2385,7 @@
2385 x += addHtmlValue('MPS Cert Hash', '<input style=width:230px readonly value="' + message.mpsCertHash + '" />');
2386 }
2387 */
2392 - setDialogMode(2, "MQTT Credentials", 1, null, x);
2388 + setDialogMode(2, "MQTT pověření", 1, null, x);
2389 break;
2390 }
2391 case 'stopped': { // Server is stopping.
@@ -2412,11 +2408,11 @@
2408 var vSelect = '<select id="lastPluginVersion">';
2409 message.info.versionList.forEach(function(v) { vSelect += '<option value="' + v.zipball_url + '">' + v.name + '</option>'; });
2410 vSelect += '</select>';
2415 - setDialogMode(2, "Plugin Action", 3, pluginActionEx, format('Select the version to downgrade the plugin: {0}', message.info.name) + '<hr />' + vSelect + '<hr />' + "Please be aware that downgrading is not recommended. Please only do so in the event that a recent upgrade has broken something." + + '<input id="lastPluginAct" type="hidden" value="downgrade" /><input id="lastPluginId" type="hidden" value="' + message.info.id + '" />');
2411 + setDialogMode(2, "Akce pluginu", 3, pluginActionEx, format('Select the version to downgrade the plugin: {0}', message.info.name) + '<hr />' + vSelect + '<hr />' + "Mějte prosím na paměti, že downgrade se nedoporučuje. Učiňte tak pouze v případě, že nedávná aktualizace něco poškodila." + + '<input id="lastPluginAct" type="hidden" value="downgrade" /><input id="lastPluginId" type="hidden" value="' + message.info.id + '" />');
2412 break;
2413 }
2414 case 'pluginError': {
2419 - setDialogMode(2, "Plugin Error", 1, null, message.msg);
2415 + setDialogMode(2, "Chyba pluginu", 1, null, message.msg);
2416 break;
2417 }
2418 case 'plugin': {
@@ -2649,7 +2645,7 @@
2645 deviceBoxWidth = 301 + Math.floor((totalDeviceViewWidth - (deviceBoxWidth * 301)) / deviceBoxWidth);
2646
2647 if ((view == 2) && (sort != 3)) {
2652 - r += '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "User" + '<th style=color:gray;width:120px>' + "Adresa" + '<th style=color:gray;width:100px>' + "Connectivity"; //<th style=color:gray;width:100px>State';
2648 + r += '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "Uživatel" + '<th style=color:gray;width:120px>' + "Adresa" + '<th style=color:gray;width:100px>' + "Konektivita"; //<th style=color:gray;width:100px>State';
2649 }
2650
2651 // Go thru the list of nodes and display them
@@ -2712,10 +2708,10 @@
2708 var states = [];
2709 if (node.conn) {
2710 if ((node.conn & 1) != 0) { states.push('<span title=\"' + "Agent je připojen a připraven." + '\">' + "Agent" + '</span>'); }
2715 - if ((node.conn & 2) != 0) { states.push('<span title=\"' + "Intel&reg; AMT CIRA is connected and ready for use." + '\">' + "CIRA" + '</span>'); }
2716 - else if ((node.conn & 4) != 0) { states.push('<span title=\"' + "Intel&reg; AMT is routable." + '\">' + "AMT" + '</span>'); }
2717 - if ((node.conn & 8) != 0) { states.push('<span title=\"' + "Mesh agent is reachable using another agent as relay." + '\">' + "Relay" + '</span>'); }
2718 - if ((node.conn & 16) != 0) { states.push('<span title=\"' + "MQTT connection to the device is active." + '\">' + "MQTT" + '</span>'); }
2711 + if ((node.conn & 2) != 0) { states.push('<span title=\"' + "Intel&reg; AMT CIRA je připojeno a připraveno k použití." + '\">' + "CIRA" + '</span>'); }
2712 + else if ((node.conn & 4) != 0) { states.push('<span title=\"' + "Intel&reg; AMT je směrovatelný." + '\">' + "AMT" + '</span>'); }
2713 + if ((node.conn & 8) != 0) { states.push('<span title=\"' + "Mesh agent je dostupný pomocí přesměrování přes jiného agenta." + '\">' + "Přesměrování" + '</span>'); }
2714 + if ((node.conn & 16) != 0) { states.push('<span title=\"' + "MQTT připojení na zařízení je aktivní." + '\">' + "MQTT" + '</span>'); }
2715 }
2716 r += '<tr><td><div id=devs class=bar18 tabindex=0 onmouseover=devMouseHover(this,1) onmouseout=devMouseHover(this,0) style=height:18px;width:100%;font-size:medium onkeypress="if (event.key==\'Enter\') gotoDevice(\'' + node._id + '\',null,null,event)">';
2717 r += '<div class=deviceBarCheckbox><input class="' + node.meshid + ' DeviceCheckbox" onclick=p1updateInfo() value=devid_' + node._id + ' type=checkbox></div>';
@@ -2760,7 +2756,7 @@
2756
2757 // If displaying devices by groups, sort the group names and display the devices.
2758 if (sort == 3) {
2763 - if (view == 2) { r = '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "User" + '<th style=color:gray;width:120px>' + "Adresa" + '<th style=color:gray;width:100px>' + "Connectivity"; }
2759 + if (view == 2) { r = '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "Uživatel" + '<th style=color:gray;width:120px>' + "Adresa" + '<th style=color:gray;width:100px>' + "Konektivita"; }
2760
2761 var groupNames = [];
2762 for (var i in groups) { groupNames.push(i); }
@@ -2778,9 +2774,9 @@
2774 // If there is nothing to display, explain the problem
2775 if ((r == '') && (meshcount > 0) && (Q('SearchInput').value != '')) {
2776 if (sort == 3) {
2781 - r = '<div style="margin:30px">' + "No devices are included in any groups, click on a device\'s \"Groups\" to add to a group." + '</div>';
2777 + r = '<div style="margin:30px">' + "Žádné zařízení není v žádné skupině, klikněte na Vytvořit nebo Přidat skupinu zařízení." + '</div>';
2778 } else {
2783 - r = '<div style="margin:30px">' + "No devices matching this search." + '</div>';
2779 + r = '<div style="margin:30px">' + "Žádné zařízení nevyhovuje tomuto vyhledávání." + '</div>';
2780 }
2781 }
2782
@@ -2798,7 +2794,7 @@
2794 r += getMeshActions(mesh, meshrights);
2795 r += '</span></td></tr><tr>';
2796 if (mesh.mtype == 1) {
2801 - r += '<td><div style=padding:10px><i>' + "No Intel&reg; AMT devices in this mesh";
2797 + r += '<td><div style=padding:10px><i>' + "Žádné Intel&reg; AMT zařízení";
2798 if ((meshrights & 4) != 0) { r += ', <a href=# style=cursor:pointer onclick=\'return addDeviceToMesh(\"' + mesh._id + '\")\'>' + "přidat" + '</a>'; }
2799 }
2800 if (mesh.mtype == 2) {
@@ -2820,8 +2816,8 @@
2816 r += '<a href=# onclick="return account_createMesh()" title=\"' + "Vytvořit novou skupinu zařízení." + '\" style=cursor:pointer>' + "Přidat skupinu zařízení" + '</a>&nbsp';
2817 }
2818 if ((userinfo.siteadmin == 0xFFFFFFFF) || ((userinfo.siteadmin & 128) == 0)) {
2823 - r += '<a href=# onclick=\'return p10showMeshCmdDialog(0)\' style=cursor:pointer title=\"' + "Download MeshCmd, a command line tool that performs many functions." + '\">' + "MeshCmd" + '</a>&nbsp';
2824 - if (navigator.platform.toLowerCase() == 'win32') { r += '<a href=# onclick=\'return p10showMeshRouterDialog()\' style=cursor:pointer title=\"' + "Download MeshCentral Router, a TCP port mapping tool." + '\">' + "Router" + '</a>&nbsp'; }
2819 + r += '<a href=# onclick=\'return p10showMeshCmdDialog(0)\' style=cursor:pointer title=\"' + "Stáhnout MeshCmd, což je nástroj pro příkazovou řásku s mnoha funkcemi." + '\">' + "MeshCmd" + '</a>&nbsp';
2820 + if (navigator.platform.toLowerCase() == 'win32') { r += '<a href=# onclick=\'return p10showMeshRouterDialog()\' style=cursor:pointer title=\"' + "Stáhnout MeshCentral, což je TCP nástroj pro mapování portů." + '\">' + "Router" + '</a>&nbsp'; }
2821 }
2822 r += '</div><br/>';
2823
@@ -2854,7 +2850,7 @@
2850 desk.m.CanvasId.setAttribute('style', 'background-color:black;width:' + vsize.x + 'px;height:' + vsize.y + 'px');
2851 Q('xkvmid_' + shortid).appendChild(desk.m.CanvasId);
2852 delete desk.xxdelete;
2857 - QH('skvmid_' + shortid, ["Odpojeno", "Connecting...", "Setup...", '', ''][((desk.m.State == null)?desk.m.state:desk.m.State)]);
2853 + QH('skvmid_' + shortid, ["Odpojeno", "Připojování...", "Nastavení...", '', ''][((desk.m.State == null)?desk.m.state:desk.m.State)]);
2854 } else {
2855 var node = getNodeFromId(id);
2856 if ((desktopNode == node) && (desktop != null)) { // Check if the main desktop is this device, if it is, use that.
@@ -2867,7 +2863,7 @@
2863 c.removeAttribute('onmouseup');
2864 c.removeAttribute('onmousemove');
2865 Q('xkvmid_' + shortid).appendChild(c);
2870 - QH('skvmid_' + shortid, ["Odpojeno", "Connecting...", "Setup...", '', ''][((desktop.m.State == null)?desktop.m.state:desktop.m.State)]);
2866 + QH('skvmid_' + shortid, ["Odpojeno", "Připojování...", "Nastavení...", '', ''][((desktop.m.State == null)?desktop.m.state:desktop.m.State)]);
2867 if (desktop.m.SendCompressionLevel) { desktop.m.SendCompressionLevel(1, multidesktopsettings.quality, multidesktopsettings.scaling, multidesktopsettings.framerate); }
2868 desktop.shortid = shortid;
2869 desktop.onStateChanged = onMultiDesktopStateChange;
@@ -2918,7 +2914,7 @@
2914
2915 function getUserShortStr(node) {
2916 if (node == null || node.users == null || node.users.length == 0) return '';
2921 - if (node.users.length > 1) { return '<span title="' + EscapeHtml(node.users.join(', ')) + '">' + nobreak(format("{0} users", node.users.length)) + '</span>'; }
2917 + if (node.users.length > 1) { return '<span title="' + EscapeHtml(node.users.join(', ')) + '">' + nobreak(format("{0} uživatelů", node.users.length)) + '</span>'; }
2918 var u = node.users[0], su = u, i = u.indexOf('\\');
2919 if (i > 0) { su = u.substring(i + 1); }
2920 su = EscapeHtml(su);
@@ -2942,14 +2938,14 @@
2938 }
2939 }
2940 }
2945 - if (count > 8) { setDialogMode(2, "Connect All", 3, function() { connectAllKvmFunction(true); }, format("Are you sure you want to connect to {0} devices?", count)); return; }
2941 + if (count > 8) { setDialogMode(2, "Připojit vše", 3, function() { connectAllKvmFunction(true); }, format("Opravdu připojit k {0} zařízení?", count)); return; }
2942 }
2943
2944 // Perform connect all
2945 for (var i in nodes) { if (multiDesktop[nodes[i]._id] == null) { toggleKvmDevice(nodes[i]._id); } }
2946 }
2947 function disconnectAllKvmFunction() { if (xxdialogMode) return false; for (var nodeid in multiDesktop) { multiDesktop[nodeid].Stop(); } multiDesktop = {}; }
2952 - function onMultiDesktopStateChange(desk, state) { try { QH('skvmid_' + desk.shortid, ["Odpojeno", "Connecting...", "Setup...", '', ''][state]); } catch (ex) {} }
2948 + function onMultiDesktopStateChange(desk, state) { try { QH('skvmid_' + desk.shortid, ["Odpojeno", "Připojování...", "Nastavení...", '', ''][state]); } catch (ex) {} }
2949
2950 function showMultiDesktopSettings() {
2951 QV('d7amtkvm', false);
@@ -2957,7 +2953,7 @@
2953 d7bitmapquality.value = multidesktopsettings.quality;
2954 d7bitmapscaling.value = multidesktopsettings.scaling;
2955 if (multidesktopsettings.framerate) { d7framelimiter.value = multidesktopsettings.framerate; } else { d7framelimiter.value = 1000; }
2960 - setDialogMode(7, "Remote Desktop Settings", 3, showMultiDesktopSettingsChanged);
2956 + setDialogMode(7, "Nastavení vzdálené plochy", 3, showMultiDesktopSettingsChanged);
2957 }
2958
2959 function showMultiDesktopSettingsChanged() {
@@ -3023,12 +3019,12 @@
3019 if (mesh.mtype == 1) {
3020 if ((features & 1) == 0) { // If not WAN-Only
3021 r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v lokální síti." + '\" onclick=\'return addDeviceToMesh(\"' + mesh._id + '\")\'>' + "Přidat lokálně" + '</a>';
3026 - r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Přidat nový Intel&reg; AMT počítač pomocí skenu lokální sítě." + '\" onclick=\'return addAmtScanToMesh(\"' + mesh._id + '\")\'>' + "Scan Network" + '</a>';
3022 + r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Přidat nový Intel&reg; AMT počítač pomocí skenu lokální sítě." + '\" onclick=\'return addAmtScanToMesh(\"' + mesh._id + '\")\'>' + "Skenovat síť" + '</a>';
3023 }
3024 if (mesh.amt && (mesh.amt.type == 2)) { // CCM activation
3029 - r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Perform Intel AMT client control mode (CCM) activation." + '\" onclick=\'return showCcmActivation(\"' + mesh._id + '\")\'>' + "Aktivace" + '</a>';
3025 + r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Provedení Intel AMT client control mode (CCM) aktivace." + '\" onclick=\'return showCcmActivation(\"' + mesh._id + '\")\'>' + "Aktivace" + '</a>';
3026 } else if (mesh.amt && (mesh.amt.type == 3) && ((features & 0x00100000) != 0)) { // ACM activation
3031 - r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Perform Intel AMT admin control mode (ACM) activation." + '\" onclick=\'return showAcmActivation(\"' + mesh._id + '\")\'>' + "Aktivace" + '</a>';
3027 + r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Provedení Intel AMT admin control mode (ACM) aktivace." + '\" onclick=\'return showAcmActivation(\"' + mesh._id + '\")\'>' + "Aktivace" + '</a>';
3028 }
3029 }
3030 if (mesh.mtype == 2) {
@@ -3042,8 +3038,8 @@
3038 if (xxdialogMode) return false;
3039 var mesh = meshes[meshid];
3040 var x = format("Přidat nové Intel&reg; AMT zařízení do skupiny \"{0}\".", EscapeHtml(mesh.name)) + '<br /><br />';
3045 - x += addHtmlValue("Device Name", '<input id=dp1devicename style=width:230px maxlength=32 autocomplete=off onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3046 - x += addHtmlValue("Hostname", '<input id=dp1hostname style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "Same as device name" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3041 + x += addHtmlValue("Název zařízení", '<input id=dp1devicename style=width:230px maxlength=32 autocomplete=off onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3042 + x += addHtmlValue("Hostname", '<input id=dp1hostname style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "Stejné jako jméno zařízení" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3043 x += addHtmlValue("Uživatel", '<input id=dp1username style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "admin" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3044 x += addHtmlValue("Heslo", '<input id=dp1password type=password style=width:230px autocomplete=off maxlength=32 onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3045 x += addHtmlValue("Bezpečnost", '<select id=dp1tls style=width:236px><option value=0>' + "Žádné TLS" + '</option><option value=1>' + "TLS vyžadováno" + '</option></select>');
@@ -3066,9 +3062,9 @@
3062 var portStr = (serverinfo.port == 80) ? '' : (':' + serverinfo.port);
3063 url = 'ws://' + servername + portStr + domainUrl;
3064 }
3069 - var x = format("Perform Intel AMT client control mode (CCM) activation to group \"{0}\" by downloading the MeshCMD tool and running it like this:", EscapeHtml(mesh.name)) + '<br /><br />';
3065 + var x = format("Proveďte aktivaci Intel AMT client control mode (CCM) pro skupinu \"{0}\" stažením MeshCMD nástroje a spuštěním takto:", EscapeHtml(mesh.name)) + '<br /><br />';
3066 x += '<textarea readonly=readonly style=width:100%;resize:none;height:100px;overflow:auto;font-size:12px readonly>meshcmd amtccm --url ' + url + 'amtactivate?id=' + meshid.split('/')[2] + ' --serverhttpshash ' + serverinfo.tlshash + '</textarea>';
3071 - setDialogMode(2, "Intel&reg; AMT activation", 9, null, x);
3067 + setDialogMode(2, "Intel&reg; AMT aktivace", 9, null, x);
3068 Q('idx_dlgOkButton').focus();
3069 return false;
3070 }
@@ -3086,12 +3082,12 @@
3082 var portStr = (serverinfo.port == 80) ? '' : (':' + serverinfo.port);
3083 url = 'ws://' + servername + portStr + domainUrl;
3084 }
3089 - var x = format("Perform Intel AMT admin control mode (ACM) activation to group \"{0}\" by downloading the MeshCMD tool and running it like this:", EscapeHtml(mesh.name)) + '<br /><br />';
3085 + var x = format("Proveďte aktivaci Intel AMT admin control mode (ACM) pro skupinu \"{0}\" stažením MeshCMD nástroje a spuštěním takto:", EscapeHtml(mesh.name)) + '<br /><br />';
3086 x += '<textarea readonly=readonly style=width:100%;resize:none;height:100px;overflow:auto;font-size:12px readonly>meshcmd amtacm --url ' + url + 'amtactivate?id=' + meshid.split('/')[2] + ' --serverhttpshash ' + serverinfo.tlshash + '</textarea>';
3087 if (serverinfo.amtAcmFqdn != null) {
3092 - x += ('<div style=margin-top:8px>' + "Intel AMT will need to be set with a Trusted FQDN in MEBx or have a wired LAN on the network:" + ' <b>' + serverinfo.amtAcmFqdn.join(', ') + '</b></div>');
3088 + x += ('<div style=margin-top:8px>' + "Intel AMT bude muset být nastaven s důvěryhodným FQDN v MEBx nebo bude třeba drátová LAN:" + ' <b>' + serverinfo.amtAcmFqdn.join(', ') + '</b></div>');
3089 }
3094 - setDialogMode(2, "Intel&reg; AMT activation", 9, null, x);
3090 + setDialogMode(2, "Intel&reg; AMT aktivace", 9, null, x);
3091 Q('idx_dlgOkButton').focus();
3092 return false;
3093 }
@@ -3099,10 +3095,10 @@
3095 // Display the Intel AMT scanning dialog box
3096 function addAmtScanToMesh(meshid) {
3097 if (xxdialogMode) return false;
3102 - var x = "Enter a range of IP addresses to scan for Intel AMT devices." + '<br /><br />';
3103 - x += addHtmlValue("IP Range", '<input id=dp1range style=width:184px value="192.168.1.0/24" onkeyup=addAmtScanToMeshKeyUp(event) /><input id=dp1rangebutton type=button value=\"' + "Skenovat" + '\" onclick=addAmtScanToMeshButton()></input>');
3098 + var x = "Zadejte rozsah IP adres pro vyhledání Intel AMT zařízení." + '<br /><br />';
3099 + x += addHtmlValue("IP rozsah", '<input id=dp1range style=width:184px value="192.168.1.0/24" onkeyup=addAmtScanToMeshKeyUp(event) /><input id=dp1rangebutton type=button value=\"' + "Skenovat" + '\" onclick=addAmtScanToMeshButton()></input>');
3100 x += '<div id=dp1results style="width:100%;height:200px;background-color:white;border:1px gray solid;overflow-y:scroll"></div>';
3105 - setDialogMode(2, "Scan for Intel&reg; AMT devices", 3, addAmtScanToMeshEx, x, meshid);
3101 + setDialogMode(2, "Hledat Intel&reg; AMT zařízení", 3, addAmtScanToMeshEx, x, meshid);
3102 QE('idx_dlgOkButton', false);
3103 QH('dp1results', '<div style=width:100%;text-align:center;margin-top:12px;color:gray;line-height:1.5>Sample IP range values<br />192.168.0.100<br />192.168.1.0/24<br />192.167.0.1-192.168.0.100</div>');
3104 focusTextBox('dp1range');
@@ -3129,7 +3125,7 @@
3125 function addAmtScanToMeshButton() {
3126 QE('dp1range', false);
3127 QE('dp1rangebutton', false);
3132 - QH('dp1results', '<div style=width:100%;text-align:center;margin-top:12px>' + "Scanning..." + '</div>');
3128 + QH('dp1results', '<div style=width:100%;text-align:center;margin-top:12px>' + "Skenuji..." + '</div>');
3129 meshserver.send({ action: 'scanamtdevice', range: Q('dp1range').value });
3130 }
3131
@@ -3147,24 +3143,24 @@
3143 // Replace non alphabetic characters (@ and $) with 'X' because MPS username cannot accept it.
3144 var meshidx = meshid.split('/')[2].replace(/\@/g, 'X').replace(/\$/g, 'X');
3145
3150 - var y = '<select id=dlgAddCiraSel onclick=dlgAddCiraSelClick() style=width:230px><option value=0>' + "MeshCommander Script" + '</option><option value=1>' + "Manual Username/Password" + '</option>';
3151 - if ((features & 16) == 0) { y += ('<option value=2>' + "Manual Certificate" + '</option></select>'); } // Only display this option if Intel AMT CIRA with Mutual-Auth is allowed.
3146 + var y = '<select id=dlgAddCiraSel onclick=dlgAddCiraSelClick() style=width:230px><option value=0>' + "MeshCommander skript" + '</option><option value=1>' + "Vlastní přihlašovací jméno/heslo" + '</option>';
3147 + if ((features & 16) == 0) { y += ('<option value=2>' + "Vlastní certifikát" + '</option></select>'); } // Only display this option if Intel AMT CIRA with Mutual-Auth is allowed.
3148
3149 var x = '';
3154 - x += addHtmlValue("Setup", y);
3150 + x += addHtmlValue("Nastavení", y);
3151 x += '<hr>';
3152
3153 // Setup CIRA using a MeshCommander script (Pretty Simple)
3158 - x += '<div id=dlgAddCira0>' + format("To add a new Intel&reg; AMT device to device group \"{0}\" with CIRA, download the following script files and use <a href='http://meshcommander.com' rel='noreferrer noopener' target='_blank'>MeshCommander</a> to run the script to configure computers.", EscapeHtml(mesh.name)) + '<br /><br />';
3154 + x += '<div id=dlgAddCira0>' + format("Pro přidání nového Intel&reg; AMT zařízení do skupiny \"{0}\" s CIRA, si musíte stáhnout následující skript <a href='http://meshcommander.com' rel='noreferrer noopener' target='_blank'>MeshCommander</a> a spustit pro konfiguraci počítačů.", EscapeHtml(mesh.name)) + '<br /><br />';
3155 //x += addHtmlValue('Setup CIRA', '<a href="mescript.ashx?type=1&meshid=' + meshidx.substring(0, 16) + '" download>cira_setup.mescript</a>');
3160 - x += addHtmlValue("Setup CIRA", '<a href="mescript.ashx?type=1&meshid=' + meshid + '" download>cira_setup.mescript</a>');
3161 - x += addHtmlValue("Cleanup CIRA", '<a href="mescript.ashx?type=2" download>cira_clean.mescript</a>');
3156 + x += addHtmlValue("Nastavení CIRA", '<a href="mescript.ashx?type=1&meshid=' + meshid + '" download>cira_setup.mescript</a>');
3157 + x += addHtmlValue("Vymazat CIRA", '<a href="mescript.ashx?type=2" download>cira_clean.mescript</a>');
3158 x += '</div>';
3159
3160 // Setup CIRA with user/pass authentication (Somewhat difficult)
3165 - x += '<div id=dlgAddCira1 style=display:none>' + format("To add a new Intel&reg; AMT device to device group \"{0}\" with CIRA, load the following certificate as trusted root within Intel AMT", EscapeHtml(mesh.name));
3161 + x += '<div id=dlgAddCira1 style=display:none>' + format("Pro přidání nového Intel&reg; AMT zařízení do skupiny \"{0}\" s CIRA, nahrajte následující certifikát mezi důvěryhodné kořenové v rámci Intel AMT", EscapeHtml(mesh.name));
3162 if (serverinfo.mpspass) { x += (" a autentizovat se na serveru pomocí tohoto uživatelského jména a hesla." + '<br /><br />'); } else { x += (" a autentizovat se na serveru pomocí tohoto uživatelského jména a hesla." + '<br /><br />'); }
3167 - x += addHtmlValue("Root Certificate", '<a href=\"' + "MeshServerRootCert.cer" + '\" download>' + "Root Certificate File" + '</a>');
3163 + x += addHtmlValue("Root certifikát", '<a href=\"' + "MeshServerRootCert.cer" + '\" download>' + "Root certifikát soubor" + '</a>');
3164 x += addHtmlValue("Uživatel", '<input style=width:230px readonly value="' + meshidx.substring(0, 16) + '" />');
3165 if (serverinfo.mpspass) { x += addHtmlValue("Heslo", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpspass) + '" />'); }
3166 if (serverinfo != null) { x += addHtmlValue("MPS Server", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
@@ -3172,8 +3168,8 @@
3168
3169 // Setup CIRA with certificate authentication (Really difficult, only if TLS offload is not used)
3170 if ((features & 16) == 0) {
3175 - x += '<div id=dlgAddCira2 style=display:none>' + format("To add a new Intel&reg; AMT device to device group \"{0}\" with CIRA, load the following certificate as trusted root within Intel AMT, authenticate using a client certificate with the following common name and connect to the following server.", EscapeHtml(mesh.name)) + '<br /><br />';
3176 - x += addHtmlValue("Root Certificate", '<a href="MeshServerRootCert.cer" download>' + "Root Certificate File" + '</a>');
3171 + x += '<div id=dlgAddCira2 style=display:none>' + format("Pro přidání nového Intel&reg; AMT zařízení do skupiny \"{0}\" s CIRA, nahrajte následující certifikát mezi důvěryhodné kořenové v rámci Intel AMT, tímto klientským certifikátem se pak bude autentizovat s následujícím běžným názvem a připojí se k následujícímu serveru.", EscapeHtml(mesh.name)) + '<br /><br />';
3172 + x += addHtmlValue("Root certifikát", '<a href="MeshServerRootCert.cer" download>' + "Root certifikát soubor" + '</a>');
3173 x += addHtmlValue("Organizace", '<input style=width:230px readonly value="' + meshidx + '" />');
3174 if (serverinfo != null) { x += addHtmlValue("MPS Server", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
3175 x += '</div>';
@@ -3203,21 +3199,21 @@
3199 if (xxdialogMode) return false;
3200 var x = '', mesh = meshes[meshid];
3201 if (features & 64) {
3206 - x += addHtmlValue("Invitation Type", '<select id=d2InviteType onchange=d2ChangedInviteType() style=width:236px><option value=0>Link invitation</option><option value=1>Email invitation</option></select>') + '<hr />';
3202 + x += addHtmlValue("Typ pozvání", '<select id=d2InviteType onchange=d2ChangedInviteType() style=width:236px><option value=0>Link invitation</option><option value=1>Email invitation</option></select>') + '<hr />';
3203 x += '<div id=emailInviteDiv style=display:none>' + format("Pozvěte někoho k instalaci agenta. Emailem bude zaslán link s adresou agenta pro skupinu \"{0}\".", EscapeHtml(mesh.name)) + '<br /><br />';
3204 x += addHtmlValue("Jméno (volitelné)", '<input id=agentInviteName value="" style=width:230px maxlength=64 />');
3205 x += addHtmlValue("Email", '<input id=agentInviteEmail style=width:230px placeholder=\"' + "example@email.com" + '\" onkeyup=validateAgentInvite()></input>');
3210 - x += addHtmlValue("Operační systém", '<select id=agentInviteNameOs onchange=d2ChangedInviteType() style=width:236px><option value=4>' + "Odeslat odkaz na instalaci" + '</option><option value=0 selected>' + "Any supported" + '</option><option value=1>' + "Windows only" + '</option><option value=3>' + "Apple MacOS only" + '</option><option value=2>' + "Linux only" + '</option></select>');
3206 + x += addHtmlValue("Operační systém", '<select id=agentInviteNameOs onchange=d2ChangedInviteType() style=width:236px><option value=4>' + "Odeslat odkaz na instalaci" + '</option><option value=0 selected>' + "Všechny podporovány" + '</option><option value=1>' + "Windows pouze" + '</option><option value=3>' + "Apple MacOS pouze" + '</option><option value=2>' + "Linux pouze" + '</option></select>');
3207 x += '<div id=d2agentexpirediv>';
3212 - x += addHtmlValue("Platnost linku", '<select id=agentInviteExpire style=width:236px><option value=1>' + "1 hodina" + '</option><option value=8>' + "8 hodin" + '</option><option value=24>' + "1 den" + '</option><option value=168>' + "1 týden" + '</option><option value=5040>' + "1 měsíc" + '</option><option value=0>' + "Bez limitu" + '</option></select>');
3208 + x += addHtmlValue("Platnost odkazu", '<select id=agentInviteExpire style=width:236px><option value=1>' + "1 hodina" + '</option><option value=8>' + "8 hodin" + '</option><option value=24>' + "1 den" + '</option><option value=168>' + "1 týden" + '</option><option value=5040>' + "1 měsíc" + '</option><option value=0>' + "Bez limitu" + '</option></select>');
3209 x += '</div>';
3214 - x += addHtmlValue("Typ instalace", '<select id=agentInviteType style=width:236px><option value=0>' + "Background and interactive" + '</option><option value=2>' + "Background only" + '</option><option value=1>' + "Interactive only" + '</option></select>');
3215 - x += addHtmlValue("Message" + '<br />' + "(volitelné)", '<textarea id=agentInviteMessage value="" style=width:230px;height:100px;resize:none maxlength=1024 /></textarea>');
3210 + x += addHtmlValue("Typ instalace", '<select id=agentInviteType style=width:236px><option value=0>' + "Na pozadí a interaktivní" + '</option><option value=2>' + "Pouze na pozadí" + '</option><option value=1>' + "Pouze interaktivní" + '</option></select>');
3211 + x += addHtmlValue("Zpráva" + '<br />' + "(volitelné)", '<textarea id=agentInviteMessage value="" style=width:230px;height:100px;resize:none maxlength=1024 /></textarea>');
3212 x += '</div>';
3213 }
3214 x += '<div id=urlInviteDiv>' + format("Pozvěte někoho k instalaci agenta pomocí sdíleného odkazu. Tento link obsahuje instrukce pro instalaci do skupiny \"{0}\". Link je veřejný a protistrana nepotřebuje žádný účet na tomto serveru.", EscapeHtml(mesh.name)) + '<br /><br />';
3219 - x += addHtmlValue("Platnost linku", '<select id=d2inviteExpire style=width:236px onchange=d2RequestInvitationLink()><option value=1>' + "1 hodina" + '</option><option value=8>' + "8 hodin" + '</option><option value=24>' + "1 den" + '</option><option value=168>' + "1 týden" + '</option><option value=5040>' + "1 měsíc" + '</option><option value=0>' + "Bez limitu" + '</option></select>');
3220 - x += '<div id=agentInvitationLinkDiv style="text-align:center;font-size:large;margin:16px;display:none"><a href=# id=agentInvitationLink target="_blank" style=cursor:pointer></a> <img src=images/link4.png height=10 width=10 title=\"' + "Copy link to clipboard" + '\" style=cursor:pointer onclick=d2CopyInviteToClip()></div></div>';
3215 + x += addHtmlValue("Platnost odkazu", '<select id=d2inviteExpire style=width:236px onchange=d2RequestInvitationLink()><option value=1>' + "1 hodina" + '</option><option value=8>' + "8 hodin" + '</option><option value=24>' + "1 den" + '</option><option value=168>' + "1 týden" + '</option><option value=5040>' + "1 měsíc" + '</option><option value=0>' + "Bez limitu" + '</option></select>');
3216 + x += '<div id=agentInvitationLinkDiv style="text-align:center;font-size:large;margin:16px;display:none"><a href=# id=agentInvitationLink target="_blank" style=cursor:pointer></a> <img src=images/link4.png height=10 width=10 title=\"' + "Kopírovat odkaz do schránky" + '\" style=cursor:pointer onclick=d2CopyInviteToClip()></div></div>';
3217 setDialogMode(2, "Pozvat", 3, performAgentInvite, x, meshid);
3218 if (features & 64) { Q('d2InviteType').focus(); d2ChangedInviteType(); } else { Q('d2inviteExpire').focus(); validateAgentInvite(); }
3219 d2RequestInvitationLink();
@@ -3256,9 +3252,9 @@
3252 function addAgentToMesh(meshid) {
3253 if (xxdialogMode) return false;
3254 var mesh = meshes[meshid], x = '', installType = 0;
3259 - x += addHtmlValue("Operační systém", '<select id=aginsSelect onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Windows" + '</option><option value=1>' + "Linux / BSD" + '</option><option value=2>' + "Apple MacOS" + '</option><option value=3>' + "Windows (UnInstall)" + '</option><option value=4>' + "Linux / BSD (UnInstall)" + '</option></select>');
3255 + x += addHtmlValue("Operační systém", '<select id=aginsSelect onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Windows" + '</option><option value=1>' + "Linux / BSD" + '</option><option value=2>' + "Apple MacOS" + '</option><option value=3>' + "Windows (Odinstalace)" + '</option><option value=4>' + "Linux / BSD (Odinstalace)" + '</option></select>');
3256 x += '<div id=aginsTypeDiv>';
3261 - x += addHtmlValue("Typ instalace", '<select id=aginsType onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Background & interactive" + '</option><option value=2>' + "Background only" + '</option><option value=1>' + "Interactive only" + '</option></select>');
3257 + x += addHtmlValue("Typ instalace", '<select id=aginsType onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Na pozadí & interaktivní" + '</option><option value=2>' + "Pouze na pozadí" + '</option><option value=1>' + "Pouze interaktivní" + '</option></select>');
3258 x += '</div><hr>';
3259
3260 // \/:*?"<>|
@@ -3270,7 +3266,7 @@
3266 x += '<div id=agins_windows>' + format("Pro přidání nového zařízení do skupiny \"{0}\", si stáhněte agenta a nainstalujte na zařízení, které chcete spravovat. Tento agent již obsahuje veškeré informace pro připojení na server.", EscapeHtml(mesh.name)) + '<br /><br />';
3267 x += addHtmlValue("Mesh Agent", '<a id=aginsw32lnk href="meshagents?id=3&meshid=' + meshid.split('/')[2] + '&installflags=0" download onclick="setDialogMode(0)" title=\"' + "32bit verze MeshAgent" + '\">' + "Windows (.exe)" + '</a> <img src=images/link4.png height=10 width=10 title="Copy Windows 32bit agent URL to clipboard" style=cursor:pointer onclick=copyAgentUrl("meshagents?id=3&meshid=' + meshid.split('/')[2] + '&installflags=",1)>');
3268 x += addHtmlValue("Mesh Agent", '<a id=aginsw64lnk href="meshagents?id=4&meshid=' + meshid.split('/')[2] + '&installflags=0" download onclick="setDialogMode(0)" title=\"' + "64bit verze MeshAgent" + '\">' + "Windows x64 (.exe)" + '</a> <img src=images/link4.png height=10 width=10 title="Copy Windows 64bit agent URL to clipboard" style=cursor:pointer onclick=copyAgentUrl("meshagents?id=4&meshid=' + meshid.split('/')[2] + '&installflags=",1)>');
3273 - if (debugmode > 0) { x += addHtmlValue("Settings File", '<a id=aginswmshlnk href="meshsettings?id=' + meshid.split('/')[2] + '&installflags=0" rel="noreferrer noopener" target="_blank">' + format("{0} settings (.msh)", EscapeHtml(mesh.name)) + '</a>'); }
3269 + if (debugmode > 0) { x += addHtmlValue("Soubor nastavení", '<a id=aginswmshlnk href="meshsettings?id=' + meshid.split('/')[2] + '&installflags=0" rel="noreferrer noopener" target="_blank">' + format("{0} nastavení (.msh)", EscapeHtml(mesh.name)) + '</a>'); }
3270 x += '</div>';
3271
3272 // Linux agent install
@@ -3290,7 +3286,7 @@
3286 x += '</div>';
3287
3288 // Linux agent uninstall
3293 - x += '<div id=agins_linux_un style=display:none>' + "To remove a mesh agent, run the following command. Root credentials will be needed." + '<br />';
3289 + x += '<div id=agins_linux_un style=display:none>' + "Chcete-li odebrat agenta, spusťte následující příkaz. Root přihlašovací údaje budou nutné." + '<br />';
3290 x += '<textarea id=agins_linux_area_un rows=2 cols=20 readonly=readonly style=width:100%;resize:none;height:120px;overflow:scroll;font-size:12px readonly></textarea>';
3291 x += '</div>';
3292
@@ -3382,18 +3378,18 @@
3378 deviceHeaderTotal = 0;
3379 }
3380
3385 - var powerStateStrings = ['', '<span title=\"' + "Device is powered on." + '\">' + "Zapnuto" + '</span>', '<span title=\"' + "Device is in sleep state (S1)." + '\">' + "Sleeping" + '</span>', '<span title=\"' + "Device is in sleep state (S2)." + '\">' + "Sleeping" + '</span>', '<span title=\"' + "Zařízení je v hlubokém spánku (S3)." + '\">' + "Deep Sleep" + '</span>', '<span title=\"' + "Device is in hibernating state (S4)." + '\">' + "Hibernating" + '</span>', '<span title=\"' + "Zařízení je vypnuto (S5)." + '\">' + "Soft-Off" + '</span>', '<span title=\"' + "Zařízení je detekováno, ale nelze zjistit stav." + '\">' + "Present" + '</span>'];
3386 - var powerStateStrings2 = ['', "Zařízení je zapnuto", "Zařízení je ve stavu spánku (S1)", "Device is in sleep state (S2)", "Zařízení je v hlubokém spánku (S3)", "Device is hibernating (S4)", "Device is in soft-off state (S5)", "Device is present, but power state cannot be determined"];
3381 + var powerStateStrings = ['', '<span title=\"' + "Zařízení je zapnuto." + '\">' + "Zapnuto" + '</span>', '<span title=\"' + "Zařízení je ve stavu spánku (S1)." + '\">' + "Spí" + '</span>', '<span title=\"' + "Zařízení je ve stavu spánku (S2)." + '\">' + "Spí" + '</span>', '<span title=\"' + "Zařízení je v hlubokém spánku (S3)." + '\">' + "Hluboký spánek" + '</span>', '<span title=\"' + "Zařízení je hibernováno (S4)." + '\">' + "Hibernuji" + '</span>', '<span title=\"' + "Zařízení je vypnuto (S5)." + '\">' + "Soft-Off" + '</span>', '<span title=\"' + "Zařízení je detekováno, ale nelze zjistit stav." + '\">' + "Současnost" + '</span>'];
3382 + var 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í"];
3383 var powerColorTable = ['pwsTransparent', 'pwsBlack', 'pwsBlue', 'pwsBlue2', 'pwsLightblue', 'pwsBlueviolet', 'pwsDarkgreen', 'pwsLightseagreen', 'pwsLightseagreen2'];
3384 function NodeStateStr(node) {
3385 var states = [];
3386 if (node.state > 0 && node.state < powerStatetable.length) state.push(powerStatetable[node.state]);
3387 if (node.conn) {
3388 if ((node.conn & 1) != 0) { states.push('<span title=\"' + "Agent je připojen a připraven." + '\">' + "Agent" + '</span>'); }
3393 - if ((node.conn & 2) != 0) { states.push('<span title=\"' + "Intel&reg; AMT CIRA is connected and ready for use." + '\">' + "CIRA" + '</span>'); }
3394 - else if ((node.conn & 4) != 0) { states.push('<span title=\"' + "Intel&reg; AMT is routable." + '\">' + "AMT" + '</span>'); }
3395 - if ((node.conn & 8) != 0) { states.push('<span title=\"' + "Mesh agent is reachable using another agent as relay." + '\">' + "Relay" + '</span>'); }
3396 - if ((node.conn & 16) != 0) { states.push('<span title=\"' + "MQTT connection to the device is active." + '\">' + "MQTT" + '</span>'); }
3389 + if ((node.conn & 2) != 0) { states.push('<span title=\"' + "Intel&reg; AMT CIRA je připojeno a připraveno k použití." + '\">' + "CIRA" + '</span>'); }
3390 + else if ((node.conn & 4) != 0) { states.push('<span title=\"' + "Intel&reg; AMT je směrovatelný." + '\">' + "AMT" + '</span>'); }
3391 + if ((node.conn & 8) != 0) { states.push('<span title=\"' + "Mesh agent je dostupný pomocí přesměrování přes jiného agenta." + '\">' + "Přesměrování" + '</span>'); }
3392 + if ((node.conn & 16) != 0) { states.push('<span title=\"' + "MQTT připojení na zařízení je aktivní." + '\">' + "MQTT" + '</span>'); }
3393 }
3394 if ((node.pwr != null) && (node.pwr != 0)) { states.push(powerStateStrings[node.pwr]); }
3395 return states.join(', ');
@@ -3406,7 +3402,7 @@
3402
3403 function PowerStateStr2(x) {
3404 if ((x != 0) && (x < powerStatetable.length)) return powerStatetable[x];
3409 - return "Unknown";
3405 + return "Neznámý";
3406 }
3407
3408 function selectallButtonFunction() {
@@ -3437,7 +3433,7 @@
3433
3434 // Check if any of the selected devices have a MQTT connection active
3435 if (features & 0x00400000) {
3440 - for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { addedOptions += '<option value=103>' + "Send MQTT Message" + '</option>'; break; } }
3436 + for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { addedOptions += '<option value=103>' + "Poslat MQTT zprávu" + '</option>'; break; } }
3437 }
3438
3439 // Display the "Uninstall Agent" option if allowed and we selected connected devices.
@@ -3445,11 +3441,11 @@
3441 var node = getNodeFromId(nodeids[i]);
3442 var mesh = meshes[node.meshid];
3443 var meshrights = mesh.links[userinfo._id].rights;
3448 - if (((node.conn & 1) != 0) && ((meshrights & 32768) != 0)) { addedOptions += '<option value=104>' + "Uninstall Agent" + '</option>'; break; }
3444 + if (((node.conn & 1) != 0) && ((meshrights & 32768) != 0)) { addedOptions += '<option value=104>' + "Odinstalovat agenta" + '</option>'; break; }
3445 }
3446
3451 - var x = "Select an operation to perform on all selected devices. Actions will be performed only with proper rights." + '<br /><br />';
3452 - x += addHtmlValue("Operace", '<select id=d2groupop><option value=100>' + "Probudit zařízení" + '</option><option value=4>' + "Sleep devices" + '</option><option value=3>' + "Reset zařízení" + '</option><option value=2>' + "Vypnout zařízení" + '</option><option value=102>' + "Přesunout do skupiny zařízení" + '</option>' + addedOptions + '<option value=101>' + "Delete devices" + '</option></select>');
3447 + var x = "Vyberte operaci, kterou chcete provést na všech vybraných zařízeních. Akce budou prováděny pouze s náležitými právy." + '<br /><br />';
3448 + x += addHtmlValue("Operace", '<select id=d2groupop><option value=100>' + "Probudit zařízení" + '</option><option value=4>' + "Spící zařízení" + '</option><option value=3>' + "Reset zařízení" + '</option><option value=2>' + "Vypnout zařízení" + '</option><option value=102>' + "Přesunout do skupiny zařízení" + '</option>' + addedOptions + '<option value=101>' + "Smazat zařízení" + '</option></select>');
3449 setDialogMode(2, "Akce skupiny", 3, groupActionFunctionEx, x);
3450 }
3451
@@ -3468,7 +3464,7 @@
3464 } else if (op == 101) {
3465 // Group delete, ask for confirmation
3466 var x = "Potvrdit smázání vybraných zařízení?" + '<br /><br />';
3471 - x += '<label><input id=d2check type=checkbox onchange=d2groupActionFunctionDelEx() />' + "Confirm" + '</label>';
3467 + x += '<label><input id=d2check type=checkbox onchange=d2groupActionFunctionDelEx() />' + "Potvrdit" + '</label>';
3468 setDialogMode(2, "Smazat nody", 3, groupActionFunctionDelEx, x);
3469 QE('idx_dlgOkButton', false);
3470 } else if (op == 102) {
@@ -3712,15 +3708,15 @@
3708 var map_cm_popup = new ol.Overlay({ element: Q('xmap-info-window'), positioning: 'bottom-center', stopEvent: false });
3709
3710 // Edit Marker item
3715 - var map_cm_editMarker = { text: "Modify node location", callback: function (obj) { modifyMarkerloc(obj.data); } };
3711 + var map_cm_editMarker = { text: "Upravit umístění nódu", callback: function (obj) { modifyMarkerloc(obj.data); } };
3712
3713 // Clear Marker item
3718 - var map_cm_clearMarker = { text: "Remove node location", callback: function (obj) {
3714 + var map_cm_clearMarker = { text: "Odstranit umístění nódu", callback: function (obj) {
3715 meshserver.send({ action: 'changedevice', nodeid: obj.data.a, userloc: [] }); // Clear the user position marker
3716 }};
3717
3718 // Save Marker item
3723 - var map_cm_saveMarker = { text: "Save node location", callback: function (obj) { saveMarkerloc(obj.data); } };
3719 + var map_cm_saveMarker = { text: "Uložit umístění nódu", callback: function (obj) { saveMarkerloc(obj.data); } };
3720
3721 // Build a context menu for a feature
3722 var map_cm_nodemenu_items = [
@@ -3729,16 +3725,16 @@
3725 { text: "Terminál", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 12); } } },
3726 { text: "Intel&reg; AMT", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 14); } } },
3727 '-',
3732 - { text: "Zoom-in to extent", callback: function(obj) { var coords = obj.data.getGeometry().getCoordinates(); zoomToLocation(coords, 19); } },
3733 - { text: "Zoom-out to extent", callback: function(obj) { var coords = obj.data.getGeometry().getCoordinates(); zoomToLocation(coords, 2); } }
3728 + { text: "Přiblížit", callback: function(obj) { var coords = obj.data.getGeometry().getCoordinates(); zoomToLocation(coords, 19); } },
3729 + { text: "Oddálit", callback: function(obj) { var coords = obj.data.getGeometry().getCoordinates(); zoomToLocation(coords, 2); } }
3730 ];
3731
3732 // Context menu for clicks other than on feature
3733 var contextmenu_items = [
3734 { text: "Obnovit", callback: function () { refreshMap(true, true); } },
3739 - { text: "Zoom to fit extent", callback: function () { zoomToFitExtent(); } },
3740 - { text: "Center map here", callback: function(obj) { xxmap.mapView.animate({ center: obj.coordinate } ); } },
3741 - { text: "Place node here", callback: function(obj) { placeNode(obj.coordinate); } }
3735 + { text: "Přiblížit na míru", callback: function () { zoomToFitExtent(); } },
3736 + { text: "Vycentrovat mapu zde", callback: function(obj) { xxmap.mapView.animate({ center: obj.coordinate } ); } },
3737 + { text: "Umístit nód zde", callback: function(obj) { placeNode(obj.coordinate); } }
3738 ];
3739
3740 function stringToIntHash(str) {
@@ -3995,7 +3991,7 @@
3991 }
3992 }
3993 map_cm_nodemenu_items.forEach(function (item){
3998 - if (item.text == "Zoom-in to extent" || item.text == "Zoom-out to extent") { item.data = feature; }
3994 + if (item.text == "Přiblížit" || item.text == "Oddálit") { item.data = feature; }
3995 else { if (item != '-') { item.data = feature.getId(); } }
3996 });
3997 xxmap.contextmenu.extend(map_cm_nodemenu_items);
@@ -4068,12 +4064,12 @@
4064 // Called When Place a node option is clicked from context menu
4065 function placeNode(coords) {
4066 if (xxdialogMode) return;
4071 - var x = '<div style=margin-bottom:6px><label for=selectnode-search>' + "Search" + '</label>&nbsp&nbsp<input type=text placeholder="' + "Název zařízení" + '" id="selectnode-search" onchange=onPlaceNodeInputChange() onkeyup=onPlaceNodeInputChange() autocomplete=off style=width:120px></div><div id=placenode style="height:254px;overflow-y:auto;width:100%;margin:12px 1px 4px 1px;"><div id=noNodesMapPlace style=text-align:center;width:100%;display:none>' + "Žádné zařízení nalezeno." + '</div>';
4067 + var x = '<div style=margin-bottom:6px><label for=selectnode-search>' + "Hledat" + '</label>&nbsp&nbsp<input type=text placeholder="' + "Název zařízení" + '" id="selectnode-search" onchange=onPlaceNodeInputChange() onkeyup=onPlaceNodeInputChange() autocomplete=off style=width:120px></div><div id=placenode style="height:254px;overflow-y:auto;width:100%;margin:12px 1px 4px 1px;"><div id=noNodesMapPlace style=text-align:center;width:100%;display:none>' + "Žádné zařízení nalezeno." + '</div>';
4068 for (var i in nodes) {
4069 x += '<div class=noselect id=' + nodes[i]._id + '-rowid onclick=selectNodeToPlace(event,\''+ nodes[i]._id +'\') style=background-color:lightgray;margin-bottom:4px;border-radius:2px><input name=PlaceMapDeviceCheckbox id=' + nodes[i]._id + '-checkid type=checkbox style=width:16px;display:inline />';
4070 x += '<div class=j' + nodes[i].icon + ' style=width:16px;height:16px;margin-top:2px;margin-right:4px;display:inline-block></div><div style=width:16px;display:inline>' + nodes[i].name + '</div></div>';
4071 }
4076 - setDialogMode(2, "Select a node to place", 3, placeNodeEx, x + '</div>', coords);
4072 + setDialogMode(2, "Vybrat kam umístit nód", 3, placeNodeEx, x + '</div>', coords);
4073 onPlaceNodeInputChange();
4074 }
4075
@@ -4225,7 +4221,7 @@
4221 var extent = [ parseFloat(dataInfo[0].boundingbox[2]), parseFloat(dataInfo[0].boundingbox[0]), parseFloat(dataInfo[0].boundingbox[3]), parseFloat(dataInfo[0].boundingbox[1]) ];
4222 zoomToExtent(extent);
4223 } else {
4228 - if (count == 0) { x = '<div style=width:200px>' + "No location found." + '<div>'; }
4224 + if (count == 0) { x = '<div style=width:200px>' + "Žádné umístění." + '<div>'; }
4225 QV('xmapSearchResultsDlg', true);
4226 }
4227 QH('xmapSearchResults', x);
@@ -4292,10 +4288,10 @@
4288 function getCurrentNode() { return currentNode; };
4289 function gotoDevice(nodeid, panel, refresh, event) {
4290 // Remind the user to verify the email address
4295 - if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until a email address is verified. This is required for password recovery. Go to the \"My Account\" tab to change and verify an email address."); return; }
4291 + if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { 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."); return; }
4292
4293 // Remind the user to add two factor authentication
4298 - if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the \"My Account\" tab and look at the \"Account Security\" section."); return; }
4294 + if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { 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\"."); return; }
4295
4296 if (event && (event.shiftKey == true)) {
4297 // Open the device in a different tab
@@ -4313,7 +4309,7 @@
4309 // Add node name
4310 var nname = EscapeHtml(node.name);
4311 if (nname.length == 0) { nname = '<i>' + "Nic" + '</i>'; }
4316 - if (((meshrights & 4) != 0) && ((!mesh.flags) || ((mesh.flags & 2) == 0))) { nname = '<span tabindex=0 title=\"' + "Click here to edit the server-side device name" + '\" onclick=showEditNodeValueDialog(0) onkeyup="if (event.key == \'Enter\') showEditNodeValueDialog(0)" style=cursor:pointer>' + nname + ' <img class=hoverButton src="images/link5.png" /></span>'; }
4312 + if (((meshrights & 4) != 0) && ((!mesh.flags) || ((mesh.flags & 2) == 0))) { nname = '<span tabindex=0 title=\"' + "Klikni zde pro úpravu server-side jména zařízení" + '\" onclick=showEditNodeValueDialog(0) onkeyup="if (event.key == \'Enter\') showEditNodeValueDialog(0)" style=cursor:pointer>' + nname + ' <img class=hoverButton src="images/link5.png" /></span>'; }
4313 nname += '<span style=color:#AAA;font-size:small> - ' + EscapeHtml(mesh.name) + '</span>';
4314 QH('p10deviceName', nname);
4315 QH('p11deviceName', nname);
@@ -4329,7 +4325,7 @@
4325 var x = '<table style=width:100%>';
4326
4327 // Attribute: Mesh
4332 - x += addDeviceAttribute('<span title=\"' + "The name of the device group this computer belong to." + '\">' + "Skupina" + '</span>', '<a href=# title=\"' + "The name of the device group this computer belong to" + '\" onclick=gotoMesh("' + node.meshid + '") style=cursor:pointer>' + EscapeHtml(meshes[node.meshid].name) + '</a>');
4328 + x += addDeviceAttribute('<span title=\"' + "Název skupiny zařízení, do které tento počítač patří." + '\">' + "Skupina" + '</span>', '<a href=# title=\"' + "Název skupiny zařízení, do které tento počítač patří" + '\" onclick=gotoMesh("' + node.meshid + '") style=cursor:pointer>' + EscapeHtml(meshes[node.meshid].name) + '</a>');
4329
4330 // Attribute: Name
4331 if ((node.rname != null) && (node.name != node.rname)) { x += addDeviceAttribute('<span title="The name of this computer as set in the operating system">Name</span>', '<span title="The name of this computer as set in the operating system">' + EscapeHtml(node.rname) + '</span>'); }
@@ -4356,7 +4352,7 @@
4352 }
4353
4354 // Attribute: Mesh Agent
4359 - var agentsStr = ["Unknown", "Windows 32bit console", "Windows 64bit console", "Windows 32bit service", "Windows 64bit service", "Linux 32bit", "Linux 64bit", "MIPS", "XENx86", "Android ARM", "Linux ARM", "MacOS 32bit", "Android x86", "PogoPlug ARM", "Android APK", "Linux Poky x86-32bit", "MacOS 64bit", "ChromeOS", "Linux Poky x86-64bit", "Linux NoKVM x86-32bit", "Linux NoKVM x86-64bit", "Windows MinCore console", "Windows MinCore service", "NodeJS", "ARM-Linaro", "ARMv6l / ARMv7l", "ARMv8 64bit", "ARMv6l / ARMv7l / NoKVM", "Unknown", "Unknown", "FreeBSD x86-64"];
4355 + var agentsStr = ["Neznámý", "Windows 32bit konzole", "Windows 64bit konzole", "Windows 32bit služba", "Windows 64bit služba", "Linux 32bit", "Linux 64bit", "MIPS", "XENx86", "Android ARM", "Linux ARM", "MacOS 32bit", "Android x86", "PogoPlug ARM", "Android APK", "Linux Poky x86-32bit", "MacOS 64bit", "ChromeOS", "Linux Poky x86-64bit", "Linux NoKVM x86-32bit", "Linux NoKVM x86-64bit", "Windows MinCore konzole", "Windows MinCore služba", "NodeJS", "ARM-Linaro", "ARMv6l / ARMv7l", "ARMv8 64bit", "ARMv6l / ARMv7l / NoKVM", "Neznámý", "Neznámý", "FreeBSD x86-64"];
4356 if ((node.agent != null) && (node.agent.id != null) && (node.agent.ver != null)) {
4357 var str = '';
4358 if (node.agent.id <= agentsStr.length) { str = agentsStr[node.agent.id]; } else { str = agentsStr[0]; }
@@ -4367,29 +4363,29 @@
4363 // Attribute: Intel AMT
4364 if (node.intelamt != null) {
4365 var str = '';
4370 - var provisioningStates = { 0: nobreak("Not Activated (Pre)"), 1: nobreak("Not Activated (In)"), 2: nobreak("Aktivováno") };
4371 - if (node.intelamt.ver != null && node.intelamt.state == null) { str += '<i>' + "Unknown State" + '</i>, v' + node.intelamt.ver; } else
4366 + var provisioningStates = { 0: nobreak("Neaktivováno (před)"), 1: nobreak("Neaktivováno"), 2: nobreak("Aktivováno") };
4367 + if (node.intelamt.ver != null && node.intelamt.state == null) { str += '<i>' + "Neznámý stav" + '</i>, v' + node.intelamt.ver; } else
4368
4369 if ((node.intelamt.ver == null) && (node.intelamt.state == 2)) { str += '<i>' + "Aktivováno" + '</i>'; }
4374 - else if ((node.intelamt.ver == null) || (node.intelamt.state == null)) { str += '<i>' + "Unknown Version & State" + '</i>'; }
4370 + else if ((node.intelamt.ver == null) || (node.intelamt.state == null)) { str += '<i>' + "Neznámý stav & verze" + '</i>'; }
4371 else {
4372 str += provisioningStates[node.intelamt.state];
4377 - if ((node.intelamt.state == 2) && node.intelamt.flags) { if (node.intelamt.flags & 2) { str += ' <span title=\"' + "Intel AMT is activated in Client Control Mode" + '\">' + "CCM" + '</span>'; } else if (node.intelamt.flags & 4) { str += ' <span title=\"' + "Intel AMT is activated in Admin Control Mode" + '\">' + "ACM" + '</span>'; } }
4373 + if ((node.intelamt.state == 2) && node.intelamt.flags) { if (node.intelamt.flags & 2) { str += ' <span title=\"' + "Intel AMT je aktivováno v režimu uživatele" + '\">' + "CCM" + '</span>'; } else if (node.intelamt.flags & 4) { str += ' <span title=\"' + "Intel AMT je aktivováno v režimu správce" + '\">' + "ACM" + '</span>'; } }
4374 str += (', v' + node.intelamt.ver);
4375 }
4376
4381 - if (node.intelamt.tls == 1) { str += ', <span title=\"' + "Intel AMT is setup with TLS network security" + '\">' + "TLS" + '</span>'; }
4377 + if (node.intelamt.tls == 1) { str += ', <span title=\"' + "Intel AMT je nastaveno s TLS bezpečností" + '\">' + "TLS" + '</span>'; }
4378 if (node.intelamt.state == 2) {
4379 if (node.intelamt.user == null || node.intelamt.user == '') {
4380 if ((meshrights & 4) != 0) {
4385 - str += ', <i style=color:#FF0000;cursor:pointer title=\"' + "Edit Intel&reg; AMT credentials" + '\" onclick=editDeviceAmtSettings("' + node._id + '")>' + "Žádné přihlašovací údaje" + '</i>';
4381 + str += ', <i style=color:#FF0000;cursor:pointer title=\"' + "Upravit Intel&reg; AMT pověření" + '\" onclick=editDeviceAmtSettings("' + node._id + '")>' + "Žádné přihlašovací údaje" + '</i>';
4382 } else {
4383 str += ', <i style=color:#FF0000>' + "Žádné přihlašovací údaje" + '</i>';
4384 }
4385 }
4386 str += ' ';
4387 if ((meshrights & 4) != 0) {
4392 - str += '<img src=images/link4.png height=10 width=10 title=\"' + "Edit Intel&reg; AMT credentials" + '\" style=cursor:pointer onclick=editDeviceAmtSettings("' + node._id + '")>';
4388 + str += '<img src=images/link4.png height=10 width=10 title=\"' + "Upravit Intel&reg; AMT pověření" + '\" style=cursor:pointer onclick=editDeviceAmtSettings("' + node._id + '")>';
4389 }
4390 }
4391
@@ -4406,14 +4402,14 @@
4402 if ((node.agent != null) && (node.agent.tag != null)) {
4403 var tag = EscapeHtml(node.agent.tag);
4404 if (tag.startsWith('mailto:')) { tag = '<a href="' + tag + '">' + tag.substring(7) + '</a>'; }
4409 - x += addDeviceAttribute("Agent Tag", tag);
4405 + x += addDeviceAttribute("Značka agenta", tag);
4406 }
4407 } else {
4408 // Attribute: Intel AMT Tag
4409 if ((node.intelamt != null) && (node.intelamt.tag != null)) {
4410 var tag = EscapeHtml(node.intelamt.tag);
4411 if (tag.startsWith('mailto:')) { tag = '<a href="' + tag + '">' + tag.substring(7) + '</a>'; }
4416 - x += addDeviceAttribute("Intel&reg; AMT Tag", tag);
4412 + x += addDeviceAttribute("Intel&reg; AMT značka", tag);
4413 }
4414 }
4415
@@ -4429,13 +4425,13 @@
4425 for (var i in node.av) {
4426 if (node.av[i].product) {
4427 var avx = EscapeHtml(node.av[i].product);
4432 - if (node.av[i].enabled !== true) { avx += ' - <span style=color:red>' + "Disabled" + '</span>'; }
4433 - if (node.av[i].updated !== true) { avx += ' - <span style=color:red>' + "Out of date" + '</span>'; }
4428 + if (node.av[i].enabled !== true) { avx += ' - <span style=color:red>' + "Zakázáno" + '</span>'; }
4429 + if (node.av[i].updated !== true) { avx += ' - <span style=color:red>' + "Zastaralý" + '</span>'; }
4430 if ((node.av[i].enabled == true) && (node.av[i].updated == true)) { avx += ' - <span style=color:green>' + "OK" + '</span>'; }
4431 y.push(avx);
4432 }
4433 }
4438 - x += addDeviceAttribute("Antivirus", y.join('<br />'));
4434 + x += addDeviceAttribute("Antivir", y.join('<br />'));
4435 }
4436
4437 // Active Users
@@ -4446,11 +4442,11 @@
4442 if (connectivity && connectivity > 1) {
4443 var cstate = [];
4444 if ((node.conn & 1) != 0) cstate.push('<span title=\"' + "Agent je připojen a připraven." + '\">' + "Mesh Agent" + '</span>');
4449 - if ((node.conn & 2) != 0) cstate.push('<span title=\"' + "Intel&reg; AMT CIRA is connected and ready for use." + '\">' + "Intel&reg; AMT CIRA" + '</span>');
4450 - else if ((node.conn & 4) != 0) cstate.push('<span title=\"' + "Intel&reg; AMT is routable and ready for use." + '\">' + "Intel&reg; AMT" + '</span>');
4451 - if ((node.conn & 8) != 0) cstate.push('<span title=\"' + "Mesh agent is reachable using another agent as relay." + '\">' + "Mesh Relay" + '</span>');
4452 - if ((node.conn & 16) != 0) { cstate.push('<span title=\"' + "MQTT connection to the device is active." + '\">' + "MQTT" + '</span>'); }
4453 - x += addDeviceAttribute("Connectivity", cstate.join(', '));
4445 + if ((node.conn & 2) != 0) cstate.push('<span title=\"' + "Intel&reg; AMT CIRA je připojeno a připraveno k použití." + '\">' + "Intel&reg; AMT CIRA" + '</span>');
4446 + else if ((node.conn & 4) != 0) cstate.push('<span title=\"' + "Intel&reg; AMT je směrovatelný a připraven k použití." + '\">' + "Intel&reg; AMT" + '</span>');
4447 + if ((node.conn & 8) != 0) cstate.push('<span title=\"' + "Mesh agent je dostupný pomocí přesměrování přes jiného agenta." + '\">' + "Mesh přesměrování" + '</span>');
4448 + if ((node.conn & 16) != 0) { cstate.push('<span title=\"' + "MQTT připojení na zařízení je aktivní." + '\">' + "MQTT" + '</span>'); }
4449 + x += addDeviceAttribute("Konektivita", cstate.join(', '));
4450 }
4451
4452 // Node grouping tags
@@ -4465,8 +4461,8 @@
4461 x += '</table><br />';
4462 // Show action button, only show if we have permissions 4, 8, 64
4463 if ((meshrights & 76) != 0) { x += '<input type=button value=\"' + "Akce" + '\" title=\"' + "Akce napájení" + '\" onclick=deviceActionFunction() />'; }
4468 - x += '<input type=button value=\"' + "Poznámky" + '\" title=\"' + "View notes about this device" + '\" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponent(node._id) + '") />';
4469 - x += '<input type=button value=\"' + "Log udalostí" + '\" title=\"' + "Write an event for this device" + '\" onclick=writeDeviceEvent("' + encodeURIComponent(node._id) + '") />';
4464 + x += '<input type=button value=\"' + "Poznámky" + '\" title=\"' + "Zobrazit poznámky k tomuto zařízení" + '\" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponent(node._id) + '") />';
4465 + x += '<input type=button value=\"' + "Log udalostí" + '\" title=\"' + "Napište událost pro toto zařízení" + '\" onclick=writeDeviceEvent("' + encodeURIComponent(node._id) + '") />';
4466 //if ((connectivity & 1) && (meshrights & 8) && (node.agent.id < 5)) { x += '<input type=button value=Toast title="Display a text message of the remote device" onclick=deviceToastFunction() />'; }
4467 QH('p10html', x);
4468
@@ -4477,25 +4473,25 @@
4473 x = '<div class="p10html3right">';
4474 if ((meshrights & 4) != 0) {
4475 // TODO: Show change group only if there is another mesh of the same type.
4480 - x += '&nbsp;<a href=# onclick=p10showChangeGroupDialog(["' + node._id + '"]) title=\"' + "Move this device to a different device group" + '\">' + "Změnit skupinu" + '</a>';
4481 - x += '&nbsp;<a href=# onclick=p10showDeleteNodeDialog("' + node._id + '") title=\"' + "Remove this device" + '\">' + "Smazat zařízení" + '</a>';
4476 + x += '&nbsp;<a href=# onclick=p10showChangeGroupDialog(["' + node._id + '"]) title=\"' + "Přesunout toto zařízení do jiné skupiny zařízení" + '\">' + "Změnit skupinu" + '</a>';
4477 + x += '&nbsp;<a href=# onclick=p10showDeleteNodeDialog("' + node._id + '") title=\"' + "Odstranit toto zařízení" + '\">' + "Smazat zařízení" + '</a>';
4478 }
4479 x += '</div><div class="p10html3left">';
4484 - if (mesh.mtype == 2) x += '<a href=# onclick=p10showNodeNetInfoDialog("' + node._id + '") title=\"' + "Show device network interface information" + '\">' + "Interfaces" + '</a>&nbsp;';
4485 - if (xxmap != null) x += '<a href=# onclick=p10showNodeLocationDialog("' + node._id + '") title=\"' + "Show device locations information" + '\">' + "Location" + '</a>&nbsp;';
4486 - if (((meshrights & 8) != 0) && (mesh.mtype == 2)) x += '<a href=# onclick=p10showMeshCmdDialog(1,"' + node._id + '") title=\"' + "Traffic router used to connect to a device thru this server" + '.\">' + "Router" + '</a>&nbsp;';
4480 + if (mesh.mtype == 2) x += '<a href=# onclick=p10showNodeNetInfoDialog("' + node._id + '") title=\"' + "Zobrazit informace o síťovém rozhraní zařízení" + '\">' + "Razhraní" + '</a>&nbsp;';
4481 + if (xxmap != null) x += '<a href=# onclick=p10showNodeLocationDialog("' + node._id + '") title=\"' + "Zobrazit informace o umístění zařízení" + '\">' + "Umístění" + '</a>&nbsp;';
4482 + if (((meshrights & 8) != 0) && (mesh.mtype == 2)) x += '<a href=# onclick=p10showMeshCmdDialog(1,"' + node._id + '") title=\"' + "Traffic router je použit k připojení zařízení prostřednictvím tohoto serveru" + '.\">' + "Router" + '</a>&nbsp;';
4483
4484 // RDP link, show this link only of the remote machine is Windows.
4485 if (((connectivity & 1) != 0) && (clickOnce == true) && (mesh.mtype == 2) && ((meshrights & 8) != 0)) {
4490 - if ((node.agent.id > 0) && (node.agent.id < 5)) { x += '<a href=# onclick=p10clickOnce("' + node._id + '","RDP2",3389) title=\"' + "Requires Microsoft ClickOnce support in your browser" + '.\">' + "RDP" + '</a>&nbsp;'; }
4486 + if ((node.agent.id > 0) && (node.agent.id < 5)) { x += '<a href=# onclick=p10clickOnce("' + node._id + '","RDP2",3389) title=\"' + "Vyžaduje Microsoft ClickOnce podporu v prohlížeči" + '.\">' + "RDP" + '</a>&nbsp;'; }
4487 if (node.agent.id > 4) {
4492 - x += '<a href=# onclick=p10clickOnce("' + node._id + '","PSSH",22) title=\"' + "Requires Microsoft ClickOnce support in your browser." + '\">' + "Putty" + '</a>&nbsp;';
4493 - x += '<a href=# onclick=p10clickOnce("' + node._id + '","WSCP",22) title=\"' + "Requires Microsoft ClickOnce support in your browser." + '\">' + "WinSCP" + '</a>&nbsp;';
4488 + x += '<a href=# onclick=p10clickOnce("' + node._id + '","PSSH",22) title=\"' + "Vyžaduje Microsoft ClickOnce podporu v prohlížeči." + '\">' + "Putty" + '</a>&nbsp;';
4489 + x += '<a href=# onclick=p10clickOnce("' + node._id + '","WSCP",22) title=\"' + "Vyžaduje Microsoft ClickOnce podporu v prohlížeči." + '\">' + "WinSCP" + '</a>&nbsp;';
4490 }
4491 }
4492
4493 // MQTT options
4498 - if ((meshrights == 0xFFFFFFFF) && (features & 0x00400000)) { x += '<a href=# onclick=p10showMqttLoginDialog("' + node._id + '") title=\"' + "Get MQTT login credentials for this device." + '\">' + "MQTT Login" + '</a>&nbsp;'; }
4494 + if ((meshrights == 0xFFFFFFFF) && (features & 0x00400000)) { x += '<a href=# onclick=p10showMqttLoginDialog("' + node._id + '") title=\"' + "Získat přihlašovací údaje MQTT pro toto zařízení." + '\">' + "MQTT přihlášení" + '</a>&nbsp;'; }
4495 x += '</div><br>'
4496
4497 QH('p10html3', x);
@@ -4504,9 +4500,9 @@
4500 var powerstate = PowerStateStr(node.state);
4501 //if (node.state == 0) { powerstate = 'Unknown State'; }
4502 if ((connectivity & 1) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Agent připojen" + '\">' + "Agent připojen" + '</span>'; }
4507 - if ((connectivity & 2) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel&reg; AMT connected" + '\">' + "Intel&reg; AMT connected" + '</span>'; }
4508 - else if ((connectivity & 4) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel&reg; AMT detected" + '\">' + "Intel&reg; AMT detected" + '</span>'; }
4509 - if ((connectivity & 16) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "MQTT připojeno" + '\">' + "MQTT channel connected" + '</span>'; }
4503 + if ((connectivity & 2) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel&reg; AMT připojeno" + '\">' + "Intel&reg; AMT připojeno" + '</span>'; }
4504 + else if ((connectivity & 4) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel&reg; AMT detekováno" + '\">' + "Intel&reg; AMT detekováno" + '</span>'; }
4505 + if ((connectivity & 16) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "MQTT připojeno" + '\">' + "MQTT kanál připojen" + '</span>'; }
4506 if ((powerstate == '') && node.lastconnect) { powerstate = '<span style=font-size:12px>' + "Naposledy spatřen:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>'; }
4507 QH('MainComputerState', powerstate);
4508
@@ -4592,14 +4588,14 @@
4588
4589 function writeDeviceEvent(nodeid) {
4590 if (xxdialogMode) return;
4595 - setDialogMode(2, "Přidat událost zařízení", 3, writeDeviceEventEx, '<textarea id=d2devEvent style=background-color:#fcf3cf;width:100%;height:200px;resize:none;overflow-y:scroll></textarea><span style=font-size:10px>' + "This will add an entry to this device\'s event log." + '<span>', nodeid);
4591 + setDialogMode(2, "Přidat událost zařízení", 3, writeDeviceEventEx, '<textarea id=d2devEvent style=background-color:#fcf3cf;width:100%;height:200px;resize:none;overflow-y:scroll></textarea><span style=font-size:10px>' + "Tím se přidá položka do tohoto logu událostí zařízení." + '<span>', nodeid);
4592 }
4593
4594 function writeDeviceEventEx(buttons, tag) { meshserver.send({ action: 'setDeviceEvent', nodeid: decodeURIComponent(tag), msg: encodeURIComponent(Q('d2devEvent').value) }); }
4595
4596 function showNotes(readonly, noteid) {
4597 if (xxdialogMode) return;
4602 - setDialogMode(2, "Poznámky", 2, showNotesEx, '<textarea id=d2devNotes ro=' + readonly + ' noteid=' + noteid + ' readonly style=background-color:#fcf3cf;width:100%;height:200px;resize:none;overflow-y:scroll></textarea><span style=font-size:10px>' + "Device group notes can be viewed and changed by other device group administrators." + '<span>', noteid);
4598 + setDialogMode(2, "Poznámky", 2, showNotesEx, '<textarea id=d2devNotes ro=' + readonly + ' noteid=' + noteid + ' readonly style=background-color:#fcf3cf;width:100%;height:200px;resize:none;overflow-y:scroll></textarea><span style=font-size:10px>' + "Poznámky pro skupinu zařízení si může prohlédnout nebo upravit jen jiný administrátor skupiny." + '<span>', noteid);
4599 meshserver.send({ action: 'getNotes', id: decodeURIComponent(noteid) });
4600 }
4601
@@ -4624,7 +4620,7 @@
4620
4621 function deviceUrlFunction() {
4622 if (xxdialogMode) return;
4627 - setDialogMode(2, "Open Page on Device", 3, deviceUrlFunctionEx, '<input id=d2devurl placeholder="http://server.com" style=width:100%;overflow-y:scroll></input>');
4623 + setDialogMode(2, "Otevřít stránku na zařízení", 3, deviceUrlFunctionEx, '<input id=d2devurl placeholder="http://server.com" style=width:100%;overflow-y:scroll></input>');
4624 Q('d2devurl').focus();
4625 }
4626
@@ -4634,7 +4630,7 @@
4630
4631 function deviceToastFunction() {
4632 if (xxdialogMode) return;
4637 - setDialogMode(2, "Device Notification", 3, deviceToastFunctionEx, '<textarea id=d2devToast style=width:100%;height:80px;resize:none;overflow-y:scroll></textarea>');
4633 + setDialogMode(2, "Oznámení zařízení", 3, deviceToastFunctionEx, '<textarea id=d2devToast style=width:100%;height:80px;resize:none;overflow-y:scroll></textarea>');
4634 Q('d2devToast').focus();
4635 }
4636
@@ -4649,8 +4645,8 @@
4645 var y = '<select id=d2deviceop style=float:right;width:250px>';
4646 if ((meshrights & 64) != 0) { y += '<option value=100>' + "Probudit" + '</option>'; } // Wake-up permission
4647 if ((meshrights & 8) != 0) { y += '<option value=4>' + "Spánek" + '</option><option value=3>' + "Reset" + '</option><option value=2>' + "Vypnout" + '</option>'; } // Remote control permission
4652 - if ((currentNode.conn & 16) != 0) { y += '<option value=103>' + "Send MQTT Message" + '</option>'; }
4653 - if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += '<option value=104>' + "Uninstall Agent" + '</option>'; }
4648 + if ((currentNode.conn & 16) != 0) { y += '<option value=103>' + "Poslat MQTT zprávu" + '</option>'; }
4649 + if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += '<option value=104>' + "Odinstalovat agenta" + '</option>'; }
4650 y += '</select>';
4651 x += addHtmlValue("Operace", y);
4652 setDialogMode(2, "Akce zařízení", 3, deviceActionFunctionEx, x);
@@ -4744,7 +4740,7 @@
4740 ++count;
4741 date = new Date(date.getTime() - (1000 * 60 * 60 * 24)); // Substract one day
4742 }
4747 - QH('p10html2', '<table cellpadding=2 cellspacing=0><thead><tr style=><th scope=col style=text-align:center;width:150px>' + "Den" + '</th><th scope=col style=text-align:center><a download href="devicepowerevents.ashx?id=' + currentNode._id + '" onclick="setDialogMode(0)"><img title=\"' + "Download power events" + '\" src="images/link4.png" /></a>' + "7 denní statistika provozu" + '</th></tr></thead><tbody>' + x + '</tbody></table>');
4743 + QH('p10html2', '<table cellpadding=2 cellspacing=0><thead><tr style=><th scope=col style=text-align:center;width:150px>' + "Den" + '</th><th scope=col style=text-align:center><a download href="devicepowerevents.ashx?id=' + currentNode._id + '" onclick="setDialogMode(0)"><img title=\"' + "Stáhnout události napájení" + '\" src="images/link4.png" /></a>' + "7 denní statistika provozu" + '</th></tr></thead><tbody>' + x + '</tbody></table>');
4744 }
4745
4746 // Return a color for the given power state
@@ -4768,7 +4764,7 @@
4764 x += addHtmlValue("Heslo", '<input id=dp10password type=password style=width:230px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
4765 x += addHtmlValue("Bezpečnost", '<select id=dp10tls style=width:236px><option value=0>' + "Žádné TLS" + '</option><option value=1>' + "TLS vyžadováno" + '</option></select>');
4766 if ((node.intelamt.user != null) && (node.intelamt.user != '')) { buttons = 7; }
4771 - setDialogMode(2, "Edit Intel&reg; AMT credentials", buttons, editDeviceAmtSettingsEx, x, { node: node, func: func, arg: arg });
4767 + setDialogMode(2, "Upravit Intel&reg; AMT pověření", buttons, editDeviceAmtSettingsEx, x, { node: node, func: func, arg: arg });
4768 if ((node.intelamt.user != null) && (node.intelamt.user != '')) { Q('dp10username').value = node.intelamt.user; } else { Q('dp10username').value = 'admin'; }
4769 Q('dp10tls').value = node.intelamt.tls;
4770 validateDeviceAmtSettings();
@@ -4797,9 +4793,9 @@
4793
4794 function p10showSendMqttMsgDialog(nodeids) {
4795 if (xxdialogMode) return false;
4800 - var x = addHtmlValue("Topic", '<input id=dp2topic style=width:230px maxlength=64 onchange=p10validateSendMqttMsgDialog() onkeyup=p10validateSendMqttMsgDialog(event,1) />');
4801 - x += addHtmlValue("Message", '<div style=width:230px;margin:0;padding:0><textarea id=dp2msg maxlength=4096 style=width:100%;height:150px;resize:none onchange=p10validateSendMqttMsgDialog() onkeyup=p10validateSendMqttMsgDialog(event,1)></textarea></div>');
4802 - setDialogMode(2, "Send MQTT message", 3, p10showSendMqttMsgDialogEx, x, nodeids);
4796 + var x = addHtmlValue("Téma", '<input id=dp2topic style=width:230px maxlength=64 onchange=p10validateSendMqttMsgDialog() onkeyup=p10validateSendMqttMsgDialog(event,1) />');
4797 + x += addHtmlValue("Zpráva", '<div style=width:230px;margin:0;padding:0><textarea id=dp2msg maxlength=4096 style=width:100%;height:150px;resize:none onchange=p10validateSendMqttMsgDialog() onkeyup=p10validateSendMqttMsgDialog(event,1)></textarea></div>');
4798 + setDialogMode(2, "Poslat MQTT zprávu", 3, p10showSendMqttMsgDialogEx, x, nodeids);
4799 p10validateSendMqttMsgDialog();
4800 Q('dp2topic').focus();
4801 return false;
@@ -4816,11 +4812,11 @@
4812 function p10showSendUninstallAgentDialog(nodeids) {
4813 if (xxdialogMode) return false;
4814 var x = '';
4819 - if (nodeids.length > 1) { x = format("Are you sure you want to uninstall the selected {0} agents?", nodeids.length); } else { x = "Are you sure you want to uninstall selected agent?"; }
4815 + if (nodeids.length > 1) { x = format("Opravdu odinstalovat vybraných {0} agentů?", nodeids.length); } else { x = "Opravdu odinstalovat vybraného agenta?"; }
4816 x += '<br /><br />';
4821 - if (nodeids.length > 1) { x += "This will not remove the devices from the server, but the devices will not longer be able to connect to the server. All remote access to the devices will be lost. The devices must be connected for this command to work."; } else { x += "This will not remove this device from the server, but the device will not longer be able to connect to the server. All remote access to the device will be lost. The device must be connect for this command to work."; }
4822 - x += '<br /><br /><label style=color:red><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Confirm" + '</label>';
4823 - setDialogMode(2, "Uninstall agent", 3, p10showSendUninstallAgentDialogEx, x, nodeids);
4817 + if (nodeids.length > 1) { x += "To neodstraní zařízení ze serveru, ale zařízení se již nebudou moci připojit k serveru. Veškerý vzdálený přístup k zařízením bude ztracen. Aby tento příkaz fungoval, musí být připojena zařízení."; } else { x += "Toto zařízení ze serveru neodstraní, ale zařízení se již nebude moci připojit k serveru. Veškerý vzdálený přístup k zařízení bude ztracen. Aby mohl tento příkaz fungovat, musí být zařízení připojeno."; }
4818 + x += '<br /><br /><label style=color:red><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Potvrdit" + '</label>';
4819 + setDialogMode(2, "Odinstalovat agenta", 3, p10showSendUninstallAgentDialogEx, x, nodeids);
4820 p10validateSendUninstallAgentDialog();
4821 return false;
4822 }
@@ -4842,11 +4838,11 @@
4838 y += '</select>';
4839
4840 if (count > 0) {
4845 - var x = (nodeids.length == 1) ? ("Vyber novou skupinu pro toto zařízení" + '<br /><br />') : ("Select a new group for selected devices" + '<br /><br />');
4841 + var x = (nodeids.length == 1) ? ("Vybrat novou skupinu pro toto zařízení" + '<br /><br />') : ("Vybrat novou skupinu pro vybraná zařízení" + '<br /><br />');
4842 x += addHtmlValue("Nová skupina zařízení", y);
4843 setDialogMode(2, "Změnit skupinu", 3, p10showChangeGroupDialogEx, x, nodeids);
4844 } else {
4849 - setDialogMode(2, "Změnit skupinu", 1, null, "No other device group of same type exists.");
4845 + setDialogMode(2, "Změnit skupinu", 1, null, "Žádná další podobná skupina zařízení.");
4846 }
4847 return false;
4848 }
@@ -4857,7 +4853,7 @@
4853
4854 function p10showDeleteNodeDialog(nodeid) {
4855 if (xxdialogMode) return false;
4860 - var x = format("Are you sure you want to delete node {0}?", EscapeHtml(currentNode.name)) + '<br /><br /><label><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Confirm" + '</label>';
4856 + var x = format("Opravdu smazat nód {0}?", EscapeHtml(currentNode.name)) + '<br /><br /><label><input id=p10check type=checkbox onchange=p10validateDeleteNodeDialog() />' + "Potvrdit" + '</label>';
4857 setDialogMode(2, "Smazat nod", 3, p10showDeleteNodeDialogEx, x, nodeid);
4858 p10validateDeleteNodeDialog();
4859 return false;
@@ -4901,7 +4897,7 @@
4897
4898 //var x = '<div><a href="https://www.google.com/maps/preview/@' + lat + ',' + lng + ',12z" rel="noreferrer noopener" target=_blank>Open in Google maps</a></div>';
4899 var x = '<div id=d2map style=width:100%;height:300px></div>';
4904 - setDialogMode(2, "Device Location", 1, null, x, '@xxmap');
4900 + setDialogMode(2, "Umístění zařízení", 1, null, x, '@xxmap');
4901
4902 var clng = 0, clat = 0, zoom = 8;
4903 if (boundingBox != null) {
@@ -4935,7 +4931,7 @@
4931 // Show MeshCentral Router dialog
4932 function p10showMeshRouterDialog() {
4933 if (xxdialogMode) return;
4938 - var x = '<div>' + "MeshCentral Router is a Windows tool for TCP port mapping. You can, for example, RDP into a remote device thru this server." + '</div><br />';
4934 + var x = '<div>' + "MeshCentral Router je Windows nástroj pro přemapování portů. Múžete si například přesměrovat vzdálené RDP pomocí tohoto serveru. " + '</div><br />';
4935 x += addHtmlValue('Win32 Executable', '<a style=cursor:pointer download href="meshagents?meshaction=winrouter" onclick="setDialogMode(0)">MeshCentralRouter.exe</a>');
4936 setDialogMode(2, "MeshCentral Router", 1, null, x, 'fileDownload');
4937 }
@@ -4963,7 +4959,7 @@
4959 if (mode == 0) { x += addHtmlValue('Action File', '<a href="meshagents?meshaction=generic" download>MeshAction (.txt)</a>'); }
4960 if (mode == 1) { x += addHtmlValue('Action File', '<a href="meshagents?meshaction=route&nodeid=' + nodeid + '" download>MeshAction (.txt)</a>'); }
4961 x += '</div>';
4966 - setDialogMode(2, [ "Download MeshCmd", "Network Router" ][mode], 9, null, x, 'fileDownload');
4962 + setDialogMode(2, [ "Stáhnout MeshCmd", "Síťový router" ][mode], 9, null, x, 'fileDownload');
4963 meshCmdOsClick();
4964 }
4965
@@ -4993,7 +4989,7 @@
4989 x += '<div tabindex=0 style=display:inline-block class=i4 onclick=p10setIcon(4) onkeypress="if (event.key==\'Enter\') p10setIcon(4)"></div>';
4990 x += '<div tabindex=0 style=display:inline-block class=i5 onclick=p10setIcon(5) onkeypress="if (event.key==\'Enter\') p10setIcon(5)"></div>';
4991 x += '<div tabindex=0 style=display:inline-block class=i6 onclick=p10setIcon(6) onkeypress="if (event.key==\'Enter\') p10setIcon(6)"></div><br><br>';
4996 - setDialogMode(2, "Icon Selection", 0, null, x);
4992 + setDialogMode(2, "Výběr ikony", 0, null, x);
4993 QV('id_dialogclose', true);
4994 }
4995
@@ -5002,13 +4998,13 @@
4998 meshserver.send({ action: 'changedevice', nodeid: currentNode._id, icon: icon });
4999 }
5000
5005 - var showEditNodeValueDialog_modes = ["Device Name", "Hostname", "Popis", "Tagy"];
5001 + var showEditNodeValueDialog_modes = ["Název zařízení", "Hostname", "Popis", "Tagy"];
5002 var showEditNodeValueDialog_modes2 = ['name', 'host', 'desc', 'tags'];
5003 var showEditNodeValueDialog_modes3 = ['', '', '', "Značka1, Značka2, Značka"];
5004 function showEditNodeValueDialog(mode) {
5005 if (xxdialogMode) return;
5006 var x = addHtmlValue(showEditNodeValueDialog_modes[mode], '<input id=dp10devicevalue maxlength=64 placeholder="' + showEditNodeValueDialog_modes3[mode] + '" onchange=p10editdevicevalueValidate(' + mode + ',event) onkeyup=p10editdevicevalueValidate(' + mode + ',event) />');
5011 - setDialogMode(2, "Edit Device", 3, showEditNodeValueDialogEx, x, mode);
5007 + setDialogMode(2, "Upravit zařízení", 3, showEditNodeValueDialogEx, x, mode);
5008 var v = currentNode[showEditNodeValueDialog_modes2[mode]];
5009 if (v == null) v = '';
5010 if (Array.isArray(v)) { v = v.join(', '); }
@@ -5167,7 +5163,7 @@
5163 if (typeof RTCPeerConnection !== 'undefined') { webRtcDesktop.webrtc = new RTCPeerConnection(configuration); }
5164 else if (typeof webkitRTCPeerConnection !== 'undefined') { webRtcDesktop.webrtc = new webkitRTCPeerConnection(configuration); }
5165
5170 - webRtcDesktop.webchannel = webRtcDesktop.webrtc.createDataChannel("DataChannel", {}); // { ordered: false, maxRetransmits: 2 }
5166 + webRtcDesktop.webchannel = webRtcDesktop.webrtc.createDataChannel("Datový kanál", {}); // { ordered: false, maxRetransmits: 2 }
5167 webRtcDesktop.webchannel.onopen = function () {
5168 // Switch to software KVM
5169 //if (urlvars && urlvars['kvmdatatrace']) { console.log('WebRTC Data Channel Open'); }
@@ -5296,7 +5292,7 @@
5292 QV('DeskFocus', false);
5293 QV('termdisplays', false);
5294 QV('deskRecordIcon', false);
5299 - deskFocusBtn.value = "All Focus";
5295 + deskFocusBtn.value = "Zaměřit vše";
5296 if (fullscreen == true) { deskToggleFull(); }
5297 webRtcDesktopReset();
5298 deskPreferedStickyDisplay = 0;
@@ -5343,7 +5339,7 @@
5339 if (xxdialogMode) return;
5340 applyDesktopSettings();
5341 updateDesktopButtons();
5346 - setDialogMode(7, "Remote Desktop Settings", 3, showDesktopSettingsChanged);
5342 + setDialogMode(7, "Nastavení vzdálené plochy", 3, showDesktopSettingsChanged);
5343 }
5344
5345 function showDesktopSettingsChanged() {
@@ -5363,7 +5359,7 @@
5359 }
5360 }
5361 if (desktop.contype == 2) {
5366 - if (desktopsettings.showfocus == false) { desktop.m.focusmode = 0; deskFocusBtn.value = "All Focus"; }
5362 + if (desktopsettings.showfocus == false) { desktop.m.focusmode = 0; deskFocusBtn.value = "Zaměřit vše"; }
5363 if (desktop.State != 0) { desktop.Stop(); setTimeout(function () { connectDesktop(null, 2); }, 50); }
5364 }
5365 }
@@ -5427,7 +5423,7 @@
5423
5424 function deskToggleFocus() {
5425 desktop.m.focusmode = (desktop.m.focusmode + 64) % 192;
5430 - Q('deskFocusBtn').value = ["All Focus", "Small Focus", "Large Focus"][desktop.m.focusmode / 64];
5426 + Q('deskFocusBtn').value = ["Zaměřit vše", "malé zaměření", "Velké zaměření"][desktop.m.focusmode / 64];
5427 }
5428
5429 function deskAdjust() {
@@ -5583,9 +5579,9 @@
5579 function showDeskType() {
5580 if (xxdialogMode || desktop == null || desktop.State != 3) return;
5581 Q('DeskType').blur();
5586 - var x = '<div>' + "Enter text and click OK to remotely type it using a US english keyboard. Make sure to place the remote cursor at the correct position before proceeding." + '<div>';
5582 + var x = '<div>' + "Zadejte text a kliknutím na OK jej zadáte na dálku pomocí americké anglické klávesnice. Než budete pokračovat, nezapomeňte vzdálený kurzor na správnou pozici." + '<div>';
5583 x += '<textarea id=d2typeText style="margin-top:5px;width:100%;height:184px;resize:none" maxlength=2000></textarea>';
5588 - setDialogMode(2, "Remote Keyboard Entry", 3, showDeskTypeEx, x);
5584 + setDialogMode(2, "Vzdálené zadání klávesnice", 3, showDeskTypeEx, x);
5585 Q('d2typeText').focus();
5586 }
5587
@@ -5637,7 +5633,7 @@
5633 x += '<div id=dlgClipStatus style="display:inline-block;margin-left:8px" ></div>';
5634 x += '<textarea id=d2clipText style="width:100%;height:184px;resize:none" maxlength=65535></textarea>';
5635 x += '<input type=button value="Close" style=width:80px;float:right onclick=dialogclose(0)><div style=height:26px;margin-top:3px><span id=linuxClipWarn style=display:none>' + "Vzdálená schránka je platná 60 sekund." + '</span>&nbsp;</div><div></div>';
5640 - setDialogMode(2, "Remote Clipboard", 8, null, x, 'clipboard');
5636 + setDialogMode(2, "Vzdálená schránka", 8, null, x, 'clipboard');
5637 Q('d2clipText').focus();
5638 }
5639
@@ -5757,20 +5753,20 @@
5753 if (service != null) {
5754 var x = '';
5755 if (service.name) { x += addHtmlValue("Jméno", service.name); }
5760 - if (service.displayName) { x += addHtmlValue("Display name", service.displayName); }
5756 + if (service.displayName) { x += addHtmlValue("Zobrazované jméno", service.displayName); }
5757 if (service.status) {
5758 if (service.status.state) { x += addHtmlValue("Stav", capitalizeFirstLetter(service.status.state.toLowerCase())); }
5759 if (service.status.pid) { x += addHtmlValue("PID", service.status.pid); }
5760 var serviceTypes = [];
5765 - if (service.status.isFileSystemDriver === true) { serviceTypes.push("FileSystemDriver"); }
5766 - if (service.status.isInteractive === true) { serviceTypes.push("Interactive"); }
5767 - if (service.status.isKernelDriver === true) { serviceTypes.push("KernelDriver"); }
5761 + if (service.status.isFileSystemDriver === true) { serviceTypes.push("Ovladač souborového systému"); }
5762 + if (service.status.isInteractive === true) { serviceTypes.push("Interaktivní"); }
5763 + if (service.status.isKernelDriver === true) { serviceTypes.push("Ovladač jádra"); }
5764 if (service.status.isOwnProcess === true) { serviceTypes.push("OwnProcess"); }
5765 if (service.status.isSharedProcess === true) { serviceTypes.push("SharedProcess"); }
5766 if (serviceTypes.length > 0) { x += addHtmlValue("Typ", serviceTypes.join(', ')); }
5767 }
5772 - x += '<br/><div style=float:right;margin-bottom:12px><input type=button value=\"' + "Close" + '\" onclick=showServiceDetailsDialogEx(0,' + index + ')></div><div style=margin-bottom:12px><input type=button value=\"' + "Start" + '\" onclick=showServiceDetailsDialogEx(1,' + index + ')><input type=button value=\"' + "Stop" + '\" onclick=showServiceDetailsDialogEx(2,' + index + ')><input type=button value=\"' + "Restart" + '\" onclick=showServiceDetailsDialogEx(3,' + index + ')></div>';
5773 - setDialogMode(2, "Service Details", 8, null, x, name);
5768 + x += '<br/><div style=float:right;margin-bottom:12px><input type=button value=\"' + "Zavřít" + '\" onclick=showServiceDetailsDialogEx(0,' + index + ')></div><div style=margin-bottom:12px><input type=button value=\"' + "Start" + '\" onclick=showServiceDetailsDialogEx(1,' + index + ')><input type=button value=\"' + "Stop" + '\" onclick=showServiceDetailsDialogEx(2,' + index + ')><input type=button value=\"' + "Restart" + '\" onclick=showServiceDetailsDialogEx(3,' + index + ')></div>';
5769 + setDialogMode(2, "Detaily serveru", 8, null, x, name);
5770 }
5771 }
5772
@@ -5829,7 +5825,7 @@
5825 function dmousemove(e) { setSessionActivity(); e.addx = Q('DeskParent').scrollLeft; e.addy = Q('DeskParent').scrollTop; if (!xxdialogMode && desktop != null && Q('DeskControl').checked) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousemove(e); desktop.m.sendKeepAlive(); } else { desktop.m.mousemove(e); } } }
5826 function dmousewheel(e) { setSessionActivity(); e.addx = Q('DeskParent').scrollLeft; e.addy = Q('DeskParent').scrollTop; if (!xxdialogMode && desktop != null && Q('DeskControl').checked) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousewheel(e); desktop.m.sendKeepAlive(); } else { if (desktop.m.mousewheel) { desktop.m.mousewheel(e); } } haltEvent(e); return true; } return false; }
5827 function drotate(x) { if (!xxdialogMode && desktop != null) { desktop.m.setRotation(desktop.m.rotation + x); deskAdjust(); deskAdjust(); } }
5832 - function stopProcess(id, name) { setDialogMode(2, "Process Control", 3, stopProcessEx, format("Stop process #{0} \"{1}\"?", id, name), id); return false; }
5828 + function stopProcess(id, name) { setDialogMode(2, "Správa procesů", 3, stopProcessEx, format("Ukončit proces #{0} \"{1}\"?", id, name), id); return false; }
5829 function stopProcessEx(buttons, tag) { meshserver.send({ action: 'msg', type: 'pskill', nodeid: currentNode._id, value: tag }); setTimeout(refreshDeskTools, 300); }
5830
5831 //
@@ -5980,7 +5976,7 @@
5976 Q('connectbutton2').blur(); // Deselect the connect button so the button does not get key presses.
5977 }
5978
5983 - var terminalEmulations = ["UTF8 Terminal", "Extended ASCII", "Intel ASCII"];
5979 + var terminalEmulations = ["UTF8 Terminál", "Rozšířené ASCII", "Intel ASCII"];
5980 function termToggleType() {
5981 if (!terminal || xxdialogMode) return;
5982 terminal.m.terminalEmulation = (terminal.m.terminalEmulation + 1) % 3;
@@ -5988,7 +5984,7 @@
5984 Q('id_ttypebutton').blur(); // Deselect the connect button so the button does not get key presses.
5985 }
5986
5991 - var fxEmulations = ["Intel (F10 = ESC+[OM)", "Alternate (F10 = ESC+0)", "VT100+ (F10 = ESC+[OY)"];
5987 + var fxEmulations = ["Intel (F10 = ESC+[OM)", "Nebo (F10 = ESC+0)", "VT100+ (F10 = ESC+[OY)"];
5988 function termToggleFx() {
5989 if (!terminal || xxdialogMode) return;
5990 terminal.m.fxEmulation = (terminal.m.fxEmulation + 1) % 3;
@@ -6042,7 +6038,7 @@
6038 }
6039
6040 function onFilesStateChange(xfiles, state) {
6045 - p13Connect.value = (state == 0) ? "Připojit" : "Disconnect";
6041 + p13Connect.value = (state == 0) ? "Připojit" : "Odpojit";
6042 var str = StatusStrs[state];
6043 if (files.webRtcActive == true) { str += ", WebRTC"; }
6044 Q('p13Status').textContent = str;
@@ -6262,7 +6258,7 @@
6258 function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
6259 function p13createfolder() { setDialogMode(2, "Nový adresář", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
6260 function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
6265 - function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Recursive delete" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p13deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
6261 + function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Rekurzivní mazání" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p13deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
6262 function p13deletefileEx() { var delfiles = [], checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { delfiles.push(p13filetree.dir[checkboxes[i].value].n); } } files.sendText({ action: 'rm', reqid: 1, path: p13filetreelocation.join('/'), delfiles: delfiles, rec: Q('p13recdeleteinput').checked }); p13folderup(999); }
6263 function p13renamefile() { var renamefile, checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { renamefile = p13filetree.dir[checkboxes[i].value].n; } } setDialogMode(2, "Přejmenovat", 3, p13renamefileEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% value="' + renamefile + '" />', { action: 'rename', path: p13filetreelocation.join('/'), oldname: renamefile}); focusTextBox('p13renameinput'); p13fileNameCheck(); }
6264 function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -6276,7 +6272,7 @@
6272 if (checkboxes[i].checked) {
6273 if (p13filetree.dir[checkboxes[i].value].s <= 204800) {
6274 p13downloadfile(encodeURIComponent(p13filetreelocation.join('/') + '/' + p13filetree.dir[checkboxes[i].value].n), encodeURIComponent(p13filetree.dir[checkboxes[i].value].n), p13filetree.dir[checkboxes[i].value].s, 'viewer');
6279 - } else { messagebox("File Editor", "Jen soubory menší než 200k mohou být editovány."); }
6275 + } else { messagebox("Editor souborů", "Jen soubory menší než 200k mohou být editovány."); }
6276 break;
6277 }
6278 }
@@ -6288,9 +6284,9 @@
6284 var x = '';
6285 if ((p13clipboard != null) && (p13clipboard.length > 0)) {
6286 if (p13clipboardCut == 0) {
6291 - if (p13clipboard.length > 1) { x = format("Confirm copy of {0} entries's to this location?", p13clipboard.length); } else { x = format("Confirm copy of 1 entrie to this location?"); }
6287 + if (p13clipboard.length > 1) { x = format("Potvrdit kopírování {0} zaznámů do tohoto umístění?", p13clipboard.length); } else { x = format("Potvrdit kopírování jednoho záznamu do tohoto umístění?"); }
6288 } else {
6293 - if (p13clipboard.length > 1) { x = format("Confirm move of {0} entries's to this location?", p13clipboard.length); } else { x = format("Confirm move of 1 entrie to this location?"); }
6289 + if (p13clipboard.length > 1) { x = format("Potvrdit přesun {0} záznamů do tohoto umístění?", p13clipboard.length); } else { x = format("Potvrdit přesun jednoho záznamu do tohoto umístění?"); }
6290 }
6291 }
6292 setDialogMode(2, "Vložit", 3, p13pasteFileEx, x);
@@ -6301,15 +6297,15 @@
6297 if ((p13clipboard != null) && (p13clipboard.length > 0)) {
6298 if (p13clipboardCut == 0) {
6299 if (p13clipboard.length > 1) {
6304 - x = format("Holding {0} entries for copy" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.', p13clipboard.length);
6300 + x = format("Držím {0} záznamů pro kopii" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.', p13clipboard.length);
6301 } else {
6306 - x = format("Holding 1 entrie for copy" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.');
6302 + x = format("Držím jeden záznam pro kopii" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.');
6303 }
6304 } else {
6305 if (p13clipboard.length > 1) {
6310 - x = format("Holding {0} entries for move" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.', p13clipboard.length);
6306 + x = format("Držím {0} zaznamů pro přesun" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.', p13clipboard.length);
6307 } else {
6312 - x = format("Holding 1 entrie for move" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Clear" + '</a>.');
6308 + x = format("Držím jeden záznam pro přesun" + ', <a href=# onclick="return p13clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.');
6309 }
6310 }
6311 }
@@ -6495,7 +6491,7 @@
6491 p13uploadFileContinue(1, files);
6492 } else {
6493 // Otherwise, prompt for confirmation
6498 - setDialogMode(2, "Nahrát soubor", 3, p13uploadFileContinue, format("Upload will overwrite {0} file{1}. Continue?", overWriteCount, addLetterS(overWriteCount)), files);
6494 + setDialogMode(2, "Nahrát soubor", 3, p13uploadFileContinue, format("Nahrání přepíše {0} soubor{1}. Pokračovat?", overWriteCount, addLetterS(overWriteCount)), files);
6495 }
6496 }
6497
@@ -6504,7 +6500,7 @@
6500 uploadFile.xpath = p13filetreelocation.join('/');
6501 uploadFile.xfiles = files;
6502 uploadFile.xfilePtr = -1;
6507 - setDialogMode(2, "Nahrát soubor", 10, p13uploadFileCancel, '<div id=p13dfileName>' + "Connecting..." + '</div><br /><progress id=d2progressBar style=width:100% value=0 max=0 />');
6503 + setDialogMode(2, "Nahrát soubor", 10, p13uploadFileCancel, '<div id=p13dfileName>' + "Připojování..." + '</div><br /><progress id=d2progressBar style=width:100% value=0 max=0 />');
6504 p13uploadReconnect();
6505 }
6506
@@ -6635,7 +6631,7 @@
6631 }
6632 }
6633 if (dateHeader != null) x += '</table>';
6638 - if (x == '') x = '<br><i>' + "No Events Found" + '</i><br><br>';
6634 + if (x == '') x = '<br><i>' + "Žádné události" + '</i><br><br>';
6635 QH('p16events', x);
6636 }
6637
@@ -6657,7 +6653,7 @@
6653 x += addHtmlValue3(EscapeHtml(i), EscapeHtml(xevent[i]));
6654 }
6655 x += '</div>';
6660 - setDialogMode(2, "Event Details", 9, null, x);
6656 + setDialogMode(2, "Detail události", 9, null, x);
6657 }
6658 }
6659
@@ -6709,7 +6705,7 @@
6705 var samenode = (consoleNode == 'server');
6706 consoleNode = 'server';
6707
6712 - QH('p15deviceName', "My Server Console");
6708 + QH('p15deviceName', "Moje serverová konzole");
6709 QE('p15consoleText', true);
6710 QH('p15statetext', '');
6711 QH('p15coreName', '');
@@ -6828,7 +6824,7 @@
6824 if (e.shiftKey == true) { meshserver.send({ action: 'uploadagentcore', nodeid: consoleNode._id, type: 'default' }); } // Upload default core
6825 else if (e.altKey == true) { meshserver.send({ action: 'uploadagentcore', nodeid: consoleNode._id, type: 'clear' }); } // Clear the core
6826 else if (e.ctrlKey == true) { p15uploadCore2(); } // Upload the core from a file
6831 - else { setDialogMode(2, "Akce agenta", 3, p15uploadCoreEx, addHtmlValue("Akce", '<select id=d3coreMode style=width:230px><option value=1>' + "Upload default server core" + '</option><option value=2>' + "Clear the core" + '</option><option value=6>' + "Upload recovery core" + '</option><option value=3>' + "Upload a core file" + '</option><option value=4>' + "Soft disconnect agent" + '</option><option value=5>' + "Hard disconnect agent" + '</option></select>')); }
6827 + else { setDialogMode(2, "Akce agenta", 3, p15uploadCoreEx, addHtmlValue("Akce", '<select id=d3coreMode style=width:230px><option value=1>' + "Nahrát defaultní nastavení" + '</option><option value=2>' + "Vymazat jádro" + '</option><option value=6>' + "Nahrát jádro pro obnovu" + '</option><option value=3>' + "Nahrát hlavní soubor" + '</option><option value=4>' + "Jemné odpojení agenta" + '</option><option value=5>' + "Tvrdě odpojit aenta" + '</option></select>')); }
6828 }
6829
6830 function p15uploadCoreEx() {
@@ -6859,7 +6855,7 @@
6855 Q('d3localmodeform').action = 'uploadmeshcorefile.ashx';
6856 Q('d3auth').value = authCookie;
6857 Q('d3attrib').value = currentNode._id;
6862 - setDialogMode(3, "Upload Mesh Agent Core", 3, p15uploadCoreEx2);
6858 + setDialogMode(3, "Nahrát jádro agenta", 3, p15uploadCoreEx2);
6859 d3init();
6860 }
6861
@@ -6887,7 +6883,7 @@
6883
6884 function account_addOtp() {
6885 if (xxdialogMode || (userinfo.otpsecret == 1) || ((features & 4096) == 0)) return;
6890 - setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, ('<div id=d2optinfo>' + "Nahrávání..." + '</div>'), 'otpauth-request');
6886 + setDialogMode(2, "Aplikace pro autentizaci", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, ('<div id=d2optinfo>' + "Nahrávání..." + '</div>'), 'otpauth-request');
6887 meshserver.send({ action: 'otpauth-request' });
6888 }
6889
@@ -6899,7 +6895,7 @@
6895
6896 function account_removeOtp() {
6897 if (xxdialogMode || (userinfo.otpsecret != 1) || ((features & 4096) == 0)) return;
6902 - setDialogMode(2, "Authenticator App", 3, function () { meshserver.send({ action: 'otpauth-clear' }); }, "Confirm removal of authenticator application 2-step login?");
6898 + 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í?");
6899 }
6900
6901 function account_manageOtp(action) {
@@ -6918,11 +6914,11 @@
6914
6915 function account_addhkey(type) {
6916 if (type == 3) {
6921 - var x = "Type in the name of the key to add." + '<br /><br />';
6922 - x += addHtmlValue("Key Name", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,2) />');
6917 + var x = "Napište jméno klíče pro přidání." + '<br /><br />';
6918 + x += addHtmlValue("Jméno klíče", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,2) />');
6919 } else if (type == 2) {
6924 - var x = "Type in a key name, select the OTP box and press the button on the YubiKey&trade;." + '<br /><br />';
6925 - x += addHtmlValue("Key Name", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,1) />');
6920 + var x = "Zadejte název klíče, vyberte pole OTP a stiskněte tlačítko na YubiKey&trade;." + '<br /><br />';
6921 + x += addHtmlValue("Jméno klíče", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,1) />');
6922 x += addHtmlValue("YubiKey&trade; OTP", '<input id=dp1key style=width:230px autocomplete=off onkeyup=account_addhkeyValidate(event,2) />');
6923 }
6924 setDialogMode(2, "Přidat bezpečnostní klíč", 3, account_addhkeyEx, x, type);
@@ -6953,12 +6949,12 @@
6949 function account_showLocalizationSettings() {
6950 if (xxdialogMode) return false;
6951 var n = getstore('loctag', 0), y = '';
6956 - var x = '<select id=d2locselect style=width:240px><option value=\"*\">' + "User browser value" + '</option>';
6952 + var x = '<select id=d2locselect style=width:240px><option value=\"*\">' + "Hodnota uživatelského prohlížeče" + '</option>';
6953 for (var i in loclist) { x += '<option value="' + i + '"' + ((n == i)?' selected':'') + '>' + i + ' - ' + loclist[i] + '</option>'; }
6954 x += '</select>';
6955 if (serverinfo.languages && serverinfo.languages.length > 0) {
6960 - y += "Changing the language will require a refresh of the page." + '<br /><br />';
6961 - var z = '<select id=d2langselect style=width:240px><option value=\"*\">' + "User browser value" + '</option>';
6956 + y += "Změna jazyka vyžaduje obnovení stránky." + '<br /><br />';
6957 + var z = '<select id=d2langselect style=width:240px><option value=\"*\">' + "Hodnota uživatelského prohlížeče" + '</option>';
6958 for (var i in serverinfo.languages) {
6959 var lang = serverinfo.languages[i];
6960 z += '<option value="' + lang + '"' + ((userinfo.lang == lang)?' selected':'') + '>' + lang + ' - ' + loclist[lang] + '</option>';
@@ -6969,7 +6965,7 @@
6965 y += addHtmlValue("Datum & čas", x);
6966
6967 if ((userinfo.siteadmin == 0xFFFFFFFF) && (domain == '')) {
6972 - y += '<br /><a rel="noreferrer noopener" target="_blank" href="translator.htm">' + "Help translate MeshCentral" + '</a>';
6968 + y += '<br /><a rel="noreferrer noopener" target="_blank" href="translator.htm">' + "Pomoct přeložit MeshCentral" + '</a>';
6969 }
6970
6971 setDialogMode(2, "Nastavení lokalizace", 3, account_showLocalizationSettingsEx, y);
@@ -7000,10 +6996,10 @@
6996 function account_showAccountNotifySettings() {
6997 if (xxdialogMode) return false;
6998 var x = '';
7003 - x += '<div><label><input id=p2notifyPlayNotifySound type=checkbox />' + "Notification sound." + '</label></div>';
7004 - x += '<div><label><input id=p2notifyIntelDeviceConnect type=checkbox />' + "Device connections." + '</label></div>';
7005 - x += '<div><label><input id=p2notifyIntelDeviceDisconnect type=checkbox />' + "Device disconnections." + '</label></div>';
7006 - x += '<div><label><input id=p2notifyIntelAmtKvmActions type=checkbox />' + "Intel&reg; AMT desktop and serial events." + '</label></div>';
6999 + x += '<div><label><input id=p2notifyPlayNotifySound type=checkbox />' + "Zvuk notifikací" + '</label></div>';
7000 + x += '<div><label><input id=p2notifyIntelDeviceConnect type=checkbox />' + "Připojení zařízení" + '</label></div>';
7001 + x += '<div><label><input id=p2notifyIntelDeviceDisconnect type=checkbox />' + "Odpojení zařízení" + '</label></div>';
7002 + x += '<div><label><input id=p2notifyIntelAmtKvmActions type=checkbox />' + "Intel&reg; AMT desktop and serial události." + '</label></div>';
7003 setDialogMode(2, "Nastavení notifikací", 3, account_showAccountNotifySettingsEx, x);
7004 var n = getstore('notifications', 0);
7005 Q('p2notifyPlayNotifySound').checked = (n & 1);
@@ -7024,8 +7020,8 @@
7020
7021 function account_showVerifyEmail() {
7022 if (xxdialogMode || (userinfo.emailVerified == true) || (serverinfo.emailcheck != true)) return false;
7027 - var x = "Click ok to send a verification mail to:" + '<br /><div style=padding:8px><b>' + EscapeHtml(userinfo.email) + '</b></div>' + "Please wait a few minute to receive the verification.";
7028 - setDialogMode(2, "Email Verification", 3, account_showVerifyEmailEx, x);
7023 + var x = "Klikni na OK pro zaslání verifikačního emailu na:" + '<br /><div style=padding:8px><b>' + EscapeHtml(userinfo.email) + '</b></div>' + "Prosím počkejte pár minut než dojde k verifikaci.";
7024 + setDialogMode(2, "Ověření emailu", 3, account_showVerifyEmailEx, x);
7025 return false;
7026 }
7027
@@ -7035,7 +7031,7 @@
7031
7032 function account_showChangeEmail() {
7033 if (xxdialogMode) return false;
7038 - var x = "Change your account email address here." + '<br /><br />';
7034 + var x = "Změň si svůj email zde." + '<br /><br />';
7035 x += addHtmlValue('Email', '<input id=dp2email style=width:230px maxlength=256 onchange=account_validateEmail() onkeyup=account_validateEmail(event) />');
7036 setDialogMode(2, "Změna emailové adresy", 3, account_changeEmail, x);
7037 if (userinfo.email != null) { Q('dp2email').value = userinfo.email; }
@@ -7055,7 +7051,7 @@
7051
7052 function account_showDeleteAccount() {
7053 if (xxdialogMode) return false;
7058 - var x = "To delete this account, type in the account password in both boxes below and hit ok." + '<br /><br />';
7054 + var x = "Chcete-li tento účet smazat, zadejte do obou políček heslo k účtu a stiskněte OK." + '<br /><br />';
7055 x += '<form method=post><input type=hidden name=action value=deleteaccount /><input type=hidden name=authcookie value=" + authCookie + " /><table style=margin-left:80px><tr>';
7056 x += '<td align=right>' + "Heslo:" + '</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>';
7057 x += '</tr><tr><td align=right>' + "Heslo:" + '</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>';
@@ -7079,7 +7075,7 @@
7075 x += '<tr><td align=right>' + nobreak("Staré heslo:") + '</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>';
7076 x += '<tr><td align=right>' + nobreak("Nové heslo:") + '</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b><span id=dxPassWarn></span></b></td></tr>';
7077 x += '<tr><td align=right>' + nobreak("Nové heslo:") + '</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>';
7082 - if (features & 0x00010000) { x += '<tr><td align=right>' + "Password hint:" + '</td><td><input id=apasswordhint name=apasswordhint maxlength=250 type=text autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>'; }
7078 + if (features & 0x00010000) { x += '<tr><td align=right>' + "Nápověda k heslu:" + '</td><td><input id=apasswordhint name=apasswordhint maxlength=250 type=text autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>'; }
7079 x += '</table>'
7080 if (passRequirements) {
7081 var r = [], rc = 0;
@@ -7109,18 +7105,18 @@
7105 if (xxdialogMode) return false;
7106
7107 // Check if we are disallowed from creating a device group
7112 - if ((userinfo.siteadmin != 0xFFFFFFFF) && ((userinfo.siteadmin & 64) != 0)) { setDialogMode(2, "Nová skupina zařízení", 1, null, "This account does not have the rights to create a new device group."); return false; }
7108 + if ((userinfo.siteadmin != 0xFFFFFFFF) && ((userinfo.siteadmin & 64) != 0)) { setDialogMode(2, "Nová skupina zařízení", 1, null, "Tento účet nemá práva k vytvoření nové skupiny zařízení."); return false; }
7109
7110 // Remind the user to verify the email address
7115 - if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until a email address is verified. This is required for password recovery. Go to the \"My Account\" tab to change and verify an email address."); return false; }
7111 + if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { 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."); return false; }
7112
7113 // Remind the user to add two factor authentication
7118 - if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { setDialogMode(2, "Nastavení bezpečnosti", 1, null, "Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the \"My Account\" tab and look at the \"Account Security\" section."); return false; }
7114 + if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0))) { 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\"."); return false; }
7115
7116 // We are allowed, let's prompt to information
7117 var x = "Vytvořit novou skupinu zařízení podle nastavení níže." + '<br /><br />';
7118 x += addHtmlValue("Jméno", '<input id=dp2meshname style=width:230px maxlength=64 onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate(event,1) />');
7123 - x += addHtmlValue("Typ", '<div style=width:230px;margin:0;padding:0><select id=dp2meshtype style=width:100% onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate(event,2) ><option value=2>' + "Manage using a software agent" + '</option><option value=1>' + "Intel&reg; AMT only, no agent" + '</option></select></div>');
7119 + x += addHtmlValue("Typ", '<div style=width:230px;margin:0;padding:0><select id=dp2meshtype style=width:100% onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate(event,2) ><option value=2>' + "Spravovat pomocí softwarového agenta" + '</option><option value=1>' + "Intel&reg; AMT pouze, bez agenta" + '</option></select></div>');
7120 x += addHtmlValue("Popis", '<div style=width:230px;margin:0;padding:0><textarea id=dp2meshdesc maxlength=1024 style=width:100%;resize:none></textarea></div>');
7121 setDialogMode(2, "Nová skupina zařízení", 3, account_createMeshEx, x);
7122 account_validateMeshCreate();
@@ -7129,8 +7125,8 @@
7125 }
7126
7127 function account_validateMeshCreate(e, x) {
7132 - if ((x == 1) && (e != null) && (e.key == "Enter") && (Q('dp2meshname').value.length > 0)) { Q('dp2meshtype').focus(); }
7133 - if ((x == 2) && (e != null) && (e.key == "Enter")) { Q('dp2meshdesc').focus(); }
7128 + if ((x == 1) && (e != null) && (e.key == "Zadání") && (Q('dp2meshname').value.length > 0)) { Q('dp2meshtype').focus(); }
7129 + if ((x == 2) && (e != null) && (e.key == "Zadání")) { Q('dp2meshdesc').focus(); }
7130 QE('idx_dlgOkButton', Q('dp2meshname').value.length > 0);
7131 }
7132
@@ -7149,11 +7145,11 @@
7145 if (passRequirements == null || passRequirements == '') {
7146 // No password requirements, display password strength
7147 var passStrength = checkPasswordStrength(Q('apassword1').value);
7152 - if (passStrength >= 80) { r = '<span style=color:green>' + "Strong" + '<span>'; } else if (passStrength >= 60) { r = '<span style=color:blue>' + "Good" + '<span>'; } else { r = '<span style=color:red>' + "Slabé" + '<span>'; }
7148 + if (passStrength >= 80) { r = '<span style=color:green>' + "Silné" + '<span>'; } else if (passStrength >= 60) { r = '<span style=color:blue>' + "Dobré" + '<span>'; } else { r = '<span style=color:red>' + "Slabé" + '<span>'; }
7149 } else {
7150 // Password requirements provided, use that
7151 var passReq = checkPasswordRequirements(Q('apassword1').value, passRequirements);
7156 - if (passReq == false) { ok = false; r = '<span style=color:red>' + "Policy" + '<span>' }
7152 + if (passReq == false) { ok = false; r = '<span style=color:red>' + "Politika" + '<span>' }
7153 }
7154 }
7155 QH('dxPassWarn', r);
@@ -7201,8 +7197,8 @@
7197 // Mesh rights
7198 var meshrights = 0;
7199 if (meshes[i].links[userinfo._id]) { meshrights = meshes[i].links[userinfo._id].rights; }
7204 - var rights = "Partial Rights";
7205 - if (meshrights == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (meshrights == 0) rights = "No Rights";
7200 + var rights = "Částečné práva";
7201 + if (meshrights == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (meshrights == 0) rights = "Žádná práva";
7202
7203 // Print the mesh information
7204 r += '<div onmouseover=devMouseHover(this,1) onmouseout=devMouseHover(this,0) style=display:inline-block;width:431px;height:50px;padding-top:1px;padding-bottom:1px;float:left><div style=float:left;width:30px;height:100%></div><div tabindex=0 style=height:100%;cursor:pointer onclick=gotoMesh(\'' + i + '\') onkeypress="if (event.key==\'Enter\') gotoMesh(\'' + i + '\')"><div class=mi style=float:left;width:50px;height:50px></div><div style=height:100%><div class=g1></div><div class=e2 style=width:300px><div class=e1>' + EscapeHtml(meshes[i].name) + '</div><div>' + rights + '</div></div><div class=g2 style=float:left></div></div></div></div>';
@@ -7222,14 +7218,14 @@
7218
7219 function server_showRestoreDlg() {
7220 if (xxdialogMode) return false;
7225 - var x = "Restore the server using a backup, <span style=color:red>this will delete the existing server data</span>. Only do this if you know what you are doing." + '<br /><br />';
7221 + var x = "Obnova serveru ze zálohy, <span style=color:red>smaže všechny uživatele a data na tomto serveru.</span>. Udělejte to, pouze pokud víte, co děláte." + '<br /><br />';
7222 x += '<form action="/restoreserver.ashx" enctype="multipart/form-data" method="post"><div>';
7223 x += '<input type=hidden name=auth value=' + authCookie + '>';
7224 x += '<input id=account_dlgFileInput type=file name=datafile style=width:100% accept=".zip,application/octet-stream,application/zip,application/x-zip,application/x-zip-compressed" onchange=account_validateServerRestore()>';
7225 x += '<input id=account_dlgCancelButton type=button value=' + "Zrušit" + ' style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)>';
7226 x += '<input id=account_dlgOkButton type=submit value=' + "OK" + ' style=float:right;width:80px onclick=dialogclose(1)>';
7227 x += '</div><br /><br /></form>';
7232 - setDialogMode(2, "Restore Server", 0, null, x);
7228 + setDialogMode(2, "Obnova serveru", 0, null, x);
7229 account_validateServerRestore();
7230 return false;
7231 }
@@ -7240,7 +7236,7 @@
7236
7237 function server_showVersionDlg() {
7238 if (xxdialogMode) return false;
7243 - setDialogMode(2, "MeshCentral Version", 1, null, "Nahrávání...", 'MeshCentralServerUpdate');
7239 + setDialogMode(2, "MeshCentral verze", 1, null, "Nahrávání...", 'MeshCentralServerUpdate');
7240 meshserver.send({ action: 'serverversion' });
7241 return false;
7242 }
@@ -7250,7 +7246,7 @@
7246
7247 function server_showErrorsDlg() {
7248 if (xxdialogMode) return false;
7253 - setDialogMode(2, "MeshCentral Errors", 1, null, "Nahrávání...", 'MeshCentralServerErrors');
7249 + setDialogMode(2, "MeshCentral chyby", 1, null, "Nahrávání...", 'MeshCentralServerErrors');
7250 meshserver.send({ action: 'servererrors' });
7251 return false;
7252 }
@@ -7266,11 +7262,11 @@
7262 function p20updateMesh() {
7263 if (currentMesh == null) return;
7264 QH('p20meshName', EscapeHtml(currentMesh.name));
7269 - var meshtype = format("Unknown #{0}", currentMesh.mtype);
7265 + var meshtype = format("Neznámý #{0}", currentMesh.mtype);
7266 var meshrights = 0;
7267 try { meshrights = currentMesh.links[userinfo._id].rights; } catch (ex) { }
7272 - if (currentMesh.mtype == 1) meshtype = "Intel&reg; AMT only, no agent";
7273 - if (currentMesh.mtype == 2) meshtype = "Managed using a software agent";
7268 + if (currentMesh.mtype == 1) meshtype = "Intel&reg; AMT pouze, bez agenta";
7269 + if (currentMesh.mtype == 2) meshtype = "Spravovat pomocí softwarového aenta";
7270
7271 var x = '';
7272 x += addHtmlValue("Jméno", addLinkConditional(EscapeHtml(currentMesh.name), 'p20editmesh(1)', (meshrights & 1) != 0));
@@ -7284,7 +7280,7 @@
7280 if (currentMesh.mtype == 2) {
7281 var meshFeatures = [];
7282 if (currentMesh.flags) {
7287 - if (currentMesh.flags & 1) { meshFeatures.push("Auto-Remove"); }
7283 + if (currentMesh.flags & 1) { meshFeatures.push("Automatické odstranění"); }
7284 if (currentMesh.flags & 2) { meshFeatures.push("Hostname Sync"); }
7285 }
7286 meshFeatures = meshFeatures.join(', ');
@@ -7298,42 +7294,42 @@
7294 var consent = 0;
7295 if (currentMesh.consent) { consent = currentMesh.consent; }
7296 if (serverinfo.consent) { consent |= serverinfo.consent; }
7301 - if ((consent & 0x0040) && (consent & 0x0008)) { meshFeatures.push("Desktop Prompt+Toolbar"); } else if (consent & 0x0040) { meshFeatures.push("Desktop Toolbar"); } else if (consent & 0x0008) { meshFeatures.push("Desktop Prompt"); } else { if (consent & 0x0001) { meshFeatures.push("Desktop Notify"); } }
7302 - if (consent & 0x0010) { meshFeatures.push("Terminal Prompt"); } else { if (consent & 0x0002) { meshFeatures.push("Terminal Notify"); } }
7303 - if (consent & 0x0020) { meshFeatures.push("Files Prompt"); } else { if (consent & 0x0004) { meshFeatures.push("Files Notify"); } }
7304 - if (consent == 7) { meshFeatures = ["Always Notify"]; }
7305 - if ((consent & 56) == 56) { meshFeatures = ["Always Prompt"]; }
7297 + if ((consent & 0x0040) && (consent & 0x0008)) { meshFeatures.push("Výzva na ploše+panel nástrojů"); } else if (consent & 0x0040) { meshFeatures.push("Panel nástrojů na ploše"); } else if (consent & 0x0008) { meshFeatures.push("Výzva na ploše"); } else { if (consent & 0x0001) { meshFeatures.push("Informovat na ploše"); } }
7298 + if (consent & 0x0010) { meshFeatures.push("Výzva terminálu"); } else { if (consent & 0x0002) { meshFeatures.push("Oznámení terminálu"); } }
7299 + if (consent & 0x0020) { meshFeatures.push("Dotaz na soubory"); } else { if (consent & 0x0004) { meshFeatures.push("Upozornit na soubory"); } }
7300 + if (consent == 7) { meshFeatures = ["Vždy upozorňovat"]; }
7301 + if ((consent & 56) == 56) { meshFeatures = ["Vždy se dotázat"]; }
7302
7303 meshFeatures = meshFeatures.join(', ');
7304 if (meshFeatures == '') { meshFeatures = '<i>' + "Nic" + '</i>'; }
7309 - x += addHtmlValue("User Consent", addLinkConditional(meshFeatures, 'p20editmeshconsent()', meshrights & 1));
7305 + x += addHtmlValue("Souhlas uživatele", addLinkConditional(meshFeatures, 'p20editmeshconsent()', meshrights & 1));
7306 }
7307
7308 // Display user consent
7309 var meshNotify = 0, meshNotifyStr = [];
7310 if (userinfo.links && userinfo.links[currentMesh._id] && userinfo.links[currentMesh._id].notify) { meshNotify = userinfo.links[currentMesh._id].notify; }
7311 if (meshNotify & 2) { meshNotifyStr.push("Připojit"); }
7316 - if (meshNotify & 4) { meshNotifyStr.push("Disconnect"); }
7312 + if (meshNotify & 4) { meshNotifyStr.push("Odpojit"); }
7313 if (meshNotify & 8) { meshNotifyStr.push("Intel&reg; AMT"); }
7314 if (meshNotifyStr.length == 0) { meshNotifyStr.push('<i>' + "Nic" + '</i>'); }
7315 x += addHtmlValue("Notifikace", addLink(meshNotifyStr.join(', '), 'p20editMeshNotify()'));
7316
7317 // Intel AMT setup
7322 - var intelAmtPolicy = "No Policy";
7318 + var intelAmtPolicy = "Žádná politika";
7319 if (currentMesh.amt) {
7320 if (currentMesh.amt.type == 1) { intelAmtPolicy = 'Deactivate Client Control Mode (CCM)'; }
7321 else if (currentMesh.amt.type == 2) {
7326 - intelAmtPolicy = "Simple Client Control Mode (CCM)";
7327 - if (currentMesh.amt.cirasetup == 2) { intelAmtPolicy += " + CIRA"; }
7322 + intelAmtPolicy = "Jednoduchý Client Control Mode (CCM)";
7323 + if (currentMesh.amt.cirasetup == 2) { intelAmtPolicy += "+ CIRA"; }
7324 } else if (currentMesh.amt.type == 3) {
7329 - intelAmtPolicy = "Simple Admin Control Mode (ACM)";
7330 - if (currentMesh.amt.cirasetup == 2) { intelAmtPolicy += " + CIRA"; }
7325 + intelAmtPolicy = "Jednoduchý Admin Control Mode (ACM)";
7326 + if (currentMesh.amt.cirasetup == 2) { intelAmtPolicy += "+ CIRA"; }
7327 }
7328 }
7329 x += addHtmlValue("Intel&reg; AMT", addLinkConditional(intelAmtPolicy, 'p20editMeshAmt()', meshrights & 1));
7330
7331 // Display group note support
7336 - if (meshrights & 1) { x += '<br><input type=button value=' + "Poznámky" + ' title=\"' + "View notes about this device group" + '\" onclick=showNotes(false,"' + encodeURIComponent(currentMesh._id) + '") />'; }
7332 + if (meshrights & 1) { x += '<br><input type=button value=' + "Poznámky" + ' title=\"' + "Zobrazit poznámky k této skupině zařízení" + '\" onclick=showNotes(false,"' + encodeURIComponent(currentMesh._id) + '") />'; }
7333
7334 x += '<br style=clear:both><br>';
7335 var currentMeshLinks = currentMesh.links[userinfo._id];
@@ -7341,12 +7337,12 @@
7337
7338 if ((meshrights & 4) != 0) {
7339 if (currentMesh.mtype == 1) {
7344 - x += '<a href=# onclick=\'return addCiraDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v síti Internet." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Install CIRA" + '</a>';
7345 - x += '<a href=# onclick=\'return addDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v lokální síti." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Install local" + '</a>';
7340 + x += '<a href=# onclick=\'return addCiraDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v síti Internet." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Instalace CIRA" + '</a>';
7341 + x += '<a href=# onclick=\'return addDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Přidat nový Intel&reg; AMT počítač, který je umístěn v lokální síti." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Lokální instalace" + '</a>';
7342 if (currentMesh.amt && (currentMesh.amt.type == 2)) { // CCM activation
7347 - x += '<a href=# onclick=\'return showCcmActivation(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Perform Intel AMT client control mode (CCM) activation." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Aktivace" + '</a>';
7343 + x += '<a href=# onclick=\'return showCcmActivation(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Provedení Intel AMT client control mode (CCM) aktivace." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Aktivace" + '</a>';
7344 } else if (currentMesh.amt && (currentMesh.amt.type == 3) && ((features & 0x00100000) != 0)) { // ACM activation
7349 - x += '<a href=# onclick=\'return showAcmActivation(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Perform Intel AMT admin control mode (ACM) activation." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Aktivace" + '</a>';
7345 + x += '<a href=# onclick=\'return showAcmActivation(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Provedení Intel AMT admin control mode (ACM) aktivace." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Aktivace" + '</a>';
7346 }
7347 }
7348 if (currentMesh.mtype == 2) {
@@ -7355,7 +7351,7 @@
7351 }
7352 }
7353
7358 - x += '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "User Authorizations" + '</th><th scope=col style=text-align:left></th></tr>';
7354 + x += '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "Uživatelská oprávnění" + '</th><th scope=col style=text-align:left></th></tr>';
7355
7356 // Sort the users for this mesh
7357 var count = 1, sortedusers = [];
@@ -7369,10 +7365,10 @@
7365
7366 // Display all users for this mesh
7367 for (var i in sortedusers) {
7372 - var trash = '', rights = "Partial Rights", r = sortedusers[i].rights;
7373 - if (r == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (r == 0) rights = "No Rights";
7374 - if ((sortedusers[i].id != userinfo._id) && (meshrights == 0xFFFFFFFF || (((meshrights & 2) != 0)))) { trash = '<a href=# onclick=\'return p20deleteUser(event,"' + encodeURIComponent(sortedusers[i].id) + '")\' title=\"' + "Remove user rights to this device group" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
7375 - x += '<tr tabindex=0 onclick=p20viewuser("' + encodeURIComponent(sortedusers[i].id) + '") onkeypress="if (event.key==\'Enter\') p20viewuser(\'' + encodeURIComponent(sortedusers[i].id) + '\')" style=cursor:pointer' + (((count % 2) == 0) ? ';background-color:#DDD' : '') + '><td><div title=\"' + "User" + '\" class=m2></div><div>&nbsp;' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
7368 + var trash = '', rights = "Částečné práva", r = sortedusers[i].rights;
7369 + if (r == 0xFFFFFFFF) rights = "Hlavní administrátor"; else if (r == 0) rights = "Žádná práva";
7370 + if ((sortedusers[i].id != userinfo._id) && (meshrights == 0xFFFFFFFF || (((meshrights & 2) != 0)))) { trash = '<a href=# onclick=\'return p20deleteUser(event,"' + encodeURIComponent(sortedusers[i].id) + '")\' title=\"' + "Odstranit uživatelská práva pro tuto skupinu zařízení" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
7371 + x += '<tr tabindex=0 onclick=p20viewuser("' + encodeURIComponent(sortedusers[i].id) + '") onkeypress="if (event.key==\'Enter\') p20viewuser(\'' + encodeURIComponent(sortedusers[i].id) + '\')" style=cursor:pointer' + (((count % 2) == 0) ? ';background-color:#DDD' : '') + '><td><div title=\"' + "Uživatel" + '\" class=m2></div><div>&nbsp;' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
7372 ++count;
7373 }
7374
@@ -7387,14 +7383,14 @@
7383 function p20editMeshAmt() {
7384 if (xxdialogMode) return;
7385 var x = '', acmoption = '';
7390 - if ((features & 0x100000) != 0) { acmoption = '<option value=3>' + "Simple Admin Control Mode (ACM)" + '</option>'; }
7386 + if ((features & 0x100000) != 0) { acmoption = '<option value=3>' + "Jednoduchý Admin Control Mode (ACM)" + '</option>'; }
7387 if (currentMesh.mtype == 1) {
7392 - x += addHtmlValue("Typ", '<select id=dp20amtpolicy style=width:230px onchange=p20editMeshAmtChange()><option value=0>' + "No Policy" + '</option><option value=2>' + "Simple Client Control Mode (CCM)" + '</option>' + acmoption + '</select>');
7388 + x += addHtmlValue("Typ", '<select id=dp20amtpolicy style=width:230px onchange=p20editMeshAmtChange()><option value=0>' + "Žádná politika" + '</option><option value=2>' + "Jednoduchý Client Control Mode (CCM)" + '</option>' + acmoption + '</select>');
7389 } else {
7394 - x += addHtmlValue("Typ", '<select id=dp20amtpolicy style=width:230px onchange=p20editMeshAmtChange()><option value=0>' + "No Policy" + '</option><option value=1>' + "Deactivate Client Control Mode (CCM)" + '</option><option value=2>' + "Simple Client Control Mode (CCM)" + '</option>' + acmoption + '</select>');
7390 + x += addHtmlValue("Typ", '<select id=dp20amtpolicy style=width:230px onchange=p20editMeshAmtChange()><option value=0>' + "Žádná politika" + '</option><option value=1>' + "Deaktivace Client Control Mode (CCM)" + '</option><option value=2>' + "Jednoduchý Client Control Mode (CCM)" + '</option>' + acmoption + '</select>');
7391 }
7392 x += '<div id=dp20amtpolicydiv></div>';
7397 - setDialogMode(2, "Intel&reg; AMT Policy", 3, p20editMeshAmtEx, x);
7393 + setDialogMode(2, "Intel&reg; AMT politika", 3, p20editMeshAmtEx, x);
7394 if (currentMesh.amt) { Q('dp20amtpolicy').value = currentMesh.amt.type; }
7395 p20editMeshAmtChange();
7396
@@ -7413,21 +7409,21 @@
7409 if (ptype >= 2) {
7410 x = addHtmlValue("Heslo*", '<input id=dp20amtpolicypass type=password style=width:230px maxlength=32 onchange=dp20amtValidatePolicy() onkeyup=dp20amtValidatePolicy() autocomplete=off />')
7411 x += addHtmlValue("Heslo*", '<input id=dp20amtpolicypass2 type=password style=width:230px maxlength=32 onchange=dp20amtValidatePolicy() onkeyup=dp20amtValidatePolicy() autocomplete=off />')
7416 - if ((ptype == 2) && (currentMesh.mtype == 2)) { x += addHtmlValue("Password mismatch", '<select id=dp20amtbadpass style=width:230px><option value=0>' + "Nic" + '</option><option value=1>' + "Reactivate Intel&reg; AMT" + '</option></select>'); }
7412 + if ((ptype == 2) && (currentMesh.mtype == 2)) { x += addHtmlValue("Hesla nejsou stejná", '<select id=dp20amtbadpass style=width:230px><option value=0>' + "Nic" + '</option><option value=1>' + "ReaktivaceIntel&reg; AMT" + '</option></select>'); }
7413 if ((features & 0x400) == 0) {
7414 if (ptype == 2) {
7419 - x += addHtmlValue('<span title="' + "Client Initiated Remote Access" + '">' + "CIRA" + '</span>', '<select id=dp20amtcira style=width:230px><option value=0>' + "Don\'t configure" + '</option><option value=1>' + "Don\'t connect to server" + '</option><option value=2>' + "Připojit se na server" + '</option></select>');
7415 + x += addHtmlValue('<span title="' + "Vzdálený přístup iniciováný klientem" + '">' + "CIRA" + '</span>', '<select id=dp20amtcira style=width:230px><option value=0>' + "Nekonfigurovat" + '</option><option value=1>' + "Nepřipojovat se k serveru" + '</option><option value=2>' + "Připojit se na server" + '</option></select>');
7416 } else {
7421 - x += addHtmlValue('<span title="' + "Client Initiated Remote Access" + '">' + "CIRA" + '</span>', '<select id=dp20amtcira style=width:230px><option value=0>' + "Don\'t configure" + '</option><option value=2>' + "Připojit se na server" + '</option></select>');
7417 + x += addHtmlValue('<span title="' + "Vzdálený přístup iniciováný klientem" + '">' + "CIRA" + '</span>', '<select id=dp20amtcira style=width:230px><option value=0>' + "Nekonfigurovat" + '</option><option value=2>' + "Připojit se na server" + '</option></select>');
7418 }
7419 }
7420 x += '<br/><span style="font-size:10px">' + "* Ponechat prázdné pro vygenerování náhodného hesla každému zařízení." + '</span><br/>';
7421 if (currentMesh.mtype == 2) {
7422 if (ptype == 2) {
7427 - x += '<span style="font-size:10px">' + "This policy will not impact devices with Intel&reg; AMT in ACM mode." + '</span><br/>';
7428 - x += '<span style="font-size:10px">' + "This is not a secure policy as agents will be performing activation." + '</span>';
7423 + x += '<span style="font-size:10px">' + "Tato zásada nebude mít vliv na zařízení s Intel&reg; AMT in ACM módem." + '</span><br/>';
7424 + x += '<span style="font-size:10px">' + "Toto není bezpečná politika, protože agenti budou provádět aktivaci." + '</span>';
7425 } else {
7430 - x += '<span style="font-size:10px">' + "During activation, the agent will have access to admin password infomation." + '</span>';
7426 + x += '<span style="font-size:10px">' + "Během aktivace bude mít agent administrátorská práva." + '</span>';
7427 }
7428 }
7429 }
@@ -7459,8 +7455,8 @@
7455
7456 function p20showDeleteMeshDialog() {
7457 if (xxdialogMode) return false;
7462 - var x = format("Are you sure you want to delete group {0}? Deleting the device group will also delete all information about devices within this group.", EscapeHtml(currentMesh.name)) + '<br /><br />';
7463 - x += '<label><input id=p20check type=checkbox onchange=p20validateDeleteMeshDialog() />' + "Confirm" + '</label>';
7458 + var x = 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)) + '<br /><br />';
7459 + x += '<label><input id=p20check type=checkbox onchange=p20validateDeleteMeshDialog() />' + "Potvrdit" + '</label>';
7460 setDialogMode(2, "Smazat skupinu", 3, p20showDeleteMeshDialogEx, x);
7461 p20validateDeleteMeshDialog();
7462 return false;
@@ -7478,7 +7474,7 @@
7474 if (xxdialogMode) return;
7475 var x = addHtmlValue("Jméno", '<input id=dp20meshname style=width:230px maxlength=32 onchange=p20editmeshValidate() onkeyup=p20editmeshValidate(event) />');
7476 x += addHtmlValue("Popis", '<div style=width:230px;margin:0;padding:0><textarea id=dp20meshdesc maxlength=1024 style=width:100%;resize:none></textarea></div>');
7481 - setDialogMode(2, "Editovat skupinu zařízení", 3, p20editmeshEx, x);
7477 + setDialogMode(2, "Upravit skupinu zařízení", 3, p20editmeshEx, x);
7478 Q('dp20meshname').value = currentMesh.name;
7479 if (currentMesh.desc) Q('dp20meshdesc').value = currentMesh.desc;
7480 p20editmeshValidate();
@@ -7498,16 +7494,16 @@
7494 if (xxdialogMode) return;
7495 var x = '', consent = (currentMesh.consent) ? currentMesh.consent : 0;
7496 x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px"><b>' + "Plocha" + '</b></div>';
7501 - x += '<div><label><input type=checkbox id=d20flag1 ' + ((consent & 0x0001) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
7502 - x += '<div><label><input type=checkbox id=d20flag2 ' + ((consent & 0x0008) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
7503 - x += '<div><label><input type=checkbox id=d20flag7 ' + ((consent & 0x0040) ? 'checked' : '') + '>' + "Show connection toolbar" + '</label></div>';
7497 + x += '<div><label><input type=checkbox id=d20flag1 ' + ((consent & 0x0001) ? 'checked' : '') + '>' + "Informovat uživatele" + '</label></div>';
7498 + x += '<div><label><input type=checkbox id=d20flag2 ' + ((consent & 0x0008) ? 'checked' : '') + '>' + "Výzva k souhlasu uživatele" + '</label></div>';
7499 + x += '<div><label><input type=checkbox id=d20flag7 ' + ((consent & 0x0040) ? 'checked' : '') + '>' + "Zobrazit panel nástrojů připojení" + '</label></div>';
7500 x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Terminál" + '</b></div>';
7505 - x += '<div><label><input type=checkbox id=d20flag3 ' + ((consent & 0x0002) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
7506 - x += '<div><label><input type=checkbox id=d20flag4 ' + ((consent & 0x0010) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
7501 + x += '<div><label><input type=checkbox id=d20flag3 ' + ((consent & 0x0002) ? 'checked' : '') + '>' + "Informovat uživatele" + '</label></div>';
7502 + x += '<div><label><input type=checkbox id=d20flag4 ' + ((consent & 0x0010) ? 'checked' : '') + '>' + "Výzva k souhlasu uživatele" + '</label></div>';
7503 x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Soubory" + '</b></div>';
7508 - x += '<div><label><input type=checkbox id=d20flag5 ' + ((consent & 0x0004) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
7509 - x += '<div><label><input type=checkbox id=d20flag6 ' + ((consent & 0x0020) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
7510 - setDialogMode(2, "Edit Device Group User Consent", 3, p20editmeshconsentEx, x);
7504 + x += '<div><label><input type=checkbox id=d20flag5 ' + ((consent & 0x0004) ? 'checked' : '') + '>' + "Informovat uživatele" + '</label></div>';
7505 + x += '<div><label><input type=checkbox id=d20flag6 ' + ((consent & 0x0020) ? 'checked' : '') + '>' + "Výzva k souhlasu uživatele" + '</label></div>';
7506 + setDialogMode(2, "Upravit souhlas uživatele skupiny zařízení", 3, p20editmeshconsentEx, x);
7507 if (serverinfo.consent) {
7508 if (serverinfo.consent & 0x0001) { Q('d20flag1').checked = true; }
7509 if (serverinfo.consent & 0x0008) { Q('d20flag2').checked = true; }
@@ -7543,7 +7539,7 @@
7539 var flags = (currentMesh.flags)?currentMesh.flags:0;
7540 var x = '<div><label><input type=checkbox id=d20flag1 ' + ((flags & 1) ? 'checked' : '') + '>Remove device on disconnect</label><br></div>';
7541 x += '<div><label><input type=checkbox id=d20flag2 ' + ((flags & 2) ? 'checked' : '') + '>Sync server device name to hostname</label><br></div>';
7546 - setDialogMode(2, "Edit Device Group Features", 3, p20editmeshfeaturesEx, x);
7542 + setDialogMode(2, "Upravit vlastnosti skupiny zařízení", 3, p20editmeshfeaturesEx, x);
7543 }
7544
7545 function p20editmeshfeaturesEx() {
@@ -7557,10 +7553,10 @@
7553 if (xxdialogMode) return false;
7554 var x = '';
7555 if (userid == null) {
7560 - x += "Allow users to manage this device group and devices in this group.";
7556 + x += "Umožnit uživatelům spravovat tuto skupinu a zařízení v této skupině.";
7557 if (features & 0x00080000) { x += " Uživatelé se musí před přidáním do skupiny zařízení jednou přihlásit k tomuto serveru." }
7558 x += '<br /><br /><div style=\'position:relative\'>';
7563 - x += addHtmlValue("User Names", '<input id=dp20username style=width:230px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() placeholder="user1, user2, user3" />');
7559 + x += addHtmlValue("Uživatelé", '<input id=dp20username style=width:230px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() placeholder="user1, user2, user3" />');
7560 x += '<div id=dp20usersuggest class=suggestionBox style=\'top:30px;left:130px;display:none\'></div>';
7561 x += '</div><br>';
7562 } else {
@@ -7568,32 +7564,32 @@
7564 var uname = userid.split('/')[2];
7565 if (users && users[userid]) { uname = users[userid].name; }
7566 if (userinfo._id == userid) { uname = userinfo.name; }
7571 - x += format("Group permissions for user {0}.", uname) + '<br /><br />';
7567 + x += format("Oprávnění skupiny pro uživatele {0}.", uname) + '<br /><br />';
7568 }
7569 x += '<div style="height:120px;overflow-y:scroll;border:1px solid gray">';
7570 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>' + "Hlavní administrátor" + '</label><br>';
7575 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Editovat skupinu zařízení" + '</label><br>';
7571 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Upravit skupinu zařízení" + '</label><br>';
7572 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>' + "Spravovat uživatele pro skupinu zařízení" + '</label><br>';
7573 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>' + "Správa skupin zařízení" + '</label><br>';
7578 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Remote Control" + '</label><br>';
7579 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>' + "Remote View Only" + '</label><br>';
7580 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>' + "Limited Input Only" + '</label><br>';
7581 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>' + "No Terminal Access" + '</label><br>';
7582 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20nofiles style=margin-left:12px>' + "No File Access" + '</label><br>';
7583 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>' + "No Intel&reg; AMT" + '</label><br>';
7574 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Vzdálené ovládání" + '</label><br>';
7575 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>' + "Pouze vzdálené prohlížení" + '</label><br>';
7576 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>' + "Pouze omezené vstupy" + '</label><br>';
7577 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>' + "Žádný přístup k terminálu" + '</label><br>';
7578 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20nofiles style=margin-left:12px>' + "Žádný přístup k souborům" + '</label><br>';
7579 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>' + "Žádné Intel&reg; AMT" + '</label><br>';
7580 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshagentconsole>' + "Konzole agenta" + '</label><br>';
7585 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshserverfiles>' + "Server Files" + '</label><br>';
7586 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20wakedevices>' + "Wake Devices" + '</label><br>';
7581 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshserverfiles>' + "Soubory serveru" + '</label><br>';
7582 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20wakedevices>' + "Probudit zařízení" + '</label><br>';
7583 x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editnotes>' + "Upravit popis zařízení" + '</label><br>';
7588 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20limitevents>' + "Show Only Own Events" + '</label><br>';
7589 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20chatnotify>' + "Chat & Notify" + '</label><br>';
7590 - x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20uninstall>' + "Uninstall Agent" + '</label><br>';
7584 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20limitevents>' + "Zobrazit pouze vlastní události" + '</label><br>';
7585 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20chatnotify>' + "Chat & Upozornění" + '</label><br>';
7586 + x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20uninstall>' + "Odinstalovat agenta" + '</label><br>';
7587 x += '</div>';
7588 if (userid == null) {
7589 setDialogMode(2, "Přidat uživatele do skupiny zařizení", 3, p20showAddMeshUserDialogEx, x);
7590 Q('dp20username').focus();
7591 } else {
7596 - setDialogMode(2, "Edit User Device Group Permissions", 7, p20showAddMeshUserDialogEx, x, userid);
7592 + setDialogMode(2, "Upravit uživatelská práva pro skupinu zařízení ", 7, p20showAddMeshUserDialogEx, x, userid);
7593 var cmeshrights = currentMesh.links[userinfo._id].rights, meshrights = currentMesh.links[userid].rights;
7594 if (meshrights == 0xFFFFFFFF) {
7595 Q('p20fulladmin').checked = true;
@@ -7726,29 +7722,29 @@
7722 } else {
7723 var r = [];
7724 if (meshrights == 0xFFFFFFFF) r.push("Hlavní administrator (všechna práva)"); else {
7729 - if ((meshrights & 1) != 0) r.push("Editovat skupinu zařízení");
7725 + if ((meshrights & 1) != 0) r.push("Upravit skupinu zařízení");
7726 if ((meshrights & 2) != 0) r.push("Spravovat uživatele pro skupinu zařízení");
7727 if ((meshrights & 4) != 0) r.push("Správa skupin zařízení");
7732 - if ((meshrights & 8) != 0) r.push("Remote Control");
7728 + if ((meshrights & 8) != 0) r.push("Vzdálené ovládání");
7729 if ((meshrights & 16) != 0) r.push("Konzole agenta");
7734 - if ((meshrights & 32) != 0) r.push("Server Files");
7735 - if ((meshrights & 64) != 0) r.push("Wake Devices");
7736 - if ((meshrights & 128) != 0) r.push("Edit Notes");
7737 - if (((meshrights & 8) != 0) && (meshrights & 256) != 0) r.push("Remote View Only");
7730 + if ((meshrights & 32) != 0) r.push("Soubory serveru");
7731 + if ((meshrights & 64) != 0) r.push("Probudit zařízení");
7732 + if ((meshrights & 128) != 0) r.push("Upravit poznámky");
7733 + if (((meshrights & 8) != 0) && (meshrights & 256) != 0) r.push("Pouze vzdálené prohlížení");
7734 if (((meshrights & 8) != 0) && (meshrights & 512) != 0) r.push("Žádný terminál");
7739 - if (((meshrights & 8) != 0) && (meshrights & 1024) != 0) r.push("No Files");
7740 - if (((meshrights & 8) != 0) && (meshrights & 2048) != 0) r.push("No Intel&reg; AMT");
7741 - if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Limited Input");
7742 - if ((meshrights & 8192) != 0) r.push("Self Events Only");
7743 - if ((meshrights & 16384) != 0) r.push("Chat & Notify");
7744 - if ((meshrights & 32768) != 0) r.push("Uninstall");
7745 - }
7746 - if (r.length == 0) { r.push("No Rights"); }
7735 + if (((meshrights & 8) != 0) && (meshrights & 1024) != 0) r.push("Žádné soubory");
7736 + if (((meshrights & 8) != 0) && (meshrights & 2048) != 0) r.push("Žádné Intel&reg; AMT");
7737 + if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Omezené vstupy");
7738 + if ((meshrights & 8192) != 0) r.push("Pouze vlastní události");
7739 + if ((meshrights & 16384) != 0) r.push("Chat & Upozornění");
7740 + if ((meshrights & 32768) != 0) r.push("Odinstalace");
7741 + }
7742 + if (r.length == 0) { r.push("Žádná práva"); }
7743 var uname = xuserid.split('/')[2];
7744 if (users && users[xuserid]) { uname = users[xuserid].name; }
7745 if (userinfo._id == xuserid) { uname = userinfo.name; }
7746 var buttons = 1, x = addHtmlValue("Uživatel", EscapeHtml(decodeURIComponent(uname)));
7751 - if (xuserid.split('/')[2] != uname) { x += addHtmlValue("User Identifier", EscapeHtml(xuserid.split('/')[2])); }
7747 + if (xuserid.split('/')[2] != uname) { x += addHtmlValue("Identifikátor uživatele", EscapeHtml(xuserid.split('/')[2])); }
7748
7749 x += addHtmlValue("Práva", r.join(", "));
7750 if (((userinfo._id) != xuserid) && (cmeshrights == 0xFFFFFFFF || (((cmeshrights & 2) != 0) && (meshrights != 0xFFFFFFFF)))) buttons += 4;
@@ -7761,7 +7757,7 @@
7757 var uname = userid.split('/')[2];
7758 if (users && users[userid]) { uname = users[userid].name; }
7759 if (userinfo._id == userid) { uname = userinfo.name; }
7764 - setDialogMode(2, "Remote Mesh User", 3, p20viewuserEx2, format("Confirm removal of user {0}?", EscapeHtml(decodeURIComponent(uname))), userid);
7760 + setDialogMode(2, "Vzdálený uživatel", 3, p20viewuserEx2, format("Potvrdit odstranění uživatele {0}?", EscapeHtml(decodeURIComponent(uname))), userid);
7761 }
7762 function p20deleteUser(e, userid) { haltEvent(e); p20viewuserEx(2, decodeURIComponent(userid)); return false; }
7763 function p20viewuserEx2(button, userid) { meshserver.send({ action: 'removemeshuser', meshid: currentMesh._id, meshname: currentMesh.name, userid: userid }); }
@@ -7853,7 +7849,7 @@
7849 h = '<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value="' + name + '">&nbsp;<span style=float:right title=\"' + title + '\">' + right + '</span><span><div class=fileIcon' + f.t + ' onclick=p5folderset(\"' + encodeURIComponent(f.nx) + '\")></div><a href=# style=cursor:pointer onclick=\'return p5folderset(\"' + encodeURIComponent(f.nx) + '\")\'>' + shortname + '</a></span></div>';
7850 } else {
7851 var link = shortname, publiclink = '';
7856 - if (publicfolder) { publiclink = ' (<a style=cursor:pointer title="Display public link" onclick=\'return p5showPublicLink("' + publicPath + '/' + f.nx + '")\'>' + "Link" + '</a>)'; }
7852 + if (publicfolder) { publiclink = ' (<a style=cursor:pointer title="Display public link" onclick=\'return p5showPublicLink("' + publicPath + '/' + f.nx + '")\'>' + "Odkaz" + '</a>)'; }
7853 if (f.s > 0) { link = '<a rel="noreferrer noopener" target="_blank" download href="downloadfile.ashx?link=' + encodeURIComponent(filetreelinkpath + '/' + f.nx) + '">' + shortname + '</a>' + publiclink; }
7854 h = '<div class=filelist file=3><input file=3 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value="' + f.nx + '">&nbsp;<span class=fsize>' + fdatestr + '</span><span style=float:right>' + fsize + '</span><span><div class=fileIcon' + f.t + '></div>' + link + '</span></div>';
7855 }
@@ -7880,7 +7876,7 @@
7876
7877 function getNiceSize(bytes) {
7878 if (bytes <= 0) return "Překročen limit pro ukládání";
7883 - if (bytes < 2048) return format("{0} bytes remaining", bytes);
7879 + if (bytes < 2048) return format("{0} bytů zbývá", bytes);
7880 if (bytes < 2097152) return format("{0} kilobytů zbývá", Math.round(bytes / 1024));
7881 if (bytes < 2147483648) return format("{0} megabytů zbývá", Math.round(bytes / 1024 / 1024));
7882 return format("{0} gigabytů zbývá", Math.round(bytes / 1024 / 1024 / 1024));
@@ -7899,7 +7895,7 @@
7895 if ((f.t != 1 && f.t != 4) || (f.maxbytes == null)) return '';
7896 var tf = Math.floor(f.s / 1024), tq = (f.maxbytes - f.s);
7897 var title;
7902 - if (f.c > 1) { title = format("{0}k in {1} files. {2}k maximum", tf, f.c, (Math.floor(f.maxbytes / 1024 / 1024))); } else { title = format("{0}k in 1 file. {1}k maximum", tf, (Math.floor(f.maxbytes / 1024 / 1024))); }
7898 + if (f.c > 1) { title = format("{0}k v {1} souborech. {2}k maximum", tf, f.c, (Math.floor(f.maxbytes / 1024 / 1024))); } else { title = format("{0}k v 1 souboru. {1}k maximum", tf, (Math.floor(f.maxbytes / 1024 / 1024))); }
7899 return '<span title="' + title + '">' + getNiceSize(tq) + ' <progress style=height:10px;width:100px value=' + f.s + ' max=' + f.maxbytes + ' /></span>';
7900 }
7901
@@ -7945,13 +7941,13 @@
7941 function p5folderset(x) { filetreelocation.push(decodeURIComponent(x)); updateFiles(); return false; }
7942 function p5createfolder() { setDialogMode(2, "Nový adresář", 3, p5createfolderEx, '<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% />'); focusTextBox('p5renameinput'); p5fileNameCheck(); }
7943 function p5createfolderEx() { meshserver.send({ action: 'fileoperation', fileop: 'createfolder', path: filetreelocation, newfolder: Q('p5renameinput').value}); }
7948 - function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Recursive delete" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p5deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
7944 + function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Rekurzivní mazání" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Smazat", 3, p5deletefileEx, (cc > 1) ? (format("Smazat {0} vybrané prvky?", cc) + rec) : ("Smazat vybraný prvek?" + rec)); }
7945 function p5deletefileEx() { var delfiles = [], checkboxes = document.getElementsByName('fc'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { delfiles.push(checkboxes[i].value); } } meshserver.send({ action: 'fileoperation', fileop: 'delete', path: filetreelocation, delfiles: delfiles, rec: Q('p5recdeleteinput').checked }); }
7946 function p5renamefile() { var renamefile, checkboxes = document.getElementsByName('fc'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { renamefile = checkboxes[i].value; } } setDialogMode(2, "Přejmenovat", 3, p5renamefileEx, '<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% value="' + renamefile + '" />', { action: 'fileoperation', fileop: 'rename', path: filetreelocation, oldname: renamefile}); focusTextBox('p5renameinput'); p5fileNameCheck(); }
7947 function p5renamefileEx(b, t) { t.newname = Q('p5renameinput').value; meshserver.send(t); }
7948 function p5fileNameCheck(e) { var x = isFilenameValid(Q('p5renameinput').value); QE('idx_dlgOkButton', x); if ((x == true) && (e && e.keyCode == 13)) { dialogclose(1); } }
7949 var isFilenameValid = (function(){ var x1=/^[^\\/:\*\?"<>\|]+$/, x2=/^\./, x3=/^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i; return function isFilenameValid(fname){ return x1.test(fname)&&!x2.test(fname)&&!x3.test(fname)&&(fname[0] != '.'); } })();
7954 - function p5uploadFile() { setDialogMode(2, "Nahrát soubor", 3, p5uploadFileEx, '<form method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input type=text name=link style=display:none id=p5uploadpath value=\"' + encodeURIComponent(filetreelinkpath) + '\" /><input type=file name=files id=p5uploadinput style=width:100% multiple=multiple onchange="p5updateUploadDialogOk(\'p5uploadinput\')" /><input type=hidden name=authCookie value=' + authCookie + ' /><input type=submit id=p5loginSubmit style=display:none /><span id=p5confirmOverwriteSpan style=display:none><br /><label><input type=checkbox id=p5confirmOverwrite onchange="p5updateUploadDialogOk(\'p5uploadinput\')" />' + "Confirm overwrite?" + '</label></span></form>'); p5updateUploadDialogOk('p5uploadinput'); }
7950 + function p5uploadFile() { setDialogMode(2, "Nahrát soubor", 3, p5uploadFileEx, '<form method=post enctype=multipart/form-data action=uploadfile.ashx target=fileUploadFrame><input type=text name=link style=display:none id=p5uploadpath value=\"' + encodeURIComponent(filetreelinkpath) + '\" /><input type=file name=files id=p5uploadinput style=width:100% multiple=multiple onchange="p5updateUploadDialogOk(\'p5uploadinput\')" /><input type=hidden name=authCookie value=' + authCookie + ' /><input type=submit id=p5loginSubmit style=display:none /><span id=p5confirmOverwriteSpan style=display:none><br /><label><input type=checkbox id=p5confirmOverwrite onchange="p5updateUploadDialogOk(\'p5uploadinput\')" />' + "Potvrdit přepsání?" + '</label></span></form>'); p5updateUploadDialogOk('p5uploadinput'); }
7951 function p5uploadFileEx() { Q('p5loginSubmit').click(); }
7952 function p5updateUploadDialogOk() {
7953 // Check if these are files we can upload, remove all folders.
@@ -8003,9 +7999,9 @@
7999 }
8000 p5updateClipview();
8001 }
8006 - function p5pasteFile() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Confim {0} of {1} entrie{2} to this location?", (p5clipboardCut == 0?'copy':'move'), p5clipboard.length, ((p5clipboard.length > 1)?'s':'')) } setDialogMode(2, "Vložit", 3, p5pasteFileEx, x); }
8002 + function p5pasteFile() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Potvrdit {0} z {1} záznam{2} do tohoto umístění?", (p5clipboardCut == 0?'copy':'move'), p5clipboard.length, ((p5clipboard.length > 1)?'s':'')) } setDialogMode(2, "Vložit", 3, p5pasteFileEx, x); }
8003 function p5pasteFileEx() { meshserver.send({ action: 'fileoperation', fileop: (p5clipboardCut == 0?'copy':'move'), scpath: p5clipboardFolder, path: filetreelocation, names: p5clipboard }); p5folderup(999); if (p5clipboardCut == 1) { p5clipboard = null, p5clipboardFolder = null, p5clipboardCut = 0; p5updateClipview(); } }
8008 - function p5updateClipview() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Holding {0} entrie{1} for {2}", p5clipboard.length, ((p5clipboard.length > 1)?'s':''), (p5clipboardCut == 0?"copy":"move")) + ', <a href=# onclick="return p5clearClip()" style=cursor:pointer>' + "Clear" + '</a>.' } QH('p5bottomstatus', x); p5setActions(); }
8004 + function p5updateClipview() { var x = ''; if ((p5clipboard != null) && (p5clipboard.length > 0)) { x = format("Držím {0} zaznamů{1} pro {2}", p5clipboard.length, ((p5clipboard.length > 1)?'s':''), (p5clipboardCut == 0?"kopírovat":"přesun")) + ', <a href=# onclick="return p5clearClip()" style=cursor:pointer>' + "Vymazat" + '</a>.' } QH('p5bottomstatus', x); p5setActions(); }
8005 function p5clearClip() { p5clipboard = null; p5clipboardFolder = null; p5clipboardCut = 0; p5updateClipview(); return false; }
8006
8007 function p5fileDragDrop(e) {
@@ -8038,7 +8034,7 @@
8034 p5PerformUpload(1, files);
8035 } else {
8036 // Otherwise, prompt for confirmation
8041 - setDialogMode(2, "Nahrát soubor", 3, p5PerformUpload, format("Upload will overwrite {0} file{1}. Continue?", overWriteCount, addLetterS(overWriteCount)), files);
8037 + setDialogMode(2, "Nahrát soubor", 3, p5PerformUpload, format("Nahrání přepíše {0} soubor{1}. Pokračovat?", overWriteCount, addLetterS(overWriteCount)), files);
8038 }
8039 }
8040
@@ -8157,7 +8153,7 @@
8153 }
8154 }
8155 if (dateHeader != null) x += '</table>';
8160 - if (x == '') x = '<br><i>' + "No Events Found" + '</i><br><br>';
8156 + if (x == '') x = '<br><i>' + "Žádné události" + '</i><br><br>';
8157 QH('p3events', x);
8158 }
8159
@@ -8167,10 +8163,10 @@
8163
8164 function p3showDownloadEventsDialog(mode) {
8165 if (xxdialogMode) return;
8170 - var x = "Download the list of events with one of the file formats below." + '<br /><br />';
8171 - x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogCSV(' + mode + ')">' + "eventslist.csv" + '</a>');
8172 - x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
8173 - setDialogMode(2, "Event List Export", 1, null, x, mode);
8166 + var x = "Stáhnout seznam událostí v níže uvedeném formátu." + '<br /><br />';
8167 + x += addHtmlValue("CSV formát", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogCSV(' + mode + ')">' + "eventslist.csv" + '</a>');
8168 + x += addHtmlValue("JSON formát", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
8169 + setDialogMode(2, "Export seznamu událostí", 1, null, x, mode);
8170 }
8171
8172 function p3downloadEventsDialogCSV(mode) {
@@ -8219,7 +8215,7 @@
8215
8216 // Display the users using the sorted list
8217 var x = '<table class=p3usersTable cellpadding=0 cellspacing=0>', addHeader = true;
8222 - x += '<th>' + "Jméno" + '<th style=width:80px>Groups<th style=width:120px>' + nobreak("Last Access") + '<th style=width:120px>' + "Práva";
8218 + x += '<th>' + "Jméno" + '<th style=width:80px>Groups<th style=width:120px>' + nobreak("Poslední přístup") + '<th style=width:120px>' + "Práva";
8219
8220 // Online users
8221 for (var i in sortedUserIds) {
@@ -8248,7 +8244,7 @@
8244 ((emailSearch != null) && ((user.email != null) && (user.email.toLowerCase().indexOf(emailSearch) >= 0))))
8245 ) {
8246 if (maxUsers > 0) {
8251 - if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Offline Users"; addHeader = false; }
8247 + if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Nepřipojení uživatelé"; addHeader = false; }
8248 x += addUserHtml(user, sessions);
8249 maxUsers--;
8250 } else {
@@ -8258,7 +8254,7 @@
8254 }
8255 x += '</table>';
8256 if (hiddenUsers == 1) { x += '<br />' + "1 další uživatel není zobrazen, pomocí vyhledávacího pole vyhledejte uživatele ..." + '<br />'; }
8261 - else if (hiddenUsers > 1) { x += '<br />' + format("{0} more users not shown, use search box to look for users...", hiddenUsers) + '<br />'; }
8257 + else if (hiddenUsers > 1) { x += '<br />' + format("{0} dalších uživatelů není zobrazeno, použijte hledat uživatele pomocí vyhledávacího pole...", hiddenUsers) + '<br />'; }
8258 if (maxUsers == 100) { x += '<br />' + "Žádný uživatele nalezen." + '<br />'; }
8259 QH('p3users', x);
8260
@@ -8274,25 +8270,25 @@
8270 msg = '<span style=float:right;margin-top:1px;margin-right:4px title=' + "Chat" + '><a href=# onclick=userChat(event,\"" + encodeURIComponent(user._id) + "\",\"" + encodeURIComponent(user.name) + "\")><img src=\'images/icon-chat.png\' height=16 width=16 style=padding-top:2px /></a></span>';
8271 msg += '<span style=float:right;margin-top:1px;margin-left:4px;margin-right:4px title=Notify><a href=# onclick=\'return showUserAlertDialog(event,\"" + encodeURIComponent(user._id) + "\")\'><img src=\'images/icon-notify.png\' height=16 width=16 style=padding-top:2px /></a></span>';
8272 }
8277 - if (sessions == 1) { lastAccess += nobreak("1 session"); } else { lastAccess += nobreak(format("{0} sessions", sessions)); }
8273 + if (sessions == 1) { lastAccess += nobreak("1 session"); } else { lastAccess += nobreak(format("{0} spojení", sessions)); }
8274 } else {
8279 - if (user.login) { lastAccess += '<span title=\"' + format("Last login: {0}", printDateTime(new Date(user.login * 1000))) + '\">' + printDate(new Date(user.login * 1000)) + '</span>'; }
8275 + if (user.login) { lastAccess += '<span title=\"' + format("Poslední přihlášení: {0}", printDateTime(new Date(user.login * 1000))) + '\">' + printDate(new Date(user.login * 1000)) + '</span>'; }
8276 }
8277 if (self) { permissions += '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + encodeURIComponent(user._id) + '\")\'>'; }
8278 if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { permissions += "Zamknuto" + ',&nbsp;'; }
8283 - permissions += '<span title=\'' + "Server Permissions" + '\'>';
8279 + permissions += '<span title=\'' + "Oprávnění serveru" + '\'>';
8280
8281 var urights = user.siteadmin & (0xFFFFFFFF - 224);
8282 if ((user.siteadmin == null) || (urights == 0)) {
8287 - permissions += "User";
8283 + permissions += "Uživatel";
8284 } else if (urights == 8) {
8285 permissions += "Uživatel + Soubory";
8286 } else if (user.siteadmin == 0xFFFFFFFF) {
8291 - permissions += "Administrator";
8287 + permissions += "Administrátor";
8288 } else if ((urights & 2) != 0) {
8293 - permissions += "Manager";
8289 + permissions += "Správce";
8290 } else {
8295 - permissions += "Partial";
8291 + permissions += "Částečný";
8292 }
8293 if ((user.siteadmin != null) && (user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & (64 + 128)) != 0)) { permissions += '*'; }
8294 permissions += '</span>';
@@ -8346,7 +8342,7 @@
8342 function showUserAlertDialog(e, userid) {
8343 if (xxdialogMode) return;
8344 haltEvent(e);
8349 - setDialogMode(2, format("Notify {0}", EscapeHtml(users[decodeURIComponent(userid)].name)), 3, showUserAlertDialogEx, "Send a text notification to this user." + '<textarea id=d2notifyText maxlength=2048 style="width:100%;height:184px;resize:none"></textarea>', userid);
8345 + setDialogMode(2, format("Informovat {0}", EscapeHtml(users[decodeURIComponent(userid)].name)), 3, showUserAlertDialogEx, "Poslat textovou notifikaci tomuto uživateli." + '<textarea id=d2notifyText maxlength=2048 style="width:100%;height:184px;resize:none"></textarea>', userid);
8346 Q('d2notifyText').focus();
8347 return false;
8348 }
@@ -8362,8 +8358,8 @@
8358
8359 function p4batchAccountCreate() {
8360 if (xxdialogMode) return;
8365 - var x = "Create many accounts at once by importing a JSON file with the following format:" + '<br /><pre>[\r\n {"user":"x1","pass":"x","email":"x1@x"},\r\n {"user":"x2","pass":"x","resetNextLogin":true}\r\n]</pre><input style=width:370px type=file id=d4importFile accept=".json" onchange=p4batchAccountCreateValidate() />';
8366 - setDialogMode(2, "User Account Import", 3, p4batchAccountCreateEx, x);
8361 + var x = "Vytvořit více účtu najednou pomocí importu JSON souboru s následujícím formátem:" + '<br /><pre>[\r\n {"user":"x1","pass":"x","email":"x1@x"},\r\n {"user":"x2","pass":"x","resetNextLogin":true}\r\n]</pre><input style=width:370px type=file id=d4importFile accept=".json" onchange=p4batchAccountCreateValidate() />';
8362 + setDialogMode(2, "Import uživatelských účtů", 3, p4batchAccountCreateEx, x);
8363 QE('idx_dlgOkButton', false);
8364 }
8365
@@ -8375,7 +8371,7 @@
8371 var fr = new FileReader();
8372 fr.onload = function (r) {
8373 var j = null;
8378 - try { j = JSON.parse(r.target.result); } catch (ex) { setDialogMode(2, "User Account Import", 1, null, format("Invalid JSON file: {0}.", ex)); return; }
8374 + try { j = JSON.parse(r.target.result); } catch (ex) { setDialogMode(2, "Import uživatelských účtů", 1, null, format("Neplatný JSON soubor: {0}.", ex)); return; }
8375 if ((j != null) && (Array.isArray(j))) {
8376 var ok = true;
8377 for (var i in j) {
@@ -8384,22 +8380,22 @@
8380 if (checkPasswordRequirements(j[i].pass, passRequirements) == false) { ok = false; }
8381 if ((j[i].email != null) && ((typeof j[i].email != 'string') || (j[i].email.length < 1) || (j[i].email.length > 128))) { ok = false; }
8382 }
8387 - if (ok == false) { setDialogMode(2, "User Account Import", 1, null, "Invalid JSON file format."); } else { meshserver.send({ action: 'adduserbatch', users: j }); }
8388 - } else { setDialogMode(2, "User Account Import", 1, null, "Invalid JSON file format."); }
8383 + if (ok == false) { setDialogMode(2, "Import uživatelských účtů", 1, null, "Neplatný formát JSON souboru."); } else { meshserver.send({ action: 'adduserbatch', users: j }); }
8384 + } else { setDialogMode(2, "Import uživatelských účtů", 1, null, "Neplatný formát JSON souboru."); }
8385 };
8386 fr.readAsText(Q('d4importFile').files[0]);
8387 }
8388
8389 function p4downloadUserInfo() {
8390 if (xxdialogMode) return;
8395 - var x = "Download the list of users with one of the file formats below." + '<br /><br />';
8396 - x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoCSV()\'>' + "userlist.csv" + '</a>');
8397 - x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoJSON()\'>' + "userlist.json" + '</a>');
8398 - setDialogMode(2, "User List Export", 1, null, x);
8391 + var x = "Stáhnout seznam uživatelů v níže uvedeném formátu." + '<br /><br />';
8392 + x += addHtmlValue("CSV formát", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoCSV()\'>' + "userlist.csv" + '</a>');
8393 + x += addHtmlValue("JSON formát", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoJSON()\'>' + "userlist.json" + '</a>');
8394 + setDialogMode(2, "Export seznamu uživatelů", 1, null, x);
8395 }
8396
8397 function p4downloadUserInfoCSV() {
8402 - var csv = "id, name, email, creation, lastlogin, groups, authfactors" + '\r\n';
8398 + var csv = "id, jméno, email, vytvoření, poslední přihlášení, skupiny, ověřovatel" + '\r\n';
8399 for (var i in users) {
8400 var multiFactor = false, factors = [];
8401 if ((users[i].otpsecret > 0) || (users[i].otphkeys > 0)) {
@@ -8423,8 +8419,8 @@
8419
8420 function showUserBroadcastDialog() {
8421 if (xxdialogMode) return;
8426 - var x = "Broadcast a message to all connected users." + '<textarea id=broadcastMessage value="" maxlength="256"/></textarea>';
8427 - setDialogMode(2, "Broadcast Message", 3, showUserBroadcastDialogEx, x);
8422 + var x = "Zaslat hromadnou zprávu všem připojeným uživatelům." + '<textarea id=broadcastMessage value="" maxlength="256"/></textarea>';
8423 + setDialogMode(2, "Hromadná zpráva", 3, showUserBroadcastDialogEx, x);
8424 Q('broadcastMessage').focus();
8425 }
8426
@@ -8439,8 +8435,8 @@
8435 x += addHtmlValue("Email", '<input id=p4email maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
8436 x += addHtmlValue("Heslo", '<input id=p4pass1 type=password maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
8437 x += addHtmlValue("Heslo", '<input id=p4pass2 type=password maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
8442 - x += '<div><label><input id=p4randomPassword onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Randomize the password." + '</label></div>';
8443 - x += '<div><label><input id=p4resetNextLogin onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Force password reset on next login." + '</label></div>';
8438 + x += '<div><label><input id=p4randomPassword onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Náhodné heslo" + '</label></div>';
8439 + x += '<div><label><input id=p4resetNextLogin onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Vynutit reset hesla při dalším přihlášení." + '</label></div>';
8440 if (serverinfo.emailcheck) {
8441 x += '<div><label><input id=p4verifiedEmail onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Email je ověřen." + '</label></div>';
8442 x += '<div><label><input id=p4invitationEmail type=checkbox />' + "Zaslat pozvánku emailem." + '</label></div>';
@@ -8449,10 +8445,10 @@
8445 if (passRequirements) {
8446 var r = [], rc = 0;
8447 for (var i in passRequirements) { if ((i != 'reset') && (i != 'hint')) { r.push(i + ':' + passRequirements[i]); rc++; } }
8452 - if (rc > 0) { x += '<div style=font-size:x-small;padding:6px>' + format("Requirements: {0}.", r.join(', ')) + '</div>'; }
8448 + if (rc > 0) { x += '<div style=font-size:x-small;padding:6px>' + format("Požadavky: {0}.", r.join(', ')) + '</div>'; }
8449 }
8450
8455 - setDialogMode(2, "Create Account", 3, showCreateNewAccountDialogEx, x);
8451 + setDialogMode(2, "Vytvořit účet", 3, showCreateNewAccountDialogEx, x);
8452 showCreateNewAccountDialogValidate();
8453 if ((features & 0x200000) == 0) { Q('p4name').focus(); } else { Q('p4email').focus(); }
8454 }
@@ -8493,8 +8489,8 @@
8489 userid = decodeURIComponent(userid);
8490 var user = users[userid.toLowerCase()], groups = "";
8491 if (user.groups != null) { groups = user.groups.join(', ') }
8496 - var x = "Enter a comma seperate list of administrative realms names." + '<br /><br />';
8497 - x += addHtmlValue("Realms", '<input id=dp4usergroups style=width:230px value="' + groups + '" placeholder=\"' + "Name1, Name2, Name3" + '\" maxlength=256 onchange=p4validateUserGroups() onkeyup=p4validateUserGroups() />');
8492 + var x = "Zadejte seznam administrativních realmů oddělených čárkami." + '<br /><br />';
8493 + x += addHtmlValue("Realmy", '<input id=dp4usergroups style=width:230px value="' + groups + '" placeholder=\"' + "Jméno1, Jméno2, Jméno3" + '\" maxlength=256 onchange=p4validateUserGroups() onkeyup=p4validateUserGroups() />');
8494 setDialogMode(2, "Administrátorské realmy", 3, showUserGroupDialogEx, x, user);
8495 focusTextBox('dp4usergroups');
8496 p4validateUserGroups();
@@ -8520,18 +8516,18 @@
8516 haltEvent(e);
8517 userid = decodeURIComponent(userid);
8518 var x = '<div><div id=d2AdminPermissions>';
8523 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fileaccess>' + "Server Files" + '</label>, <input type=number onchange=showUserAdminDialogValidate() maxlength=10 id=ua_fileaccessquota>k max, blank for default<br><hr/>';
8519 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fileaccess>' + "Soubory serveru" + '</label>, <input type=number onchange=showUserAdminDialogValidate() maxlength=10 id=ua_fileaccessquota>k max, blank for default<br><hr/>';
8520 x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fulladmin>' + "Hlavní administrátor" + '</label><br>';
8525 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverbackup>' + "Server Backup" + '</label><br>';
8526 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverrestore>' + "Server Restore" + '</label><br>';
8527 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverupdate>' + "Server Updates" + '</label><br>';
8521 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverbackup>' + "Záloha serveru" + '</label><br>';
8522 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverrestore>' + "Obnova serveru" + '</label><br>';
8523 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverupdate>' + "Aktualizace serveru" + '</label><br>';
8524 x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_manageusers>' + "Správa uživatelů" + '</label><br>';
8525 x += '<hr/></div><label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_lockedaccount>' + "Uzamknout účet" + '</label><br>';
8530 - x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nonewgroups>' + "No New Device Groups" + '</label><br>';
8526 + x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nonewgroups>' + "Žádná nová skupina zařízení" + '</label><br>';
8527 x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nomeshcmd>' + "Žádné nástroje (MeshCmd/Router)" + '</label><br>';
8528 x += '</div>';
8529 var user = users[userid.toLowerCase()];
8534 - setDialogMode(2, "Server Permissions", 3, showUserAdminDialogEx, x, user);
8530 + setDialogMode(2, "Oprávnění serveru", 3, showUserAdminDialogEx, x, user);
8531 if (user.siteadmin && user.siteadmin != 0) {
8532 Q('ua_fulladmin').checked = (user.siteadmin == 0xFFFFFFFF);
8533 Q('ua_serverbackup').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1) != 0)); // Server Backup
@@ -8612,24 +8608,24 @@
8608
8609 // Server permissions
8610 var msg = [], premsg = '';
8615 - if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { premsg = '<img src="images/padlock12.png" height=12 width=8 title="Account is locked" style="margin-top:2px" /> '; msg.push("Locked account"); }
8616 - if ((user.siteadmin == null) || ((user.siteadmin & (0xFFFFFFFF - 224)) == 0)) { msg.push("No server rights"); } else if (user.siteadmin == 8) { msg.push("Přístup k souborům na serveru"); } else if (user.siteadmin == 0xFFFFFFFF) { msg.push("Hlavní administrator"); } else { msg.push("Partial rights"); }
8611 + if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { premsg = '<img src="images/padlock12.png" height=12 width=8 title="Account is locked" style="margin-top:2px" /> '; msg.push("Uzamknutý účet"); }
8612 + if ((user.siteadmin == null) || ((user.siteadmin & (0xFFFFFFFF - 224)) == 0)) { msg.push("Žádná práva k serveru"); } else if (user.siteadmin == 8) { msg.push("Přístup k souborům na serveru"); } else if (user.siteadmin == 0xFFFFFFFF) { msg.push("Hlavní administrator"); } else { msg.push("Částečné práva"); }
8613 if ((user.siteadmin != null) && (user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & (64 + 128)) != 0)) { msg.push("Omezení"); }
8614
8615 // Show user attributes
8616 var x = '<div style=min-height:80px><table style=width:100%>';
8617 var email = user.email?EscapeHtml(user.email):'<i>' + "Nenastaveno" + '</i>', everify = '';
8618 if (serverinfo.emailcheck) { everify = ((user.emailVerified == true) ? '<b style=color:green;cursor:pointer title=\"' + "Email ověřen" + '\">&#x2713</b> ' : '<b style=color:red;cursor:pointer title=\"' + "Email není ověřen" + '\">&#x2717;</b> '); }
8623 - if (user.name.toLowerCase() != user._id.split('/')[2]) { x += addDeviceAttribute("User Identifier", user._id.split('/')[2]); }
8619 + if (user.name.toLowerCase() != user._id.split('/')[2]) { x += addDeviceAttribute("Identifikátor uživatele", user._id.split('/')[2]); }
8620 if (((features & 0x200000) == 0) && ((user.siteadmin != 0xFFFFFFFF) || (userinfo.siteadmin == 0xFFFFFFFF))) { // If we are not site admin, we can't change a admin email.
8621 x += addDeviceAttribute("Email", everify + '<a href=# style=cursor:pointer onclick=p30showUserEmailChangeDialog(event,\"' + userid + '\")>' + email + '</a> <a href=# style=cursor:pointer onclick=\'return doemail(event,\"' + user.email + '\")\'><img class=hoverButton src="images/link1.png" /></a>');
8622 } else {
8623 x += addDeviceAttribute("Email", everify + email + ' <a href=# style=cursor:pointer onclick=\'return doemail(event,\"' + user.email + '\")\'><img class=hoverButton src="images/link1.png" /></a>');
8624 }
8629 - x += addDeviceAttribute("Server Rights", premsg + '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + userid + '\")\'>' + msg.join(', ') + '</a>');
8630 - if (user.quota) x += addDeviceAttribute("Server Quota", EscapeHtml(parseInt(user.quota) / 1024) + ' k');
8631 - x += addDeviceAttribute("Creation", printDateTime(new Date(user.creation * 1000)));
8632 - if (user.login) x += addDeviceAttribute("Last Login", printDateTime(new Date(user.login * 1000)));
8625 + x += addDeviceAttribute("Práva serveru", premsg + '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + userid + '\")\'>' + msg.join(', ') + '</a>');
8626 + if (user.quota) x += addDeviceAttribute("Kvóta serveru", EscapeHtml(parseInt(user.quota) / 1024) + ' k');
8627 + x += addDeviceAttribute("Vytváření", printDateTime(new Date(user.creation * 1000)));
8628 + if (user.login) x += addDeviceAttribute("Poslední přihlášení", printDateTime(new Date(user.login * 1000)));
8629 if (user.passchange == -1) { x += addDeviceAttribute("Heslo", "Bude změněno při příštím přihlášení."); }
8630 else if (user.passchange) { x += addDeviceAttribute("Heslo", format("Poslední změna: {0}", printDateTime(new Date(user.passchange * 1000)))); }
8631
@@ -8637,7 +8633,7 @@
8633 var linkCount = 0, linkCountStr = '<i>' + "Nic" + '<i>';
8634 if (user.links) {
8635 for (var i in user.links) { linkCount++; }
8640 - if (linkCount == 1) { linkCountStr = "1 skupina"; } else if (linkCount > 1) { linkCountStr = format("{0} groups", linkCount); }
8636 + if (linkCount == 1) { linkCountStr = "1 skupina"; } else if (linkCount > 1) { linkCountStr = format("{0} skupin", linkCount); }
8637 }
8638 x += addDeviceAttribute("Skupiny zařízení", linkCountStr);
8639
@@ -8652,17 +8648,17 @@
8648 if ((user.otpsecret > 0) || (user.otphkeys > 0)) {
8649 multiFactor = 1;
8650 var factors = [];
8655 - if (user.otpsecret > 0) { factors.push("Authentication App"); }
8656 - if (user.otphkeys > 0) { factors.push("Security Key"); }
8657 - if (user.otpkeys > 0) { factors.push("Backup Codes"); }
8658 - x += addDeviceAttribute("Bezpečnost", '<img src="images/key12.png" height=12 width=11 title=\"' + "2nd factor authentication enabled" + '\" style="margin-top:2px" /> ' + factors.join(', '));
8651 + if (user.otpsecret > 0) { factors.push("Autentizační aplikace"); }
8652 + if (user.otphkeys > 0) { factors.push("Bezpečnostní klíč"); }
8653 + if (user.otpkeys > 0) { factors.push("Záloha kódu"); }
8654 + x += addDeviceAttribute("Bezpečnost", '<img src="images/key12.png" height=12 width=11 title=\"' + "2-faktorová autentizace povolena" + '\" style="margin-top:2px" /> ' + factors.join(', '));
8655 }
8656
8657 x += '</table></div><br />';
8658
8659 // Add action buttons
8664 - x += '<input type=button value=\"' + "Poznámky" + '\" title=\"' + "View notes about this user" + '\" onclick=showNotes(false,"' + userid + '") />';
8665 - if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Notify" + '\" title=\"' + "Send user notification" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
8660 + x += '<input type=button value=\"' + "Poznámky" + '\" title=\"' + "Zobrazit poznámky o tomto uživateli" + '\" onclick=showNotes(false,"' + userid + '") />';
8661 + if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Oznámit" + '\" title=\"' + "Poslat notifikaci uživatelovi" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
8662
8663 // Setup the panel
8664 QH('p30html', x);
@@ -8685,7 +8681,7 @@
8681
8682 // Update user's connection state
8683 x = '';
8688 - if (activeSessions == 1) { x = "1 session aktivní"; } else if (activeSessions > 1) { x = format("{0} active sessions", activeSessions); }
8684 + if (activeSessions == 1) { x = "1 session aktivní"; } else if (activeSessions > 1) { x = format("{0} aktivních spojení", activeSessions); }
8685 QH('MainUserState', x);
8686
8687 go(30);
@@ -8729,17 +8725,17 @@
8725 var x = '';
8726 x += addHtmlValue("Heslo", '<input id=p4pass1 type=password style=width:230px maxlength=256 onchange=p30showUserChangePassDialogValidate(1) onkeyup=p30showUserChangePassDialogValidate(1)></input>');
8727 x += addHtmlValue("Heslo", '<input id=p4pass2 type=password style=width:230px maxlength=256 onchange=p30showUserChangePassDialogValidate(1) onkeyup=p30showUserChangePassDialogValidate(1)></input>');
8732 - if (features & 0x00010000) { x += addHtmlValue("Password hint", '<input id=p4hint type=text style=width:230px maxlength=256></input>'); }
8728 + if (features & 0x00010000) { x += addHtmlValue("Nápověda k heslu", '<input id=p4hint type=text style=width:230px maxlength=256></input>'); }
8729
8730 if (passRequirements) {
8731 var r = [], rc = 0;
8732 for (var i in passRequirements) { if ((i != 'reset') && (i != 'hint')) { r.push(i + ':' + passRequirements[i]); rc++; } }
8737 - if (rc > 0) { x += '<div style=font-size:x-small;padding:6px>' + format("Requirements: {0}.", r.join(', ')) + '</div>'; }
8733 + if (rc > 0) { x += '<div style=font-size:x-small;padding:6px>' + format("Požadavky: {0}.", r.join(', ')) + '</div>'; }
8734 }
8735
8740 - x += '<div><label><input id=p4resetNextLogin type=checkbox />' + "Force password reset on next login." + '</label></div>';
8741 - if (multiFactor == 1) { x += '<div><label><input id=p4twoFactorRemove type=checkbox />' + "Remove all 2nd factor authentication." + '</label></div>'; }
8742 - setDialogMode(2, format("Change Password for {0}", EscapeHtml(currentUser.name)), 3, p30showUserChangePassDialogEx, x, multiFactor);
8736 + x += '<div><label><input id=p4resetNextLogin type=checkbox />' + "Vynutit reset hesla při dalším přihlášení." + '</label></div>';
8737 + if (multiFactor == 1) { x += '<div><label><input id=p4twoFactorRemove type=checkbox />' + "Odstranit celou 2-faktorovou autentizaci." + '</label></div>'; }
8738 + setDialogMode(2, format("Změnit heslo pro {0}", EscapeHtml(currentUser.name)), 3, p30showUserChangePassDialogEx, x, multiFactor);
8739 p30showUserChangePassDialogValidate();
8740 Q('p4pass1').focus();
8741 if (currentUser.passchange == -1) { Q('p4resetNextLogin').checked = true; }
@@ -8863,7 +8859,7 @@
8859 }
8860 }
8861 if (dateHeader != null) x += '</table>';
8866 - if (x == '') x = '<br><i>' + "No Events Found" + '</i><br><br>';
8862 + if (x == '') x = '<br><i>' + "Žádné události" + '</i><br><br>';
8863 QH('p31events', x);
8864 }
8865
@@ -8987,7 +8983,7 @@
8983 function drawNotifications() {
8984 var r = '';
8985 if (notifications.length == 0) {
8990 - r = '<div style=margin:5px>' + "There are currently no notifications" + '</div>';
8986 + r = '<div style=margin:5px>' + "Žádná notifikace" + '</div>';
8987 } else {
8988 for (var i in notifications) {
8989 var n = notifications[i];
@@ -9000,7 +8996,7 @@
8996 if (node != null) { icon = node.icon; t = '<b>' + node.name + '</b>: ' }
8997 }
8998
9003 - r += '<div title="' + format("Occured at {0}", printDateTime(d)) + '" id="notifyx' + n.id + '" class=notification style="cursor:pointer;border-top:1px solid ' + ((r == '') ? 'transparent' : 'orange') + '">';
8999 + r += '<div title="' + format("Došlo k {0}", printDateTime(d)) + '" id="notifyx' + n.id + '" class=notification style="cursor:pointer;border-top:1px solid ' + ((r == '') ? 'transparent' : 'orange') + '">';
9000 if (icon) { r += '<div class=j' + icon + ' onclick="notificationSelected(' + n.id + ')" style=margin:5px;float:left></div>'; }
9001 r += '<div onclick="notificationDelete(' + n.id + ')" class=unselectable title="Clear this notification" style=margin:5px;float:right;color:orange><b>X</b></div><div onclick="notificationSelected(' + n.id + ')" style=margin:5px>' + t + n.text + '</div></div>';
9002 }
@@ -9107,12 +9103,12 @@
9103 function setupGeneralServerStats() {
9104 window.serverStatCpu = new Chart(document.getElementById('serverCpuChart').getContext('2d'), {
9105 type: 'doughnut',
9110 - data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Použito", "Free"] },
9106 + data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Použito", "Volné"] },
9107 options: { responsive: true, legend: { position: 'none', }, animation: { animateScale: true, animateRotate: true }, width: '60px' }
9108 });
9109 window.serverStatMemory = new Chart(document.getElementById('serverMemoryChart').getContext('2d'), {
9110 type: 'doughnut',
9115 - data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Použito", "Free"] },
9111 + data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Použito", "Volné"] },
9112 options: { responsive: true, legend: { position: 'none', }, animation: { animateScale: true, animateRotate: true }, width: '60px' }
9113 });
9114 }
@@ -9126,13 +9122,13 @@
9122 if (typeof message.cpuavg == 'object') {
9123 var m = Math.min(message.cpuavg[0], 1);
9124 window.serverStatCpu.config.data.datasets[0].data = [m, 1 - m];
9129 - QH('serverCpuChartText', '<div style=margin-bottom:5px>CPU Load</div><div><b title=\"' + "CPU zatížení v poslední minutě" + '\">' + (Math.round(message.cpuavg[0] * 100.0) / 100.0) + '</b>, <b title=\"' + "CPU load in the last 5 minutes" + '\">' + (Math.round(message.cpuavg[1] * 100.0) / 100.0) + '</b>, <b title=\"' + "CPU load in the last 15 minutes" + '\">' + (Math.round(message.cpuavg[2] * 100.0) / 100.0) + '</b></div>');
9125 + QH('serverCpuChartText', '<div style=margin-bottom:5px>CPU Load</div><div><b title=\"' + "CPU zatížení v poslední minutě" + '\">' + (Math.round(message.cpuavg[0] * 100.0) / 100.0) + '</b>, <b title=\"' + "CPU zatížení v posledních 5 minutách" + '\">' + (Math.round(message.cpuavg[1] * 100.0) / 100.0) + '</b>, <b title=\"' + "CPU zatížení v posledních 15 minutách" + '\">' + (Math.round(message.cpuavg[2] * 100.0) / 100.0) + '</b></div>');
9126 QS('serverCpuChartView')['display'] = 'inline-block';
9127 window.serverStatCpu.update();
9128 }
9129 if ((typeof message.totalmem == 'number') && (typeof message.freemem == 'number')) {
9130 window.serverStatMemory.config.data.datasets[0].data = [message.totalmem - message.freemem, message.freemem];
9135 - QH('serverMemoryChartText', '<div style=margin-bottom:5px>' + "Paměť" + '</div><div><b>' + getNiceSize2(message.freemem) + '</b> ' + "free" + ', <b>' + getNiceSize2(message.totalmem) + '</b> ' + "celkově" + '</div>');
9131 + QH('serverMemoryChartText', '<div style=margin-bottom:5px>' + "Paměť" + '</div><div><b>' + getNiceSize2(message.freemem) + '</b> ' + "volné" + ', <b>' + getNiceSize2(message.totalmem) + '</b> ' + "celkově" + '</div>');
9132 QS('serverMemoryChartView')['display'] = 'inline-block';
9133 window.serverStatMemory.update();
9134 }
@@ -9208,14 +9204,14 @@
9204 var data, chartType = Q('p40type').value, timeAfter = pastDate(Q('p40time').value);
9205 serverTimelineConfig.options.scales.xAxes[0].time = { min: timeAfter };
9206 if (chartType == 0) { // Connections
9211 - serverTimelineConfig.options.scales.yAxes[0].scaleLabel.labelString = "Connection Count";
9207 + serverTimelineConfig.options.scales.yAxes[0].scaleLabel.labelString = "Čítač připojení";
9208 data = {
9209 labels: [pastDate(0), timeAfter],
9210 datasets: [
9211 { label: "Agenti", data: [], backgroundColor: 'rgba(158, 151, 16, .1)', borderColor: 'rgb(158, 151, 16)', fill: true },
9212 { label: "Uživatelé", data: [], backgroundColor: 'rgba(16, 84, 158, .1)', borderColor: 'rgb(16, 84, 158)', fill: true },
9217 - { label: "User Sessions", data: [], backgroundColor: 'rgba(255, 99, 132, .1)', borderColor: 'rgb(255, 99, 132)', fill: true },
9218 - { label: "Relay Sessions", data: [], backgroundColor: 'rgba(39, 158, 16, .1)', borderColor: 'rgb(39, 158, 16)', fill: true },
9213 + { label: "Uživatelské spojení", data: [], backgroundColor: 'rgba(255, 99, 132, .1)', borderColor: 'rgb(255, 99, 132)', fill: true },
9214 + { label: "Přesměrované relace", data: [], backgroundColor: 'rgba(39, 158, 16, .1)', borderColor: 'rgb(39, 158, 16)', fill: true },
9215 { label: "Intel AMT", data: [], backgroundColor: 'rgba(134, 16, 158, .1)', borderColor: 'rgb(134, 16, 158)', fill: true }
9216 ]
9217 };
@@ -9296,27 +9292,27 @@
9292
9293 function setServerTracing() {
9294 var x = '';
9299 - x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Core Server" + '</b></div>';
9300 - x += '<div><label><input type=checkbox id=p41c1 ' + ((serverTraceSources.indexOf('cookie') >= 0) ? 'checked' : '') + '>' + "Cookie encoder" + '</label></div>';
9301 - x += '<div><label><input type=checkbox id=p41c2 ' + ((serverTraceSources.indexOf('dispatch') >= 0) ? 'checked' : '') + '>' + "Message Dispatcher" + '</label></div>';
9302 - x += '<div><label><input type=checkbox id=p41c3 ' + ((serverTraceSources.indexOf('main') >= 0) ? 'checked' : '') + '>' + "Main Server Messages" + '</label></div>';
9295 + x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Hlavní server" + '</b></div>';
9296 + x += '<div><label><input type=checkbox id=p41c1 ' + ((serverTraceSources.indexOf('cookie') >= 0) ? 'checked' : '') + '>' + "Cookie dekodér" + '</label></div>';
9297 + x += '<div><label><input type=checkbox id=p41c2 ' + ((serverTraceSources.indexOf('dispatch') >= 0) ? 'checked' : '') + '>' + "Odesílatel" + '</label></div>';
9298 + x += '<div><label><input type=checkbox id=p41c3 ' + ((serverTraceSources.indexOf('main') >= 0) ? 'checked' : '') + '>' + "Zprávy hlavního serveru" + '</label></div>';
9299 x += '<div><label><input type=checkbox id=p41c4 ' + ((serverTraceSources.indexOf('peer') >= 0) ? 'checked' : '') + '>' + "MeshCentral Server Peering" + '</label></div>';
9304 - x += '<div><label><input type=checkbox id=p41c15 ' + ((serverTraceSources.indexOf('agent') >= 0) ? 'checked' : '') + '>' + "MeshAgent traffic" + '</label></div>';
9305 - x += '<div><label><input type=checkbox id=p41c14 ' + ((serverTraceSources.indexOf('agentupdate') >= 0) ? 'checked' : '') + '>' + "MeshAgent update" + '</label></div>';
9306 - x += '<div><label><input type=checkbox id=p41c16 ' + ((serverTraceSources.indexOf('cert') >= 0) ? 'checked' : '') + '>' + "Server Certificate" + '</label></div>';
9307 - x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Web Server" + '</b></div>';
9308 - x += '<div><label><input type=checkbox id=p41c5 ' + ((serverTraceSources.indexOf('web') >= 0) ? 'checked' : '') + '>' + "Web Server" + '</label></div>';
9309 - x += '<div><label><input type=checkbox id=p41c6 ' + ((serverTraceSources.indexOf('webrequest') >= 0) ? 'checked' : '') + '>' + "Web Server Requests" + '</label></div>';
9300 + x += '<div><label><input type=checkbox id=p41c15 ' + ((serverTraceSources.indexOf('agent') >= 0) ? 'checked' : '') + '>' + "MeshAgent provoz" + '</label></div>';
9301 + x += '<div><label><input type=checkbox id=p41c14 ' + ((serverTraceSources.indexOf('agentupdate') >= 0) ? 'checked' : '') + '>' + "MeshAgent aktualizace" + '</label></div>';
9302 + x += '<div><label><input type=checkbox id=p41c16 ' + ((serverTraceSources.indexOf('cert') >= 0) ? 'checked' : '') + '>' + "Certifikáty serveru" + '</label></div>';
9303 + x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Webový server" + '</b></div>';
9304 + x += '<div><label><input type=checkbox id=p41c5 ' + ((serverTraceSources.indexOf('web') >= 0) ? 'checked' : '') + '>' + "Webový server" + '</label></div>';
9305 + x += '<div><label><input type=checkbox id=p41c6 ' + ((serverTraceSources.indexOf('webrequest') >= 0) ? 'checked' : '') + '>' + "Požadavky webového serveru" + '</label></div>';
9306 x += '<div><label><input type=checkbox id=p41c7 ' + ((serverTraceSources.indexOf('relay') >= 0) ? 'checked' : '') + '>' + "Web Socket Relay" + '</label></div>';
9307 //x += '<div><label><input type=checkbox id=p41c8 ' + ((serverTraceSources.indexOf('webrelaydata') >= 0) ? 'checked' : '') + '>' + "Traffic Relay 2 Data" + '</label></div>';
9308 x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Intel AMT" + '</b></div>';
9313 - x += '<div><label><input type=checkbox id=p41c9 ' + ((serverTraceSources.indexOf('webrelay') >= 0) ? 'checked' : '') + '>' + "Connection Relay" + '</label></div>';
9309 + x += '<div><label><input type=checkbox id=p41c9 ' + ((serverTraceSources.indexOf('webrelay') >= 0) ? 'checked' : '') + '>' + "Přesměrování spojení" + '</label></div>';
9310 x += '<div><label><input type=checkbox id=p41c10 ' + ((serverTraceSources.indexOf('mps') >= 0) ? 'checked' : '') + '>' + "CIRA Server" + '</label></div>';
9315 - x += '<div><label><input type=checkbox id=p41c11 ' + ((serverTraceSources.indexOf('mpscmd') >= 0) ? 'checked' : '') + '>' + "CIRA Server Commands" + '</label></div>';
9311 + x += '<div><label><input type=checkbox id=p41c11 ' + ((serverTraceSources.indexOf('mpscmd') >= 0) ? 'checked' : '') + '>' + "CIRA Server příkazy" + '</label></div>';
9312 //x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>Legacy</b></div>';
9313 //x += '<div><label><input type=checkbox id=p41c12 ' + ((serverTraceSources.indexOf('swarm') >= 0) ? 'checked' : '') + ">' + "Legacy Swarm Server" + '</label></div>";
9314 //x += '<div><label><input type=checkbox id=p41c13 ' + ((serverTraceSources.indexOf('swarmcmd') >= 0) ? 'checked' : '') + ">' + "Legacy Swarm Server Commands" + '</label></div>";
9319 - setDialogMode(2, "Server Tracing", 7, setServerTracingEx, x);
9315 + setDialogMode(2, "Trasování serveru", 7, setServerTracingEx, x);
9316 }
9317
9318 function setServerTracingEx(b) {
@@ -9566,7 +9562,7 @@
9562 p.upgradeAvail = '<a title="View Changelog" target="_blank" href="' + vin.changelogUrl + '">' + vin.version + '</a>';
9563 } else {
9564 cant_action.push('upgrade');
9569 - if (p.status) p.upgradeAvail = "Up to date";
9565 + if (p.status) p.upgradeAvail = "Zastaralý";
9566 else p.upgradeAvail = '<a title="View Changelog" target="_blank" href="' + vin.changelogUrl + '">' + vin.version + '</a>';
9567 }
9568 if (!vin.meshCentralCompat) {
@@ -9642,7 +9638,7 @@
9638 } else {
9639 var plugin = null;
9640 for (var i in installedPluginList) { if (installedPluginList[i]._id == id) { plugin = installedPluginList[i]; } }
9645 - setDialogMode(2, "Plugin Action", 3, pluginActionEx, format("Are you sure you want to {0} the plugin: {1}", elem.value, plugin.name) + '<input id="lastPluginAct" type="hidden" value="' + elem.value + '" /><input id="lastPluginId" type="hidden" value="' + id + '" /><input id="lastPluginVersion" type="hidden" value="" />');
9641 + setDialogMode(2, "Akce pluginu", 3, pluginActionEx, format("Opravdu {0} plugin: {1}", elem.value, plugin.name) + '<input id="lastPluginAct" type="hidden" value="' + elem.value + '" /><input id="lastPluginId" type="hidden" value="' + id + '" /><input id="lastPluginVersion" type="hidden" value="" />');
9642 }
9643 elem.value = '';
9644 }
@@ -9676,7 +9672,7 @@
9672 function haltEvent(e) { if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); return false; }
9673 function addOption(q, t, i) { var option = document.createElement('option'); option.text = t; option.value = i; Q(q).add(option); }
9674 function passwordcheck(p) { return (p.length > 7) && (/\d/.test(p)) && (/[a-z]/.test(p)) && (/[A-Z]/.test(p)) && (/\W/.test(p)); }
9679 - function methodcheck(r) { if (r && r != null && r.Body && r.Body.ReturnValueStr != 'SUCCESS') { messagebox("Call Error", r.Header.Method + ': ' + r.Body.ReturnValueStr.replace('_', ' ')); return true; } return false; }
9675 + function methodcheck(r) { if (r && r != null && r.Body && r.Body.ReturnValueStr != 'SUCCESS') { messagebox("Chybová volání", r.Header.Method + ': ' + r.Body.ReturnValueStr.replace('_', ' ')); return true; } return false; }
9676 function TableStart() { return '<table cellpadding=0 cellspacing=0 style=width:100%;border-radius:8px><tr><td width=200px><p><td>'; }
9677 function TableStart2() { return '<table cellpadding=0 cellspacing=0 style=width:100%;border-radius:8px><tr><td><p><td>'; }
9678 function TableEntry(n, v) { return '<tr><td><p>' + n + '<td>' + v; }
@@ -9686,7 +9682,7 @@
9682 function AddButton2(v, f) { return '<input type=button value="' + v + '" onclick="' + f + '">'; }
9683 function AddRefreshButton(f) { return '<input type=button name=refreshbtn value=Refresh onclick="refreshButtons(false);' + f + '" style=margin:4px ' + (refreshButtonsState==false?'disabled':'') + '>'; }
9684 function MoreStart() { return '<a href=# style=cursor:pointer;color:blue id=morexxx1 onclick=QV(\"morexxx1\",false);QV(\"morexxx2\",true)>&#x25BC; ' + "Více" + '</a><div id=morexxx2 style=display:none><br><hr>'; };
9689 - function MoreEnd() { return '<a href=# style=cursor:pointer;color:blue onclick=QV(\"morexxx2\",false);QV(\"morexxx1\",true)>&#x25B2; ' + "Less" + '</a></div>'; };
9685 + function MoreEnd() { return '<a href=# style=cursor:pointer;color:blue onclick=QV(\"morexxx2\",false);QV(\"morexxx1\",true)>&#x25B2; ' + "Méně" + '</a></div>'; };
9686 function getSelectedOptions(sel) { var opts = [], opt; for (var i = 0, len = sel.options.length; i < len; i++) { opt = sel.options[i]; if (opt.selected) { opts.push(opt.value); } } return opts; }
9687 function getInstance(x, y) { for (var i in x) { if (x[i]['InstanceID'] == y) return x[i]; } return null; }
9688 function getItem(x, y, z) { for (var i in x) { if (x[i][y] == z) return x[i]; } return null; }
views/translations/default_fr.handlebars
+2 -6
@@ -56,8 +56,8 @@
56 <div id="termShellContextMenu" class="contextMenu noselect" style="display:none;min-width:0px">
57 <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Admin Shell</b></div>
58 <div id="cxtermps" class="cmtext" onclick="cmtermaction(6,event)">Admin PowerShell</div>
59 - <div id="cxtermunorm" class="cmtext" style="display:none" onclick="cmtermaction(8,event)">Shell utilisateur</div>
60 - <div id="cxtermups" class="cmtext" style="display:none" onclick="cmtermaction(9,event)">User PowerShell</div>
59 + <div id="cxtermunorm" class="cmtext" onclick="cmtermaction(8,event)">Shell utilisateur</div>
60 + <div id="cxtermups" class="cmtext" onclick="cmtermaction(9,event)">User PowerShell</div>
61 </div>
62 <div id="termShellContextMenuLinux" class="contextMenu noselect" style="display:none;min-width:0px">
63 <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Root Shell</b></div>
@@ -1104,10 +1104,6 @@
1104 if (nightMode) { QC('body').add('night'); }
1105 toggleFullScreen();
1106
1107 - // Debug
1108 - QV('cxtermunorm', debugmode == 1);
1109 - QV('cxtermups', debugmode == 1);
1110 -
1107 // Setup page visuals
1108 if (args.hide) {
1109 var hide = parseInt(args.hide);
views/translations/default_ja.handlebars
+2 -6
@@ -56,8 +56,8 @@
56 <div id="termShellContextMenu" class="contextMenu noselect" style="display:none;min-width:0px">
57 <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>管理シェル</b></div>
58 <div id="cxtermps" class="cmtext" onclick="cmtermaction(6,event)">管理者PowerShell</div>
59 - <div id="cxtermunorm" class="cmtext" style="display:none" onclick="cmtermaction(8,event)">ユーザーシェル</div>
60 - <div id="cxtermups" class="cmtext" style="display:none" onclick="cmtermaction(9,event)">ユーザーPowerShell</div>
59 + <div id="cxtermunorm" class="cmtext" onclick="cmtermaction(8,event)">ユーザーシェル</div>
60 + <div id="cxtermups" class="cmtext" onclick="cmtermaction(9,event)">ユーザーPowerShell</div>
61 </div>
62 <div id="termShellContextMenuLinux" class="contextMenu noselect" style="display:none;min-width:0px">
63 <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>ルートシェル</b></div>
@@ -1104,10 +1104,6 @@
1104 if (nightMode) { QC('body').add('night'); }
1105 toggleFullScreen();
1106
1107 - // Debug
1108 - QV('cxtermunorm', debugmode == 1);
1109 - QV('cxtermups', debugmode == 1);
1110 -
1107 // Setup page visuals
1108 if (args.hide) {
1109 var hide = parseInt(args.hide);
views/translations/default_pt.handlebars
+2 -6
@@ -56,8 +56,8 @@
56 <div id="termShellContextMenu" class="contextMenu noselect" style="display:none;min-width:0px">
57 <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Admin Shell</b></div>
58 <div id="cxtermps" class="cmtext" onclick="cmtermaction(6,event)">Admin PowerShell</div>
59 - <div id="cxtermunorm" class="cmtext" style="display:none" onclick="cmtermaction(8,event)">User Shell</div>
60 - <div id="cxtermups" class="cmtext" style="display:none" onclick="cmtermaction(9,event)">User PowerShell</div>
59 + <div id="cxtermunorm" class="cmtext" onclick="cmtermaction(8,event)">User Shell</div>
60 + <div id="cxtermups" class="cmtext" onclick="cmtermaction(9,event)">User PowerShell</div>
61 </div>
62 <div id="termShellContextMenuLinux" class="contextMenu noselect" style="display:none;min-width:0px">
63 <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Root Shell</b></div>
@@ -1104,10 +1104,6 @@
1104 if (nightMode) { QC('body').add('night'); }
1105 toggleFullScreen();
1106
1107 - // Debug
1108 - QV('cxtermunorm', debugmode == 1);
1109 - QV('cxtermups', debugmode == 1);
1110 -
1107 // Setup page visuals
1108 if (args.hide) {
1109 var hide = parseInt(args.hide);
views/translations/download-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=/styles/style.css media=screen rel=stylesheet title=CSS><title>MeshCentral - Download</title><div id=container style=max-height:100vh><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=max-height:calc(100vh-138px)><div id=column_l><h1>Stažení</h1><p style=margin-left:20px>{{{message}}}</p><br></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right>{{{rootCertLink}}} &nbsp;<a href=terms>Terms &amp; Privacy</a></table></div></div></div>
\ No newline at end of file
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=/styles/style.css media=screen rel=stylesheet title=CSS><title>MeshCentral - Download</title><div id=container style=max-height:100vh><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=max-height:calc(100vh-138px)><div id=column_l><h1>Stažení</h1><p style=margin-left:20px>{{{message}}}</p><br></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right>{{{rootCertLink}}} &nbsp;<a href=terms>Podmínky &amp; soukromí</a></table></div></div></div>
\ No newline at end of file
views/translations/download_cs.handlebars
+1 -1
@@ -30,7 +30,7 @@
30 <td style="text-align:left"></td>
31 <td style="text-align:right">
32 {{{rootCertLink}}}
33 - &nbsp;<a href="terms">Terms &amp; Privacy</a>
33 + &nbsp;<a href="terms">Podmínky &amp; soukromí</a>
34 </td>
35 </tr>
36 </tbody></table>
views/translations/error404-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><title>MeshCentral</title><body id=body onload='"undefined"!=typeof startup&&startup()'style=display:none;overflow:hidden><div id=container><div id=masthead class=noselect style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_leftbar><div style=height:16px></div></div><div id=topbar class="noselect style3"style=height:24px;position:relative><div id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu()>♦<div id=uiMenu style=display:none><div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"><div class=uiSelector1></div></div><div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"><div class=uiSelector2></div></div><div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Fixed width interface"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Toggle night mode"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><div style=text-align:center;padding-top:30px;font-size:200px;font-family:Arial;color:#bbb><b>404</b></div><div style=text-align:center;font-size:20px;font-family:Arial;color:#999>Tato stránka neexistuje</div><div style=text-align:center;padding-top:20px;font-size:20px;font-family:Arial;color:#999><a href=/ style=text-decoration:none><b>Go to main site</b></a></div></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right><a href=/ >Zpět</a></table></div></div><script>"use strict";var uiMode=parseInt(getstore("uiMode",1)),webPageStackMenu=!1,webPageFullScreen=!0,nightMode="1"==getstore("_nightMode","0"),terms="{{{terms}}}";function showUserInterfaceSelectMenu(){Q("uiViewButton1").classList.remove("uiSelectorSel"),Q("uiViewButton2").classList.remove("uiSelectorSel"),Q("uiViewButton3").classList.remove("uiSelectorSel"),Q("uiViewButton4").classList.remove("uiSelectorSel");try{Q("uiViewButton"+uiMode).classList.add("uiSelectorSel")}catch(e){}QV("uiMenu","none"==QS("uiMenu").display),nightMode&&Q("uiViewButton4").classList.add("uiSelectorSel")}function userInterfaceSelectMenu(e){e&&putstore("uiMode",uiMode=e),webPageFullScreen=uiMode<3,webPageStackMenu=!0,toggleFullScreen(0),toggleStackMenu(0),QC("column_l").add("room4submenu")}function toggleNightMode(){(nightMode=!nightMode)?QC("body").add("night"):QC("body").remove("night"),putstore("_nightMode",nightMode?"1":"0")}function toggleFullScreen(e){1===e&&putstore("webPageFullScreen",webPageFullScreen=!webPageFullScreen);0==webPageFullScreen?(QC("body").remove("menu_stack"),QC("body").remove("fullscreen"),QC("body").remove("arg_hide")):QC("body").add("fullscreen"),QV("body",!0)}function toggleStackMenu(e){1==webPageFullScreen&&(1===e&&putstore("webPageStackMenu",webPageStackMenu=!webPageStackMenu),0==webPageStackMenu?QC("body").remove("menu_stack"):QC("body").add("menu_stack"))}function putstore(e,t){try{if("undefined"==typeof localStorage)return;localStorage.setItem(e,t)}catch(e){}}function getstore(e,t){try{if("undefined"==typeof localStorage)return t;var o=localStorage.getItem(e);return null==o||null==o?t:o}catch(e){return t}}""!=terms&&QH("column_l",decodeURIComponent(terms)),QV("column_l",!0),userInterfaceSelectMenu()</script>
\ No newline at end of file
1 +<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><title>MeshCentral</title><body id=body onload='"undefined"!=typeof startup&&startup()'style=display:none;overflow:hidden><div id=container><div id=masthead class=noselect style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_leftbar><div style=height:16px></div></div><div id=topbar class="noselect style3"style=height:24px;position:relative><div id=uiMenuButton title="Výběr rozhraní uživatele"onclick=showUserInterfaceSelectMenu()>♦<div id=uiMenu style=display:none><div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Rozhraní levé lišty"><div class=uiSelector1></div></div><div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Rozhraní horní lišty"><div class=uiSelector2></div></div><div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Rozhraní s pevnou šířkou"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Přepnout na noční mód"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><div style=text-align:center;padding-top:30px;font-size:200px;font-family:Arial;color:#bbb><b>404</b></div><div style=text-align:center;font-size:20px;font-family:Arial;color:#999>Tato stránka neexistuje</div><div style=text-align:center;padding-top:20px;font-size:20px;font-family:Arial;color:#999><a href=/ style=text-decoration:none><b>Zpět na hlavní stránku</b></a></div></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right><a href=/ >Zpět</a></table></div></div><script>"use strict";var uiMode=parseInt(getstore("uiMode",1)),webPageStackMenu=!1,webPageFullScreen=!0,nightMode="1"==getstore("_nightMode","0"),terms="{{{terms}}}";function showUserInterfaceSelectMenu(){Q("uiViewButton1").classList.remove("uiSelectorSel"),Q("uiViewButton2").classList.remove("uiSelectorSel"),Q("uiViewButton3").classList.remove("uiSelectorSel"),Q("uiViewButton4").classList.remove("uiSelectorSel");try{Q("uiViewButton"+uiMode).classList.add("uiSelectorSel")}catch(e){}QV("uiMenu","none"==QS("uiMenu").display),nightMode&&Q("uiViewButton4").classList.add("uiSelectorSel")}function userInterfaceSelectMenu(e){e&&putstore("uiMode",uiMode=e),webPageFullScreen=uiMode<3,webPageStackMenu=!0,toggleFullScreen(0),toggleStackMenu(0),QC("column_l").add("room4submenu")}function toggleNightMode(){(nightMode=!nightMode)?QC("body").add("night"):QC("body").remove("night"),putstore("_nightMode",nightMode?"1":"0")}function toggleFullScreen(e){1===e&&putstore("webPageFullScreen",webPageFullScreen=!webPageFullScreen);0==webPageFullScreen?(QC("body").remove("menu_stack"),QC("body").remove("fullscreen"),QC("body").remove("arg_hide")):QC("body").add("fullscreen"),QV("body",!0)}function toggleStackMenu(e){1==webPageFullScreen&&(1===e&&putstore("webPageStackMenu",webPageStackMenu=!webPageStackMenu),0==webPageStackMenu?QC("body").remove("menu_stack"):QC("body").add("menu_stack"))}function putstore(e,t){try{if("undefined"==typeof localStorage)return;localStorage.setItem(e,t)}catch(e){}}function getstore(e,t){try{if("undefined"==typeof localStorage)return t;var o=localStorage.getItem(e);return null==o||null==o?t:o}catch(e){return t}}""!=terms&&QH("column_l",decodeURIComponent(terms)),QV("column_l",!0),userInterfaceSelectMenu()</script>
\ No newline at end of file
views/translations/error404-mobile-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><title>MeshCentral</title><style type=text/css>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;max-width:100%;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:4px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%><div id=column_l style=padding-left:10px;padding-right:10px><div style=text-align:center;padding-top:30px;font-size:100px;font-family:Arial;color:#bbb><b>404</b></div><div style=text-align:center;font-size:16px;font-family:Arial;color:#999>Tato stránka neexistuje</div><div style=text-align:center;padding-top:16px;font-size:20px;font-family:Arial;color:#999><a href=/ style=text-decoration:none><b>Go to main site</b></a></div></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table cellpadding=0 cellspacing=6 style=width:100%><tr><td style=text-align:left;color:#fff>{{{footer}}}<td style=text-align:right>{{{rootCertLink}}}&nbsp;<a href=/ >Zpět</a></table></div></div>
\ No newline at end of file
1 +<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><title>MeshCentral</title><style type=text/css>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;max-width:100%;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:4px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%><div id=column_l style=padding-left:10px;padding-right:10px><div style=text-align:center;padding-top:30px;font-size:100px;font-family:Arial;color:#bbb><b>404</b></div><div style=text-align:center;font-size:16px;font-family:Arial;color:#999>Tato stránka neexistuje</div><div style=text-align:center;padding-top:16px;font-size:20px;font-family:Arial;color:#999><a href=/ style=text-decoration:none><b>Zpět na hlavní stránku</b></a></div></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table cellpadding=0 cellspacing=6 style=width:100%><tr><td style=text-align:left;color:#fff>{{{footer}}}<td style=text-align:right>{{{rootCertLink}}}&nbsp;<a href=/ >Zpět</a></table></div></div>
\ No newline at end of file
views/translations/error404-mobile_cs.handlebars
+1 -1
@@ -37,7 +37,7 @@
37 <div id="column_l" style="padding-left:10px;padding-right:10px">
38 <div style="text-align:center;padding-top:30px;font-size:100px;font-family:Arial;color:#bbb"><b>404</b></div>
39 <div style="text-align:center;font-size:16px;font-family:Arial;color:#999">Tato stránka neexistuje</div>
40 - <div style="text-align:center;padding-top:16px;font-size:20px;font-family:Arial;color:#999"><a href="/" style="text-decoration:none"><b>Go to main site</b></a></div>
40 + <div style="text-align:center;padding-top:16px;font-size:20px;font-family:Arial;color:#999"><a href="/" style="text-decoration:none"><b>Zpět na hlavní stránku</b></a></div>
41 </div>
42 </div>
43 <div id="footer" style="height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0px">
views/translations/error404_cs.handlebars
+6 -6
@@ -23,20 +23,20 @@
23 <div style="height:16px"></div>
24 </div>
25 <div id="topbar" class="noselect style3" style="height:24px;position:relative">
26 - <div id="uiMenuButton" title="User interface selection" onclick="showUserInterfaceSelectMenu()">
26 + <div id="uiMenuButton" title="Výběr rozhraní uživatele" onclick="showUserInterfaceSelectMenu()">
27
28 <div id="uiMenu" style="display:none">
29 - <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Left bar interface"><div class="uiSelector1"></div></div>
30 - <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Top bar interface"><div class="uiSelector2"></div></div>
31 - <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Fixed width interface"><div class="uiSelector3"></div></div>
32 - <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Toggle night mode"><div class="uiSelector4"></div></div>
29 + <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Rozhraní levé lišty"><div class="uiSelector1"></div></div>
30 + <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Rozhraní horní lišty"><div class="uiSelector2"></div></div>
31 + <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Rozhraní s pevnou šířkou"><div class="uiSelector3"></div></div>
32 + <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Přepnout na noční mód"><div class="uiSelector4"></div></div>
33 </div>
34 </div>
35 </div>
36 <div id="column_l" style="max-height:calc(100vh - 135px);overflow-y:auto">
37 <div style="text-align:center;padding-top:30px;font-size:200px;font-family:Arial;color:#bbb"><b>404</b></div>
38 <div style="text-align:center;font-size:20px;font-family:Arial;color:#999">Tato stránka neexistuje</div>
39 - <div style="text-align:center;padding-top:20px;font-size:20px;font-family:Arial;color:#999"><a href="/" style="text-decoration:none"><b>Go to main site</b></a></div>
39 + <div style="text-align:center;padding-top:20px;font-size:20px;font-family:Arial;color:#999"><a href="/" style="text-decoration:none"><b>Zpět na hlavní stránku</b></a></div>
40 </div>
41 <div id="footer">
42 <table cellpadding="0" cellspacing="10" style="width: 100%">
views/translations/login-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script keeplink=1 src=scripts/u2f-api.js></script><title>{{{title}}} - Login</title><body id=body onload='"undefined"!=typeof startup&&startup()'class="arg_hide login"><div id=container><div id=masthead><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div></div><div id=topbar class="noselect style3"style=height:24px><div id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu()>♦<div id=uiMenu style=display:none><div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"><div class=uiSelector1></div></div><div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"><div class=uiSelector2></div></div><div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Fixed width interface"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Toggle night mode"><div class=uiSelector4></div></div></div></div></div><div id=column_l><h1>Vítejte</h1><div id=welcomeText style=display:none>Přihlašte se na různá svá nebo firemní zařízení odkudkoliv z celého světa pomocí technologie MeshCentral. Jednoduchá správa přes web. Jediné co potřebujete je agent na daném zařízení. Po instalaci uvidíte zařízení v sekci "Moje zařízení" a můžete toto zařízení ovládat.</div><table id=centralTable><tr><td id=welcomeimage><picture><img alt=""src=welcome.jpg style=border-radius:20px></picture><td id=logincell><div id=loginpanel style=display:none><form method=post><input type=hidden name=action value=login><div id=message1></div><div><b>Přihlásit</b></div><table><tr><td id=loginusername align=right width=100>Uživatel:<td><input id=username maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>Heslo:<td><input id=password type=password maxlength=256 name=password autocomplete=off onchange=validateLogin(2) onkeyup=validateLogin(2,event)><tr><td><div id=showPassHintLink style=display:none><a onclick="return showPassHint(event)"href=# style=cursor:pointer>Show Hint</a></div><td align=right><input id=loginButton type=submit value=Přihlásit disabled></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Zapomenuté jméno/heslo?</span> <a onclick="return xgo(3,event)"href=# style=cursor:pointer>Reset účtu</a>.</div><div id=newAccountDiv style=display:none;padding:2px>Nemáte účet? <a onclick="return xgo(2,event)"href=# style=cursor:pointer>Vytvořit</a>.</div><input id=loginformargs name=urlargs type=hidden></form></div><div id=createpanel style=display:none;position:relative><form method=post><input type=hidden name=action value=createaccount><div id=message2></div><div><b>Vytvoření účtu</b></div><div id=passwordPolicyCallout style=display:none></div><table><tr id=nuUserRow><td id=nuUser align=right width=100>Uživatel:<td><input id=ausername name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event)><tr><td id=nuEmail align=right width=100>Email:<td><input id=aemail name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event)><tr><td id=nuPass1 align=right>Heslo:<td><input id=apassword1 type=password name=password1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3,event) onkeyup=validateCreate(3,event)><tr><td id=nuPass2 align=right>Heslo:<td><input id=apassword2 type=password name=password2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4,event) onkeyup=validateCreate(4,event)><tr id=createPanelHint style=display:none><td id=nuHint align=right>Password Hint:<td><input id=apasswordhint name=apasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5,event) onkeyup=validateCreate(5,event)><tr id=newAccountPass title="Enter the account creation token"><td id=nuToken align=right>Creation Token:<td><input id=anewaccountpass type=password name=anewaccountpass autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6,event) onkeyup=validateCreate(6,event)><tr><td colspan=2><div style=float:right><input id=createButton type=submit value="Create Account"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Back to login</a> <input id=createformargs name=urlargs type=hidden></form></div><div id=resetpanel style=display:none><form method=post><input type=hidden name=action value=resetaccount><div id=message3></div><div><b>Reset hesla</b></div><table><tr><td align=right width=100>Email:<td><input id=remail name=email maxlength=256 onchange=validateReset() onkeyup=validateReset(event)><tr><td colspan=2><div style=float:right><input id=eresetButton type=submit value="Reset účtu"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Back to login</a> <input id=resetformargs name=urlargs type=hidden></form></div><div id=tokenpanel style=display:none><form method=post autocomplete=off><input type=hidden name=action value=tokenlogin> <input type=hidden name=hwstate value={{{hwstate}}}><div id=message4></div><table><tr><td align=right width=100>Login token:<td><input id=tokenInput name=token maxlength=50 onchange=checkToken(event) onpaste=resetCheckToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event)><br><input id=hwtokenInput name=hwtoken style=display:none><tr><td colspan=2 style=align-content:center><label><input id=tokenInputRemember name=remembertoken type=checkbox>Remember this device for 30 days.</label><tr><td colspan=2><div style=float:right><input id=tokenOkButton type=submit value=Login disabled></div><div style=float:right><input style=display:none;float:right id=securityKeyButton type=button value="Use Security Key"onclick=useSecurityKey()></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Back to login</a> <input id=tokenformargs name=urlargs type=hidden></form></div><div id=resettokenpanel style=display:none><form method=post><input type=hidden name=action value=resetaccount><div id=message5></div><table><tr><td align=right width=100>Login token:<td><input id=resetTokenInput name=token maxlength=50 onchange=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event)> <input id=resetHwtokenInput name=hwtoken style=display:none><tr><td colspan=2><div style=float:right><input id=resetTokenOkButton type=submit value=Login disabled></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Back to login</a> <input id=resettokenformargs name=urlargs type=hidden></form></div><div id=resetpasswordpanel style=display:none;position:relative><form method=post><input type=hidden name=action value=resetpassword><div id=message6></div><div id=rpasswordPolicyCallout style=display:none></div><table><tr><td id=rnuPass1 width=100 align=right>Heslo:<td><input id=rapassword1 type=password name=rpassword1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event)><tr><td id=rnuPass2 align=right>Heslo:<td><input id=rapassword2 type=password name=rpassword2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event)><tr id=resetpasswordpanelHint style=display:none><td id=rnuHint align=right>Password Hint:<td><input id=rapasswordhint name=rpasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event)><tr><td colspan=2><div style=float:right><input id=resetPassButton type=submit value="Reset hesla"disabled></div><div id=rpassWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Back to login</a> <input id=resetpasswordformargs name=urlargs type=hidden></form></div></table><br></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2>{{{rootCertLink}}} &nbsp;<a href=terms>Terms &amp; Privacy</a></div></div></div><div id=dialog style=display:none><div id=dialogHeader><div id=id_dialogclose style=float:right;padding:5px;cursor:pointer onclick=setDialogMode()><b>X</b></div><div id=id_dialogtitle style=padding:5px></div><div style=width:100%;margin:6px></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Zrušit onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)></div></div><script>"use strict";var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,passhint="{{{passhint}}}",loginMode="{{{loginmode}}}",newAccount="{{{newAccount}}}",newAccountPass=parseInt("{{{newAccountPass}}}"),emailCheck=!1,passRequirements="{{{passRequirements}}}",hardwareKeyChallenge=decodeURIComponent("{{{hkey}}}"),passRequirementsEx=null!=(passRequirements=""!=passRequirements?JSON.parse(decodeURIComponent(passRequirements)):{}).min||null!=passRequirements.max||null!=passRequirements.upper||null!=passRequirements.lower||null!=passRequirements.numeric||null!=passRequirements.nonalpha,features=parseInt("{{{features}}}"),welcomeText=decodeURIComponent("{{{welcometext}}}"),currentpanel=0,uiMode=parseInt(getstore("uiMode","1")),webPageFullScreen=!0,nightMode="1"==getstore("_nightMode","0"),publicKeyCredentialRequestOptions=null,messageid=parseInt("{{{messageid}}}"),okmessages=["","Hold on, reset mail sent."],failmessages=["Unable to create account.","Maximální počet účtů dosažen.","Existing account with this email address.","Invalid account creation token.","Username already exists.","Password rejected, use a different one.","Invalid email.","Účet nenalezen.","Invalid token, try again.","Unable to sent email.","Účet uzamknut.","Přístup zamítnut","Login failed, check username and password.","Password change requested.","IP address blocked, try again later."];if(0<messageid){var msg="";if(messageid<100&&messageid<okmessages.length?msg=okmessages[messageid]:100<=messageid&&messageid-100<failmessages.length&&(msg=failmessages[messageid-100]),""!=msg){msg=100<=messageid?'<span class="msg error"><b style=color:#8C001A>'+msg+"<b></span><br /><br />":'<span class="msg success"><b>'+msg+"</b></span><br /><br />";for(var i=1;i<7;i++)QH("message"+i,msg)}}if(0<window.location.href.indexOf("?")){var urlargs=window.location.href.substring(window.location.href.indexOf("?"));Q("loginformargs").value=urlargs,Q("createformargs").value=urlargs,Q("resetformargs").value=urlargs,Q("tokenformargs").value=urlargs,Q("resettokenformargs").value=urlargs,Q("resetpasswordformargs").value=urlargs}function startup(){if(0==(32&features)){var e=null;try{e=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==e||0==top.active))return void(top.location=self.location)}if(2097152&features&&(QH("loginusername","Email:"),QH("resetAccountSpan","Zapomenuté heslo?"),QV("nuUserRow",!1)),nightMode&&QC("body").add("night"),QV("createPanelHint",!0===passRequirements.hint),QV("resetpasswordpanelHint",!0===passRequirements.hint),welcomeText&&QH("welcomeText",welcomeText),QH("welcomeText",addTextLink("MeshCentral",Q("welcomeText").innerHTML,"http://www.meshcommander.com/meshcentral2")),QV("welcomeText",!0),(window.onresize=center)(),validateLogin(),validateCreate(),0!=loginMode.length?go(parseInt(loginMode)):go(1),QV("newAccountDiv","1"===newAccount||"true"===newAccount),null!=passhint&&0<passhint.length&&QV("showPassHintLink",!0),QV("newAccountPass",1==newAccountPass),QV("resetAccountDiv",1==emailCheck),QV("hrAccountDiv",1==emailCheck||1==newAccountPass),"4"==loginMode){try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}QV("securityKeyButton",null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type)}if("5"==loginMode){try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var a=0;a<hardwareKeyChallenge.keyIds.length;a++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[a]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){var a={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};Q("resetHwtokenInput").value=JSON.stringify(a),QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}userInterfaceSelectMenu()}function useSecurityKey(){if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var e=0;e<hardwareKeyChallenge.keyIds.length;e++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[e]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){var a={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};Q("hwtokenInput").value=JSON.stringify(a),QE("tokenOkButton",!0),Q("tokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}function showPassHint(e){return messagebox("Password Hint",passhint),haltEvent(e),!1}function xgo(e,a){return QV("message1",!1),QV("message2",!1),QV("message3",!1),QV("message4",!1),QV("message5",!1),QV("message6",!1),go(e),haltEvent(a),!1}function go(e){currentpanel=e,setDialogMode(0),QV("showPassHintLink",!1),QV("loginpanel",1==e),QV("createpanel",2==e),QV("resetpanel",3==e),QV("tokenpanel",4==e),QV("resettokenpanel",5==e),QV("resetpasswordpanel",6==e),1==e&&Q("username").focus(),2==e&&(2097152&features?Q("aemail").focus():Q("ausername").focus()),3==e&&Q("remail").focus(),4==e&&Q("tokenInput").focus(),5==e&&Q("resetTokenInput").focus(),6==e&&Q("rapassword1").focus()}function validateLogin(e,a){var n=0<Q("username").value.length&&-1==Q("username").value.indexOf(" ")&&0<Q("password").value.length;QE("loginButton",n),setDialogMode(0),null!=a&&13==a.keyCode&&(1==e&&""!=Q("username").value?Q("password").focus():2==e&&""!=Q("password").value&&Q("loginButton").click()),null!=a&&haltEvent(a)}function validateCreate(e,a){setDialogMode(0);var n=!1;n=!!(2097152&features)||0<Q("ausername").value.length&&-1==Q("ausername").value.indexOf(" ")&&-1==Q("ausername").value.indexOf('"')&&-1==Q("ausername").value.indexOf(",");var t=1==validateEmail(Q("aemail").value),r=0<Q("apassword1").value.length,s=0<Q("apassword2").value.length&&Q("apassword2").value==Q("apassword1").value,o=0==newAccountPass||0<Q("anewaccountpass").value.length,l=n&&t&&r&&s&&o;if(QS("nuUser").color=n?"black":"#7b241c",QS("nuEmail").color=t?"black":"#7b241c",QS("nuPass1").color=r?"black":"#7b241c",QS("nuPass2").color=s?"black":"#7b241c",QS("nuToken").color=o?"black":"#7b241c",""==Q("apassword1").value)QH("passWarning",""),QV("passwordPolicyCallout",!1);else if(passRequirementsEx){0==checkPasswordRequirements(Q("apassword1").value,passRequirements)?(l=!1,QS("nuPass1").color="#7b241c",QS("nuPass2").color="#7b241c",QH("passWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Password Policy</b><div>"),QV("passwordPolicyCallout",!0),QH("passwordPolicyCallout",passwordPolicyText(Q("apassword1").value))):(QH("passWarning",""),QV("passwordPolicyCallout",!1))}else{var i=checkPasswordStrength(Q("apassword1").value);80<=i?QH("passWarning","<span style=color:green><b>Silné heslo</b><span>"):60<=i?QH("passWarning","<span style=color:blue><b>Dobré heslo</b><span>"):QH("passWarning","<span style=color:red><b>Slabé heslo</b><span>")}null!=a&&13==a.keyCode&&(1==e&&n&&Q("aemail").focus(),2==e&&t&&Q("apassword1").focus(),3==e&&r&&Q("apassword2").focus(),4==e&&s&&(!0===passRequirements.hint?Q("apasswordhint").focus():e=5),5==e&&(1==newAccountPass?Q("anewaccountpass").focus():e=6),6==e&&Q("createButton").click()),null!=a&&haltEvent(a),QE("createButton",l)}function validatePassReset(e,a){setDialogMode(0);var n=0<Q("rapassword1").value.length,t=0<Q("rapassword2").value.length&&Q("rapassword2").value==Q("rapassword1").value,r=n&&t;if(QS("rnuPass1").color=n?"black":"#7b241c",QS("rnuPass2").color=t?"black":"#7b241c",""==Q("rapassword1").value)QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1);else if(passRequirementsEx){0==checkPasswordRequirements(Q("rapassword1").value,passRequirements)?(r=!1,QS("rnuPass1").color="#7b241c",QS("rnuPass2").color="#7b241c",QH("rpassWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Password Policy</b><div>"),QV("rpasswordPolicyCallout",!0),QH("rpasswordPolicyCallout",passwordPolicyText(Q("rapassword1").value))):(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1))}else{var s=checkPasswordStrength(Q("rapassword1").value);80<=s?QH("rpassWarning","<span style=color:green><b>Silné heslo</b><span>"):60<=s?QH("rpassWarning","<span style=color:blue><b>Dobré heslo</b><span>"):QH("rpassWarning","<span style=color:red><b>Slabé heslo</b><span>")}null!=a&&13==a.keyCode&&(2==e&&Q("rapassword1").focus(),3==e&&Q("rapassword2").focus(),4==e&&Q("rapasswordhint").focus(),6==e&&Q("resetPassButton").click()),null!=a&&haltEvent(a),QE("resetPassButton",r)}function passwordPolicyText(e){var a="<div style=text-align:left>",n=strCount(e);return passRequirements.min&&(null==e||e.length<passRequirements.min)&&(a+=format("Minimum length of {0}",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(a+=format("Maximum length of {0}",passRequirements.max)+"<br />"),passRequirements.upper&&(null==e||n.upper<passRequirements.upper)&&(a+=format("{0} upper case",passRequirements.upper)+"<br />"),passRequirements.lower&&(null==e||n.lower<passRequirements.lower)&&(a+=format("{0} lower case",passRequirements.lower)+"<br />"),passRequirements.numeric&&(null==e||n.numeric<passRequirements.numeric)&&(a+=format("{0} numeric",passRequirements.numeric)+"<br />"),passRequirements.nonalpha&&(null==e||n.nonalpha<passRequirements.nonalpha)&&(a+=format("{0} non-alphanumeric",passRequirements.nonalpha)+"<br />"),a+="</div>"}function showPasswordPolicy(){messagebox("Password Policy",passwordPolicyText())}function validateReset(e){setDialogMode(0);var a=validateEmail(Q("remail").value);QE("eresetButton",a),null!=e&&13==e.keyCode&&1==a&&Q("eresetButton").click(),null!=e&&haltEvent(e)}function checkPasswordStrength(e){var a=0,n={},t=0,r={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var s=0;s<e.length;s++)n[e[s]]=(n[e[s]]||0)+1,a+=5/n[e[s]];for(var o in r)t+=1==r[o]?1:0;return parseInt(a+10*(t-1))}function checkPasswordRequirements(e,a){if(null==a||""==a||"object"!=typeof a)return!0;if(a.min&&e.length<a.min)return!1;if(a.max&&e.length>a.max)return!1;var n=strCount(e);return!(a.numeric&&n.numeric<a.numeric)&&(!(a.lower&&n.lower<a.lower)&&(!(a.upper&&n.upper<a.upper)&&!(a.nonalpha&&n.nonalpha<a.nonalpha)))}function strCount(e){var a={numeric:0,lower:0,upper:0,nonalpha:0};if("string"!=typeof e)return a;for(var n=0;n<e.length;n++)/\d/.test(e[n])&&a.numeric++,/[a-z]/.test(e[n])&&a.lower++,/[A-Z]/.test(e[n])&&a.upper++,/\W/.test(e[n])&&a.nonalpha++;return a}function checkToken(){var e=Q("tokenInput").value,a=e.split(" ").join("");e!=a&&(Q("tokenInput").value=a),QE("tokenOkButton",6==Q("tokenInput").value.length||8==Q("tokenInput").value.length||44==Q("tokenInput").value.length)}function resetCheckToken(){var e=Q("resetTokenInput").value,a=e.split(" ").join("");e!=a&&(Q("resetTokenInput").value=a),QE("resetTokenOkButton",6==Q("resetTokenInput").value.length||8==Q("resetTokenInput").value.length||44==Q("resetTokenInput").value.length)}var xxcurrentView=0;function setDialogMode(e,a,n,t,r,s){xxdialogMode=e,xxdialogFunc=t,xxdialogButtons=n,xxdialogTag=s,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&n),QV("idx_dlgCancelButton",2&n),QV("id_dialogclose",2&n||8&n),QV("idx_dlgButtonBar",7&n),a&&QH("id_dialogtitle",a);for(var o=1;o<24;o++)QV("dialog"+o,o==e);QV("dialog",e),r&&(2==e?QH("id_dialogOptions",r):QH("id_dialogMessage",r))}function dialogclose(e){var a=xxdialogFunc,n=xxdialogButtons,t=xxdialogTag;setDialogMode(),(8&n||e)&&a&&a(e,t)}function toggleFullScreen(e){0==webPageFullScreen?QC("body").remove("fullscreen"):QC("body").add("fullscreen"),QV("body",!0),center()}function showUserInterfaceSelectMenu(){Q("uiViewButton1").classList.remove("uiSelectorSel"),Q("uiViewButton2").classList.remove("uiSelectorSel"),Q("uiViewButton3").classList.remove("uiSelectorSel");try{Q("uiViewButton"+uiMode).classList.add("uiSelectorSel")}catch(e){}QV("uiMenu","none"==QS("uiMenu").display),nightMode&&Q("uiViewButton4").classList.add("uiSelectorSel")}function userInterfaceSelectMenu(e){e&&putstore("uiMode",uiMode=e),webPageFullScreen=uiMode<3,toggleFullScreen(0)}function toggleNightMode(){(nightMode=!nightMode)?QC("body").add("night"):QC("body").remove("night"),putstore("_nightMode",nightMode?"1":"0")}function center(){if(0==webPageFullScreen)QS("centralTable")["margin-top"]="";else{var e=Q("column_l").clientHeight/2-220;e<0&&(e=0),QS("centralTable")["margin-top"]=e+"px"}}function messagebox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e,1)}function statusbox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e)}function getDocWidth(){return window.innerWidth?window.innerWidth:document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement.clientWidth:document.getElementsByTagName("body")[0].clientWidth}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function haltReturn(e){13==e.keyCode&&haltEvent(e)}function validateEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function putstore(e,a){try{if("undefined"==typeof localStorage)return;localStorage.setItem(e,a)}catch(e){}}function getstore(e,a){try{if("undefined"==typeof localStorage)return a;var n=localStorage.getItem(e);return null==n||null==n?a:n}catch(e){return a}}function format(e){var n=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,a){return void 0!==n[a]?n[a]:e})}function addTextLink(e,a,n){var t=a.toLowerCase().indexOf(e.toLowerCase());return-1==t?a:a.substring(0,t)+'<a href="'+n+'">'+e+"</a>"+a.substring(t+e.length)}</script>
\ No newline at end of file
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script keeplink=1 src=scripts/u2f-api.js></script><title>{{{title}}} - Login</title><body id=body onload='"undefined"!=typeof startup&&startup()'class="arg_hide login"><div id=container><div id=masthead><div class=title>{{{title}}}</div><div class=title2>{{{title2}}}</div></div><div id=topbar class="noselect style3"style=height:24px><div id=uiMenuButton title="Výběr rozhraní uživatele"onclick=showUserInterfaceSelectMenu()>♦<div id=uiMenu style=display:none><div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Rozhraní levé lišty"><div class=uiSelector1></div></div><div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Rozhraní horní lišty"><div class=uiSelector2></div></div><div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Rozhraní s pevnou šířkou"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Přepnout na noční mód"><div class=uiSelector4></div></div></div></div></div><div id=column_l><h1>Vítejte</h1><div id=welcomeText style=display:none>Přihlašte se na různá svá nebo firemní zařízení odkudkoliv z celého světa pomocí technologie MeshCentral. Jednoduchá správa přes web. Jediné co potřebujete je agent na daném zařízení. Po instalaci uvidíte zařízení v sekci "Moje zařízení" a můžete toto zařízení ovládat.</div><table id=centralTable><tr><td id=welcomeimage><picture><img alt=""src=welcome.jpg style=border-radius:20px></picture><td id=logincell><div id=loginpanel style=display:none><form method=post><input type=hidden name=action value=login><div id=message1></div><div><b>Přihlásit</b></div><table><tr><td id=loginusername align=right width=100>Uživatel:<td><input id=username maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>Heslo:<td><input id=password type=password maxlength=256 name=password autocomplete=off onchange=validateLogin(2) onkeyup=validateLogin(2,event)><tr><td><div id=showPassHintLink style=display:none><a onclick="return showPassHint(event)"href=# style=cursor:pointer>Zobrazit nápovědu</a></div><td align=right><input id=loginButton type=submit value=Přihlásit disabled></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Zapomenuté jméno/heslo?</span> <a onclick="return xgo(3,event)"href=# style=cursor:pointer>Reset účtu</a>.</div><div id=newAccountDiv style=display:none;padding:2px>Nemáte účet? <a onclick="return xgo(2,event)"href=# style=cursor:pointer>Vytvořit</a>.</div><input id=loginformargs name=urlargs type=hidden></form></div><div id=createpanel style=display:none;position:relative><form method=post><input type=hidden name=action value=createaccount><div id=message2></div><div><b>Vytvoření účtu</b></div><div id=passwordPolicyCallout style=display:none></div><table><tr id=nuUserRow><td id=nuUser align=right width=100>Uživatel:<td><input id=ausername name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event)><tr><td id=nuEmail align=right width=100>Email:<td><input id=aemail name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event)><tr><td id=nuPass1 align=right>Heslo:<td><input id=apassword1 type=password name=password1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3,event) onkeyup=validateCreate(3,event)><tr><td id=nuPass2 align=right>Heslo:<td><input id=apassword2 type=password name=password2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4,event) onkeyup=validateCreate(4,event)><tr id=createPanelHint style=display:none><td id=nuHint align=right>Nápověda k heslu:<td><input id=apasswordhint name=apasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5,event) onkeyup=validateCreate(5,event)><tr id=newAccountPass title="Zadejte token pro vytvoření účtu"><td id=nuToken align=right>Vytvoření tokenu:<td><input id=anewaccountpass type=password name=anewaccountpass autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6,event) onkeyup=validateCreate(6,event)><tr><td colspan=2><div style=float:right><input id=createButton type=submit value="Vytvořit účet"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zpět na přihlášení</a> <input id=createformargs name=urlargs type=hidden></form></div><div id=resetpanel style=display:none><form method=post><input type=hidden name=action value=resetaccount><div id=message3></div><div><b>Reset hesla</b></div><table><tr><td align=right width=100>Email:<td><input id=remail name=email maxlength=256 onchange=validateReset() onkeyup=validateReset(event)><tr><td colspan=2><div style=float:right><input id=eresetButton type=submit value="Reset účtu"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zpět na přihlášení</a> <input id=resetformargs name=urlargs type=hidden></form></div><div id=tokenpanel style=display:none><form method=post autocomplete=off><input type=hidden name=action value=tokenlogin> <input type=hidden name=hwstate value={{{hwstate}}}><div id=message4></div><table><tr><td align=right width=100>Přihlašovací token:<td><input id=tokenInput name=token maxlength=50 onchange=checkToken(event) onpaste=resetCheckToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event)><br><input id=hwtokenInput name=hwtoken style=display:none><tr><td colspan=2 style=align-content:center><label><input id=tokenInputRemember name=remembertoken type=checkbox>Zapamatovat toto zařízení 30 dní.</label><tr><td colspan=2><div style=float:right><input id=tokenOkButton type=submit value=Přihlášení disabled></div><div style=float:right><input style=display:none;float:right id=securityKeyButton type=button value="Použít bezpečnostní klíč"onclick=useSecurityKey()></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zpět na přihlášení</a> <input id=tokenformargs name=urlargs type=hidden></form></div><div id=resettokenpanel style=display:none><form method=post><input type=hidden name=action value=resetaccount><div id=message5></div><table><tr><td align=right width=100>Přihlašovací token:<td><input id=resetTokenInput name=token maxlength=50 onchange=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event)> <input id=resetHwtokenInput name=hwtoken style=display:none><tr><td colspan=2><div style=float:right><input id=resetTokenOkButton type=submit value=Přihlášení disabled></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zpět na přihlášení</a> <input id=resettokenformargs name=urlargs type=hidden></form></div><div id=resetpasswordpanel style=display:none;position:relative><form method=post><input type=hidden name=action value=resetpassword><div id=message6></div><div id=rpasswordPolicyCallout style=display:none></div><table><tr><td id=rnuPass1 width=100 align=right>Heslo:<td><input id=rapassword1 type=password name=rpassword1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event)><tr><td id=rnuPass2 align=right>Heslo:<td><input id=rapassword2 type=password name=rpassword2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event)><tr id=resetpasswordpanelHint style=display:none><td id=rnuHint align=right>Nápověda k heslu:<td><input id=rapasswordhint name=rpasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event)><tr><td colspan=2><div style=float:right><input id=resetPassButton type=submit value="Reset hesla"disabled></div><div id=rpassWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zpět na přihlášení</a> <input id=resetpasswordformargs name=urlargs type=hidden></form></div></table><br></div><div id=footer><div class=footer1>{{{footer}}}</div><div class=footer2>{{{rootCertLink}}} &nbsp;<a href=terms>Podmínky &amp; soukromí</a></div></div></div><div id=dialog style=display:none><div id=dialogHeader><div id=id_dialogclose style=float:right;padding:5px;cursor:pointer onclick=setDialogMode()><b>X</b></div><div id=id_dialogtitle style=padding:5px></div><div style=width:100%;margin:6px></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Zrušit onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)></div></div><script>"use strict";var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,passhint="{{{passhint}}}",loginMode="{{{loginmode}}}",newAccount="{{{newAccount}}}",newAccountPass=parseInt("{{{newAccountPass}}}"),emailCheck=!1,passRequirements="{{{passRequirements}}}",hardwareKeyChallenge=decodeURIComponent("{{{hkey}}}"),passRequirementsEx=null!=(passRequirements=""!=passRequirements?JSON.parse(decodeURIComponent(passRequirements)):{}).min||null!=passRequirements.max||null!=passRequirements.upper||null!=passRequirements.lower||null!=passRequirements.numeric||null!=passRequirements.nonalpha,features=parseInt("{{{features}}}"),welcomeText=decodeURIComponent("{{{welcometext}}}"),currentpanel=0,uiMode=parseInt(getstore("uiMode","1")),webPageFullScreen=!0,nightMode="1"==getstore("_nightMode","0"),publicKeyCredentialRequestOptions=null,messageid=parseInt("{{{messageid}}}"),okmessages=["","Vydržte, email je na cestě."],failmessages=["Nelze vytvořit účet.","Maximální počet účtů dosažen.","Existuje účet s tímto emailem.","Neplatný token pro vytvoření účtu.","Uživatel již existuje.","Heslo odmítnuto, zkuste jiné.","Neplatný email.","Účet nenalezen.","Neplatný token, zkuste znovu.","Nelze poslat email.","Účet uzamknut.","Přístup zamítnut","Neplatné přihlášení, zkontrolujte jméno a heslo.","Vyžaduje se změna hesla.","IP adresa blokována, zkuste to později."];if(0<messageid){var msg="";if(messageid<100&&messageid<okmessages.length?msg=okmessages[messageid]:100<=messageid&&messageid-100<failmessages.length&&(msg=failmessages[messageid-100]),""!=msg){msg=100<=messageid?'<span class="msg error"><b style=color:#8C001A>'+msg+"<b></span><br /><br />":'<span class="msg success"><b>'+msg+"</b></span><br /><br />";for(var i=1;i<7;i++)QH("message"+i,msg)}}if(0<window.location.href.indexOf("?")){var urlargs=window.location.href.substring(window.location.href.indexOf("?"));Q("loginformargs").value=urlargs,Q("createformargs").value=urlargs,Q("resetformargs").value=urlargs,Q("tokenformargs").value=urlargs,Q("resettokenformargs").value=urlargs,Q("resetpasswordformargs").value=urlargs}function startup(){if(0==(32&features)){var e=null;try{e=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==e||0==top.active))return void(top.location=self.location)}if(2097152&features&&(QH("loginusername","Email:"),QH("resetAccountSpan","Zapomenuté heslo?"),QV("nuUserRow",!1)),nightMode&&QC("body").add("night"),QV("createPanelHint",!0===passRequirements.hint),QV("resetpasswordpanelHint",!0===passRequirements.hint),welcomeText&&QH("welcomeText",welcomeText),QH("welcomeText",addTextLink("MeshCentral",Q("welcomeText").innerHTML,"http://www.meshcommander.com/meshcentral2")),QV("welcomeText",!0),(window.onresize=center)(),validateLogin(),validateCreate(),0!=loginMode.length?go(parseInt(loginMode)):go(1),QV("newAccountDiv","1"===newAccount||"true"===newAccount),null!=passhint&&0<passhint.length&&QV("showPassHintLink",!0),QV("newAccountPass",1==newAccountPass),QV("resetAccountDiv",1==emailCheck),QV("hrAccountDiv",1==emailCheck||1==newAccountPass),"4"==loginMode){try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}QV("securityKeyButton",null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type)}if("5"==loginMode){try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var a=0;a<hardwareKeyChallenge.keyIds.length;a++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[a]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){var a={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};Q("resetHwtokenInput").value=JSON.stringify(a),QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}userInterfaceSelectMenu()}function useSecurityKey(){if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var e=0;e<hardwareKeyChallenge.keyIds.length;e++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[e]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){var a={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};Q("hwtokenInput").value=JSON.stringify(a),QE("tokenOkButton",!0),Q("tokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}function showPassHint(e){return messagebox("Nápověda k heslu",passhint),haltEvent(e),!1}function xgo(e,a){return QV("message1",!1),QV("message2",!1),QV("message3",!1),QV("message4",!1),QV("message5",!1),QV("message6",!1),go(e),haltEvent(a),!1}function go(e){currentpanel=e,setDialogMode(0),QV("showPassHintLink",!1),QV("loginpanel",1==e),QV("createpanel",2==e),QV("resetpanel",3==e),QV("tokenpanel",4==e),QV("resettokenpanel",5==e),QV("resetpasswordpanel",6==e),1==e&&Q("username").focus(),2==e&&(2097152&features?Q("aemail").focus():Q("ausername").focus()),3==e&&Q("remail").focus(),4==e&&Q("tokenInput").focus(),5==e&&Q("resetTokenInput").focus(),6==e&&Q("rapassword1").focus()}function validateLogin(e,a){var n=0<Q("username").value.length&&-1==Q("username").value.indexOf(" ")&&0<Q("password").value.length;QE("loginButton",n),setDialogMode(0),null!=a&&13==a.keyCode&&(1==e&&""!=Q("username").value?Q("password").focus():2==e&&""!=Q("password").value&&Q("loginButton").click()),null!=a&&haltEvent(a)}function validateCreate(e,a){setDialogMode(0);var n=!1;n=!!(2097152&features)||0<Q("ausername").value.length&&-1==Q("ausername").value.indexOf(" ")&&-1==Q("ausername").value.indexOf('"')&&-1==Q("ausername").value.indexOf(",");var t=1==validateEmail(Q("aemail").value),s=0<Q("apassword1").value.length,r=0<Q("apassword2").value.length&&Q("apassword2").value==Q("apassword1").value,l=0==newAccountPass||0<Q("anewaccountpass").value.length,o=n&&t&&s&&r&&l;if(QS("nuUser").color=n?"black":"#7b241c",QS("nuEmail").color=t?"black":"#7b241c",QS("nuPass1").color=s?"black":"#7b241c",QS("nuPass2").color=r?"black":"#7b241c",QS("nuToken").color=l?"black":"#7b241c",""==Q("apassword1").value)QH("passWarning",""),QV("passwordPolicyCallout",!1);else if(passRequirementsEx){0==checkPasswordRequirements(Q("apassword1").value,passRequirements)?(o=!1,QS("nuPass1").color="#7b241c",QS("nuPass2").color="#7b241c",QH("passWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Politia hesla</b><div>"),QV("passwordPolicyCallout",!0),QH("passwordPolicyCallout",passwordPolicyText(Q("apassword1").value))):(QH("passWarning",""),QV("passwordPolicyCallout",!1))}else{var i=checkPasswordStrength(Q("apassword1").value);80<=i?QH("passWarning","<span style=color:green><b>Silné heslo</b><span>"):60<=i?QH("passWarning","<span style=color:blue><b>Dobré heslo</b><span>"):QH("passWarning","<span style=color:red><b>Slabé heslo</b><span>")}null!=a&&13==a.keyCode&&(1==e&&n&&Q("aemail").focus(),2==e&&t&&Q("apassword1").focus(),3==e&&s&&Q("apassword2").focus(),4==e&&r&&(!0===passRequirements.hint?Q("apasswordhint").focus():e=5),5==e&&(1==newAccountPass?Q("anewaccountpass").focus():e=6),6==e&&Q("createButton").click()),null!=a&&haltEvent(a),QE("createButton",o)}function validatePassReset(e,a){setDialogMode(0);var n=0<Q("rapassword1").value.length,t=0<Q("rapassword2").value.length&&Q("rapassword2").value==Q("rapassword1").value,s=n&&t;if(QS("rnuPass1").color=n?"black":"#7b241c",QS("rnuPass2").color=t?"black":"#7b241c",""==Q("rapassword1").value)QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1);else if(passRequirementsEx){0==checkPasswordRequirements(Q("rapassword1").value,passRequirements)?(s=!1,QS("rnuPass1").color="#7b241c",QS("rnuPass2").color="#7b241c",QH("rpassWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Politia hesla</b><div>"),QV("rpasswordPolicyCallout",!0),QH("rpasswordPolicyCallout",passwordPolicyText(Q("rapassword1").value))):(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1))}else{var r=checkPasswordStrength(Q("rapassword1").value);80<=r?QH("rpassWarning","<span style=color:green><b>Silné heslo</b><span>"):60<=r?QH("rpassWarning","<span style=color:blue><b>Dobré heslo</b><span>"):QH("rpassWarning","<span style=color:red><b>Slabé heslo</b><span>")}null!=a&&13==a.keyCode&&(2==e&&Q("rapassword1").focus(),3==e&&Q("rapassword2").focus(),4==e&&Q("rapasswordhint").focus(),6==e&&Q("resetPassButton").click()),null!=a&&haltEvent(a),QE("resetPassButton",s)}function passwordPolicyText(e){var a="<div style=text-align:left>",n=strCount(e);return passRequirements.min&&(null==e||e.length<passRequirements.min)&&(a+=format("Minimální délka {0}",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(a+=format("Maximální délka {0}",passRequirements.max)+"<br />"),passRequirements.upper&&(null==e||n.upper<passRequirements.upper)&&(a+=format("{0} velkých písmen",passRequirements.upper)+"<br />"),passRequirements.lower&&(null==e||n.lower<passRequirements.lower)&&(a+=format("{0} malých písmen",passRequirements.lower)+"<br />"),passRequirements.numeric&&(null==e||n.numeric<passRequirements.numeric)&&(a+=format("{0} čísel",passRequirements.numeric)+"<br />"),passRequirements.nonalpha&&(null==e||n.nonalpha<passRequirements.nonalpha)&&(a+=format("{0} speciálních znaků",passRequirements.nonalpha)+"<br />"),a+="</div>"}function showPasswordPolicy(){messagebox("Politia hesla",passwordPolicyText())}function validateReset(e){setDialogMode(0);var a=validateEmail(Q("remail").value);QE("eresetButton",a),null!=e&&13==e.keyCode&&1==a&&Q("eresetButton").click(),null!=e&&haltEvent(e)}function checkPasswordStrength(e){var a=0,n={},t=0,s={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var r=0;r<e.length;r++)n[e[r]]=(n[e[r]]||0)+1,a+=5/n[e[r]];for(var l in s)t+=1==s[l]?1:0;return parseInt(a+10*(t-1))}function checkPasswordRequirements(e,a){if(null==a||""==a||"object"!=typeof a)return!0;if(a.min&&e.length<a.min)return!1;if(a.max&&e.length>a.max)return!1;var n=strCount(e);return!(a.numeric&&n.numeric<a.numeric)&&(!(a.lower&&n.lower<a.lower)&&(!(a.upper&&n.upper<a.upper)&&!(a.nonalpha&&n.nonalpha<a.nonalpha)))}function strCount(e){var a={numeric:0,lower:0,upper:0,nonalpha:0};if("string"!=typeof e)return a;for(var n=0;n<e.length;n++)/\d/.test(e[n])&&a.numeric++,/[a-z]/.test(e[n])&&a.lower++,/[A-Z]/.test(e[n])&&a.upper++,/\W/.test(e[n])&&a.nonalpha++;return a}function checkToken(){var e=Q("tokenInput").value,a=e.split(" ").join("");e!=a&&(Q("tokenInput").value=a),QE("tokenOkButton",6==Q("tokenInput").value.length||8==Q("tokenInput").value.length||44==Q("tokenInput").value.length)}function resetCheckToken(){var e=Q("resetTokenInput").value,a=e.split(" ").join("");e!=a&&(Q("resetTokenInput").value=a),QE("resetTokenOkButton",6==Q("resetTokenInput").value.length||8==Q("resetTokenInput").value.length||44==Q("resetTokenInput").value.length)}var xxcurrentView=0;function setDialogMode(e,a,n,t,s,r){xxdialogMode=e,xxdialogFunc=t,xxdialogButtons=n,xxdialogTag=r,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&n),QV("idx_dlgCancelButton",2&n),QV("id_dialogclose",2&n||8&n),QV("idx_dlgButtonBar",7&n),a&&QH("id_dialogtitle",a);for(var l=1;l<24;l++)QV("dialog"+l,l==e);QV("dialog",e),s&&(2==e?QH("id_dialogOptions",s):QH("id_dialogMessage",s))}function dialogclose(e){var a=xxdialogFunc,n=xxdialogButtons,t=xxdialogTag;setDialogMode(),(8&n||e)&&a&&a(e,t)}function toggleFullScreen(e){0==webPageFullScreen?QC("body").remove("fullscreen"):QC("body").add("fullscreen"),QV("body",!0),center()}function showUserInterfaceSelectMenu(){Q("uiViewButton1").classList.remove("uiSelectorSel"),Q("uiViewButton2").classList.remove("uiSelectorSel"),Q("uiViewButton3").classList.remove("uiSelectorSel");try{Q("uiViewButton"+uiMode).classList.add("uiSelectorSel")}catch(e){}QV("uiMenu","none"==QS("uiMenu").display),nightMode&&Q("uiViewButton4").classList.add("uiSelectorSel")}function userInterfaceSelectMenu(e){e&&putstore("uiMode",uiMode=e),webPageFullScreen=uiMode<3,toggleFullScreen(0)}function toggleNightMode(){(nightMode=!nightMode)?QC("body").add("night"):QC("body").remove("night"),putstore("_nightMode",nightMode?"1":"0")}function center(){if(0==webPageFullScreen)QS("centralTable")["margin-top"]="";else{var e=Q("column_l").clientHeight/2-220;e<0&&(e=0),QS("centralTable")["margin-top"]=e+"px"}}function messagebox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e,1)}function statusbox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e)}function getDocWidth(){return window.innerWidth?window.innerWidth:document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement.clientWidth:document.getElementsByTagName("body")[0].clientWidth}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function haltReturn(e){13==e.keyCode&&haltEvent(e)}function validateEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function putstore(e,a){try{if("undefined"==typeof localStorage)return;localStorage.setItem(e,a)}catch(e){}}function getstore(e,a){try{if("undefined"==typeof localStorage)return a;var n=localStorage.getItem(e);return null==n||null==n?a:n}catch(e){return a}}function format(e){var n=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,a){return void 0!==n[a]?n[a]:e})}function addTextLink(e,a,n){var t=a.toLowerCase().indexOf(e.toLowerCase());return-1==t?a:a.substring(0,t)+'<a href="'+n+'">'+e+"</a>"+a.substring(t+e.length)}</script>
\ No newline at end of file
views/translations/login-mobile-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><script src=scripts/common-0.0.1.js></script><script src=scripts/u2f-api.js></script><title>MeshCentral - Login</title><style>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:6px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:10px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%;display:flex;align-items:center><div id=column_l style=padding:10px;width:100%><table style=width:100%><tr><td align=center><div id=loginpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;clear:both;display:none><form method=post><input type=hidden name=action value=login><div id=message1></div><div><b>Přihlásit</b></div><table><tr><td id=loginusername align=right width=100>Uživatel:<td><input id=username maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>Heslo:<td><input id=password type=password maxlength=256 name=password autocomplete=off onchange=validateLogin(2) onkeyup=validateLogin(2,event)><tr><td><div id=showPassHintLink style=display:none><a onclick=showPassHint() style=cursor:pointer>Show Hint</a></div><td align=right><input id=loginButton type=submit value=Přihlásit disabled></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Zapomenuté jméno/heslo?</span> <a onclick=xgo(3) style=cursor:pointer>Reset účtu</a>.</div><div id=newAccountDiv style=display:none;padding:2px>Nemáte účet? <a onclick=xgo(2) style=cursor:pointer>Vytvořit</a>.</div><input id=loginformargs name=urlargs type=hidden></form></div><div id=createpanel style=display:none><div style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;clear:both;position:relative><form method=post><input type=hidden name=action value=createaccount><div id=message2></div><div><b>Vytvoření účtu</b></div><div id=passwordPolicyCallout style="left:-5px;top:10px;width:100px;position:absolute;background-color:#ffc;border-radius:5px;padding:5px;box-shadow:0 0 15px #666;font-size:10px"></div><table><tr id=nuUserRow><td align=right width=100>Uživatel:<td><input id=ausername name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event)><tr><td align=right width=100>Email:<td><input id=aemail name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event)><tr><td align=right>Heslo:<td><input id=apassword1 type=password name=password1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3) onkeyup=validateCreate(3,event)><tr><td align=right>Heslo:<td><input id=apassword2 type=password name=password2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4) onkeyup=validateCreate(4,event)><tr id=createPanelHint style=display:none><td align=right>Nápověda k heslu:<td><input id=apasswordhint name=apasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5) onkeyup=validateCreate(5,event)><tr id=newAccountPass title="Enter the account creation token"><td align=right>Creation Token:<td><input id=anewaccountpass type=password name=anewaccountpass autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6) onkeyup=validateCreate(6,event)><tr><td colspan=2><div style=float:right><input id=createButton type=submit value="Create Account"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Back to login</a> <input id=createformargs name=urlargs type=hidden></form></div></div><div id=resetpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post><input type=hidden name=action value=resetaccount><div id=message3></div><div><b>Reset hesla</b></div><table><tr><td align=right width=100>Email:<td><input id=remail name=email maxlength=256 onchange=validateReset() onkeyup=validateReset(event)><tr><td colspan=2><div style=float:right><input id=eresetButton type=submit value="Reset účtu"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Back to login</a> <input id=resetformargs name=urlargs type=hidden></form></div><div id=tokenpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post autocomplete=off><input type=hidden name=action value=tokenlogin> <input type=hidden name=hwstate value={{{hwstate}}}><div id=message4></div><table><tr><td align=right width=100>Login token:<td><input id=tokenInput name=token maxlength=50 onchange=checkToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event) onfocus=checkTokenTimer(1) onblur=checkTokenTimer(0)> <input id=hwtokenInput name=hwtoken style=display:none><tr><td colspan=2 style=align-content:center><label><input id=tokenInputRemember name=remembertoken type=checkbox>Remember this device for 30 days.</label><tr><td colspan=2><div style=float:right><input id=tokenOkButton type=submit value=Login disabled></div><div style=float:right><input style=display:none;float:right id=securityKeyButton type=button value="Use Security Key"onclick=useSecurityKey()></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Back to login</a> <input id=tokenformargs name=urlargs type=hidden></form></div><div id=resettokenpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post autocomplete=off><input type=hidden name=action value=resetaccount><div id=message5></div><table><tr><td align=right width=100>Login token:<td><input id=resetTokenInput name=token maxlength=50 onchange=resetCheckToken(event) onpaste=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event)> <input id=resetHwtokenInput name=hwtoken style=display:none><tr><td colspan=2><div style=float:right><input id=resetTokenOkButton type=submit value=Login disabled></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Back to login</a> <input id=resettokenformargs name=urlargs type=hidden></form></div><div id=resetpasswordpanel style=position:relative;background-color:#979797;border-radius:16px;width:300px;padding:16px;text-align:center;display:none><form method=post><input type=hidden name=action value=resetpassword><div id=message6></div><div id=rpasswordPolicyCallout style="left:-10px;width:100px;display:none;position:absolute;background-color:#ffc;border-radius:5px;padding:5px;box-shadow:0 0 15px #666;font-size:10px"></div><table><tr><td id=rnuPass1 width=100 align=right>Heslo:<td><input id=rapassword1 type=password name=rpassword1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event)><tr><td id=rnuPass2 align=right>Heslo:<td><input id=rapassword2 type=password name=rpassword2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event)><tr id=resetpasswordpanelHint style=display:none><td id=rnuHint align=right>Password Hint:<td><input id=rapasswordhint name=rpasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event)><tr><td colspan=2><div style=float:right><input id=resetPassButton type=submit value="Reset hesla"disabled></div><div id=rpassWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Back to login</a> <input id=resetpasswordformargs name=urlargs type=hidden></form></div></table></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table cellpadding=0 cellspacing=6 style=width:100%><tr><td style=text-align:left;color:#fff>{{{footer}}}<td style=text-align:right>{{{rootCertLink}}}&nbsp;<a href=terms>Terms &amp; Privacy</a></table></div></div><div id=dialog style="z-index:1000;background-color:#eee;box-shadow:0 0 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:5px;position:fixed;top:180px;width:400px;display:none"><div style="width:100%;background-color:#036;color:#fff;border-radius:5px 5px 0 0"><div id=id_dialogclose style=float:right;padding:5px;cursor:pointer onclick=setDialogMode()><b>X</b></div><div id=id_dialogtitle style=padding:5px></div><div style=width:100%;margin:6px></div></div><div style=margin-right:16px;margin-left:8px><div id=dialog1 style=margin:auto;text-align:center;margin:3px><div id=id_dialogMessage style=padding:10px></div></div><div id=dialog2 style=margin:auto;margin:3px><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar style=padding:10px;margin-bottom:20px><input id=idx_dlgCancelButton type=button value=Zrušit style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK style=float:right;width:80px onclick=dialogclose(1)></div></div><script>"use strict";var loginMode="{{{loginmode}}}",newAccount="{{{newAccount}}}",passhint="{{{passhint}}}",newAccountPass=parseInt("{{{newAccountPass}}}"),emailCheck=!1,features=parseInt("{{{features}}}"),passRequirements="{{{passRequirements}}}",passRequirementsEx=null!=(passRequirements=""!=passRequirements?JSON.parse(decodeURIComponent(passRequirements)):{}).min||null!=passRequirements.max||null!=passRequirements.upper||null!=passRequirements.lower||null!=passRequirements.numeric||null!=passRequirements.nonalpha,hardwareKeyChallenge=decodeURIComponent("{{{hkey}}}"),publicKeyCredentialRequestOptions=null,currentpanel=0,messageid=parseInt("{{{messageid}}}"),okmessages=["","Hold on, reset mail sent."],failmessages=["Unable to create account.","Maximální počet účtů dosažen.","Existing account with this email address.","Invalid account creation token.","Username already exists.","Password rejected, use a different one.","Invalid email.","Účet nenalezen.","Invalid token, try again.","Unable to sent email.","Účet uzamknut.","Přístup zamítnut","Login failed, check username and password.","Password change requested.","IP address blocked, try again later."];if(0<messageid){var msg="";if(messageid<100&&messageid<okmessages.length?msg=okmessages[messageid]:100<=messageid&&messageid-100<failmessages.length&&(msg=failmessages[messageid-100]),""!=msg){msg=100<=messageid?'<span class="msg error"><b style=color:#8C001A>'+msg+"<b></span><br /><br />":'<span class="msg success"><b>'+msg+"</b></span><br /><br />";for(var i=1;i<7;i++)QH("message"+i,msg)}}if(0<window.location.href.indexOf("?")){var urlargs=window.location.href.substring(window.location.href.indexOf("?"));Q("loginformargs").value=urlargs,Q("createformargs").value=urlargs,Q("resetformargs").value=urlargs,Q("tokenformargs").value=urlargs,Q("resettokenformargs").value=urlargs,Q("resetpasswordformargs").value=urlargs}function startup(){if(0==(32&features)){var e=null;try{e=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==e||0==top.active))return void(top.location=self.location)}if(2097152&features&&(QH("loginusername","Email:"),QH("resetAccountSpan","Zapomenuté heslo?"),QV("nuUserRow",!1)),QV("createPanelHint",!0===passRequirements.hint),QV("resetpasswordpanelHint",!0===passRequirements.hint),(window.onresize=center)(),validateLogin(),validateCreate(),0!=loginMode.length?go(parseInt(loginMode)):go(1),QV("newAccountDiv","1"===newAccount||"true"===newAccount),!0===passRequirements.hint&&null!=passhint&&0<passhint.length&&QV("showPassHintLink",!0),QV("newAccountPass",1==newAccountPass),QV("resetAccountDiv",1==emailCheck),QV("hrAccountDiv",1==emailCheck||1==newAccountPass),"4"==loginMode){try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}QV("securityKeyButton",null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type)}if("5"==loginMode){try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var a=0;a<hardwareKeyChallenge.keyIds.length;a++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[a]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){var a={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};Q("resetHwtokenInput").value=JSON.stringify(a),QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}}function useSecurityKey(){if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var e=0;e<hardwareKeyChallenge.keyIds.length;e++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[e]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){var a={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};Q("hwtokenInput").value=JSON.stringify(a),QE("tokenOkButton",!0),Q("tokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}function showPassHint(){!0===passRequirements.hint&&messagebox("Password Hint",passhint)}function xgo(e){QV("message1",!1),QV("message2",!1),QV("message3",!1),QV("message4",!1),QV("message5",!1),QV("message6",!1),go(e)}function go(e){currentpanel=e,setDialogMode(0),QV("showPassHintLink",!1),QV("loginpanel",1==e),QV("createpanel",2==e),QV("resetpanel",3==e),QV("tokenpanel",4==e),QV("resettokenpanel",5==e),QV("resetpasswordpanel",6==e),1==e&&Q("username").focus(),2==e&&(2097152&features?Q("aemail").focus():Q("ausername").focus()),3==e&&Q("remail").focus(),4==e&&Q("tokenInput").focus(),5==e&&Q("resetTokenInput").focus(),6==e&&Q("rapassword1").focus()}function validateLogin(e,a){var n=0<Q("username").value.length&&-1==Q("username").value.indexOf(" ")&&0<Q("password").value.length;QE("loginButton",n),setDialogMode(0),null!=a&&13==a.keyCode&&(1==e?Q("password").focus():2==e&&Q("loginButton").click()),null!=a&&haltEvent(a)}function validateCreate(e,a){setDialogMode(0);var n=!1;if(n=!!(2097152&features)||0<Q("ausername").value.length&&-1==Q("ausername").value.indexOf(" ")&&-1==Q("ausername").value.indexOf('"')&&-1==Q("ausername").value.indexOf(","),n&=1==validateEmail(Q("aemail").value)&&0<Q("apassword1").value.length&&Q("apassword2").value==Q("apassword1").value,1==newAccountPass&&0==Q("anewaccountpass").value.length&&(n=!1),""==Q("apassword1").value)QH("passWarning",""),QV("passwordPolicyCallout",!1);else if(passRequirementsEx){0==checkPasswordRequirements(Q("apassword1").value,passRequirements)?(n=!1,QH("passWarning","<span style=color:red><b>Password Policy</b><span>"),QV("passwordPolicyCallout",!0),QH("passwordPolicyCallout",passwordPolicyText(Q("apassword1").value))):(QH("passWarning",""),QV("passwordPolicyCallout",!1))}else{var s=checkPasswordStrength(Q("apassword1").value);80<=s?QH("passWarning","<span style=color:green><b>Silné heslo</b><span>"):60<=s?QH("passWarning","<span style=color:blue><b>Dobré heslo</b><span>"):QH("passWarning","<span style=color:red><b>Slabé heslo</b><span>")}QE("createButton",n),null!=a&&13==a.keyCode&&(1==e&&Q("aemail").focus(),2==e&&Q("apassword1").focus(),3==e&&Q("apassword2").focus(),4==e&&Q("apasswordhint").focus(),5==e&&(1==newAccountPass?Q("anewaccountpass").focus():Q("createButton").click()),6==e&&Q("createButton").click()),null!=a&&haltEvent(a)}function validatePassReset(e,a){setDialogMode(0);var n=0<Q("rapassword1").value.length,s=0<Q("rapassword2").value.length&&Q("rapassword2").value==Q("rapassword1").value,t=n&&s;if(QS("rnuPass1").color=n?"black":"#7b241c",QS("rnuPass2").color=s?"black":"#7b241c",""==Q("rapassword1").value)QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1);else if(passRequirementsEx){0==checkPasswordRequirements(Q("rapassword1").value,passRequirements)?(t=!1,QS("rnuPass1").color="#7b241c",QS("rnuPass2").color="#7b241c",QH("rpassWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Password Policy</b><div>"),QV("rpasswordPolicyCallout",!0),QH("rpasswordPolicyCallout",passwordPolicyText(Q("rapassword1").value))):(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1))}else{var r=checkPasswordStrength(Q("rapassword1").value);80<=r?QH("rpassWarning","<span style=color:green><b>Silné heslo</b><span>"):60<=r?QH("rpassWarning","<span style=color:blue><b>Dobré heslo</b><span>"):QH("rpassWarning","<span style=color:red><b>Slabé heslo</b><span>")}null!=a&&13==a.keyCode&&(2==e&&Q("rapassword1").focus(),3==e&&Q("rapassword2").focus(),4==e&&Q("rapasswordhint").focus(),6==e&&Q("resetPassButton").click()),null!=a&&haltEvent(a),QE("resetPassButton",t)}function validateReset(e){setDialogMode(0);var a=validateEmail(Q("remail").value);QE("eresetButton",a),null!=e&&13==e.keyCode&&1==a&&Q("eresetButton").click(),null!=e&&haltEvent(e)}function passwordPolicyText(e){var a="<div style=text-align:left>",n=strCount(e);return passRequirements.min&&(null==e||e.length<passRequirements.min)&&(a+=format("Minimum length of {0}",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(a+=format("Maximum length of {0}",passRequirements.max)+"<br />"),passRequirements.upper&&(null==e||n.upper<passRequirements.upper)&&(a+=format("{0} upper case",passRequirements.upper)+"<br />"),passRequirements.lower&&(null==e||n.lower<passRequirements.lower)&&(a+=format("{0} lower case",passRequirements.lower)+"<br />"),passRequirements.numeric&&(null==e||n.numeric<passRequirements.numeric)&&(a+=format("{0} numeric",passRequirements.numeric)+"<br />"),passRequirements.nonalpha&&(null==e||n.nonalpha<passRequirements.nonalpha)&&(a+=format("{0} non-alphanumeric",passRequirements.nonalpha)+"<br />"),a+="</div>"}function checkPasswordStrength(e){var a=0,n={},s=0,t={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var r=0;r<e.length;r++)n[e[r]]=(n[e[r]]||0)+1,a+=5/n[e[r]];for(var l in t)s+=1==t[l]?1:0;return parseInt(a+10*(s-1))}function checkPasswordRequirements(e,a){if(null==a||""==a||"object"!=typeof a)return!0;if(a.min&&e.length<a.min)return!1;if(a.max&&e.length>a.max)return!1;var n=strCount(e);return!(a.numeric&&n.numeric<a.numeric)&&(!(a.lower&&n.lower<a.lower)&&(!(a.upper&&n.upper<a.upper)&&!(a.nonalpha&&n.nonalpha<a.nonalpha)))}function strCount(e){var a={numeric:0,lower:0,upper:0,nonalpha:0};if("string"!=typeof e)return a;for(var n=0;n<e.length;n++)/\d/.test(e[n])&&a.numeric++,/[a-z]/.test(e[n])&&a.lower++,/[A-Z]/.test(e[n])&&a.upper++,/\W/.test(e[n])&&a.nonalpha++;return a}var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,xcheckTokenTimer=null;function checkTokenTimer(e){0==e&&null!=xcheckTokenTimer&&(clearInterval(xcheckTokenTimer),xcheckTokenTimer=null),1==e&&null==xcheckTokenTimer&&(xcheckTokenTimer=setInterval(checkToken,200))}function checkToken(){var e=Q("tokenInput").value,a=e.split(" ").join("");e!=a&&(Q("tokenInput").value=a),QE("tokenOkButton",6==Q("tokenInput").value.length||8==Q("tokenInput").value.length||44==Q("tokenInput").value.length)}function resetCheckToken(){var e=Q("resetTokenInput").value,a=e.split(" ").join("");e!=a&&(Q("resetTokenInput").value=a),QE("resetTokenOkButton",6==Q("resetTokenInput").value.length||8==Q("resetTokenInput").value.length||44==Q("resetTokenInput").value.length)}var xxcurrentView=0;function setDialogMode(e,a,n,s,t,r){xxdialogMode=e,xxdialogFunc=s,xxdialogButtons=n,xxdialogTag=r,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&n),QV("idx_dlgCancelButton",2&n),QV("id_dialogclose",2&n||8&n),QV("idx_dlgButtonBar",7&n),a&&QH("id_dialogtitle",a);for(var l=1;l<24;l++)QV("dialog"+l,l==e);QV("dialog",e),t&&(2==e?QH("id_dialogOptions",t):QH("id_dialogMessage",t))}function dialogclose(e){var a=xxdialogFunc,n=xxdialogButtons,s=xxdialogTag;setDialogMode(),(8&n||e)&&a&&a(e,s)}function center(){QS("dialog").left=(getDocWidth()-400)/2+"px"}function messagebox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e,1)}function statusbox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e)}function getDocWidth(){return window.innerWidth?window.innerWidth:document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement.clientWidth:document.getElementsByTagName("body")[0].clientWidth}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function haltReturn(e){13==e.keyCode&&haltEvent(e)}function validateEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function format(e){var n=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,a){return void 0!==n[a]?n[a]:e})}</script>
\ No newline at end of file
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><script src=scripts/common-0.0.1.js></script><script src=scripts/u2f-api.js></script><title>MeshCentral - Login</title><style>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:6px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:10px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%;display:flex;align-items:center><div id=column_l style=padding:10px;width:100%><table style=width:100%><tr><td align=center><div id=loginpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;clear:both;display:none><form method=post><input type=hidden name=action value=login><div id=message1></div><div><b>Přihlásit</b></div><table><tr><td id=loginusername align=right width=100>Uživatel:<td><input id=username maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>Heslo:<td><input id=password type=password maxlength=256 name=password autocomplete=off onchange=validateLogin(2) onkeyup=validateLogin(2,event)><tr><td><div id=showPassHintLink style=display:none><a onclick=showPassHint() style=cursor:pointer>Zobrazit nápovědu</a></div><td align=right><input id=loginButton type=submit value=Přihlásit disabled></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Zapomenuté jméno/heslo?</span> <a onclick=xgo(3) style=cursor:pointer>Reset účtu</a>.</div><div id=newAccountDiv style=display:none;padding:2px>Nemáte účet? <a onclick=xgo(2) style=cursor:pointer>Vytvořit</a>.</div><input id=loginformargs name=urlargs type=hidden></form></div><div id=createpanel style=display:none><div style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;clear:both;position:relative><form method=post><input type=hidden name=action value=createaccount><div id=message2></div><div><b>Vytvoření účtu</b></div><div id=passwordPolicyCallout style="left:-5px;top:10px;width:100px;position:absolute;background-color:#ffc;border-radius:5px;padding:5px;box-shadow:0 0 15px #666;font-size:10px"></div><table><tr id=nuUserRow><td align=right width=100>Uživatel:<td><input id=ausername name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event)><tr><td align=right width=100>Email:<td><input id=aemail name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event)><tr><td align=right>Heslo:<td><input id=apassword1 type=password name=password1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3) onkeyup=validateCreate(3,event)><tr><td align=right>Heslo:<td><input id=apassword2 type=password name=password2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4) onkeyup=validateCreate(4,event)><tr id=createPanelHint style=display:none><td align=right>Nápověda k heslu:<td><input id=apasswordhint name=apasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5) onkeyup=validateCreate(5,event)><tr id=newAccountPass title="Zadejte token pro vytvoření účtu"><td align=right>Vytvoření tokenu:<td><input id=anewaccountpass type=password name=anewaccountpass autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6) onkeyup=validateCreate(6,event)><tr><td colspan=2><div style=float:right><input id=createButton type=submit value="Vytvořit účet"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Zpět na přihlášení</a> <input id=createformargs name=urlargs type=hidden></form></div></div><div id=resetpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post><input type=hidden name=action value=resetaccount><div id=message3></div><div><b>Reset hesla</b></div><table><tr><td align=right width=100>Email:<td><input id=remail name=email maxlength=256 onchange=validateReset() onkeyup=validateReset(event)><tr><td colspan=2><div style=float:right><input id=eresetButton type=submit value="Reset účtu"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Zpět na přihlášení</a> <input id=resetformargs name=urlargs type=hidden></form></div><div id=tokenpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post autocomplete=off><input type=hidden name=action value=tokenlogin> <input type=hidden name=hwstate value={{{hwstate}}}><div id=message4></div><table><tr><td align=right width=100>Přihlašovací token:<td><input id=tokenInput name=token maxlength=50 onchange=checkToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event) onfocus=checkTokenTimer(1) onblur=checkTokenTimer(0)> <input id=hwtokenInput name=hwtoken style=display:none><tr><td colspan=2 style=align-content:center><label><input id=tokenInputRemember name=remembertoken type=checkbox>Zapamatovat toto zařízení 30 dní.</label><tr><td colspan=2><div style=float:right><input id=tokenOkButton type=submit value=Přihlášení disabled></div><div style=float:right><input style=display:none;float:right id=securityKeyButton type=button value="Použít bezpečnostní klíč"onclick=useSecurityKey()></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Zpět na přihlášení</a> <input id=tokenformargs name=urlargs type=hidden></form></div><div id=resettokenpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post autocomplete=off><input type=hidden name=action value=resetaccount><div id=message5></div><table><tr><td align=right width=100>Přihlašovací token:<td><input id=resetTokenInput name=token maxlength=50 onchange=resetCheckToken(event) onpaste=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event)> <input id=resetHwtokenInput name=hwtoken style=display:none><tr><td colspan=2><div style=float:right><input id=resetTokenOkButton type=submit value=Přihlášení disabled></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Zpět na přihlášení</a> <input id=resettokenformargs name=urlargs type=hidden></form></div><div id=resetpasswordpanel style=position:relative;background-color:#979797;border-radius:16px;width:300px;padding:16px;text-align:center;display:none><form method=post><input type=hidden name=action value=resetpassword><div id=message6></div><div id=rpasswordPolicyCallout style="left:-10px;width:100px;display:none;position:absolute;background-color:#ffc;border-radius:5px;padding:5px;box-shadow:0 0 15px #666;font-size:10px"></div><table><tr><td id=rnuPass1 width=100 align=right>Heslo:<td><input id=rapassword1 type=password name=rpassword1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event)><tr><td id=rnuPass2 align=right>Heslo:<td><input id=rapassword2 type=password name=rpassword2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event)><tr id=resetpasswordpanelHint style=display:none><td id=rnuHint align=right>Nápověda k heslu:<td><input id=rapasswordhint name=rpasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event)><tr><td colspan=2><div style=float:right><input id=resetPassButton type=submit value="Reset hesla"disabled></div><div id=rpassWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>Zpět na přihlášení</a> <input id=resetpasswordformargs name=urlargs type=hidden></form></div></table></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table cellpadding=0 cellspacing=6 style=width:100%><tr><td style=text-align:left;color:#fff>{{{footer}}}<td style=text-align:right>{{{rootCertLink}}}&nbsp;<a href=terms>Podmínky &amp; soukromí</a></table></div></div><div id=dialog style="z-index:1000;background-color:#eee;box-shadow:0 0 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:5px;position:fixed;top:180px;width:400px;display:none"><div style="width:100%;background-color:#036;color:#fff;border-radius:5px 5px 0 0"><div id=id_dialogclose style=float:right;padding:5px;cursor:pointer onclick=setDialogMode()><b>X</b></div><div id=id_dialogtitle style=padding:5px></div><div style=width:100%;margin:6px></div></div><div style=margin-right:16px;margin-left:8px><div id=dialog1 style=margin:auto;text-align:center;margin:3px><div id=id_dialogMessage style=padding:10px></div></div><div id=dialog2 style=margin:auto;margin:3px><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar style=padding:10px;margin-bottom:20px><input id=idx_dlgCancelButton type=button value=Zrušit style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK style=float:right;width:80px onclick=dialogclose(1)></div></div><script>"use strict";var loginMode="{{{loginmode}}}",newAccount="{{{newAccount}}}",passhint="{{{passhint}}}",newAccountPass=parseInt("{{{newAccountPass}}}"),emailCheck=!1,features=parseInt("{{{features}}}"),passRequirements="{{{passRequirements}}}",passRequirementsEx=null!=(passRequirements=""!=passRequirements?JSON.parse(decodeURIComponent(passRequirements)):{}).min||null!=passRequirements.max||null!=passRequirements.upper||null!=passRequirements.lower||null!=passRequirements.numeric||null!=passRequirements.nonalpha,hardwareKeyChallenge=decodeURIComponent("{{{hkey}}}"),publicKeyCredentialRequestOptions=null,currentpanel=0,messageid=parseInt("{{{messageid}}}"),okmessages=["","Vydržte, email je na cestě."],failmessages=["Nelze vytvořit účet.","Maximální počet účtů dosažen.","Existuje účet s tímto emailem.","Neplatný token pro vytvoření účtu.","Uživatel již existuje.","Heslo odmítnuto, zkuste jiné.","Neplatný email.","Účet nenalezen.","Neplatný token, zkuste znovu.","Nelze poslat email.","Účet uzamknut.","Přístup zamítnut","Neplatné přihlášení, zkontrolujte jméno a heslo.","Vyžaduje se změna hesla.","IP adresa blokována, zkuste to později."];if(0<messageid){var msg="";if(messageid<100&&messageid<okmessages.length?msg=okmessages[messageid]:100<=messageid&&messageid-100<failmessages.length&&(msg=failmessages[messageid-100]),""!=msg){msg=100<=messageid?'<span class="msg error"><b style=color:#8C001A>'+msg+"<b></span><br /><br />":'<span class="msg success"><b>'+msg+"</b></span><br /><br />";for(var i=1;i<7;i++)QH("message"+i,msg)}}if(0<window.location.href.indexOf("?")){var urlargs=window.location.href.substring(window.location.href.indexOf("?"));Q("loginformargs").value=urlargs,Q("createformargs").value=urlargs,Q("resetformargs").value=urlargs,Q("tokenformargs").value=urlargs,Q("resettokenformargs").value=urlargs,Q("resetpasswordformargs").value=urlargs}function startup(){if(0==(32&features)){var e=null;try{e=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==e||0==top.active))return void(top.location=self.location)}if(2097152&features&&(QH("loginusername","Email:"),QH("resetAccountSpan","Zapomenuté heslo?"),QV("nuUserRow",!1)),QV("createPanelHint",!0===passRequirements.hint),QV("resetpasswordpanelHint",!0===passRequirements.hint),(window.onresize=center)(),validateLogin(),validateCreate(),0!=loginMode.length?go(parseInt(loginMode)):go(1),QV("newAccountDiv","1"===newAccount||"true"===newAccount),!0===passRequirements.hint&&null!=passhint&&0<passhint.length&&QV("showPassHintLink",!0),QV("newAccountPass",1==newAccountPass),QV("resetAccountDiv",1==emailCheck),QV("hrAccountDiv",1==emailCheck||1==newAccountPass),"4"==loginMode){try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}QV("securityKeyButton",null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type)}if("5"==loginMode){try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var a=0;a<hardwareKeyChallenge.keyIds.length;a++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[a]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){var a={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};Q("resetHwtokenInput").value=JSON.stringify(a),QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}}function useSecurityKey(){if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var e=0;e<hardwareKeyChallenge.keyIds.length;e++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[e]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){var a={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};Q("hwtokenInput").value=JSON.stringify(a),QE("tokenOkButton",!0),Q("tokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}function showPassHint(){!0===passRequirements.hint&&messagebox("Nápověda k heslu",passhint)}function xgo(e){QV("message1",!1),QV("message2",!1),QV("message3",!1),QV("message4",!1),QV("message5",!1),QV("message6",!1),go(e)}function go(e){currentpanel=e,setDialogMode(0),QV("showPassHintLink",!1),QV("loginpanel",1==e),QV("createpanel",2==e),QV("resetpanel",3==e),QV("tokenpanel",4==e),QV("resettokenpanel",5==e),QV("resetpasswordpanel",6==e),1==e&&Q("username").focus(),2==e&&(2097152&features?Q("aemail").focus():Q("ausername").focus()),3==e&&Q("remail").focus(),4==e&&Q("tokenInput").focus(),5==e&&Q("resetTokenInput").focus(),6==e&&Q("rapassword1").focus()}function validateLogin(e,a){var n=0<Q("username").value.length&&-1==Q("username").value.indexOf(" ")&&0<Q("password").value.length;QE("loginButton",n),setDialogMode(0),null!=a&&13==a.keyCode&&(1==e?Q("password").focus():2==e&&Q("loginButton").click()),null!=a&&haltEvent(a)}function validateCreate(e,a){setDialogMode(0);var n=!1;if(n=!!(2097152&features)||0<Q("ausername").value.length&&-1==Q("ausername").value.indexOf(" ")&&-1==Q("ausername").value.indexOf('"')&&-1==Q("ausername").value.indexOf(","),n&=1==validateEmail(Q("aemail").value)&&0<Q("apassword1").value.length&&Q("apassword2").value==Q("apassword1").value,1==newAccountPass&&0==Q("anewaccountpass").value.length&&(n=!1),""==Q("apassword1").value)QH("passWarning",""),QV("passwordPolicyCallout",!1);else if(passRequirementsEx){0==checkPasswordRequirements(Q("apassword1").value,passRequirements)?(n=!1,QH("passWarning","<span style=color:red><b>Politia hesla</b><span>"),QV("passwordPolicyCallout",!0),QH("passwordPolicyCallout",passwordPolicyText(Q("apassword1").value))):(QH("passWarning",""),QV("passwordPolicyCallout",!1))}else{var t=checkPasswordStrength(Q("apassword1").value);80<=t?QH("passWarning","<span style=color:green><b>Silné heslo</b><span>"):60<=t?QH("passWarning","<span style=color:blue><b>Dobré heslo</b><span>"):QH("passWarning","<span style=color:red><b>Slabé heslo</b><span>")}QE("createButton",n),null!=a&&13==a.keyCode&&(1==e&&Q("aemail").focus(),2==e&&Q("apassword1").focus(),3==e&&Q("apassword2").focus(),4==e&&Q("apasswordhint").focus(),5==e&&(1==newAccountPass?Q("anewaccountpass").focus():Q("createButton").click()),6==e&&Q("createButton").click()),null!=a&&haltEvent(a)}function validatePassReset(e,a){setDialogMode(0);var n=0<Q("rapassword1").value.length,t=0<Q("rapassword2").value.length&&Q("rapassword2").value==Q("rapassword1").value,s=n&&t;if(QS("rnuPass1").color=n?"black":"#7b241c",QS("rnuPass2").color=t?"black":"#7b241c",""==Q("rapassword1").value)QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1);else if(passRequirementsEx){0==checkPasswordRequirements(Q("rapassword1").value,passRequirements)?(s=!1,QS("rnuPass1").color="#7b241c",QS("rnuPass2").color="#7b241c",QH("rpassWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Politia hesla</b><div>"),QV("rpasswordPolicyCallout",!0),QH("rpasswordPolicyCallout",passwordPolicyText(Q("rapassword1").value))):(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1))}else{var r=checkPasswordStrength(Q("rapassword1").value);80<=r?QH("rpassWarning","<span style=color:green><b>Silné heslo</b><span>"):60<=r?QH("rpassWarning","<span style=color:blue><b>Dobré heslo</b><span>"):QH("rpassWarning","<span style=color:red><b>Slabé heslo</b><span>")}null!=a&&13==a.keyCode&&(2==e&&Q("rapassword1").focus(),3==e&&Q("rapassword2").focus(),4==e&&Q("rapasswordhint").focus(),6==e&&Q("resetPassButton").click()),null!=a&&haltEvent(a),QE("resetPassButton",s)}function validateReset(e){setDialogMode(0);var a=validateEmail(Q("remail").value);QE("eresetButton",a),null!=e&&13==e.keyCode&&1==a&&Q("eresetButton").click(),null!=e&&haltEvent(e)}function passwordPolicyText(e){var a="<div style=text-align:left>",n=strCount(e);return passRequirements.min&&(null==e||e.length<passRequirements.min)&&(a+=format("Minimální délka {0}",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(a+=format("Maximální délka {0}",passRequirements.max)+"<br />"),passRequirements.upper&&(null==e||n.upper<passRequirements.upper)&&(a+=format("{0} velkých písmen",passRequirements.upper)+"<br />"),passRequirements.lower&&(null==e||n.lower<passRequirements.lower)&&(a+=format("{0} malých písmen",passRequirements.lower)+"<br />"),passRequirements.numeric&&(null==e||n.numeric<passRequirements.numeric)&&(a+=format("{0} čísel",passRequirements.numeric)+"<br />"),passRequirements.nonalpha&&(null==e||n.nonalpha<passRequirements.nonalpha)&&(a+=format("{0} speciálních znaků",passRequirements.nonalpha)+"<br />"),a+="</div>"}function checkPasswordStrength(e){var a=0,n={},t=0,s={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var r=0;r<e.length;r++)n[e[r]]=(n[e[r]]||0)+1,a+=5/n[e[r]];for(var l in s)t+=1==s[l]?1:0;return parseInt(a+10*(t-1))}function checkPasswordRequirements(e,a){if(null==a||""==a||"object"!=typeof a)return!0;if(a.min&&e.length<a.min)return!1;if(a.max&&e.length>a.max)return!1;var n=strCount(e);return!(a.numeric&&n.numeric<a.numeric)&&(!(a.lower&&n.lower<a.lower)&&(!(a.upper&&n.upper<a.upper)&&!(a.nonalpha&&n.nonalpha<a.nonalpha)))}function strCount(e){var a={numeric:0,lower:0,upper:0,nonalpha:0};if("string"!=typeof e)return a;for(var n=0;n<e.length;n++)/\d/.test(e[n])&&a.numeric++,/[a-z]/.test(e[n])&&a.lower++,/[A-Z]/.test(e[n])&&a.upper++,/\W/.test(e[n])&&a.nonalpha++;return a}var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,xcheckTokenTimer=null;function checkTokenTimer(e){0==e&&null!=xcheckTokenTimer&&(clearInterval(xcheckTokenTimer),xcheckTokenTimer=null),1==e&&null==xcheckTokenTimer&&(xcheckTokenTimer=setInterval(checkToken,200))}function checkToken(){var e=Q("tokenInput").value,a=e.split(" ").join("");e!=a&&(Q("tokenInput").value=a),QE("tokenOkButton",6==Q("tokenInput").value.length||8==Q("tokenInput").value.length||44==Q("tokenInput").value.length)}function resetCheckToken(){var e=Q("resetTokenInput").value,a=e.split(" ").join("");e!=a&&(Q("resetTokenInput").value=a),QE("resetTokenOkButton",6==Q("resetTokenInput").value.length||8==Q("resetTokenInput").value.length||44==Q("resetTokenInput").value.length)}var xxcurrentView=0;function setDialogMode(e,a,n,t,s,r){xxdialogMode=e,xxdialogFunc=t,xxdialogButtons=n,xxdialogTag=r,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&n),QV("idx_dlgCancelButton",2&n),QV("id_dialogclose",2&n||8&n),QV("idx_dlgButtonBar",7&n),a&&QH("id_dialogtitle",a);for(var l=1;l<24;l++)QV("dialog"+l,l==e);QV("dialog",e),s&&(2==e?QH("id_dialogOptions",s):QH("id_dialogMessage",s))}function dialogclose(e){var a=xxdialogFunc,n=xxdialogButtons,t=xxdialogTag;setDialogMode(),(8&n||e)&&a&&a(e,t)}function center(){QS("dialog").left=(getDocWidth()-400)/2+"px"}function messagebox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e,1)}function statusbox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e)}function getDocWidth(){return window.innerWidth?window.innerWidth:document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement.clientWidth:document.getElementsByTagName("body")[0].clientWidth}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function haltReturn(e){13==e.keyCode&&haltEvent(e)}function validateEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function format(e){var n=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,a){return void 0!==n[a]?n[a]:e})}</script>
\ No newline at end of file
views/translations/login-mobile_cs.handlebars
+28 -28
@@ -58,7 +58,7 @@
58 <td><input id="password" type="password" maxlength="256" name="password" autocomplete="off" onchange="validateLogin(2)" onkeyup="validateLogin(2,event)"></td>
59 </tr>
60 <tr>
61 - <td><div id="showPassHintLink" style="display:none"><a onclick="showPassHint()" style="cursor:pointer">Show Hint</a></div></td>
61 + <td><div id="showPassHintLink" style="display:none"><a onclick="showPassHint()" style="cursor:pointer">Zobrazit nápovědu</a></div></td>
62 <td align="right"><input id="loginButton" type="submit" value="Přihlásit" disabled="disabled"></td>
63 </tr>
64 </tbody></table>
@@ -102,18 +102,18 @@
102 <td align="right">Nápověda k heslu:</td>
103 <td><input id="apasswordhint" type="text" name="apasswordhint" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(5)" onkeyup="validateCreate(5,event)"></td>
104 </tr>
105 - <tr id="newAccountPass" title="Enter the account creation token">
106 - <td align="right">Creation Token:</td>
105 + <tr id="newAccountPass" title="Zadejte token pro vytvoření účtu">
106 + <td align="right">Vytvoření tokenu:</td>
107 <td><input id="anewaccountpass" type="password" name="anewaccountpass" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(6)" onkeyup="validateCreate(6,event)"></td>
108 </tr>
109 <tr>
110 <td colspan="2">
111 - <div style="float:right"><input id="createButton" type="submit" value="Create Account" disabled="disabled"></div>
111 + <div style="float:right"><input id="createButton" type="submit" value="Vytvořit účet" disabled="disabled"></div>
112 <div id="passWarning" style="padding-top:6px"></div>
113 </td>
114 </tr>
115 </tbody></table>
116 - <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a>
116 + <hr><a onclick="xgo(1)" style="cursor:pointer">Zpět na přihlášení</a>
117 <input id="createformargs" name="urlargs" type="hidden" value="">
118 </form>
119 </div>
@@ -137,7 +137,7 @@
137 </td>
138 </tr>
139 </tbody></table>
140 - <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a>
140 + <hr><a onclick="xgo(1)" style="cursor:pointer">Zpět na přihlášení</a>
141 <input id="resetformargs" name="urlargs" type="hidden" value="">
142 </form>
143 </div>
@@ -148,7 +148,7 @@
148 <div id="message4"></div>
149 <table>
150 <tbody><tr>
151 - <td align="right" width="100">Login token:</td>
151 + <td align="right" width="100">Přihlašovací token:</td>
152 <td>
153 <input id="tokenInput" type="text" name="token" maxlength="50" onchange="checkToken(event)" onkeyup="checkToken(event)" onkeydown="checkToken(event)" onfocus="checkTokenTimer(1)" onblur="checkTokenTimer(0)">
154 <input id="hwtokenInput" type="text" name="hwtoken" style="display:none">
@@ -156,17 +156,17 @@
156 </tr>
157 <tr>
158 <td colspan="2" style="align-content:center">
159 - <label><input id="tokenInputRemember" name="remembertoken" type="checkbox">Remember this device for 30 days.</label>
159 + <label><input id="tokenInputRemember" name="remembertoken" type="checkbox">Zapamatovat toto zařízení 30 dní.</label>
160 </td>
161 </tr>
162 <tr>
163 <td colspan="2">
164 - <div style="float:right"><input id="tokenOkButton" type="submit" value="Login" disabled="disabled"></div>
165 - <div style="float:right"><input style="display:none;float:right" id="securityKeyButton" type="button" value="Use Security Key" onclick="useSecurityKey()"></div>
164 + <div style="float:right"><input id="tokenOkButton" type="submit" value="Přihlášení" disabled="disabled"></div>
165 + <div style="float:right"><input style="display:none;float:right" id="securityKeyButton" type="button" value="Použít bezpečnostní klíč" onclick="useSecurityKey()"></div>
166 </td>
167 </tr>
168 </tbody></table>
169 - <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a>
169 + <hr><a onclick="xgo(1)" style="cursor:pointer">Zpět na přihlášení</a>
170 <input id="tokenformargs" name="urlargs" type="hidden" value="">
171 </form>
172 </div>
@@ -177,7 +177,7 @@
177 <div id="message5"></div>
178 <table>
179 <tbody><tr>
180 - <td align="right" width="100">Login token:</td>
180 + <td align="right" width="100">Přihlašovací token:</td>
181 <td>
182 <input id="resetTokenInput" type="text" name="token" maxlength="50" onchange="resetCheckToken(event)" onpaste="resetCheckToken(event)" onkeyup="resetCheckToken(event)" onkeydown="resetCheckToken(event)">
183 <input id="resetHwtokenInput" type="text" name="hwtoken" style="display:none">
@@ -185,11 +185,11 @@
185 </tr>
186 <tr>
187 <td colspan="2">
188 - <div style="float:right"><input id="resetTokenOkButton" type="submit" value="Login" disabled="disabled"></div>
188 + <div style="float:right"><input id="resetTokenOkButton" type="submit" value="Přihlášení" disabled="disabled"></div>
189 </td>
190 </tr>
191 </tbody></table>
192 - <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a>
192 + <hr><a onclick="xgo(1)" style="cursor:pointer">Zpět na přihlášení</a>
193 <input id="resettokenformargs" name="urlargs" type="hidden" value="">
194 </form>
195 </div>
@@ -209,7 +209,7 @@
209 <td><input id="rapassword2" type="password" name="rpassword2" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validatePassReset(4,event)" onkeyup="validatePassReset(4,event)"></td>
210 </tr>
211 <tr id="resetpasswordpanelHint" style="display:none">
212 - <td id="rnuHint" align="right">Password Hint:</td>
212 + <td id="rnuHint" align="right">Nápověda k heslu:</td>
213 <td><input id="rapasswordhint" type="text" name="rpasswordhint" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validatePassReset(5,event)" onkeyup="validatePassReset(5,event)"></td>
214 </tr>
215 <tr>
@@ -219,7 +219,7 @@
219 </td>
220 </tr>
221 </tbody></table>
222 - <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a>
222 + <hr><a onclick="xgo(1)" style="cursor:pointer">Zpět na přihlášení</a>
223 <input id="resetpasswordformargs" name="urlargs" type="hidden" value="">
224 </form>
225 </div>
@@ -233,7 +233,7 @@
233 <table cellpadding="0" cellspacing="6" style="width:100%">
234 <tbody><tr>
235 <td style="text-align:left;color:white">{{{footer}}}</td>
236 - <td style="text-align:right">{{{rootCertLink}}}&nbsp;<a href="terms">Terms &amp; Privacy</a></td>
236 + <td style="text-align:right">{{{rootCertLink}}}&nbsp;<a href="terms">Podmínky &amp; soukromí</a></td>
237 </tr>
238 </tbody></table>
239 </div>
@@ -274,8 +274,8 @@
274
275 // Display the right server message
276 var messageid = parseInt('{{{messageid}}}');
277 - var okmessages = ['', "Hold on, reset mail sent."];
278 - var failmessages = ["Unable to create account.", "Maximální počet účtů dosažen.", "Existing account with this email address.", "Invalid account creation token.", "Username already exists.", "Password rejected, use a different one.", "Invalid email.", "Účet nenalezen.", "Invalid token, try again.", "Unable to sent email.", "Účet uzamknut.", "Přístup zamítnut", "Login failed, check username and password.", "Password change requested.", "IP address blocked, try again later."];
277 + var okmessages = ['', "Vydržte, email je na cestě."];
278 + var failmessages = ["Nelze vytvořit účet.", "Maximální počet účtů dosažen.", "Existuje účet s tímto emailem.", "Neplatný token pro vytvoření účtu.", "Uživatel již existuje.", "Heslo odmítnuto, zkuste jiné.", "Neplatný email.", "Účet nenalezen.", "Neplatný token, zkuste znovu.", "Nelze poslat email.", "Účet uzamknut.", "Přístup zamítnut", "Neplatné přihlášení, zkontrolujte jméno a heslo.", "Vyžaduje se změna hesla.", "IP adresa blokována, zkuste to později."];
279 if (messageid > 0) {
280 var msg = '';
281 if ((messageid < 100) && (messageid < okmessages.length)) { msg = okmessages[messageid]; }
@@ -394,7 +394,7 @@
394 }
395
396 function showPassHint() {
397 - if (passRequirements.hint === true) { messagebox("Password Hint", passhint); }
397 + if (passRequirements.hint === true) { messagebox("Nápověda k heslu", passhint); }
398 }
399
400 function xgo(x) {
@@ -456,7 +456,7 @@
456 ok = false;
457 //QS('nuPass1').color = '#7b241c';
458 //QS('nuPass2').color = '#7b241c';
459 - QH('passWarning', '<span style=color:red><b>' + "Password Policy" + '</b><span>'); // TODO: Display problem hint
459 + QH('passWarning', '<span style=color:red><b>' + "Politia hesla" + '</b><span>'); // TODO: Display problem hint
460 QV('passwordPolicyCallout', true);
461 QH('passwordPolicyCallout', passwordPolicyText(Q('apassword1').value));
462 } else {
@@ -504,7 +504,7 @@
504 ok = false;
505 QS('rnuPass1').color = '#7b241c';
506 QS('rnuPass2').color = '#7b241c';
507 - QH('rpassWarning', '<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>' + "Password Policy" + '</b><div>'); // This is also a link to the password policy
507 + QH('rpassWarning', '<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>' + "Politia hesla" + '</b><div>'); // This is also a link to the password policy
508 QV('rpasswordPolicyCallout', true);
509 QH('rpasswordPolicyCallout', passwordPolicyText(Q('rapassword1').value));
510 } else {
@@ -534,12 +534,12 @@
534 function passwordPolicyText(pass) {
535 var policy = '<div style=text-align:left>';
536 var counts = strCount(pass);
537 - if (passRequirements.min && ((pass == null) || (pass.length < passRequirements.min))) { policy += format("Minimum length of {0}", passRequirements.min) + '<br />'; }
538 - if (passRequirements.max && ((pass == null) || (pass.length > passRequirements.max))) { policy += format("Maximum length of {0}", passRequirements.max) + '<br />'; }
539 - if (passRequirements.upper && ((pass == null) || (counts.upper < passRequirements.upper))) { policy += format("{0} upper case", passRequirements.upper) + '<br />'; }
540 - if (passRequirements.lower && ((pass == null) || (counts.lower < passRequirements.lower))) { policy += format("{0} lower case", passRequirements.lower) + '<br />'; }
541 - if (passRequirements.numeric && ((pass == null) || (counts.numeric < passRequirements.numeric))) { policy += format("{0} numeric", passRequirements.numeric) + '<br />'; }
542 - if (passRequirements.nonalpha && ((pass == null) || (counts.nonalpha < passRequirements.nonalpha))) { policy += format("{0} non-alphanumeric", passRequirements.nonalpha) + '<br />'; }
537 + if (passRequirements.min && ((pass == null) || (pass.length < passRequirements.min))) { policy += format("Minimální délka {0}", passRequirements.min) + '<br />'; }
538 + if (passRequirements.max && ((pass == null) || (pass.length > passRequirements.max))) { policy += format("Maximální délka {0}", passRequirements.max) + '<br />'; }
539 + if (passRequirements.upper && ((pass == null) || (counts.upper < passRequirements.upper))) { policy += format("{0} velkých písmen", passRequirements.upper) + '<br />'; }
540 + if (passRequirements.lower && ((pass == null) || (counts.lower < passRequirements.lower))) { policy += format("{0} malých písmen", passRequirements.lower) + '<br />'; }
541 + if (passRequirements.numeric && ((pass == null) || (counts.numeric < passRequirements.numeric))) { policy += format("{0} čísel", passRequirements.numeric) + '<br />'; }
542 + if (passRequirements.nonalpha && ((pass == null) || (counts.nonalpha < passRequirements.nonalpha))) { policy += format("{0} speciálních znaků", passRequirements.nonalpha) + '<br />'; }
543 policy += '</div>';
544 return policy;
545 }
views/translations/login_cs.handlebars
+35 -35
@@ -17,13 +17,13 @@
17 <div class="title2">{{{title2}}}</div>
18 </div>
19 <div id="topbar" class="noselect style3" style="height:24px">
20 - <div id="uiMenuButton" title="User interface selection" onclick="showUserInterfaceSelectMenu()">
20 + <div id="uiMenuButton" title="Výběr rozhraní uživatele" onclick="showUserInterfaceSelectMenu()">
21
22 <div id="uiMenu" style="display:none">
23 - <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Left bar interface"><div class="uiSelector1"></div></div>
24 - <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Top bar interface"><div class="uiSelector2"></div></div>
25 - <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Fixed width interface"><div class="uiSelector3"></div></div>
26 - <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Toggle night mode"><div class="uiSelector4"></div></div>
23 + <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Rozhraní levé lišty"><div class="uiSelector1"></div></div>
24 + <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Rozhraní horní lišty"><div class="uiSelector2"></div></div>
25 + <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Rozhraní s pevnou šířkou"><div class="uiSelector3"></div></div>
26 + <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Přepnout na noční mód"><div class="uiSelector4"></div></div>
27 </div>
28 </div>
29 </div>
@@ -55,7 +55,7 @@
55 <td><input id="password" type="password" maxlength="256" name="password" autocomplete="off" onchange="validateLogin(2)" onkeyup="validateLogin(2,event)"></td>
56 </tr>
57 <tr>
58 - <td><div id="showPassHintLink" style="display:none"><a onclick="return showPassHint(event);" href="#" style="cursor:pointer">Show Hint</a></div></td>
58 + <td><div id="showPassHintLink" style="display:none"><a onclick="return showPassHint(event);" href="#" style="cursor:pointer">Zobrazit nápovědu</a></div></td>
59 <td align="right"><input id="loginButton" type="submit" value="Přihlásit" disabled="disabled"></td>
60 </tr>
61 </tbody></table>
@@ -95,21 +95,21 @@
95 <td><input id="apassword2" type="password" name="password2" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(4,event)" onkeyup="validateCreate(4,event)"></td>
96 </tr>
97 <tr id="createPanelHint" style="display:none">
98 - <td id="nuHint" align="right">Password Hint:</td>
98 + <td id="nuHint" align="right">Nápověda k heslu:</td>
99 <td><input id="apasswordhint" type="text" name="apasswordhint" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(5,event)" onkeyup="validateCreate(5,event)"></td>
100 </tr>
101 - <tr id="newAccountPass" title="Enter the account creation token">
102 - <td id="nuToken" align="right">Creation Token:</td>
101 + <tr id="newAccountPass" title="Zadejte token pro vytvoření účtu">
102 + <td id="nuToken" align="right">Vytvoření tokenu:</td>
103 <td><input id="anewaccountpass" type="password" name="anewaccountpass" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(6,event)" onkeyup="validateCreate(6,event)"></td>
104 </tr>
105 <tr>
106 <td colspan="2">
107 - <div style="float:right"><input id="createButton" type="submit" value="Create Account" disabled="disabled"></div>
107 + <div style="float:right"><input id="createButton" type="submit" value="Vytvořit účet" disabled="disabled"></div>
108 <div id="passWarning" style="padding-top:6px"></div>
109 </td>
110 </tr>
111 </tbody></table>
112 - <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Back to login</a>
112 + <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Zpět na přihlášení</a>
113 <input id="createformargs" name="urlargs" type="hidden" value="">
114 </form>
115 </div>
@@ -132,7 +132,7 @@
132 </td>
133 </tr>
134 </tbody></table>
135 - <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Back to login</a>
135 + <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Zpět na přihlášení</a>
136 <input id="resetformargs" name="urlargs" type="hidden" value="">
137 </form>
138 </div>
@@ -143,7 +143,7 @@
143 <div id="message4"></div>
144 <table>
145 <tbody><tr>
146 - <td align="right" width="100">Login token:</td>
146 + <td align="right" width="100">Přihlašovací token:</td>
147 <td>
148 <input id="tokenInput" type="text" name="token" maxlength="50" onchange="checkToken(event)" onpaste="resetCheckToken(event)" onkeyup="checkToken(event)" onkeydown="checkToken(event)"><br>
149 <input id="hwtokenInput" type="text" name="hwtoken" style="display:none">
@@ -151,17 +151,17 @@
151 </tr>
152 <tr>
153 <td colspan="2" style="align-content:center">
154 - <label><input id="tokenInputRemember" name="remembertoken" type="checkbox">Remember this device for 30 days.</label>
154 + <label><input id="tokenInputRemember" name="remembertoken" type="checkbox">Zapamatovat toto zařízení 30 dní.</label>
155 </td>
156 </tr>
157 <tr>
158 <td colspan="2">
159 - <div style="float:right"><input id="tokenOkButton" type="submit" value="Login" disabled="disabled"></div>
160 - <div style="float:right"><input style="display:none;float:right" id="securityKeyButton" type="button" value="Use Security Key" onclick="useSecurityKey()"></div>
159 + <div style="float:right"><input id="tokenOkButton" type="submit" value="Přihlášení" disabled="disabled"></div>
160 + <div style="float:right"><input style="display:none;float:right" id="securityKeyButton" type="button" value="Použít bezpečnostní klíč" onclick="useSecurityKey()"></div>
161 </td>
162 </tr>
163 </tbody></table>
164 - <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Back to login</a>
164 + <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Zpět na přihlášení</a>
165 <input id="tokenformargs" name="urlargs" type="hidden" value="">
166 </form>
167 </div>
@@ -171,7 +171,7 @@
171 <div id="message5"></div>
172 <table>
173 <tbody><tr>
174 - <td align="right" width="100">Login token:</td>
174 + <td align="right" width="100">Přihlašovací token:</td>
175 <td>
176 <input id="resetTokenInput" type="text" name="token" maxlength="50" onchange="resetCheckToken(event)" onkeyup="resetCheckToken(event)" onkeydown="resetCheckToken(event)">
177 <input id="resetHwtokenInput" type="text" name="hwtoken" style="display:none">
@@ -179,11 +179,11 @@
179 </tr>
180 <tr>
181 <td colspan="2">
182 - <div style="float:right"><input id="resetTokenOkButton" type="submit" value="Login" disabled="disabled"></div>
182 + <div style="float:right"><input id="resetTokenOkButton" type="submit" value="Přihlášení" disabled="disabled"></div>
183 </td>
184 </tr>
185 </tbody></table>
186 - <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Back to login</a>
186 + <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Zpět na přihlášení</a>
187 <input id="resettokenformargs" name="urlargs" type="hidden" value="">
188 </form>
189 </div>
@@ -202,7 +202,7 @@
202 <td><input id="rapassword2" type="password" name="rpassword2" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validatePassReset(4,event)" onkeyup="validatePassReset(4,event)"></td>
203 </tr>
204 <tr id="resetpasswordpanelHint" style="display:none">
205 - <td id="rnuHint" align="right">Password Hint:</td>
205 + <td id="rnuHint" align="right">Nápověda k heslu:</td>
206 <td><input id="rapasswordhint" type="text" name="rpasswordhint" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validatePassReset(5,event)" onkeyup="validatePassReset(5,event)"></td>
207 </tr>
208 <tr>
@@ -212,7 +212,7 @@
212 </td>
213 </tr>
214 </tbody></table>
215 - <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Back to login</a>
215 + <hr><a onclick="return xgo(1,event);" href="#" style="cursor:pointer">Zpět na přihlášení</a>
216 <input id="resetpasswordformargs" name="urlargs" type="hidden" value="">
217 </form>
218 </div>
@@ -225,7 +225,7 @@
225 <div class="footer1">{{{footer}}}</div>
226 <div class="footer2">
227 {{{rootCertLink}}}
228 - &nbsp;<a href="terms">Terms &amp; Privacy</a>
228 + &nbsp;<a href="terms">Podmínky &amp; soukromí</a>
229 </div>
230 </div>
231
@@ -270,8 +270,8 @@
270
271 // Display the right server message
272 var messageid = parseInt('{{{messageid}}}');
273 - var okmessages = ['', "Hold on, reset mail sent."];
274 - var failmessages = ["Unable to create account.", "Maximální počet účtů dosažen.", "Existing account with this email address.", "Invalid account creation token.", "Username already exists.", "Password rejected, use a different one.", "Invalid email.", "Účet nenalezen.", "Invalid token, try again.", "Unable to sent email.", "Účet uzamknut.", "Přístup zamítnut", "Login failed, check username and password.", "Password change requested.", "IP address blocked, try again later."];
273 + var okmessages = ['', "Vydržte, email je na cestě."];
274 + var failmessages = ["Nelze vytvořit účet.", "Maximální počet účtů dosažen.", "Existuje účet s tímto emailem.", "Neplatný token pro vytvoření účtu.", "Uživatel již existuje.", "Heslo odmítnuto, zkuste jiné.", "Neplatný email.", "Účet nenalezen.", "Neplatný token, zkuste znovu.", "Nelze poslat email.", "Účet uzamknut.", "Přístup zamítnut", "Neplatné přihlášení, zkontrolujte jméno a heslo.", "Vyžaduje se změna hesla.", "IP adresa blokována, zkuste to později."];
275 if (messageid > 0) {
276 var msg = '';
277 if ((messageid < 100) && (messageid < okmessages.length)) { msg = okmessages[messageid]; }
@@ -406,7 +406,7 @@
406 }
407
408 function showPassHint(e) {
409 - messagebox("Password Hint", passhint);
409 + messagebox("Nápověda k heslu", passhint);
410 haltEvent(e);
411 return false;
412 }
@@ -483,7 +483,7 @@
483 ok = false;
484 QS('nuPass1').color = '#7b241c';
485 QS('nuPass2').color = '#7b241c';
486 - QH('passWarning', '<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>' + "Password Policy" + '</b><div>'); // This is also a link to the password policy
486 + QH('passWarning', '<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>' + "Politia hesla" + '</b><div>'); // This is also a link to the password policy
487 QV('passwordPolicyCallout', true);
488 QH('passwordPolicyCallout', passwordPolicyText(Q('apassword1').value));
489 } else {
@@ -532,7 +532,7 @@
532 ok = false;
533 QS('rnuPass1').color = '#7b241c';
534 QS('rnuPass2').color = '#7b241c';
535 - QH('rpassWarning', '<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>' + "Password Policy" + '</b><div>'); // This is also a link to the password policy
535 + QH('rpassWarning', '<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>' + "Politia hesla" + '</b><div>'); // This is also a link to the password policy
536 QV('rpasswordPolicyCallout', true);
537 QH('rpasswordPolicyCallout', passwordPolicyText(Q('rapassword1').value));
538 } else {
@@ -554,18 +554,18 @@
554 function passwordPolicyText(pass) {
555 var policy = '<div style=text-align:left>';
556 var counts = strCount(pass);
557 - if (passRequirements.min && ((pass == null) || (pass.length < passRequirements.min))) { policy += format("Minimum length of {0}", passRequirements.min) + '<br />'; }
558 - if (passRequirements.max && ((pass == null) || (pass.length > passRequirements.max))) { policy += format("Maximum length of {0}", passRequirements.max) + '<br />'; }
559 - if (passRequirements.upper && ((pass == null) || (counts.upper < passRequirements.upper))) { policy += format("{0} upper case", passRequirements.upper) + '<br />'; }
560 - if (passRequirements.lower && ((pass == null) || (counts.lower < passRequirements.lower))) { policy += format("{0} lower case", passRequirements.lower) + '<br />'; }
561 - if (passRequirements.numeric && ((pass == null) || (counts.numeric < passRequirements.numeric))) { policy += format("{0} numeric", passRequirements.numeric) + '<br />'; }
562 - if (passRequirements.nonalpha && ((pass == null) || (counts.nonalpha < passRequirements.nonalpha))) { policy += format("{0} non-alphanumeric", passRequirements.nonalpha) + '<br />'; }
557 + if (passRequirements.min && ((pass == null) || (pass.length < passRequirements.min))) { policy += format("Minimální délka {0}", passRequirements.min) + '<br />'; }
558 + if (passRequirements.max && ((pass == null) || (pass.length > passRequirements.max))) { policy += format("Maximální délka {0}", passRequirements.max) + '<br />'; }
559 + if (passRequirements.upper && ((pass == null) || (counts.upper < passRequirements.upper))) { policy += format("{0} velkých písmen", passRequirements.upper) + '<br />'; }
560 + if (passRequirements.lower && ((pass == null) || (counts.lower < passRequirements.lower))) { policy += format("{0} malých písmen", passRequirements.lower) + '<br />'; }
561 + if (passRequirements.numeric && ((pass == null) || (counts.numeric < passRequirements.numeric))) { policy += format("{0} čísel", passRequirements.numeric) + '<br />'; }
562 + if (passRequirements.nonalpha && ((pass == null) || (counts.nonalpha < passRequirements.nonalpha))) { policy += format("{0} speciálních znaků", passRequirements.nonalpha) + '<br />'; }
563 policy += '</div>';
564 return policy;
565 }
566
567 function showPasswordPolicy() {
568 - messagebox("Password Policy", passwordPolicyText());
568 + messagebox("Politia hesla", passwordPolicyText());
569 }
570
571 function validateReset(e) {
views/translations/message-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=/styles/style.css media=screen rel=stylesheet title=CSS><title>MeshCentral - {{{title3}}}</title><div id=container style=max-height:100vh><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=max-height:calc(100vh-138px)><div id=column_l><h1>{{{title3}}}</h1><p style=margin-left:20px>{{{message}}}</p><br></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right><a href=terms>Terms &amp; Privacy</a></table></div></div></div>
\ No newline at end of file
1 +<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=/styles/style.css media=screen rel=stylesheet title=CSS><title>MeshCentral - {{{title3}}}</title><div id=container style=max-height:100vh><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=max-height:calc(100vh-138px)><div id=column_l><h1>{{{title3}}}</h1><p style=margin-left:20px>{{{message}}}</p><br></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right><a href=terms>Podmínky &amp; soukromí</a></table></div></div></div>
\ No newline at end of file
views/translations/message_cs.handlebars
+1 -1
@@ -29,7 +29,7 @@
29 <tbody><tr>
30 <td style="text-align:left"></td>
31 <td style="text-align:right">
32 - <a href="terms">Terms &amp; Privacy</a>
32 + <a href="terms">Podmínky &amp; soukromí</a>
33 </td>
34 </tr>
35 </tbody></table>
views/translations/messenger-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><html style=height:100%><title>MeshMessenger</title><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/messenger.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/filesaver.js></script><body style=font-family:Arial,Helvetica,sans-serif><div id=xtop style="position:absolute;left:0;right:0;top:0;height:38px;background-color:#036;color:#c8c8c8;box-shadow:3px 3px 10px gray"><div style=position:absolute;background-color:#036;right:0;height:38px><div id=notifyButton class="icon13 topButton"style=margin-right:4px;display:none title="Zapnout notifikace v prohlížeči"onclick=enableNotificationsButtonClick()></div><div id=fileButton class="icon4 topButton"title="Share a file"style=display:none onclick=fileButtonClick()></div><div id=camButton class="icon2 topButton"title="Aktivovat kameru &amp; mikrofon"style=display:none onclick=camButtonClick()></div><div id=micButton class="icon6 topButton"title="Aktivovat mikrofon"style=display:none onclick=micButtonClick()></div><div id=hangupButton class="icon11 topRedButton"title="Hang up"style=display:none onclick=hangUpButtonClick(1)></div></div><div style=padding-top:9px;padding-left:6px;font-size:20px;display:inline-block><b><span id=xtitle>MeshMessenger</span></b></div></div><div id=xmiddle style=position:absolute;left:0;right:0;top:38px;bottom:30px><div style=position:absolute;left:0;right:0;top:0;bottom:0;overflow-y:scroll><div id=xmsg style=position:absolute;left:0;right:0;bottom:0;padding:5px></div></div></div><div id=xbottom style=position:absolute;left:0;right:0;bottom:0;height:30px;background-color:#036><div style=position:absolute;left:5px;right:215px;bottom:4px;top:4px;background-color:#f0f8ff><input id=xouttext style="width:calc(100% - 5px)"onfocus=onUserInputFocus(1) onblur=onUserInputFocus(0)></div><input type=button id=sendButton value=Odeslat style=position:absolute;right:110px;width:100px;top:4px onclick=xsend(event)> <input type=button id=clearButton value=Clear style=position:absolute;right:5px;width:100px;top:4px onclick=displayClear()></div><div id=remoteVideo style="position:absolute;right:24px;top:45px;width:320px;height:calc(240px + 30px);background-color:gray;border-radius:12px 12px 12px 12px;box-shadow:3px 3px 10px gray;display:none"><div style=position:absolute;right:0;left:0;top:2.5px;text-align:center>Vzdálený</div><video id=remoteVideoCanvas autoplay style="position:absolute;top:20px;left:0;width:100%;height:calc(100% - 30px);background-color:#000"></video></div><div id=localVideo style="position:absolute;right:24px;top:320px;width:160px;height:calc(120px + 30px);background-color:gray;border-radius:12px 12px 12px 12px;box-shadow:3px 3px 10px gray;display:none"><div style=position:absolute;right:0;left:0;top:2.5px;text-align:center>Lokální</div><video id=localVideoCanvas autoplay muted style="position:absolute;top:20px;left:0;width:100%;height:calc(100% - 30px);background-color:#000"></video></div><input id=uploadFileInput type=file multiple style=display:none><script onunload=onUnLoad()>var userInputFocus=0,args=parseUriArgs(),socket=null,state=0,random=Math.random(),webrtcSessions={},webchannel=null,localStream=null,remoteStream=null,multiWebRtc=!0,userMediaSupport=0,notification=null;getUserMediaSupport(function(e){userMediaSupport=e});var webrtcconfiguration="{{{webrtconfig}}}";if(""==webrtcconfiguration)webrtcconfiguration=null;else try{webrtcconfiguration=JSON.parse(decodeURIComponent(webrtcconfiguration))}catch(e){console.log('Invalid WebRTC config: "'+webrtcconfiguration+'".'),webrtcconfiguration=null}var fileUploads=[],fileDownloads={},currentFileUpload=null,currentFileDownload=null;function onUserInputFocus(e){userInputFocus=e}function displayClear(){QH("xmsg",""),cancelAllFileTransfers(),fileUploads=[],fileDownloads={}}function getUserMediaSupport(i){try{navigator.mediaDevices.enumerateDevices().then(function(e){try{var t=0,n=0;e.forEach(function(e){"audioinput"===e.kind&&(t=1),"videoinput"===e.kind&&(n=1)}),0==t&&i(0),i(t+n)}catch(e){}})}catch(e){}}function displayControl(e){QA("xmsg",'<div style="clear:both"><div style="color:gray;float:left;margin-bottom:2px">'+e+"</div><div></div></div>"),Q("xmsg").scrollTop=Q("xmsg").scrollHeight}function displayLocalVideo(e){QV("localVideo",e),adjustVideoWindows()}function displayRemoteVideo(e){QV("remoteVideo",e),adjustVideoWindows()}function adjustVideoWindows(){var e="none"!=QS("remoteVideo").display;QS("localVideo").top=e?"320px":"45px"}function displayRemote(e){QA("xmsg",'<div style="clear:both"><div class="remoteBubble">'+e+"</div><div></div></div>"),Q("xmsg").scrollTop=Q("xmsg").scrollHeight,Notification&&QV("notifyButton","granted"!=Notification.permission),Notification&&"granted"==Notification.permission&&(null!=notification&&(notification.close(),notification=null),notification=args.title?new Notification("MeshMessenger - "+args.title,{body:e}):new Notification("MeshMessenger",{body:e}))}function xsend(e){null!=notification&&(notification.close(),notification=null),Notification&&QV("notifyButton","granted"!=Notification.permission);var t=Q("xouttext").value;0<t.length&&(Q("xouttext").value="",QA("xmsg",'<div style="clear:both"><div class="localBubble">'+t+"</div><div></div></div>"),Q("xmsg").scrollTop=Q("xmsg").scrollHeight,send({action:"chat",msg:t}))}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function parseUriArgs(){var e,t={},n=window.document.location.href.split(/[\?&|\=]/);for(i in n.splice(0,1),n)switch(i%2){case 0:e=decodeURIComponent(n[i]);break;case 1:t[e]=decodeURIComponent(n[i]);var i=parseInt(t[e]);i==t[e]&&(t[e]=i)}return t}function updateControls(){QE("sendButton",2==state),QE("clearButton",2==state),QE("xouttext",2==state),QV("fileButton",2==state),QV("camButton",webchannel&&webchannel.ok&&!localStream&&2==userMediaSupport),QV("micButton",webchannel&&webchannel.ok&&!localStream&&0<userMediaSupport),QV("hangupButton",webchannel&&webchannel.ok&&localStream)}function startWebRTC(t,e){if(null!=webrtcSessions[0]&&0==multiWebRtc)return webrtcSessions[0];var n=null;return"undefined"!=typeof RTCPeerConnection?n=new RTCPeerConnection(webrtcconfiguration):"undefined"!=typeof webkitRTCPeerConnection&&(n=new webkitRTCPeerConnection(webrtcconfiguration)),null==n?null:(n.id=t,n.onicecandidate=function(e){try{null!=e.candidate&&sendws({action:"webRtcIce",ice:e.candidate,id:this.id})}catch(e){}},n.oniceconnectionstatechange=function(){n&&"failed"==n.iceConnectionState&&(n.close(),webrtcSessions[n.id]&&delete webrtcSessions[n.id])},n.ondatachannel=function(e){(webchannel=e.channel).onmessage=function(e){processMessage(e.data,2)},webchannel.onopen=function(){webchannel.ok=!0,updateControls(),sendws({action:"rtcSwitch",v:0})},webchannel.onclose=function(e){webchannel&&webchannel.ok?disconnect():hangUpButtonClick(0)}},n.onnegotiationneeded=function(e){null==n.holdTimer&&(n.holdTimer=setTimeout(function(){n.holdTimer=null,n.createOffer(function(e){n.setLocalDescription(e,function(){sendws({action:"webRtcSdp",sdp:e,id:t})},function(){hangUpButtonClick(t)})},function(){hangUpButtonClick(t)})},20))},n.ontrack=function(e){var t=Q("remoteVideoCanvas");t.srcObject=remoteStream=e.streams[0],t.onloadedmetadata=function(e){t.play()},displayRemoteVideo(!0)},1==e&&((webchannel=n.createDataChannel("DataChannel",{})).onmessage=function(e){processMessage(e.data,2)},webchannel.onopen=function(){webchannel.ok=!0,updateControls(),sendws({action:"rtcSwitch",v:0})},webchannel.onclose=function(e){webchannel&&webchannel.ok?disconnect():hangUpButtonClick(0)}),webrtcSessions[t]=n)}function webRtcHandleOffer(i,e){var t=webrtcSessions[i];t&&t.setRemoteDescription(new RTCSessionDescription(e),function(){"offer"==e.type&&t.createAnswer(function(n){t.setLocalDescription(n,function(e,t){try{sendws({action:"webRtcSdp",sdp:n,id:i})}catch(e){}},function(){hangUpButtonClick(i)})},function(){hangUpButtonClick(i)})},function(){hangUpButtonClick(i)})}function performWebRtcSwitch(){webchannel&&webchannel.ok&&(sendws({action:"rtcSwitch",v:1}),webchannel.xoutBuffer=[])}function disconnect(){0<state&&displayControl("Connection closed."),1<state&&setTimeout(start,500),cancelAllFileTransfers(),hangUpButtonClick(0,!0),hangUpButtonClick(1,!0),hangUpButtonClick(2,!0),null!=socket&&(socket.close(),socket=null),updateControls(),state=0}function send(e){if(2==state)if("object"==typeof e&&(e=JSON.stringify(e)),webchannel&&webchannel.ok)null!=webchannel.xoutBuffer?webchannel.xoutBuffer.push(e):webchannel.send(e);else if(null!=socket)try{socket.send(e)}catch(e){}}function sendws(e){2==state&&("object"==typeof e&&(e=JSON.stringify(e)),null!=socket&&socket.send(e))}function webRtcIdSwitch(e){return 0==e?0:3-e}function processMessage(t,e){if("string"==typeof t){try{t=JSON.parse(t)}catch(e){return void console.log("Unable to parse",t)}switch(t.action){case"chat":displayRemote(t.msg);break;case"random":random>t.random&&startWebRTC(0,!0);break;case"webRtcSdp":webrtcSessions[webRtcIdSwitch(t.id)]||startWebRTC(webRtcIdSwitch(t.id),!1),webRtcHandleOffer(webRtcIdSwitch(t.id),t.sdp);break;case"webRtcIce":var n=webrtcSessions[webRtcIdSwitch(t.id)];if(n)try{n.addIceCandidate(new RTCIceCandidate(t.ice))}catch(e){}break;case"videoStop":hangUpButtonClick(webRtcIdSwitch(t.id),!0);break;case"rtcSwitch":switch(t.v){case 0:performWebRtcSwitch();break;case 1:sendws({action:"rtcSwitch",v:2});break;case 2:for(var i in webchannel.xoutBuffer)webchannel.send(webchannel.xoutBuffer[i]);delete webchannel.xoutBuffer;break;default:console.log("Unknown rtcSwitch value: "+t.action)}break;case"file":startFileDownload(t);break;case"fileUploadCancel":cancelFileTransfer(t.id);break;case"fileUploadStart":fileDownloads[t.id]&&((currentFileDownload=fileDownloads[t.id]).data="",changeFileInfo(t.id,2,0),continueFileDownload(t),send({action:"fileUploadAck",id:t.id}));break;case"fileUploadEnd":currentFileDownload&&currentFileDownload.id==t.id&&(changeFileInfo(t.id,3,200),currentFileDownload.done=1,currentFileDownload=null,send({action:"fileUploadAck",id:t.id})),currentFileDownload=null;break;case"fileUploadAck":continueFileUpload();break;case"fileData":currentFileDownload&&currentFileDownload.id==t.id&&(currentFileDownload.data+=t.data,changeFileInfo(t.id,2,200*currentFileDownload.data.length/currentFileDownload.size),send({action:"fileUploadAck",id:t.id}));break;default:console.log("Unhandled object data",t)}}else console.log("Unhandled data",typeof t,t)}function fileButtonClick(){var e=Q("uploadFileInput");1!=e.getAttribute("eventset")&&(e.setAttribute("eventset","1"),e.addEventListener("change",fileSelect,!1)),e.value=null,e.click()}function fileSelect(){if(2==state){var e=Q("uploadFileInput");if(10<e.files.length)displayControl("Max. 10 souběžně nahrávaných souborů.");else for(var t=0;t<e.files.length;t++)if(0<e.files[t].size){var n=new FileReader;n.onload=function(e){this.xfile.data=e.target.result,startFileUpload(this.xfile)},n.xfile=e.files[t],n.readAsBinaryString(e.files[t])}}}function fileDrop(e){if(haltEvent(e),2==state&&null!=e.dataTransfer)if(10<e.dataTransfer.files.length)displayControl("Max. 10 souběžně nahrávaných souborů.");else for(var t=0;t<e.dataTransfer.files.length;t++)if(0<e.dataTransfer.files[t].size){var n=new FileReader;n.onload=function(e){this.xfile.data=e.target.result,startFileUpload(this.xfile)},n.xfile=e.dataTransfer.files[t],n.readAsBinaryString(e.dataTransfer.files[t])}}function startFileUpload(e){2==state&&(e.id=Math.random(),fileUploads.push(e),QA("xmsg",'<div style="clear:both"></div><div id="FILEUP-'+e.id+'" class="localBubble" style="width:240px;cursor:pointer" onclick="cancelFileTransfer(\''+e.id+'\')"><div id="FILEUP-ICON-'+e.id+'" class="fileicon" style="float:left;width:32px;height:32px"></div><div><div id="FILEUP-NAME-'+e.id+'" style="height:16px;overflow:hidden;white-space:nowrap;" title="'+e.name+'">'+e.name+'</div><div style="width:200px;background-color:lightgray;margin-left:32px;border-radius:3px;margin-top:3px;height:11px"><div id="FILEUP-PROGRESS-'+e.id+'" style="width:0px;background-color:green;border-radius:3px;height:11px">&nbsp;</div></div></div></div>'),Q("xmsg").scrollTop=Q("xmsg").scrollHeight,send({action:"file",size:e.size,id:e.id,type:e.type,name:e.name}),null==currentFileUpload&&continueFileUpload())}function startFileDownload(e){2==state&&(fileDownloads[e.id]=e,QA("xmsg",'<div style="clear:both"></div><div id="FILEUP-'+e.id+'" class="remoteBubble" style="width:240px;cursor:pointer" onclick="saveFileTransfer(\''+e.id+'\')"><div id="FILEUP-ICON-'+e.id+'" class="fileicon" style="float:left;width:32px;height:32px"></div><div><div id="FILEUP-NAME-'+e.id+'" style="height:16px;overflow:hidden;white-space:nowrap;" title="'+e.name+'">'+e.name+'</div><div style="width:200px;background-color:lightgray;margin-left:32px;border-radius:3px;margin-top:3px;height:11px"><div id="FILEUP-PROGRESS-'+e.id+'" style="width:0px;background-color:green;border-radius:3px;height:11px">&nbsp;</div></div></div></div>'),Q("xmsg").scrollTop=Q("xmsg").scrollHeight)}function changeFileInfo(e,t,n,i){t&&(Q("FILEUP-ICON-"+e).classList.remove("fileicon"),Q("FILEUP-ICON-"+e).classList.remove("fileiconx"),Q("FILEUP-ICON-"+e).classList.remove("fileicontransfer"),Q("FILEUP-ICON-"+e).classList.remove("fileicondone"),Q("FILEUP-ICON-"+e).classList.add(["fileicon","fileiconx","fileicontransfer","fileicondone"][t])),n&&(QS("FILEUP-PROGRESS-"+e).width=n+"px"),i&&(QS("FILEUP-PROGRESS-"+e)["background-color"]=i)}function data2blob(e){for(var t=new Array(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return new Blob([new Uint8Array(t)])}function saveFileTransfer(e){var t=fileDownloads[e];t&&1==t.done&&saveAs(data2blob(t.data),t.name)}function cancelFileTransfer(e){null!=currentFileUpload&&currentFileUpload.id==e&&(currentFileUpload=null),null!=currentFileDownload&&currentFileDownload.id==e&&(currentFileDownload=null);var t=!1;if(fileDownloads[e]&&1!=fileDownloads[e].done)delete fileDownloads[e],t=!0;else for(var n in fileUploads)if(fileUploads[n].id==e){send({action:"fileUploadCancel",id:e}),fileUploads.splice(n,1),t=!0;break}t&&changeFileInfo(e,1,200,"gray")}function cancelAllFileTransfers(){for(var e in fileDownloads)cancelFileTransfer(fileDownloads[e].id);for(var e in fileUploads)cancelFileTransfer(fileUploads[e].id)}function continueFileUpload(){if(null==currentFileUpload){if(0==fileUploads.length)return;(currentFileUpload=fileUploads[0]).ptr=0,send({action:"fileUploadStart",size:currentFileUpload.size,id:currentFileUpload.id,type:currentFileUpload.type,name:currentFileUpload.name})}else if(currentFileUpload.size<=currentFileUpload.ptr)send({action:"fileUploadEnd",size:currentFileUpload.size,id:currentFileUpload.id,type:currentFileUpload.type,name:currentFileUpload.name}),changeFileInfo(currentFileUpload.id,3,200),fileUploads.splice(0,1),currentFileUpload=null,continueFileUpload();else{var e=Math.min(4e3,currentFileUpload.data.length-currentFileUpload.ptr),t=currentFileUpload.data.substring(currentFileUpload.ptr,currentFileUpload.ptr+e);send({action:"fileData",id:currentFileUpload.id,data:t}),currentFileUpload.ptr+=e,changeFileInfo(currentFileUpload.id,0,200*currentFileUpload.ptr/currentFileUpload.size)}}function continueFileDownload(e){send({action:"fileUploadAck",id:e.id})}function enableNotificationsButtonClick(){return Notification&&Notification.requestPermission().then(function(e){QV("notifyButton","granted"!=e)}),!1}function camButtonClick(){null==localStream&&startLocalStream({video:!0,audio:!0})}function micButtonClick(){null==localStream&&startLocalStream({video:!1,audio:!0})}function hangUpButtonClick(e,t){var n=Q("localVideoCanvas"),i=Q("remoteVideoCanvas"),o=webrtcSessions[1==multiWebRtc?e:0];if(0==e&&null!=webchannel){try{webchannel.close()}catch(e){}webchannel=null}if(o){if(1!=multiWebRtc&&0!=e||(o.ontrack=null,o.onremovetrack=null,o.onremovestream=null,o.onnicecandidate=null,o.oniceconnectionstatechange=null,o.onsignalingstatechange=null,o.onicegatheringstatechange=null,o.onnotificationneeded=null),1==e&&localStream){var a=localStream.getTracks();for(var l in a)a[l].stop();localStream=null}if(2==e&&remoteStream){a=remoteStream.getTracks();for(var l in a)a[l].stop();remoteStream=null}1!=multiWebRtc&&0!=e||(o.close(),delete webrtcSessions[e])}1==e?(n.removeAttribute("src"),n.removeAttribute("srcObject"),null!=localStream&&(localStream=null),displayLocalVideo(!1)):2==e&&(i.removeAttribute("src"),i.removeAttribute("srcObject"),displayRemoteVideo(!1)),1!=t&&send({action:"videoStop",id:e}),updateControls()}function startLocalStream(a){var l=1==multiWebRtc?1:0;null==localStream&&(1==multiWebRtc&&null!=webrtcSessions[1]||navigator.mediaDevices.getUserMedia&&(localStream=1,updateControls(),navigator.mediaDevices.getUserMedia(a).then(function(e){var t=(localStream=e).getTracks(),n=startWebRTC(l);if(1==a.video){var i=Q("localVideoCanvas");i.srcObject=e,i.onloadedmetadata=function(e){i.play()},displayLocalVideo(!0)}for(var o in t)n.addTrack(t[o],localStream)},function(e){displayControl(e.message+"."),hangUpButtonClick(1)})))}function start(){if(updateControls(),"string"==typeof args.id&&0<args.id.length){var e=window.location.protocol.replace("http","ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/meshrelay.ashx?id="+args.id;null!=args.auth&&""!=args.auth&&(e+="&auth="+args.auth),(socket=new WebSocket(e)).onopen=function(){state=1,displayControl("Čekání na ostatní uživatele...")},socket.onerror=function(e){},socket.onclose=function(){disconnect()},socket.onmessage=function(e){if(state<2&&"string"==typeof e.data&&("c"==e.data||"cr"==e.data))return hangUpButtonClick(0,!0),hangUpButtonClick(1,!0),hangUpButtonClick(2,!0),displayControl("Připojeno."),state=2,updateControls(),void sendws({action:"random",random:random});2==state&&processMessage(e.data,1)}}else displayControl("Error: No connection key specified.")}function onUnLoad(){for(var e=0;e<3;e++)webrtcSessions[e]&&(webrtcSessions[e].close(),delete webrtcSessions[e]);if(null!=webchannel){try{webchannel.close()}catch(e){}webchannel=null}if(null!=socket){try{socket.close()}catch(e){}socket=null}}args.title&&(QH("xtitle",args.title.split(" ").join("&nbsp")),document.title=document.title+" - "+args.title),Notification&&QV("notifyButton","granted"!=Notification.permission),document.addEventListener("dragover",haltEvent,!1),document.addEventListener("dragleave",haltEvent,!1),document.addEventListener("drop",fileDrop,!1),document.onclick=function(e){Notification&&QV("notifyButton","granted"!=Notification.permission),null!=notification&&(notification.close(),notification=null)},document.onkeyup=function(e){if(Notification&&QV("notifyButton","granted"!=Notification.permission),null!=notification&&(notification.close(),notification=null),2==state&&8==e.keyCode&&0==userInputFocus){var t=Q("xouttext").value;0<t.length&&(Q("xouttext").value=t.substring(0,t.length-1))}if(0==userInputFocus)return haltEvent(e),!1},document.onkeypress=function(e){if(Notification&&QV("notifyButton","granted"!=Notification.permission),null!=notification&&(notification.close(),notification=null),2==state&&(13==e.keyCode?xsend(e):0==userInputFocus&&1==e.key.length&&(Q("xouttext").value=Q("xouttext").value+e.key)),0==userInputFocus)return haltEvent(e),!1},FileReader.prototype.readAsBinaryString||(FileReader.prototype.readAsBinaryString=function(e){var i="",o=this,a=new FileReader;a.onload=function(e){for(var t=new Uint8Array(a.result),n=0;n<t.byteLength;n++)i+=String.fromCharCode(t[n]);o.onload({target:{result:i}})},a.readAsArrayBuffer(e)}),start()</script>
\ No newline at end of file
1 +<!doctypehtml><html style=height:100%><title>MeshMessenger</title><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html;charset=utf-8"http-equiv=Content-Type><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link type=text/css href=styles/messenger.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><script src=scripts/filesaver.js></script><body style=font-family:Arial,Helvetica,sans-serif><div id=xtop style="position:absolute;left:0;right:0;top:0;height:38px;background-color:#036;color:#c8c8c8;box-shadow:3px 3px 10px gray"><div style=position:absolute;background-color:#036;right:0;height:38px><div id=notifyButton class="icon13 topButton"style=margin-right:4px;display:none title="Zapnout notifikace v prohlížeči"onclick=enableNotificationsButtonClick()></div><div id=fileButton class="icon4 topButton"title="Sdílet soubor"style=display:none onclick=fileButtonClick()></div><div id=camButton class="icon2 topButton"title="Aktivovat kameru &amp; mikrofon"style=display:none onclick=camButtonClick()></div><div id=micButton class="icon6 topButton"title="Aktivovat mikrofon"style=display:none onclick=micButtonClick()></div><div id=hangupButton class="icon11 topRedButton"title=Zavěsit style=display:none onclick=hangUpButtonClick(1)></div></div><div style=padding-top:9px;padding-left:6px;font-size:20px;display:inline-block><b><span id=xtitle>MeshMessenger</span></b></div></div><div id=xmiddle style=position:absolute;left:0;right:0;top:38px;bottom:30px><div style=position:absolute;left:0;right:0;top:0;bottom:0;overflow-y:scroll><div id=xmsg style=position:absolute;left:0;right:0;bottom:0;padding:5px></div></div></div><div id=xbottom style=position:absolute;left:0;right:0;bottom:0;height:30px;background-color:#036><div style=position:absolute;left:5px;right:215px;bottom:4px;top:4px;background-color:#f0f8ff><input id=xouttext style="width:calc(100% - 5px)"onfocus=onUserInputFocus(1) onblur=onUserInputFocus(0)></div><input type=button id=sendButton value=Odeslat style=position:absolute;right:110px;width:100px;top:4px onclick=xsend(event)> <input type=button id=clearButton value=Vymazat style=position:absolute;right:5px;width:100px;top:4px onclick=displayClear()></div><div id=remoteVideo style="position:absolute;right:24px;top:45px;width:320px;height:calc(240px + 30px);background-color:gray;border-radius:12px 12px 12px 12px;box-shadow:3px 3px 10px gray;display:none"><div style=position:absolute;right:0;left:0;top:2.5px;text-align:center>Vzdálený</div><video id=remoteVideoCanvas autoplay style="position:absolute;top:20px;left:0;width:100%;height:calc(100% - 30px);background-color:#000"></video></div><div id=localVideo style="position:absolute;right:24px;top:320px;width:160px;height:calc(120px + 30px);background-color:gray;border-radius:12px 12px 12px 12px;box-shadow:3px 3px 10px gray;display:none"><div style=position:absolute;right:0;left:0;top:2.5px;text-align:center>Lokální</div><video id=localVideoCanvas autoplay muted style="position:absolute;top:20px;left:0;width:100%;height:calc(100% - 30px);background-color:#000"></video></div><input id=uploadFileInput type=file multiple style=display:none><script onunload=onUnLoad()>var userInputFocus=0,args=parseUriArgs(),socket=null,state=0,random=Math.random(),webrtcSessions={},webchannel=null,localStream=null,remoteStream=null,multiWebRtc=!0,userMediaSupport=0,notification=null;getUserMediaSupport(function(e){userMediaSupport=e});var webrtcconfiguration="{{{webrtconfig}}}";if(""==webrtcconfiguration)webrtcconfiguration=null;else try{webrtcconfiguration=JSON.parse(decodeURIComponent(webrtcconfiguration))}catch(e){console.log('Invalid WebRTC config: "'+webrtcconfiguration+'".'),webrtcconfiguration=null}var fileUploads=[],fileDownloads={},currentFileUpload=null,currentFileDownload=null;function onUserInputFocus(e){userInputFocus=e}function displayClear(){QH("xmsg",""),cancelAllFileTransfers(),fileUploads=[],fileDownloads={}}function getUserMediaSupport(i){try{navigator.mediaDevices.enumerateDevices().then(function(e){try{var t=0,n=0;e.forEach(function(e){"audioinput"===e.kind&&(t=1),"videoinput"===e.kind&&(n=1)}),0==t&&i(0),i(t+n)}catch(e){}})}catch(e){}}function displayControl(e){QA("xmsg",'<div style="clear:both"><div style="color:gray;float:left;margin-bottom:2px">'+e+"</div><div></div></div>"),Q("xmsg").scrollTop=Q("xmsg").scrollHeight}function displayLocalVideo(e){QV("localVideo",e),adjustVideoWindows()}function displayRemoteVideo(e){QV("remoteVideo",e),adjustVideoWindows()}function adjustVideoWindows(){var e="none"!=QS("remoteVideo").display;QS("localVideo").top=e?"320px":"45px"}function displayRemote(e){QA("xmsg",'<div style="clear:both"><div class="remoteBubble">'+e+"</div><div></div></div>"),Q("xmsg").scrollTop=Q("xmsg").scrollHeight,Notification&&QV("notifyButton","granted"!=Notification.permission),Notification&&"granted"==Notification.permission&&(null!=notification&&(notification.close(),notification=null),notification=args.title?new Notification("MeshMessenger - "+args.title,{body:e}):new Notification("MeshMessenger",{body:e}))}function xsend(e){null!=notification&&(notification.close(),notification=null),Notification&&QV("notifyButton","granted"!=Notification.permission);var t=Q("xouttext").value;0<t.length&&(Q("xouttext").value="",QA("xmsg",'<div style="clear:both"><div class="localBubble">'+t+"</div><div></div></div>"),Q("xmsg").scrollTop=Q("xmsg").scrollHeight,send({action:"chat",msg:t}))}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function parseUriArgs(){var e,t={},n=window.document.location.href.split(/[\?&|\=]/);for(i in n.splice(0,1),n)switch(i%2){case 0:e=decodeURIComponent(n[i]);break;case 1:t[e]=decodeURIComponent(n[i]);var i=parseInt(t[e]);i==t[e]&&(t[e]=i)}return t}function updateControls(){QE("sendButton",2==state),QE("clearButton",2==state),QE("xouttext",2==state),QV("fileButton",2==state),QV("camButton",webchannel&&webchannel.ok&&!localStream&&2==userMediaSupport),QV("micButton",webchannel&&webchannel.ok&&!localStream&&0<userMediaSupport),QV("hangupButton",webchannel&&webchannel.ok&&localStream)}function startWebRTC(t,e){if(null!=webrtcSessions[0]&&0==multiWebRtc)return webrtcSessions[0];var n=null;return"undefined"!=typeof RTCPeerConnection?n=new RTCPeerConnection(webrtcconfiguration):"undefined"!=typeof webkitRTCPeerConnection&&(n=new webkitRTCPeerConnection(webrtcconfiguration)),null==n?null:(n.id=t,n.onicecandidate=function(e){try{null!=e.candidate&&sendws({action:"webRtcIce",ice:e.candidate,id:this.id})}catch(e){}},n.oniceconnectionstatechange=function(){n&&"failed"==n.iceConnectionState&&(n.close(),webrtcSessions[n.id]&&delete webrtcSessions[n.id])},n.ondatachannel=function(e){(webchannel=e.channel).onmessage=function(e){processMessage(e.data,2)},webchannel.onopen=function(){webchannel.ok=!0,updateControls(),sendws({action:"rtcSwitch",v:0})},webchannel.onclose=function(e){webchannel&&webchannel.ok?disconnect():hangUpButtonClick(0)}},n.onnegotiationneeded=function(e){null==n.holdTimer&&(n.holdTimer=setTimeout(function(){n.holdTimer=null,n.createOffer(function(e){n.setLocalDescription(e,function(){sendws({action:"webRtcSdp",sdp:e,id:t})},function(){hangUpButtonClick(t)})},function(){hangUpButtonClick(t)})},20))},n.ontrack=function(e){var t=Q("remoteVideoCanvas");t.srcObject=remoteStream=e.streams[0],t.onloadedmetadata=function(e){t.play()},displayRemoteVideo(!0)},1==e&&((webchannel=n.createDataChannel("DataChannel",{})).onmessage=function(e){processMessage(e.data,2)},webchannel.onopen=function(){webchannel.ok=!0,updateControls(),sendws({action:"rtcSwitch",v:0})},webchannel.onclose=function(e){webchannel&&webchannel.ok?disconnect():hangUpButtonClick(0)}),webrtcSessions[t]=n)}function webRtcHandleOffer(i,e){var t=webrtcSessions[i];t&&t.setRemoteDescription(new RTCSessionDescription(e),function(){"offer"==e.type&&t.createAnswer(function(n){t.setLocalDescription(n,function(e,t){try{sendws({action:"webRtcSdp",sdp:n,id:i})}catch(e){}},function(){hangUpButtonClick(i)})},function(){hangUpButtonClick(i)})},function(){hangUpButtonClick(i)})}function performWebRtcSwitch(){webchannel&&webchannel.ok&&(sendws({action:"rtcSwitch",v:1}),webchannel.xoutBuffer=[])}function disconnect(){0<state&&displayControl("Připojení ukončeno."),1<state&&setTimeout(start,500),cancelAllFileTransfers(),hangUpButtonClick(0,!0),hangUpButtonClick(1,!0),hangUpButtonClick(2,!0),null!=socket&&(socket.close(),socket=null),updateControls(),state=0}function send(e){if(2==state)if("object"==typeof e&&(e=JSON.stringify(e)),webchannel&&webchannel.ok)null!=webchannel.xoutBuffer?webchannel.xoutBuffer.push(e):webchannel.send(e);else if(null!=socket)try{socket.send(e)}catch(e){}}function sendws(e){2==state&&("object"==typeof e&&(e=JSON.stringify(e)),null!=socket&&socket.send(e))}function webRtcIdSwitch(e){return 0==e?0:3-e}function processMessage(t,e){if("string"==typeof t){try{t=JSON.parse(t)}catch(e){return void console.log("Unable to parse",t)}switch(t.action){case"chat":displayRemote(t.msg);break;case"random":random>t.random&&startWebRTC(0,!0);break;case"webRtcSdp":webrtcSessions[webRtcIdSwitch(t.id)]||startWebRTC(webRtcIdSwitch(t.id),!1),webRtcHandleOffer(webRtcIdSwitch(t.id),t.sdp);break;case"webRtcIce":var n=webrtcSessions[webRtcIdSwitch(t.id)];if(n)try{n.addIceCandidate(new RTCIceCandidate(t.ice))}catch(e){}break;case"videoStop":hangUpButtonClick(webRtcIdSwitch(t.id),!0);break;case"rtcSwitch":switch(t.v){case 0:performWebRtcSwitch();break;case 1:sendws({action:"rtcSwitch",v:2});break;case 2:for(var i in webchannel.xoutBuffer)webchannel.send(webchannel.xoutBuffer[i]);delete webchannel.xoutBuffer;break;default:console.log("Unknown rtcSwitch value: "+t.action)}break;case"file":startFileDownload(t);break;case"fileUploadCancel":cancelFileTransfer(t.id);break;case"fileUploadStart":fileDownloads[t.id]&&((currentFileDownload=fileDownloads[t.id]).data="",changeFileInfo(t.id,2,0),continueFileDownload(t),send({action:"fileUploadAck",id:t.id}));break;case"fileUploadEnd":currentFileDownload&&currentFileDownload.id==t.id&&(changeFileInfo(t.id,3,200),currentFileDownload.done=1,currentFileDownload=null,send({action:"fileUploadAck",id:t.id})),currentFileDownload=null;break;case"fileUploadAck":continueFileUpload();break;case"fileData":currentFileDownload&&currentFileDownload.id==t.id&&(currentFileDownload.data+=t.data,changeFileInfo(t.id,2,200*currentFileDownload.data.length/currentFileDownload.size),send({action:"fileUploadAck",id:t.id}));break;default:console.log("Unhandled object data",t)}}else console.log("Unhandled data",typeof t,t)}function fileButtonClick(){var e=Q("uploadFileInput");1!=e.getAttribute("eventset")&&(e.setAttribute("eventset","1"),e.addEventListener("change",fileSelect,!1)),e.value=null,e.click()}function fileSelect(){if(2==state){var e=Q("uploadFileInput");if(10<e.files.length)displayControl("Max. 10 souběžně nahrávaných souborů.");else for(var t=0;t<e.files.length;t++)if(0<e.files[t].size){var n=new FileReader;n.onload=function(e){this.xfile.data=e.target.result,startFileUpload(this.xfile)},n.xfile=e.files[t],n.readAsBinaryString(e.files[t])}}}function fileDrop(e){if(haltEvent(e),2==state&&null!=e.dataTransfer)if(10<e.dataTransfer.files.length)displayControl("Max. 10 souběžně nahrávaných souborů.");else for(var t=0;t<e.dataTransfer.files.length;t++)if(0<e.dataTransfer.files[t].size){var n=new FileReader;n.onload=function(e){this.xfile.data=e.target.result,startFileUpload(this.xfile)},n.xfile=e.dataTransfer.files[t],n.readAsBinaryString(e.dataTransfer.files[t])}}function startFileUpload(e){2==state&&(e.id=Math.random(),fileUploads.push(e),QA("xmsg",'<div style="clear:both"></div><div id="FILEUP-'+e.id+'" class="localBubble" style="width:240px;cursor:pointer" onclick="cancelFileTransfer(\''+e.id+'\')"><div id="FILEUP-ICON-'+e.id+'" class="fileicon" style="float:left;width:32px;height:32px"></div><div><div id="FILEUP-NAME-'+e.id+'" style="height:16px;overflow:hidden;white-space:nowrap;" title="'+e.name+'">'+e.name+'</div><div style="width:200px;background-color:lightgray;margin-left:32px;border-radius:3px;margin-top:3px;height:11px"><div id="FILEUP-PROGRESS-'+e.id+'" style="width:0px;background-color:green;border-radius:3px;height:11px">&nbsp;</div></div></div></div>'),Q("xmsg").scrollTop=Q("xmsg").scrollHeight,send({action:"file",size:e.size,id:e.id,type:e.type,name:e.name}),null==currentFileUpload&&continueFileUpload())}function startFileDownload(e){2==state&&(fileDownloads[e.id]=e,QA("xmsg",'<div style="clear:both"></div><div id="FILEUP-'+e.id+'" class="remoteBubble" style="width:240px;cursor:pointer" onclick="saveFileTransfer(\''+e.id+'\')"><div id="FILEUP-ICON-'+e.id+'" class="fileicon" style="float:left;width:32px;height:32px"></div><div><div id="FILEUP-NAME-'+e.id+'" style="height:16px;overflow:hidden;white-space:nowrap;" title="'+e.name+'">'+e.name+'</div><div style="width:200px;background-color:lightgray;margin-left:32px;border-radius:3px;margin-top:3px;height:11px"><div id="FILEUP-PROGRESS-'+e.id+'" style="width:0px;background-color:green;border-radius:3px;height:11px">&nbsp;</div></div></div></div>'),Q("xmsg").scrollTop=Q("xmsg").scrollHeight)}function changeFileInfo(e,t,n,i){t&&(Q("FILEUP-ICON-"+e).classList.remove("fileicon"),Q("FILEUP-ICON-"+e).classList.remove("fileiconx"),Q("FILEUP-ICON-"+e).classList.remove("fileicontransfer"),Q("FILEUP-ICON-"+e).classList.remove("fileicondone"),Q("FILEUP-ICON-"+e).classList.add(["fileicon","fileiconx","fileicontransfer","fileicondone"][t])),n&&(QS("FILEUP-PROGRESS-"+e).width=n+"px"),i&&(QS("FILEUP-PROGRESS-"+e)["background-color"]=i)}function data2blob(e){for(var t=new Array(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return new Blob([new Uint8Array(t)])}function saveFileTransfer(e){var t=fileDownloads[e];t&&1==t.done&&saveAs(data2blob(t.data),t.name)}function cancelFileTransfer(e){null!=currentFileUpload&&currentFileUpload.id==e&&(currentFileUpload=null),null!=currentFileDownload&&currentFileDownload.id==e&&(currentFileDownload=null);var t=!1;if(fileDownloads[e]&&1!=fileDownloads[e].done)delete fileDownloads[e],t=!0;else for(var n in fileUploads)if(fileUploads[n].id==e){send({action:"fileUploadCancel",id:e}),fileUploads.splice(n,1),t=!0;break}t&&changeFileInfo(e,1,200,"gray")}function cancelAllFileTransfers(){for(var e in fileDownloads)cancelFileTransfer(fileDownloads[e].id);for(var e in fileUploads)cancelFileTransfer(fileUploads[e].id)}function continueFileUpload(){if(null==currentFileUpload){if(0==fileUploads.length)return;(currentFileUpload=fileUploads[0]).ptr=0,send({action:"fileUploadStart",size:currentFileUpload.size,id:currentFileUpload.id,type:currentFileUpload.type,name:currentFileUpload.name})}else if(currentFileUpload.size<=currentFileUpload.ptr)send({action:"fileUploadEnd",size:currentFileUpload.size,id:currentFileUpload.id,type:currentFileUpload.type,name:currentFileUpload.name}),changeFileInfo(currentFileUpload.id,3,200),fileUploads.splice(0,1),currentFileUpload=null,continueFileUpload();else{var e=Math.min(4e3,currentFileUpload.data.length-currentFileUpload.ptr),t=currentFileUpload.data.substring(currentFileUpload.ptr,currentFileUpload.ptr+e);send({action:"fileData",id:currentFileUpload.id,data:t}),currentFileUpload.ptr+=e,changeFileInfo(currentFileUpload.id,0,200*currentFileUpload.ptr/currentFileUpload.size)}}function continueFileDownload(e){send({action:"fileUploadAck",id:e.id})}function enableNotificationsButtonClick(){return Notification&&Notification.requestPermission().then(function(e){QV("notifyButton","granted"!=e)}),!1}function camButtonClick(){null==localStream&&startLocalStream({video:!0,audio:!0})}function micButtonClick(){null==localStream&&startLocalStream({video:!1,audio:!0})}function hangUpButtonClick(e,t){var n=Q("localVideoCanvas"),i=Q("remoteVideoCanvas"),o=webrtcSessions[1==multiWebRtc?e:0];if(0==e&&null!=webchannel){try{webchannel.close()}catch(e){}webchannel=null}if(o){if(1!=multiWebRtc&&0!=e||(o.ontrack=null,o.onremovetrack=null,o.onremovestream=null,o.onnicecandidate=null,o.oniceconnectionstatechange=null,o.onsignalingstatechange=null,o.onicegatheringstatechange=null,o.onnotificationneeded=null),1==e&&localStream){var a=localStream.getTracks();for(var l in a)a[l].stop();localStream=null}if(2==e&&remoteStream){a=remoteStream.getTracks();for(var l in a)a[l].stop();remoteStream=null}1!=multiWebRtc&&0!=e||(o.close(),delete webrtcSessions[e])}1==e?(n.removeAttribute("src"),n.removeAttribute("srcObject"),null!=localStream&&(localStream=null),displayLocalVideo(!1)):2==e&&(i.removeAttribute("src"),i.removeAttribute("srcObject"),displayRemoteVideo(!1)),1!=t&&send({action:"videoStop",id:e}),updateControls()}function startLocalStream(a){var l=1==multiWebRtc?1:0;null==localStream&&(1==multiWebRtc&&null!=webrtcSessions[1]||navigator.mediaDevices.getUserMedia&&(localStream=1,updateControls(),navigator.mediaDevices.getUserMedia(a).then(function(e){var t=(localStream=e).getTracks(),n=startWebRTC(l);if(1==a.video){var i=Q("localVideoCanvas");i.srcObject=e,i.onloadedmetadata=function(e){i.play()},displayLocalVideo(!0)}for(var o in t)n.addTrack(t[o],localStream)},function(e){displayControl(e.message+"."),hangUpButtonClick(1)})))}function start(){if(updateControls(),"string"==typeof args.id&&0<args.id.length){var e=window.location.protocol.replace("http","ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/meshrelay.ashx?id="+args.id;null!=args.auth&&""!=args.auth&&(e+="&auth="+args.auth),(socket=new WebSocket(e)).onopen=function(){state=1,displayControl("Čekání na ostatní uživatele...")},socket.onerror=function(e){},socket.onclose=function(){disconnect()},socket.onmessage=function(e){if(state<2&&"string"==typeof e.data&&("c"==e.data||"cr"==e.data))return hangUpButtonClick(0,!0),hangUpButtonClick(1,!0),hangUpButtonClick(2,!0),displayControl("Připojeno."),state=2,updateControls(),void sendws({action:"random",random:random});2==state&&processMessage(e.data,1)}}else displayControl("Chyba: nebyl zadán klíč pro připojení.")}function onUnLoad(){for(var e=0;e<3;e++)webrtcSessions[e]&&(webrtcSessions[e].close(),delete webrtcSessions[e]);if(null!=webchannel){try{webchannel.close()}catch(e){}webchannel=null}if(null!=socket){try{socket.close()}catch(e){}socket=null}}args.title&&(QH("xtitle",args.title.split(" ").join("&nbsp")),document.title=document.title+" - "+args.title),Notification&&QV("notifyButton","granted"!=Notification.permission),document.addEventListener("dragover",haltEvent,!1),document.addEventListener("dragleave",haltEvent,!1),document.addEventListener("drop",fileDrop,!1),document.onclick=function(e){Notification&&QV("notifyButton","granted"!=Notification.permission),null!=notification&&(notification.close(),notification=null)},document.onkeyup=function(e){if(Notification&&QV("notifyButton","granted"!=Notification.permission),null!=notification&&(notification.close(),notification=null),2==state&&8==e.keyCode&&0==userInputFocus){var t=Q("xouttext").value;0<t.length&&(Q("xouttext").value=t.substring(0,t.length-1))}if(0==userInputFocus)return haltEvent(e),!1},document.onkeypress=function(e){if(Notification&&QV("notifyButton","granted"!=Notification.permission),null!=notification&&(notification.close(),notification=null),2==state&&(13==e.keyCode?xsend(e):0==userInputFocus&&1==e.key.length&&(Q("xouttext").value=Q("xouttext").value+e.key)),0==userInputFocus)return haltEvent(e),!1},FileReader.prototype.readAsBinaryString||(FileReader.prototype.readAsBinaryString=function(e){var i="",o=this,a=new FileReader;a.onload=function(e){for(var t=new Uint8Array(a.result),n=0;n<t.byteLength;n++)i+=String.fromCharCode(t[n]);o.onload({target:{result:i}})},a.readAsArrayBuffer(e)}),start()</script>
\ No newline at end of file
views/translations/messenger_cs.handlebars
+5 -5
@@ -12,10 +12,10 @@
12 <div id="xtop" style="position:absolute;left:0;right:0;top:0;height:38px;background-color:#036;color:#c8c8c8;box-shadow:3px 3px 10px gray">
13 <div style="position:absolute;background-color:#036;right:0;height:38px">
14 <div id="notifyButton" class="icon13 topButton" style="margin-right:4px;display:none" title="Zapnout notifikace v prohlížeči" onclick="enableNotificationsButtonClick()"></div>
15 - <div id="fileButton" class="icon4 topButton" title="Share a file" style="display:none" onclick="fileButtonClick()"></div>
15 + <div id="fileButton" class="icon4 topButton" title="Sdílet soubor" style="display:none" onclick="fileButtonClick()"></div>
16 <div id="camButton" class="icon2 topButton" title="Aktivovat kameru &amp; mikrofon" style="display:none" onclick="camButtonClick()"></div>
17 <div id="micButton" class="icon6 topButton" title="Aktivovat mikrofon" style="display:none" onclick="micButtonClick()"></div>
18 - <div id="hangupButton" class="icon11 topRedButton" title="Hang up" style="display:none" onclick="hangUpButtonClick(1)"></div>
18 + <div id="hangupButton" class="icon11 topRedButton" title="Zavěsit" style="display:none" onclick="hangUpButtonClick(1)"></div>
19 </div>
20 <div style="padding-top:9px;padding-left:6px;font-size:20px;display:inline-block"><b><span id="xtitle">MeshMessenger</span></b></div>
21 </div>
@@ -27,7 +27,7 @@
27 <div id="xbottom" style="position:absolute;left:0;right:0;bottom:0px;height:30px;background-color:#036">
28 <div style="position:absolute;left:5px;right:215px;bottom:4px;top:4px;background-color:aliceblue"><input id="xouttext" type="text" style="width:calc(100% - 5px)" onfocus="onUserInputFocus(1)" onblur="onUserInputFocus(0)"></div>
29 <input type="button" id="sendButton" value="Odeslat" style="position:absolute;right:110px;width:100px;top:4px;" onclick="xsend(event)">
30 - <input type="button" id="clearButton" value="Clear" style="position:absolute;right:5px;width:100px;top:4px;" onclick="displayClear()">
30 + <input type="button" id="clearButton" value="Vymazat" style="position:absolute;right:5px;width:100px;top:4px;" onclick="displayClear()">
31 </div>
32 <div id="remoteVideo" style="position:absolute;right:24px;top:45px;width:320px;height:calc(240px + 30px);background-color:gray;border-radius:12px 12px 12px 12px;box-shadow:3px 3px 10px gray;display:none">
33 <div style="position:absolute;right:0;left:0;top:2.5px;text-align:center">Vzdálený</div>
@@ -275,7 +275,7 @@
275
276 // Disconnect everything
277 function disconnect() {
278 - if (state > 0) { displayControl("Connection closed."); }
278 + if (state > 0) { displayControl("Připojení ukončeno."); }
279 if (state > 1) { setTimeout(start, 500); }
280 cancelAllFileTransfers();
281 hangUpButtonClick(0, true); // Data channel
@@ -624,7 +624,7 @@
624 if (state == 2) { processMessage(msg.data, 1); }
625 }
626 } else {
627 - displayControl("Error: No connection key specified.");
627 + displayControl("Chyba: nebyl zadán klíč pro připojení.");
628 }
629 }
630
views/translations/terms-min_cs.handlebars
+1 -1
@@ -1,4 +1,4 @@
1 -<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><title>MeshCentral - Terms of use</title><body id=body onload='"undefined"!=typeof startup&&startup()'style=display:none;overflow:hidden><div id=container><div id=masthead class=noselect style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div><p id=logoutControl style="color:#fff;font-size:11px;margin:10px 10px 0"></div><div id=page_leftbar><div style=height:16px></div></div><div id=topbar class="noselect style3"style=height:24px;position:relative><div id=uiMenuButton title="User interface selection"onclick=showUserInterfaceSelectMenu()>♦<div id=uiMenu style=display:none><div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"><div class=uiSelector1></div></div><div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"><div class=uiSelector2></div></div><div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Fixed width interface"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Toggle night mode"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><h1>Terms of use</h1><p>Please contact the site administrator for terms of use.<hr><p class=MsoNormal>The following are the required disclosures of open source components and software incorporated into this software.<p class=MsoNormal><b><span>1.AJAX Control Toolkit - Nová BSD Licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright (c) 2009, CodePlex Foundation. All rights reserved.<o:p></o:p></span><p class=MsoNormal><span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span><p class=MsoNormal><span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span><p class=MsoNormal><span>2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.<o:p></o:p></span><p class=MsoNormal><span>3.Název Nadace CodePlex Foundation ani jména jejích přispěvatelů nesmí být bez předchozího písemného svolení použita k podpoře nebo propagaci produktů odvozených od tohoto softwaru.<o:p></o:p></span><p class=MsoNormal><span>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span><p class=MsoNormal><b><span>2.OpenSSL – OpenSSL a SSLeay licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=http://www.openssl.org/source/license.html>http://www.openssl.org/source/license.html</a></span><p class=MsoNormal><span>Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.<o:p></o:p></span><p class=MsoNormal><span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span><p class=MsoNormal><span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span><p class=MsoNormal><span>2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.<o:p></o:p></span><p class=MsoNormal><span>Všechny reklamní materiály uvádějící funkce nebo použití tohoto softwaru musí obsahovat následující potvrzení: "Tento produkt zahrnuje software vyvinutý projektem OpenSSL pro použití v sadě OpenSSL Toolkit. (http://www.openssl.org/)"<o:p></o:p></span><p class=MsoNormal><span>4.Názvy "OpenSSL Toolkit" a "OpenSSL Project" nesmí být bez předchozího písemného souhlasu použity k propagaci nebo propagaci produktů odvozených z tohoto softwaru. Pro písemné povolení nás prosím kontaktujte openssl-core@openssl.org.<o:p></o:p></span><p class=MsoNormal><span>5.Produkty odvozené od tohoto softwaru nesmí být nazývány "OpenSSL" ani se nesmí "OpenSSL" objevit v jejich jménech bez předchozího písemného souhlasu projektu OpenSSL.<o:p></o:p></span><p class=MsoNormal><span>6.Redistribuce jakékoli formy si musí zachovat následující potvrzení: "Tento produkt zahrnuje software vyvinutý v rámci projektu OpenSSL pro použití v sadě OpenSSL Toolkit (http://www.openssl.org/)".<o:p></o:p></span><p class=MsoNormal><span>THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span><p class=MsoNormal><b><span>3.jQuery Foundation - MIT licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright 2013 jQuery Foundation and other contributors <a href=http://jquery.com/ >http://jquery.com/</a></span><p class=MsoNormal><span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span><p class=MsoNormal><b><span>4.jQuery User Interface - MIT Licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright 2013 jQuery Foundation and other contributors, <a href=http://jqueryui.com/ >http://jqueryui.com/</a></span><p class=MsoNormal><span>This software consists of voluntary contributions made by many individuals (AUTHORS.txt, http://jqueryui.com/about ). For exact contribution history,see the revision history and logs, available at http://jquery-ui.googlecode.com/svn/<o:p></o:p></span><p class=MsoNormal><span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span><p class=MsoNormal><b><span>5.noVNC - Mozilla Public licence 2.0</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=https://github.com/kanaka/noVNC/blob/master/LICENSE.txt>https://github.com/kanaka/noVNC/blob/master/LICENSE.txt</a></span><p class=MsoNormal><span>Copyright (C) 2011 Joel Martin This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.<o:p></o:p></span><p class=MsoNormal><b><span>6.Rcarousel - MIT LIcense</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=https://github.com/ryrych/rcarousel/blob/master/widget/license>https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span><p class=MsoNormal><span>Copyright (c) 2010 Wojciech 'RRH' Ryrych<o:p></o:p></span><p class=MsoNormal><span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span><p class=MsoNormal><b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK licence</span></b><span><o:p></o:p></span><p class=MsoNormal><span>This software uses code from <a href=http://www.webtoolkit.info/javascript-base64.html>http://www.webtoolkit.info/javascript-base64.html</a> licensed under the <a href=http://creativecommons.org/licenses/by/2.0/uk/legalcode>http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> and its source can be downloaded from <a href=http://www.webtoolkit.info/javascript-base64.html>http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span></p><br></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right><a href=/ >Zpět</a></table></div></div><script>'use strict';
1 +<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><link type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><script src=scripts/common-0.0.1.js></script><title>MeshCentral - Terms of use</title><body id=body onload='"undefined"!=typeof startup&&startup()'style=display:none;overflow:hidden><div id=container><div id=masthead class=noselect style="background:url(logo.png) 0 0;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px><strong><font style=font-size:46px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px><strong><font style=font-size:14px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div><p id=logoutControl style="color:#fff;font-size:11px;margin:10px 10px 0"></div><div id=page_leftbar><div style=height:16px></div></div><div id=topbar class="noselect style3"style=height:24px;position:relative><div id=uiMenuButton title="Výběr rozhraní uživatele"onclick=showUserInterfaceSelectMenu()>♦<div id=uiMenu style=display:none><div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Rozhraní levé lišty"><div class=uiSelector1></div></div><div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Rozhraní horní lišty"><div class=uiSelector2></div></div><div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Rozhraní s pevnou šířkou"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Přepnout na noční mód"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><h1>Podmínky používání</h1><p>Prosím kontaktujte správce serveru pro podrobnosti o podmínkách používání.<hr><p class=MsoNormal>Níže jsou uvedena požadovaná zveřejnění součástí a softwaru s otevřeným zdrojovým kódem začleněných do tohoto softwaru.<p class=MsoNormal><b><span>1.AJAX Control Toolkit - Nová BSD Licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright (c) 2009, CodePlex Foundation. Všechna práva vyhrazena.<o:p></o:p></span><p class=MsoNormal><span>Redistribuce a použití ve zdrojové a binární podobě, s úpravou nebo bez ní, jsou povoleny za předpokladu, že jsou splněny následující podmínky:<o:p></o:p></span><p class=MsoNormal><span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span><p class=MsoNormal><span>2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.<o:p></o:p></span><p class=MsoNormal><span>3.Název Nadace CodePlex Foundation ani jména jejích přispěvatelů nesmí být bez předchozího písemného svolení použita k podpoře nebo propagaci produktů odvozených od tohoto softwaru.<o:p></o:p></span><p class=MsoNormal><span>TENTO SOFTWARE POSKYTUJÍ DRŽITELÉ AUTORSKÝCH PRÁV A DODAVATELÉ "TAK JAK JE" A JAKÉKOLI VÝSLOVNÉ NEBO IMPLIKOVANÉ ZÁRUKY, VČETNĚ IMPLIKOVANÝCH ZÁRUK OBCHODOVATELNOSTI A VHODNOSTI PRO KONKRÉTNÍ ÚČEL, VČETNĚ, NEJMÉ OMEZENÉHO, NENÍ OMEZENO. V ŽÁDNÉM PŘÍPADĚ NESMÍ BÝT ZODPOVĚDNÝ MAJITEL AUTORSKÝCH PRÁV NEBO PŘIDĚLOVATELÉ ZA ŽÁDNÉ PŘÍMÉ, NEPŘÍMÉ, NÁHODNÉ, ZVLÁŠTNÍ, EXEMPLÁRNÍ NEBO NÁSLEDNÉ POŠKOZENÍ (VČETNĚ, ALE NEJEDNÁVĚJÍCÍCH, ZÍSKÁNÍ ZBOŽÍ NEBO SLUŽEB; ÚDAJE; NEBO PŘERUŠENÍ PODNIKŮ) JAK VYDĚLÁVALA A NA JAKÉKOLIV TEORII ODPOVĚDNOSTI, POKUD JDE O SMLOUVU, STRUČNOU ODPOVĚDNOST NEBO TORT (VČETNĚ NEGLIGENCE NEBO JINÉHO) VYPLÝVAJÍCÍ Z KAŽDÉHO ZPŮSOBU POUŽÍVÁNÍ TENTOHO SOFTWARU, AJ KDYKOLI PORUŠENÍ.<o:p></o:p></span><p class=MsoNormal><b><span>2.OpenSSL – OpenSSL a SSLeay licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=http://www.openssl.org/source/license.html>http://www.openssl.org/source/license.html</a></span><p class=MsoNormal><span>Copyright (c) 1998-2011 The OpenSSL Project. Všechna práva vyhrazena.<o:p></o:p></span><p class=MsoNormal><span>Redistribuce a použití ve zdrojové a binární podobě, s úpravou nebo bez ní, jsou povoleny za předpokladu, že jsou splněny následující podmínky:<o:p></o:p></span><p class=MsoNormal><span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span><p class=MsoNormal><span>2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.<o:p></o:p></span><p class=MsoNormal><span>Všechny reklamní materiály uvádějící funkce nebo použití tohoto softwaru musí obsahovat následující potvrzení: "Tento produkt zahrnuje software vyvinutý projektem OpenSSL pro použití v sadě OpenSSL Toolkit. (http://www.openssl.org/)"<o:p></o:p></span><p class=MsoNormal><span>4.Názvy "OpenSSL Toolkit" a "OpenSSL Project" nesmí být bez předchozího písemného souhlasu použity k propagaci nebo propagaci produktů odvozených z tohoto softwaru. Pro písemné povolení nás prosím kontaktujte openssl-core@openssl.org.<o:p></o:p></span><p class=MsoNormal><span>5.Produkty odvozené od tohoto softwaru nesmí být nazývány "OpenSSL" ani se nesmí "OpenSSL" objevit v jejich jménech bez předchozího písemného souhlasu projektu OpenSSL.<o:p></o:p></span><p class=MsoNormal><span>6.Redistribuce jakékoli formy si musí zachovat následující potvrzení: "Tento produkt zahrnuje software vyvinutý v rámci projektu OpenSSL pro použití v sadě OpenSSL Toolkit (http://www.openssl.org/)".<o:p></o:p></span><p class=MsoNormal><span>THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span><p class=MsoNormal><b><span>3.jQuery Foundation - MIT licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright 2013 jQuery Foundation a ostatní přispěvatelé <a href=http://jquery.com/ >http://jquery.com/</a></span><p class=MsoNormal><span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.</span><p class=MsoNormal><b><span>4.jQuery User Interface - MIT Licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright 2013 jQuery Foundation a ostatní přispěvatelé, <a href=http://jqueryui.com/ >http://jqueryui.com/</a></span><p class=MsoNormal><span>Tento software se skládá z dobrovolných příspěvků mnoha jednotlivců (AUTHORS.txt, http://jqueryui.com/about ). Přesnou historii příspěvků naleznete v historii revizí a protokolech dostupných na adrese http://jquery-ui.googlecode.com/svn/<o:p></o:p></span><p class=MsoNormal><span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.<o:p></o:p></span><p class=MsoNormal><b><span>5.noVNC - Mozilla Public licence 2.0</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=https://github.com/kanaka/noVNC/blob/master/LICENSE.txt>https://github.com/kanaka/noVNC/blob/master/LICENSE.txt</a></span><p class=MsoNormal><span>Copyright (C) 2011 Joel Martin This Source Code Form podléhá podmínkám Mozilla Public licence, v. 2.0. Pokud kopie tohoto MPL nebyla distribuována s tímto souborem, můžete si ji pořídit na adrese http://mozilla.org/MPL/2.0/.<o:p></o:p></span><p class=MsoNormal><b><span>6.Rcarousel - MIT LIcense</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=https://github.com/ryrych/rcarousel/blob/master/widget/license>https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span><p class=MsoNormal><span>Copyright (c) 2010 Wojciech 'RRH' Ryrych<o:p></o:p></span><p class=MsoNormal><span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.<o:p></o:p></span><p class=MsoNormal><b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK licence</span></b><span><o:p></o:p></span><p class=MsoNormal><span>Tento software využívá kódy z <a href=http://www.webtoolkit.info/javascript-base64.html>http://www.webtoolkit.info/javascript-base64.html</a> licencováno pod <a href=http://creativecommons.org/licenses/by/2.0/uk/legalcode>http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> a jeho zdroj může být stažen z <a href=http://www.webtoolkit.info/javascript-base64.html>http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span></p><br></div><div id=footer><table cellpadding=0 cellspacing=10 style=width:100%><tr><td style=text-align:left><td style=text-align:right><a href=/ >Zpět</a></table></div></div><script>'use strict';
2 var uiMode = parseInt(getstore('uiMode', 1));
3 var webPageStackMenu = false;
4 var webPageFullScreen = true;
views/translations/terms-mobile-min_cs.handlebars
+1 -1
@@ -1 +1 @@
1 -<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><title>MeshCentral - Terms of use</title><style type=text/css>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;max-width:100%;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:4px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px><div id=column_l style=padding-left:10px;padding-right:10px><h1>Terms of use</h1><p>Please contact the site administrator for terms of use.<hr><p class=MsoNormal>The following are the required disclosures of open source components and software incorporated into this software.<p class=MsoNormal><b><span>1.AJAX Control Toolkit - Nová BSD Licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright (c) 2009, CodePlex Foundation. All rights reserved.<o:p></o:p></span><p class=MsoNormal><span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span><p class=MsoNormal><span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span><p class=MsoNormal><span>2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.<o:p></o:p></span><p class=MsoNormal><span>3.Název Nadace CodePlex Foundation ani jména jejích přispěvatelů nesmí být bez předchozího písemného svolení použita k podpoře nebo propagaci produktů odvozených od tohoto softwaru.<o:p></o:p></span><p class=MsoNormal><span>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span><p class=MsoNormal><b><span>2.OpenSSL – OpenSSL a SSLeay licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=http://www.openssl.org/source/license.html>http://www.openssl.org/source/license.html</a></span><p class=MsoNormal><span>Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.<o:p></o:p></span><p class=MsoNormal><span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span><p class=MsoNormal><span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span><p class=MsoNormal><span>2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.<o:p></o:p></span><p class=MsoNormal><span>Všechny reklamní materiály uvádějící funkce nebo použití tohoto softwaru musí obsahovat následující potvrzení: "Tento produkt zahrnuje software vyvinutý projektem OpenSSL pro použití v sadě OpenSSL Toolkit. (http://www.openssl.org/)"<o:p></o:p></span><p class=MsoNormal><span>4.Názvy "OpenSSL Toolkit" a "OpenSSL Project" nesmí být bez předchozího písemného souhlasu použity k propagaci nebo propagaci produktů odvozených z tohoto softwaru. Pro písemné povolení nás prosím kontaktujte openssl-core@openssl.org.<o:p></o:p></span><p class=MsoNormal><span>5.Produkty odvozené od tohoto softwaru nesmí být nazývány "OpenSSL" ani se nesmí "OpenSSL" objevit v jejich jménech bez předchozího písemného souhlasu projektu OpenSSL.<o:p></o:p></span><p class=MsoNormal><span>6.Redistribuce jakékoli formy si musí zachovat následující potvrzení: "Tento produkt zahrnuje software vyvinutý v rámci projektu OpenSSL pro použití v sadě OpenSSL Toolkit (http://www.openssl.org/)".<o:p></o:p></span><p class=MsoNormal><span>THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span><p class=MsoNormal><b><span>3.jQuery Foundation - MIT licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright 2013 jQuery Foundation and other contributors <a href=http://jquery.com/ >http://jquery.com/</a></span><p class=MsoNormal><span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span><p class=MsoNormal><b><span>4.jQuery User Interface - MIT Licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright 2013 jQuery Foundation and other contributors, <a href=http://jqueryui.com/ >http://jqueryui.com/</a></span><p class=MsoNormal><span>This software consists of voluntary contributions made by many individuals (AUTHORS.txt, http://jqueryui.com/about ). For exact contribution history,see the revision history and logs, available at http://jquery-ui.googlecode.com/svn/<o:p></o:p></span><p class=MsoNormal><span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span><p class=MsoNormal><b><span>5.noVNC - Mozilla Public licence 2.0</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=https://github.com/kanaka/noVNC/blob/master/LICENSE.txt>https://github.com/kanaka/noVNC/blob/master/LICENSE.txt</a></span><p class=MsoNormal><span>Copyright (C) 2011 Joel Martin This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.<o:p></o:p></span><p class=MsoNormal><b><span>6.Rcarousel - MIT LIcense</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=https://github.com/ryrych/rcarousel/blob/master/widget/license>https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span><p class=MsoNormal><span>Copyright (c) 2010 Wojciech 'RRH' Ryrych<o:p></o:p></span><p class=MsoNormal><span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span><p class=MsoNormal><b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK licence</span></b><span><o:p></o:p></span><p class=MsoNormal><span>This software uses code from <a href=http://www.webtoolkit.info/javascript-base64.html>http://www.webtoolkit.info/javascript-base64.html</a> licensed under the <a href=http://creativecommons.org/licenses/by/2.0/uk/legalcode>http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> and its source can be downloaded from <a href=http://www.webtoolkit.info/javascript-base64.html>http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span></p><br></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table cellpadding=0 cellspacing=6 style=width:100%><tr><td style=text-align:left;color:#fff>{{{footer}}}<td style=text-align:right>{{{rootCertLink}}}&nbsp;<a href=/ >Zpět</a></table></div></div>
\ No newline at end of file
1 +<!doctypehtml><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><title>MeshCentral - Terms of use</title><style type=text/css>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;max-width:100%;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:4px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px><div id=column_l style=padding-left:10px;padding-right:10px><h1>Podmínky používání</h1><p>Prosím kontaktujte správce serveru pro podrobnosti o podmínkách používání.<hr><p class=MsoNormal>Níže jsou uvedena požadovaná zveřejnění součástí a softwaru s otevřeným zdrojovým kódem začleněných do tohoto softwaru.<p class=MsoNormal><b><span>1.AJAX Control Toolkit - Nová BSD Licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright (c) 2009, CodePlex Foundation. Všechna práva vyhrazena.<o:p></o:p></span><p class=MsoNormal><span>Redistribuce a použití ve zdrojové a binární podobě, s úpravou nebo bez ní, jsou povoleny za předpokladu, že jsou splněny následující podmínky:<o:p></o:p></span><p class=MsoNormal><span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span><p class=MsoNormal><span>2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.<o:p></o:p></span><p class=MsoNormal><span>3.Název Nadace CodePlex Foundation ani jména jejích přispěvatelů nesmí být bez předchozího písemného svolení použita k podpoře nebo propagaci produktů odvozených od tohoto softwaru.<o:p></o:p></span><p class=MsoNormal><span>TENTO SOFTWARE POSKYTUJÍ DRŽITELÉ AUTORSKÝCH PRÁV A DODAVATELÉ "TAK JAK JE" A JAKÉKOLI VÝSLOVNÉ NEBO IMPLIKOVANÉ ZÁRUKY, VČETNĚ IMPLIKOVANÝCH ZÁRUK OBCHODOVATELNOSTI A VHODNOSTI PRO KONKRÉTNÍ ÚČEL, VČETNĚ, NEJMÉ OMEZENÉHO, NENÍ OMEZENO. V ŽÁDNÉM PŘÍPADĚ NESMÍ BÝT ZODPOVĚDNÝ MAJITEL AUTORSKÝCH PRÁV NEBO PŘIDĚLOVATELÉ ZA ŽÁDNÉ PŘÍMÉ, NEPŘÍMÉ, NÁHODNÉ, ZVLÁŠTNÍ, EXEMPLÁRNÍ NEBO NÁSLEDNÉ POŠKOZENÍ (VČETNĚ, ALE NEJEDNÁVĚJÍCÍCH, ZÍSKÁNÍ ZBOŽÍ NEBO SLUŽEB; ÚDAJE; NEBO PŘERUŠENÍ PODNIKŮ) JAK VYDĚLÁVALA A NA JAKÉKOLIV TEORII ODPOVĚDNOSTI, POKUD JDE O SMLOUVU, STRUČNOU ODPOVĚDNOST NEBO TORT (VČETNĚ NEGLIGENCE NEBO JINÉHO) VYPLÝVAJÍCÍ Z KAŽDÉHO ZPŮSOBU POUŽÍVÁNÍ TENTOHO SOFTWARU, AJ KDYKOLI PORUŠENÍ.<o:p></o:p></span><p class=MsoNormal><b><span>2.OpenSSL – OpenSSL a SSLeay licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=http://www.openssl.org/source/license.html>http://www.openssl.org/source/license.html</a></span><p class=MsoNormal><span>Copyright (c) 1998-2011 The OpenSSL Project. Všechna práva vyhrazena.<o:p></o:p></span><p class=MsoNormal><span>Redistribuce a použití ve zdrojové a binární podobě, s úpravou nebo bez ní, jsou povoleny za předpokladu, že jsou splněny následující podmínky:<o:p></o:p></span><p class=MsoNormal><span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span><p class=MsoNormal><span>2.Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a / nebo jiných materiálech dodávaných s distribucí.<o:p></o:p></span><p class=MsoNormal><span>Všechny reklamní materiály uvádějící funkce nebo použití tohoto softwaru musí obsahovat následující potvrzení: "Tento produkt zahrnuje software vyvinutý projektem OpenSSL pro použití v sadě OpenSSL Toolkit. (http://www.openssl.org/)"<o:p></o:p></span><p class=MsoNormal><span>4.Názvy "OpenSSL Toolkit" a "OpenSSL Project" nesmí být bez předchozího písemného souhlasu použity k propagaci nebo propagaci produktů odvozených z tohoto softwaru. Pro písemné povolení nás prosím kontaktujte openssl-core@openssl.org.<o:p></o:p></span><p class=MsoNormal><span>5.Produkty odvozené od tohoto softwaru nesmí být nazývány "OpenSSL" ani se nesmí "OpenSSL" objevit v jejich jménech bez předchozího písemného souhlasu projektu OpenSSL.<o:p></o:p></span><p class=MsoNormal><span>6.Redistribuce jakékoli formy si musí zachovat následující potvrzení: "Tento produkt zahrnuje software vyvinutý v rámci projektu OpenSSL pro použití v sadě OpenSSL Toolkit (http://www.openssl.org/)".<o:p></o:p></span><p class=MsoNormal><span>THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span><p class=MsoNormal><b><span>3.jQuery Foundation - MIT licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright 2013 jQuery Foundation a ostatní přispěvatelé <a href=http://jquery.com/ >http://jquery.com/</a></span><p class=MsoNormal><span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.</span><p class=MsoNormal><b><span>4.jQuery User Interface - MIT Licence</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span>Copyright 2013 jQuery Foundation a ostatní přispěvatelé, <a href=http://jqueryui.com/ >http://jqueryui.com/</a></span><p class=MsoNormal><span>Tento software se skládá z dobrovolných příspěvků mnoha jednotlivců (AUTHORS.txt, http://jqueryui.com/about ). Přesnou historii příspěvků naleznete v historii revizí a protokolech dostupných na adrese http://jquery-ui.googlecode.com/svn/<o:p></o:p></span><p class=MsoNormal><span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.<o:p></o:p></span><p class=MsoNormal><b><span>5.noVNC - Mozilla Public licence 2.0</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=https://github.com/kanaka/noVNC/blob/master/LICENSE.txt>https://github.com/kanaka/noVNC/blob/master/LICENSE.txt</a></span><p class=MsoNormal><span>Copyright (C) 2011 Joel Martin This Source Code Form podléhá podmínkám Mozilla Public licence, v. 2.0. Pokud kopie tohoto MPL nebyla distribuována s tímto souborem, můžete si ji pořídit na adrese http://mozilla.org/MPL/2.0/.<o:p></o:p></span><p class=MsoNormal><b><span>6.Rcarousel - MIT LIcense</span></b><span style=font-size:10pt;font-family:&quot><o:p></o:p></span><p class=MsoNormal><span><a href=https://github.com/ryrych/rcarousel/blob/master/widget/license>https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span><p class=MsoNormal><span>Copyright (c) 2010 Wojciech 'RRH' Ryrych<o:p></o:p></span><p class=MsoNormal><span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.<o:p></o:p></span><p class=MsoNormal><b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK licence</span></b><span><o:p></o:p></span><p class=MsoNormal><span>Tento software využívá kódy z <a href=http://www.webtoolkit.info/javascript-base64.html>http://www.webtoolkit.info/javascript-base64.html</a> licencováno pod <a href=http://creativecommons.org/licenses/by/2.0/uk/legalcode>http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> a jeho zdroj může být stažen z <a href=http://www.webtoolkit.info/javascript-base64.html>http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span></p><br></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table cellpadding=0 cellspacing=6 style=width:100%><tr><td style=text-align:left;color:#fff>{{{footer}}}<td style=text-align:right>{{{rootCertLink}}}&nbsp;<a href=/ >Zpět</a></table></div></div>
\ No newline at end of file
views/translations/terms-mobile_cs.handlebars
+16 -16
@@ -35,20 +35,20 @@
35 </div>
36 <div id="page_content" style="overflow-y:scroll;position:absolute;bottom:32px;top:50px">
37 <div id="column_l" style="padding-left:10px;padding-right:10px">
38 - <h1>Terms of use</h1>
39 - <p>Please contact the site administrator for terms of use.</p>
38 + <h1>Podmínky používání</h1>
39 + <p>Prosím kontaktujte správce serveru pro podrobnosti o podmínkách používání.</p>
40 <hr>
41 <p class="MsoNormal">
42 - The following are the required disclosures of open source components and software incorporated into this software.
42 + Níže jsou uvedena požadovaná zveřejnění součástí a softwaru s otevřeným zdrojovým kódem začleněných do tohoto softwaru.
43 </p>
44 <p class="MsoNormal">
45 <b><span>1.AJAX Control Toolkit - Nová BSD Licence</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
46 </p>
47 <p class="MsoNormal">
48 - <span>Copyright (c) 2009, CodePlex Foundation. All rights reserved.<o:p></o:p></span>
48 + <span>Copyright (c) 2009, CodePlex Foundation. Všechna práva vyhrazena.<o:p></o:p></span>
49 </p>
50 <p class="MsoNormal">
51 - <span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span>
51 + <span>Redistribuce a použití ve zdrojové a binární podobě, s úpravou nebo bez ní, jsou povoleny za předpokladu, že jsou splněny následující podmínky:<o:p></o:p></span>
52 </p>
53 <p class="MsoNormal">
54 <span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span>
@@ -60,7 +60,7 @@
60 <span>3.Název Nadace CodePlex Foundation ani jména jejích přispěvatelů nesmí být bez předchozího písemného svolení použita k podpoře nebo propagaci produktů odvozených od tohoto softwaru.<o:p></o:p></span>
61 </p>
62 <p class="MsoNormal">
63 - <span>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span>
63 + <span>TENTO SOFTWARE POSKYTUJÍ DRŽITELÉ AUTORSKÝCH PRÁV A DODAVATELÉ "TAK JAK JE" A JAKÉKOLI VÝSLOVNÉ NEBO IMPLIKOVANÉ ZÁRUKY, VČETNĚ IMPLIKOVANÝCH ZÁRUK OBCHODOVATELNOSTI A VHODNOSTI PRO KONKRÉTNÍ ÚČEL, VČETNĚ, NEJMÉ OMEZENÉHO, NENÍ OMEZENO. V ŽÁDNÉM PŘÍPADĚ NESMÍ BÝT ZODPOVĚDNÝ MAJITEL AUTORSKÝCH PRÁV NEBO PŘIDĚLOVATELÉ ZA ŽÁDNÉ PŘÍMÉ, NEPŘÍMÉ, NÁHODNÉ, ZVLÁŠTNÍ, EXEMPLÁRNÍ NEBO NÁSLEDNÉ POŠKOZENÍ (VČETNĚ, ALE NEJEDNÁVĚJÍCÍCH, ZÍSKÁNÍ ZBOŽÍ NEBO SLUŽEB; ÚDAJE; NEBO PŘERUŠENÍ PODNIKŮ) JAK VYDĚLÁVALA A NA JAKÉKOLIV TEORII ODPOVĚDNOSTI, POKUD JDE O SMLOUVU, STRUČNOU ODPOVĚDNOST NEBO TORT (VČETNĚ NEGLIGENCE NEBO JINÉHO) VYPLÝVAJÍCÍ Z KAŽDÉHO ZPŮSOBU POUŽÍVÁNÍ TENTOHO SOFTWARU, AJ KDYKOLI PORUŠENÍ.<o:p></o:p></span>
64 </p>
65 <p class="MsoNormal">
66 <b><span>2.OpenSSL – OpenSSL a SSLeay licence</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
@@ -69,10 +69,10 @@
69 <span><a href="http://www.openssl.org/source/license.html">http://www.openssl.org/source/license.html</a> </span>
70 </p>
71 <p class="MsoNormal">
72 - <span>Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.<o:p></o:p></span>
72 + <span>Copyright (c) 1998-2011 The OpenSSL Project. Všechna práva vyhrazena.<o:p></o:p></span>
73 </p>
74 <p class="MsoNormal">
75 - <span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span>
75 + <span>Redistribuce a použití ve zdrojové a binární podobě, s úpravou nebo bez ní, jsou povoleny za předpokladu, že jsou splněny následující podmínky:<o:p></o:p></span>
76 </p>
77 <p class="MsoNormal">
78 <span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span>
@@ -99,22 +99,22 @@
99 <b><span>3.jQuery Foundation - MIT licence</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
100 </p>
101 <p class="MsoNormal">
102 - <span>Copyright 2013 jQuery Foundation and other contributors <a href="http://jquery.com/">http://jquery.com/</a></span>
102 + <span>Copyright 2013 jQuery Foundation a ostatní přispěvatelé <a href="http://jquery.com/">http://jquery.com/</a></span>
103 </p>
104 <p class="MsoNormal">
105 - <span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span>
105 + <span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.</span>
106 </p>
107 <p class="MsoNormal">
108 <b><span>4.jQuery User Interface - MIT Licence</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
109 </p>
110 <p class="MsoNormal">
111 - <span>Copyright 2013 jQuery Foundation and other contributors, <a href="http://jqueryui.com/">http://jqueryui.com/</a></span>
111 + <span>Copyright 2013 jQuery Foundation a ostatní přispěvatelé, <a href="http://jqueryui.com/">http://jqueryui.com/</a></span>
112 </p>
113 <p class="MsoNormal">
114 - <span>This software consists of voluntary contributions made by many individuals (AUTHORS.txt, http://jqueryui.com/about ). For exact contribution history,see the revision history and logs, available at http://jquery-ui.googlecode.com/svn/ <o:p></o:p></span>
114 + <span>Tento software se skládá z dobrovolných příspěvků mnoha jednotlivců (AUTHORS.txt, http://jqueryui.com/about ). Přesnou historii příspěvků naleznete v historii revizí a protokolech dostupných na adrese http://jquery-ui.googlecode.com/svn/ <o:p></o:p></span>
115 </p>
116 <p class="MsoNormal">
117 - <span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span>
117 + <span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.<o:p></o:p></span>
118 </p>
119 <p class="MsoNormal">
120 <b><span>5.noVNC - Mozilla Public licence 2.0</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
@@ -123,7 +123,7 @@
123 <span><a href="https://github.com/kanaka/noVNC/blob/master/LICENSE.txt">https://github.com/kanaka/noVNC/blob/master/LICENSE.txt</a></span>
124 </p>
125 <p class="MsoNormal">
126 - <span>Copyright (C) 2011 Joel Martin This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.<o:p></o:p></span>
126 + <span>Copyright (C) 2011 Joel Martin This Source Code Form podléhá podmínkám Mozilla Public licence, v. 2.0. Pokud kopie tohoto MPL nebyla distribuována s tímto souborem, můžete si ji pořídit na adrese http://mozilla.org/MPL/2.0/.<o:p></o:p></span>
127 </p>
128 <p class="MsoNormal">
129 <b><span>6.Rcarousel - MIT LIcense</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
@@ -135,13 +135,13 @@
135 <span>Copyright (c) 2010 Wojciech 'RRH' Ryrych<o:p></o:p></span>
136 </p>
137 <p class="MsoNormal">
138 - <span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span>
138 + <span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.<o:p></o:p></span>
139 </p>
140 <p class="MsoNormal">
141 <b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK licence</span></b><span><o:p></o:p></span>
142 </p>
143 <p class="MsoNormal">
144 - <span>This software uses code from <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a> licensed under the <a href="http://creativecommons.org/licenses/by/2.0/uk/legalcode">http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> and its source can be downloaded from <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span>
144 + <span>Tento software využívá kódy z <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a> licencováno pod <a href="http://creativecommons.org/licenses/by/2.0/uk/legalcode">http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> a jeho zdroj může být stažen z <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span>
145 </p>
146 <br>
147 </div>
views/translations/terms_cs.handlebars
+21 -21
@@ -24,31 +24,31 @@
24 <div style="height:16px"></div>
25 </div>
26 <div id="topbar" class="noselect style3" style="height:24px;position:relative">
27 - <div id="uiMenuButton" title="User interface selection" onclick="showUserInterfaceSelectMenu()">
27 + <div id="uiMenuButton" title="Výběr rozhraní uživatele" onclick="showUserInterfaceSelectMenu()">
28
29 <div id="uiMenu" style="display:none">
30 - <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Left bar interface"><div class="uiSelector1"></div></div>
31 - <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Top bar interface"><div class="uiSelector2"></div></div>
32 - <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Fixed width interface"><div class="uiSelector3"></div></div>
33 - <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Toggle night mode"><div class="uiSelector4"></div></div>
30 + <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Rozhraní levé lišty"><div class="uiSelector1"></div></div>
31 + <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Rozhraní horní lišty"><div class="uiSelector2"></div></div>
32 + <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Rozhraní s pevnou šířkou"><div class="uiSelector3"></div></div>
33 + <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Přepnout na noční mód"><div class="uiSelector4"></div></div>
34 </div>
35 </div>
36 </div>
37 <div id="column_l" style="max-height:calc(100vh - 135px);overflow-y:auto">
38 - <h1>Terms of use</h1>
39 - <p>Please contact the site administrator for terms of use.</p>
38 + <h1>Podmínky používání</h1>
39 + <p>Prosím kontaktujte správce serveru pro podrobnosti o podmínkách používání.</p>
40 <hr>
41 <p class="MsoNormal">
42 - The following are the required disclosures of open source components and software incorporated into this software.
42 + Níže jsou uvedena požadovaná zveřejnění součástí a softwaru s otevřeným zdrojovým kódem začleněných do tohoto softwaru.
43 </p>
44 <p class="MsoNormal">
45 <b><span>1.AJAX Control Toolkit - Nová BSD Licence</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
46 </p>
47 <p class="MsoNormal">
48 - <span>Copyright (c) 2009, CodePlex Foundation. All rights reserved.<o:p></o:p></span>
48 + <span>Copyright (c) 2009, CodePlex Foundation. Všechna práva vyhrazena.<o:p></o:p></span>
49 </p>
50 <p class="MsoNormal">
51 - <span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span>
51 + <span>Redistribuce a použití ve zdrojové a binární podobě, s úpravou nebo bez ní, jsou povoleny za předpokladu, že jsou splněny následující podmínky:<o:p></o:p></span>
52 </p>
53 <p class="MsoNormal">
54 <span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span>
@@ -60,7 +60,7 @@
60 <span>3.Název Nadace CodePlex Foundation ani jména jejích přispěvatelů nesmí být bez předchozího písemného svolení použita k podpoře nebo propagaci produktů odvozených od tohoto softwaru.<o:p></o:p></span>
61 </p>
62 <p class="MsoNormal">
63 - <span>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span>
63 + <span>TENTO SOFTWARE POSKYTUJÍ DRŽITELÉ AUTORSKÝCH PRÁV A DODAVATELÉ "TAK JAK JE" A JAKÉKOLI VÝSLOVNÉ NEBO IMPLIKOVANÉ ZÁRUKY, VČETNĚ IMPLIKOVANÝCH ZÁRUK OBCHODOVATELNOSTI A VHODNOSTI PRO KONKRÉTNÍ ÚČEL, VČETNĚ, NEJMÉ OMEZENÉHO, NENÍ OMEZENO. V ŽÁDNÉM PŘÍPADĚ NESMÍ BÝT ZODPOVĚDNÝ MAJITEL AUTORSKÝCH PRÁV NEBO PŘIDĚLOVATELÉ ZA ŽÁDNÉ PŘÍMÉ, NEPŘÍMÉ, NÁHODNÉ, ZVLÁŠTNÍ, EXEMPLÁRNÍ NEBO NÁSLEDNÉ POŠKOZENÍ (VČETNĚ, ALE NEJEDNÁVĚJÍCÍCH, ZÍSKÁNÍ ZBOŽÍ NEBO SLUŽEB; ÚDAJE; NEBO PŘERUŠENÍ PODNIKŮ) JAK VYDĚLÁVALA A NA JAKÉKOLIV TEORII ODPOVĚDNOSTI, POKUD JDE O SMLOUVU, STRUČNOU ODPOVĚDNOST NEBO TORT (VČETNĚ NEGLIGENCE NEBO JINÉHO) VYPLÝVAJÍCÍ Z KAŽDÉHO ZPŮSOBU POUŽÍVÁNÍ TENTOHO SOFTWARU, AJ KDYKOLI PORUŠENÍ.<o:p></o:p></span>
64 </p>
65 <p class="MsoNormal">
66 <b><span>2.OpenSSL – OpenSSL a SSLeay licence</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
@@ -69,10 +69,10 @@
69 <span><a href="http://www.openssl.org/source/license.html">http://www.openssl.org/source/license.html</a> </span>
70 </p>
71 <p class="MsoNormal">
72 - <span>Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.<o:p></o:p></span>
72 + <span>Copyright (c) 1998-2011 The OpenSSL Project. Všechna práva vyhrazena.<o:p></o:p></span>
73 </p>
74 <p class="MsoNormal">
75 - <span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span>
75 + <span>Redistribuce a použití ve zdrojové a binární podobě, s úpravou nebo bez ní, jsou povoleny za předpokladu, že jsou splněny následující podmínky:<o:p></o:p></span>
76 </p>
77 <p class="MsoNormal">
78 <span>1.Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.<o:p></o:p></span>
@@ -99,22 +99,22 @@
99 <b><span>3.jQuery Foundation - MIT licence</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
100 </p>
101 <p class="MsoNormal">
102 - <span>Copyright 2013 jQuery Foundation and other contributors <a href="http://jquery.com/">http://jquery.com/</a></span>
102 + <span>Copyright 2013 jQuery Foundation a ostatní přispěvatelé <a href="http://jquery.com/">http://jquery.com/</a></span>
103 </p>
104 <p class="MsoNormal">
105 - <span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span>
105 + <span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.</span>
106 </p>
107 <p class="MsoNormal">
108 <b><span>4.jQuery User Interface - MIT Licence</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
109 </p>
110 <p class="MsoNormal">
111 - <span>Copyright 2013 jQuery Foundation and other contributors, <a href="http://jqueryui.com/">http://jqueryui.com/</a></span>
111 + <span>Copyright 2013 jQuery Foundation a ostatní přispěvatelé, <a href="http://jqueryui.com/">http://jqueryui.com/</a></span>
112 </p>
113 <p class="MsoNormal">
114 - <span>This software consists of voluntary contributions made by many individuals (AUTHORS.txt, http://jqueryui.com/about ). For exact contribution history,see the revision history and logs, available at http://jquery-ui.googlecode.com/svn/ <o:p></o:p></span>
114 + <span>Tento software se skládá z dobrovolných příspěvků mnoha jednotlivců (AUTHORS.txt, http://jqueryui.com/about ). Přesnou historii příspěvků naleznete v historii revizí a protokolech dostupných na adrese http://jquery-ui.googlecode.com/svn/ <o:p></o:p></span>
115 </p>
116 <p class="MsoNormal">
117 - <span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span>
117 + <span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.<o:p></o:p></span>
118 </p>
119 <p class="MsoNormal">
120 <b><span>5.noVNC - Mozilla Public licence 2.0</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
@@ -123,7 +123,7 @@
123 <span><a href="https://github.com/kanaka/noVNC/blob/master/LICENSE.txt">https://github.com/kanaka/noVNC/blob/master/LICENSE.txt</a></span>
124 </p>
125 <p class="MsoNormal">
126 - <span>Copyright (C) 2011 Joel Martin This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.<o:p></o:p></span>
126 + <span>Copyright (C) 2011 Joel Martin This Source Code Form podléhá podmínkám Mozilla Public licence, v. 2.0. Pokud kopie tohoto MPL nebyla distribuována s tímto souborem, můžete si ji pořídit na adrese http://mozilla.org/MPL/2.0/.<o:p></o:p></span>
127 </p>
128 <p class="MsoNormal">
129 <b><span>6.Rcarousel - MIT LIcense</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
@@ -135,13 +135,13 @@
135 <span>Copyright (c) 2010 Wojciech 'RRH' Ryrych<o:p></o:p></span>
136 </p>
137 <p class="MsoNormal">
138 - <span>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span>
138 + <span>SOFTWARE JE POSKYTOVÁN "TAK JAK JE", BEZ ZÁRUKY, VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ NEJEDNÁVANÝCH ZÁRUK OBCHODOVATELNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEZÁVISLOST. V ŽÁDNÉM PŘÍPADĚ NEPOSKYTUJÍ AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV ŽÁDNÉ ZÁRUKY, ZA POŠKOZENÍ NEBO OSTATNÍ ODPOVĚDNOST, PŘI ČINNOSTI SMLOUVY, TORTU NEBO JINÉ, VYPLÝVAJÍCÍ ZE SOFTWARU NEBO POUŽITÍ NEBO OSTATNÍCH OBCHODŮ SOFTWARE.<o:p></o:p></span>
139 </p>
140 <p class="MsoNormal">
141 <b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK licence</span></b><span><o:p></o:p></span>
142 </p>
143 <p class="MsoNormal">
144 - <span>This software uses code from <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a> licensed under the <a href="http://creativecommons.org/licenses/by/2.0/uk/legalcode">http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> and its source can be downloaded from <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span>
144 + <span>Tento software využívá kódy z <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a> licencováno pod <a href="http://creativecommons.org/licenses/by/2.0/uk/legalcode">http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> a jeho zdroj může být stažen z <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span>
145 </p>
146 <br>
147 </div>