Improved internalization, french translation.
Ylian Saint-Hilaire committed
Dec 1, 2019 at 15:21 UTC
6cc6d019cd72f0acb6611f7611383882102cc45c
60 files changed
+1755
-10454
meshcentral.js
+1
-1
@@ -715,7 +715,7 @@ function CreateMeshCentralServer(config, args) {
715
if (obj.config.domains == null) { obj.config.domains = {}; }
716
if (obj.config.domains[''] == null) { obj.config.domains[''] = {}; }
717
if (obj.config.domains[''].dns != null) { console.log("ERROR: Default domain can't have a DNS name."); return; }
718
- var xdomains = {}; for (i in obj.config.domains) { if (obj.config.domains[i].title == null) { obj.config.domains[i].title = 'MeshCentral'; } if (obj.config.domains[i].title2 == null) { obj.config.domains[i].title2 = '2.0 Beta 2'; } xdomains[i.toLowerCase()] = obj.config.domains[i]; } obj.config.domains = xdomains;
718
+ var xdomains = {}; for (i in obj.config.domains) { if (obj.config.domains[i].title == null) { obj.config.domains[i].title = 'MeshCentral'; } if (obj.config.domains[i].title2 == null) { obj.config.domains[i].title2 = '2.0'; } xdomains[i.toLowerCase()] = obj.config.domains[i]; } obj.config.domains = xdomains;
719
var bannedDomains = ['public', 'private', 'images', 'scripts', 'styles', 'views']; // List of banned domains
720
for (i in obj.config.domains) { for (var j in bannedDomains) { if (i == bannedDomains[j]) { console.log("ERROR: Domain '" + i + "' is not allowed domain name in config.json."); return; } } }
721
for (i in obj.config.domains) {
public/player-min.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="Open File..."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> <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 Speed<option value=2>1/2 Speed<option value=1 selected>Normal Speed<option value=0.5>2x Speed<option value=0.25>4x Speed<option value=0.1>10x Speed</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=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></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>: <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("Username",recFileMetadata.username),i+=addInfo("UserID",recFileMetadata.userid),i+=addInfo("SessionID",recFileMetadata.sessionid),recFileMetadata.ipaddr1&&recFileMetadata.ipaddr2&&(i+=addInfo("Addresses",format("{0} to {1}",recFileMetadata.ipaddr1,recFileMetadata.ipaddr2))),recFileMetadata.devicename&&(i+=addInfo("DeviceName",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® AMT WSMAN":101==n&&(n="Intel® AMT Redirection"),i+=addInfoNoEsc("Protocol",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,"Open File...",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="Toggle View Mode"onclick=toggleAspectRatio(1)>⇲</div></div><div><input id=OpenFileButton type=button value="Open File..."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> <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 Speed<option value=2>1/2 Speed<option value=1 selected>Normal Speed<option value=0.5>2x Speed<option value=0.25>4x Speed<option value=0.1>10x Speed</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=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></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>: <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("Username",recFileMetadata.username),i+=addInfo("UserID",recFileMetadata.userid),i+=addInfo("SessionID",recFileMetadata.sessionid),recFileMetadata.ipaddr1&&recFileMetadata.ipaddr2&&(i+=addInfo("Addresses",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® AMT WSMAN":101==n&&(n="Intel® AMT Redirection"),i+=addInfoNoEsc("Protocol",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,"Open File...",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/player.htm
+1
-1
@@ -171,7 +171,7 @@
171
x += addInfo("UserID", recFileMetadata.userid);
172
x += addInfo("SessionID", recFileMetadata.sessionid);
173
if (recFileMetadata.ipaddr1 && recFileMetadata.ipaddr2) { x += addInfo("Addresses", format("{0} to {1}", recFileMetadata.ipaddr1, recFileMetadata.ipaddr2)); }
174
- if (recFileMetadata.devicename) { x += addInfo("DeviceName", recFileMetadata.devicename); }
174
+ if (recFileMetadata.devicename) { x += addInfo("Device Name", recFileMetadata.devicename); }
175
x += addInfo("NodeID", recFileMetadata.nodeid);
176
if (recFileMetadata.protocol) {
177
var p = recFileMetadata.protocol;
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> <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 Speed<option value=2>1/2 Speed<option value=1 selected>Normalní rychlost<option value=0.5>2x rychlost<option value=0.25>4x Speed<option value=0.1>10x Speed</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>: <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("Addresses",format("{0} to {1}",recFileMetadata.ipaddr1,recFileMetadata.ipaddr2))),recFileMetadata.devicename&&(i+=addInfo("DeviceName",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® AMT WSMAN":101==n&&(n="Intel® 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="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> <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 Speed<option value=2>1/2 Speed<option value=1 selected>Normalní rychlost<option value=0.5>2x rychlost<option value=0.25>4x Speed<option value=0.1>10x Speed</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>: <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("Addresses",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® AMT WSMAN":101==n&&(n="Intel® 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
public/translations/player-min_fr.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="Open File..."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> <input id=PlayButton type=button value=Jouer disabled onclick=play()> <input id=PauseButton type=button value=Pause disabled onclick=pause()> <input id=RestartButton type=button value=Redémarrer disabled onclick=restart()> <select id=PlaySpeed onchange=this.blur()><option value=4>1/4 vitesse<option value=2>1/2 vitesse<option value=1 selected>Normal Speed<option value=0.5>2x vitesse<option value=0.25>4x vitesse<option value=0.1>10x vitesse</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=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></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>: <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("Temps",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("Nom d'utilisateur",recFileMetadata.username),i+=addInfo("Identifiant d'utilisateur",recFileMetadata.userid),i+=addInfo("SessionID",recFileMetadata.sessionid),recFileMetadata.ipaddr1&&recFileMetadata.ipaddr2&&(i+=addInfo("Addresses",format("{0} to {1}",recFileMetadata.ipaddr1,recFileMetadata.ipaddr2))),recFileMetadata.devicename&&(i+=addInfo("DeviceName",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® AMT WSMAN":101==n&&(n="Intel® AMT Redirection"),i+=addInfoNoEsc("Protocol",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,"Open File...",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="Toggle View Mode"onclick=toggleAspectRatio(1)>⇲</div></div><div><input id=OpenFileButton type=button value="Open File..."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> <input id=PlayButton type=button value=Jouer disabled onclick=play()> <input id=PauseButton type=button value=Pause disabled onclick=pause()> <input id=RestartButton type=button value=Redémarrer disabled onclick=restart()> <select id=PlaySpeed onchange=this.blur()><option value=4>1/4 vitesse<option value=2>1/2 vitesse<option value=1 selected>Vitesse normale<option value=0.5>2x vitesse<option value=0.25>4x vitesse<option value=0.1>10x vitesse</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=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></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>: <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("Temps",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("Nom d'utilisateur",recFileMetadata.username),i+=addInfo("Identifiant d'utilisateur",recFileMetadata.userid),i+=addInfo("ID de session",recFileMetadata.sessionid),recFileMetadata.ipaddr1&&recFileMetadata.ipaddr2&&(i+=addInfo("Addresses",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® AMT WSMAN":101==n&&(n="Intel® AMT Redirection"),i+=addInfoNoEsc("Protocole",n)}QV("DeskParent",!0),QV("TermParent",!1),1==recFileMetadata.protocol?(recFileProtocol=1,i+="<br /><br /><span style=color:gray>Appuyez sur [espace] pour jouer/mettre en 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>Appuyez sur [espace] pour jouer/mettre en 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,"Open File...",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
+1
-1
@@ -169,7 +169,7 @@
169
x += addInfo("UserID", recFileMetadata.userid);
170
x += addInfo("SessionID", recFileMetadata.sessionid);
171
if (recFileMetadata.ipaddr1 && recFileMetadata.ipaddr2) { x += addInfo("Addresses", format("{0} to {1}", recFileMetadata.ipaddr1, recFileMetadata.ipaddr2)); }
172
- if (recFileMetadata.devicename) { x += addInfo("DeviceName", recFileMetadata.devicename); }
172
+ if (recFileMetadata.devicename) { x += addInfo("Device Name", recFileMetadata.devicename); }
173
x += addInfo("NodeID", recFileMetadata.nodeid);
174
if (recFileMetadata.protocol) {
175
var p = recFileMetadata.protocol;
public/translations/player_fr.htm
+6
-6
@@ -53,7 +53,7 @@
53
<select id="PlaySpeed" onchange="this.blur();">
54
<option value="4">1/4 vitesse</option>
55
<option value="2">1/2 vitesse</option>
56
- <option value="1" selected="">Normal Speed</option>
56
+ <option value="1" selected="">Vitesse normale</option>
57
<option value="0.5">2x vitesse</option>
58
<option value="0.25">4x vitesse</option>
59
<option value="0.1">10x vitesse</option>
@@ -167,9 +167,9 @@
167
if (recFileEndTime != 0) { var secs = Math.floor((recFileEndTime - time) / 1000); x += addInfo("Duration", format("{0} second{1}", secs, (secs > 1) ? 's' : '')); }
168
x += addInfo("Nom d'utilisateur", recFileMetadata.username);
169
x += addInfo("Identifiant d'utilisateur", recFileMetadata.userid);
170
- x += addInfo("SessionID", recFileMetadata.sessionid);
170
+ x += addInfo("ID de session", recFileMetadata.sessionid);
171
if (recFileMetadata.ipaddr1 && recFileMetadata.ipaddr2) { x += addInfo("Addresses", format("{0} to {1}", recFileMetadata.ipaddr1, recFileMetadata.ipaddr2)); }
172
- if (recFileMetadata.devicename) { x += addInfo("DeviceName", recFileMetadata.devicename); }
172
+ if (recFileMetadata.devicename) { x += addInfo("Device Name", recFileMetadata.devicename); }
173
x += addInfo("NodeID", recFileMetadata.nodeid);
174
if (recFileMetadata.protocol) {
175
var p = recFileMetadata.protocol;
@@ -177,14 +177,14 @@
177
else if (p == 2) { p = "MeshCentral Desktop"; }
178
else if (p == 100) { p = "Intel® AMT WSMAN"; }
179
else if (p == 101) { p = "Intel® AMT Redirection"; }
180
- x += addInfoNoEsc("Protocol", p);
180
+ x += addInfoNoEsc("Protocole", p);
181
}
182
QV('DeskParent', true);
183
QV('TermParent', false);
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>' + "Appuyez sur [espace] pour jouer/mettre en pause." + '</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>' + "Appuyez sur [espace] pour jouer/mettre en pause." + '</span>';
197
QE('PlayButton', true);
198
QE('PauseButton', false);
199
QE('RestartButton', false);
translate/translate - Copy.json
new
+1
@@ -0,0 +1 @@
1
+{"strings":[{"xloc":["default.handlebars-\u003e17-\u003e782"],"en":"Kirghiz"},{"xloc":["default.handlebars-\u003e17-\u003e141"],"en":"Plugin Error"},{"xloc":["default.handlebars-\u003e17-\u003e1088"],"en":"Storage limit exceed","cs":"Překročen limit pro ukládání"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountActions-\u003e3-\u003e5","default.handlebars-\u003e17-\u003e881"],"en":"Localization Settings"},{"xloc":["default.handlebars-\u003e17-\u003e694"],"en":"Arabic (Saudi Arabia)"},{"xloc":[],"en":"Focus All"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpasswordpanel-\u003e1-\u003e7-\u003e1-\u003e6-\u003e1-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpasswordpanel-\u003e1-\u003e7-\u003e1-\u003e6-\u003e1-\u003e1"],"en":"Reset Password","cs":"Reset hesla","fr":"Réinitialiser le mot de passe"},{"xloc":["default.handlebars-\u003e17-\u003e1109","default-mobile.handlebars-\u003e9-\u003e249","default.handlebars-\u003e17-\u003e624","default-mobile.handlebars-\u003e9-\u003e80"],"en":"Delete selected item?","cs":"Smazat vybraný prvek?"},{"xloc":["default.handlebars-\u003e17-\u003e742"],"en":"Faeroese"},{"xloc":["default.handlebars-\u003e17-\u003e233"],"en":"MeshServerRootCert.cer"},{"xloc":["default.handlebars-\u003e17-\u003e864"],"en":"Turkmen"},{"xloc":["default.handlebars-\u003e17-\u003e835"],"en":"Spanish (Colombia)"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eServerSubMenuSpan-\u003eServerSubMenu-\u003e1-\u003e0-\u003eServerConsole","default.handlebars-\u003econtextMenu-\u003ecxconsole","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDevConsole"],"en":"Console","cs":"Konzole"},{"xloc":["default.handlebars-\u003e17-\u003e422","default-mobile.handlebars-\u003e9-\u003e162"],"en":"Windows MinCore service"},{"xloc":["default.handlebars-\u003e17-\u003e474"],"en":"Perform power actions on the device","cs":"Akce napájení","fr":"Effectuer des actions d\u0027alimentation sur le périphérique"},{"xloc":["default.handlebars-\u003e17-\u003e126"],"en":"Unable to scan this address range.","cs":"Nelze skenovat tento rozsah."},{"xloc":["login-mobile.handlebars-\u003e5-\u003e5","login.handlebars-\u003e5-\u003e5"],"en":"Invalid account creation token."},{"xloc":["default.handlebars-\u003e17-\u003e720"],"en":"Corsican"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e227"],"en":"Special Keys"},{"xloc":["default.handlebars-\u003e17-\u003e951"],"en":"Terminal Notify"},{"xloc":["default.handlebars-\u003e17-\u003e312"],"en":"{0} nodes","cs":"{0} zařízení","fr":"{0} appareil"},{"xloc":["default.handlebars-\u003e17-\u003e880"],"en":"Dates & Time","cs":"Datum & čas"},{"xloc":["default.handlebars-\u003e17-\u003e87"],"en":"Authenticator app activation successful."},{"xloc":["default.handlebars-\u003e17-\u003e817"],"en":"Romanian (Moldavia)","fr":"Roumain (Moldavie)"},{"xloc":["default.handlebars-\u003e17-\u003e353"],"en":"Reset devices","cs":"Reset zařízení","fr":"Réinitialiser les appareils"},{"xloc":["default.handlebars-\u003e17-\u003e574","default.handlebars-\u003e17-\u003e573","default.handlebars-\u003e17-\u003e571"],"en":"All Focus"},{"xloc":["default.handlebars-\u003e17-\u003e904","default.handlebars-\u003e17-\u003e916","default-mobile.handlebars-\u003e9-\u003e47","default.handlebars-\u003e17-\u003e541"],"en":"New Device Group","cs":"Nová skupina zařízení","fr":"Nouveau Group"},{"xloc":["default.handlebars-\u003e17-\u003e325"],"en":"Device is detected but power state could not be obtained.","cs":"Zařízení je detekováno, ale nelze zjistit stav."},{"xloc":["default.handlebars-\u003e17-\u003e36"],"en":"Serial"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e15","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e13"],"en":"Shift+Win+M"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003ePlaySpeed-\u003e9"],"en":"4x Speed","fr":"4x vitesse"},{"xloc":[],"en":"(wget http://"},{"xloc":["default.handlebars-\u003e17-\u003e412","default-mobile.handlebars-\u003e9-\u003e152"],"en":"Android x86"},{"xloc":["default.handlebars-\u003e17-\u003e942"],"en":"Auto-Remove"},{"xloc":["default.handlebars-\u003e17-\u003e616","default.handlebars-\u003e17-\u003e1102","default.handlebars-\u003e17-\u003e618","default.handlebars-\u003emeshContextMenu-\u003ecxselectall","default.handlebars-\u003e17-\u003e346"],"en":"Select All","cs":"Vybrat vše","fr":"Tout Sélectionner"},{"xloc":[],"en":"HW Connect"},{"xloc":["default.handlebars-\u003e17-\u003e435","default-mobile.handlebars-\u003e9-\u003e175"],"en":"Unknown State","fr":"Etat inconnu"},{"xloc":["default.handlebars-\u003e17-\u003e1289"],"en":"Are you sure you want to {0} the plugin: {1}"},{"xloc":["default.handlebars-\u003e17-\u003e459"],"en":"Antivirus","fr":"Antivirus"},{"xloc":[],"en":"Toggle F1 to F10 keys emulation type"},{"xloc":["default.handlebars-\u003e17-\u003e335","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep15-\u003econsoleTable-\u003e1-\u003e6-\u003e1-\u003e1-\u003e1-\u003e0-\u003ep15outputselecttd-\u003ep15outputselect-\u003e1","default-mobile.handlebars-\u003e9-\u003e171","default.handlebars-\u003e17-\u003e149","default-mobile.handlebars-\u003e9-\u003e118","default-mobile.handlebars-\u003e9-\u003e187"],"en":"Agent","cs":"Agent","fr":"Agent"},{"xloc":["default.handlebars-\u003e17-\u003e288"],"en":"To add a new computer to device group \\\"{0}\\\", download the mesh agent and install it the computer to manage. This agent has server and device group information embedded within it.","cs":"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."},{"xloc":["default.handlebars-\u003e17-\u003e1152"],"en":"Send a text notification to this user.","fr":"Envoyez une notification à cet utilisateur."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e1"],"en":"Save a screenshot of the remote desktop","cs":"Uložit screenshot vzdáleného počítače","fr":"Enregistrer une capture d\u0027écran du bureau distant"},{"xloc":[],"en":"Reset map view","fr":"Réinitialiser l\u0027affichage de la carte"},{"xloc":[],"en":"Power Actions...","cs":"Akce napájení"},{"xloc":["default.handlebars-\u003e17-\u003e38"],"en":"Identifier"},{"xloc":[],"en":"meshagents?script=1 --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\\r\\n"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep6-\u003eserverWarningsDiv-\u003e2"],"en":"Server Warnings"},{"xloc":[],"en":"Left bar interface"},{"xloc":["default.handlebars-\u003e17-\u003e725"],"en":"Dutch (Standard)"},{"xloc":["default.handlebars-\u003e17-\u003e108"],"en":"Add YubiKey® OTP"},{"xloc":["default.handlebars-\u003e17-\u003e1183"],"en":"Realms"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountActions-\u003e3-\u003everifyEmailId-\u003e0","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3AccountActions-\u003e7-\u003e1-\u003everifyEmailId-\u003e0"],"en":"Verify email","fr":"Vérifier le courriel"},{"xloc":["default.handlebars-\u003e17-\u003e125"],"en":"MQTT disconnected"},{"xloc":["default.handlebars-\u003e17-\u003e1198"],"en":"Access to server files"},{"xloc":["default.handlebars-\u003e17-\u003e676"],"en":"YubiKey™ OTP"},{"xloc":["default.handlebars-\u003e17-\u003e532"],"en":"Send MQTT message","fr":"Envoyer un message MQTT"},{"xloc":["default.handlebars-\u003e17-\u003e507"],"en":"This will add an entry to this device\\\u0027s event log."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e192","default.handlebars-\u003e17-\u003e471","default.handlebars-\u003e17-\u003e144","default.handlebars-\u003e17-\u003e161"],"en":"Connectivity"},{"xloc":["default.handlebars-\u003e17-\u003e279"],"en":"Windows"},{"xloc":[],"en":"licensed under the"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e6-\u003e1-\u003e1-\u003eterminalSizeDropDown-\u003etermSizeList-\u003e2","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003ekvmListToolbar-\u003e5"],"en":"Auto","fr":"Automatique"},{"xloc":["default.handlebars-\u003e17-\u003e783"],"en":"Klingon"},{"xloc":["default.handlebars-\u003e17-\u003e309"],"en":"To remove a mesh agent, run the following command. Root credentials will be needed."},{"xloc":["player.htm-\u003e3-\u003e6"],"en":"SessionID","fr":"ID de session"},{"xloc":["default.handlebars-\u003e17-\u003e1125","default.handlebars-\u003e17-\u003e1130"],"en":"eventslist.csv"},{"xloc":["default.handlebars-\u003e17-\u003e1080","default-mobile.handlebars-\u003e9-\u003e328"],"en":", "},{"xloc":["default.handlebars-\u003e17-\u003e113"],"en":"ERROR: Unable to add key.","fr":"ERREUR: Impossible d\u0027ajouter la clé."},{"xloc":["default.handlebars-\u003e17-\u003e950"],"en":"Terminal Prompt"},{"xloc":["default.handlebars-\u003e17-\u003e132","default.handlebars-\u003e17-\u003e258","default.handlebars-\u003e17-\u003e272"],"en":"1 day","cs":"1 den","fr":"1 jour"},{"xloc":["default.handlebars-\u003e17-\u003e575"],"en":"Small Focus"},{"xloc":["default.handlebars-\u003e17-\u003e696"],"en":"Arabic (Tunisia)"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e52","default-mobile.handlebars-\u003e9-\u003e129"],"en":"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."},{"xloc":[],"en":"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."},{"xloc":["default.handlebars-\u003e17-\u003e587"],"en":"KernelDriver"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep41-\u003e3-\u003e3"],"en":"Tracing"},{"xloc":["default.handlebars-\u003e17-\u003e975"],"en":"Install local"},{"xloc":[],"en":"ESC"},{"xloc":[],"en":"Change the power state of the remote machine"},{"xloc":["default.handlebars-\u003e17-\u003e1014"],"en":"* Leave blank to assign a random password to each device."},{"xloc":["default.handlebars-\u003e17-\u003e289","default.handlebars-\u003e17-\u003e300","default-mobile.handlebars-\u003e9-\u003e197","default.handlebars-\u003e17-\u003e303","default.handlebars-\u003e17-\u003e306","default.handlebars-\u003e17-\u003e431","default.handlebars-\u003e17-\u003e292","default.handlebars-\u003e17-\u003e462"],"en":"Mesh Agent"},{"xloc":["default.handlebars-\u003e17-\u003e834"],"en":"Spanish (Chile)"},{"xloc":["default.handlebars-\u003e17-\u003e1089"],"en":"{0} bytes remaining","fr":"{0} octets restants"},{"xloc":["default.handlebars-\u003e17-\u003e610","default.handlebars-\u003e17-\u003e1114","default-mobile.handlebars-\u003e9-\u003e84","default.handlebars-\u003e17-\u003e633","default-mobile.handlebars-\u003e9-\u003e258"],"en":"Paste","cs":"Vložit"},{"xloc":["agentinvite.handlebars-\u003e3-\u003e1"],"en":":"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e124"],"en":" node","cs":" zařízení","fr":"nœud"},{"xloc":["default.handlebars-\u003e17-\u003e487"],"en":"Traffic router used to connect to a device thru this server"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003elinuxtab-\u003e9"],"en":"To uninstall, cut and paste the following command as root.","cs":"Pro odinstalování spustťe tento příkaz pod s uživatelskými právy root."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep41-\u003e3-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e5-\u003e1-\u003e0-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003e3-\u003e1-\u003e0-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep3-\u003e3-\u003e1-\u003e0-\u003e3"],"en":"Show","cs":"Zobrazit","fr":"Afficher"},{"xloc":["default.handlebars-\u003e17-\u003e135","default.handlebars-\u003e17-\u003e275","default.handlebars-\u003e17-\u003e261"],"en":"Unlimited","cs":"Bez limitu","fr":"Illimité"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003e7-\u003e1-\u003e4-\u003e3","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003e7-\u003e1-\u003e4-\u003e3","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003e5-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003e5-\u003e1"],"en":"Log In","cs":"Přihlásit"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e267"],"en":"3"},{"xloc":["default.handlebars-\u003econtainer-\u003emasthead-\u003e5-\u003enotificationCount","default-mobile.handlebars-\u003e9-\u003e229"],"en":"0"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e139","default.handlebars-\u003e17-\u003e399","default.handlebars-\u003e17-\u003e398","default.handlebars-\u003e17-\u003e1022","default.handlebars-\u003e17-\u003e939","default-mobile.handlebars-\u003e9-\u003e57","default.handlebars-\u003e17-\u003e59","default.handlebars-\u003e17-\u003e564","default-mobile.handlebars-\u003e9-\u003e221","default.handlebars-\u003e17-\u003e915","default-mobile.handlebars-\u003e9-\u003e138","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003ep42tbl-\u003e1-\u003e0-\u003e3","default-mobile.handlebars-\u003e9-\u003e288","default-mobile.handlebars-\u003e9-\u003e275"],"en":"Description","cs":"Popis"},{"xloc":["default.handlebars-\u003e17-\u003e1257"],"en":"total","cs":"celkově","fr":"total"},{"xloc":[],"en":"Toggle night mode","fr":"Basculer mode nuit"},{"xloc":["default.handlebars-\u003e17-\u003e206"],"en":"admin"},{"xloc":[],"en":"("},{"xloc":["default.handlebars-\u003e17-\u003e486"],"en":"Location"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003eresetAccountDiv","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003eresetAccountDiv"],"en":"."},{"xloc":["login-mobile.handlebars-\u003e5-\u003e16","login.handlebars-\u003e5-\u003e16"],"en":"IP address blocked, try again later."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep0-\u003ep0message","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep0-\u003e1-\u003ep0message"],"en":","},{"xloc":["default-mobile.handlebars-\u003e9-\u003e228"],"en":"-"},{"xloc":["default.handlebars-\u003e17-\u003e210","default.handlebars-\u003e17-\u003e528","default-mobile.handlebars-\u003e9-\u003e213"],"en":"TLS security required","cs":"TLS vyžadováno","fr":"Sécurité TLS requise"},{"xloc":["default.handlebars-\u003e17-\u003e219"],"en":"Scan","cs":"Skenovat","fr":"Analyse"},{"xloc":["default.handlebars-\u003e17-\u003e230"],"en":" and authenticate to the server using this username and password.","fr":"et authentifiez-vous sur le serveur en utilisant ce nom d\u0027utilisateur et mot de passe."},{"xloc":["default.handlebars-\u003econtextMenu-\u003ecxmdesktop"],"en":"Multi-Desktop","fr":"Multi-bureau"},{"xloc":["default.handlebars-\u003e17-\u003e1091"],"en":"{0} megabytes remaining","cs":"{0} megabytů zbývá"},{"xloc":["default.handlebars-\u003e17-\u003e323"],"en":"Device is in powered off state (S5).","cs":"Zařízení je vypnuto (S5)."},{"xloc":["default.handlebars-\u003e17-\u003e1227","default.handlebars-\u003e17-\u003e508","default.handlebars-\u003e17-\u003e475","default.handlebars-\u003e17-\u003e969"],"en":"Notes","cs":"Poznámky"},{"xloc":["default.handlebars-\u003e17-\u003e877"],"en":"Changing the language will require a refresh of the page."},{"xloc":["default.handlebars-\u003e17-\u003e359"],"en":"Confirm delete selected devices(s)?","cs":"Potvrdit smázání vybraných zařízení?"},{"xloc":["default.handlebars-\u003e17-\u003e488","default.handlebars-\u003e17-\u003e173"],"en":"Router"},{"xloc":["default.handlebars-\u003e17-\u003e316","default.handlebars-\u003e17-\u003e318","default-mobile.handlebars-\u003e9-\u003e106","default-mobile.handlebars-\u003e9-\u003e105"],"en":"Sleeping","fr":"Dormir"},{"xloc":["default.handlebars-\u003e17-\u003e447","default.handlebars-\u003e17-\u003e444","default-mobile.handlebars-\u003e9-\u003e214","default.handlebars-\u003e17-\u003e529"],"en":"Edit Intel® AMT credentials"},{"xloc":[],"en":"Please contact the site administrator for terms of use."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e150","default.handlebars-\u003e17-\u003e410"],"en":"Linux ARM"},{"xloc":["default.handlebars-\u003e17-\u003e838"],"en":"Spanish (Ecuador)"},{"xloc":["default.handlebars-\u003e17-\u003e755"],"en":"Gaelic (Scots)"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003e3","default.handlebars-\u003e17-\u003e1219","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003e9"],"en":"Device Groups"},{"xloc":["default.handlebars-\u003e17-\u003e1196"],"en":"Locked account","fr":"Compte verrouillé"},{"xloc":["default.handlebars-\u003e17-\u003e557"],"en":"MacOS (64bit)"},{"xloc":[],"en":"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."},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainMenuSpan-\u003e1-\u003e0-\u003eMainMenuMyUsers","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep4-\u003e1"],"en":"My Users","cs":"Uživatelé","fr":"Mes Utilisateurs"},{"xloc":["default.handlebars-\u003e17-\u003e1229"],"en":"Notify"},{"xloc":["default.handlebars-\u003e17-\u003e1228"],"en":"View notes about this user"},{"xloc":[],"en":"Share a file","fr":"Partager un fichier"},{"xloc":["default.handlebars-\u003e17-\u003e163"],"en":"No devices matching this search.","fr":"Aucun appareil ne correspond à cette recherche."},{"xloc":["player.htm-\u003e3-\u003e2"],"en":"Duration"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e31","login.handlebars-\u003e5-\u003e31"],"en":"{0} lower case"},{"xloc":["default.handlebars-\u003e17-\u003e775"],"en":"Italian (Standard)"},{"xloc":["default.handlebars-\u003e17-\u003e920"],"en":"Good","fr":"Bien"},{"xloc":["default.handlebars-\u003e17-\u003e943"],"en":"Hostname Sync"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e261","default.handlebars-\u003e17-\u003e636"],"en":"Holding 1 entrie for copy"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e96"],"en":"Use the desktop version of this website to add devices."},{"xloc":["default.handlebars-\u003e17-\u003e1000","default.handlebars-\u003e17-\u003e1001"],"en":"Password*","cs":"Heslo*","fr":"Mot de passe*"},{"xloc":["default.handlebars-\u003e17-\u003e568"],"en":"DataChannel"},{"xloc":["default.handlebars-\u003e17-\u003e124"],"en":"Intel AMT CIRA disconnected"},{"xloc":["default.handlebars-\u003e17-\u003e1156"],"en":"Invalid JSON file: {0}."},{"xloc":["default.handlebars-\u003e17-\u003e653"],"en":"Access Denied","fr":"Accès refusé"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e292","default.handlebars-\u003e17-\u003e1061","default.handlebars-\u003e17-\u003e1042","default-mobile.handlebars-\u003e9-\u003e310"],"en":"Manage Device Group Users"},{"xloc":["default.handlebars-\u003e17-\u003e1035"],"en":"Edit Device Group Features"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e30","login.handlebars-\u003e5-\u003e30"],"en":"{0} upper case"},{"xloc":["default.handlebars-\u003e17-\u003e724"],"en":"Danish"},{"xloc":["default.handlebars-\u003e17-\u003e1122","default.handlebars-\u003e17-\u003e1244","default.handlebars-\u003e17-\u003e647"],"en":"No Events Found","fr":"Aucun événement trouvé"},{"xloc":["default.handlebars-\u003e17-\u003e117"],"en":"ERROR: ","fr":"ERREUR:"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep20-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep10-\u003e1-\u003e1-\u003e0-\u003e1-\u003ep10title-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep30-\u003e1-\u003e1-\u003e0-\u003e1-\u003ep30title-\u003e3"],"en":"General -","cs":"Obecné -"},{"xloc":["login.handlebars-\u003e5-\u003e1","login-mobile.handlebars-\u003e5-\u003e1"],"en":"Hold on, reset mail sent."},{"xloc":["default.handlebars-\u003e17-\u003e254"],"en":"Linux only"},{"xloc":["default.handlebars-\u003e17-\u003e1031","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDevFiles","default.handlebars-\u003econtextMenu-\u003ecxfiles"],"en":"Files","cs":"Soubory","fr":"Dossiers"},{"xloc":["default.handlebars-\u003e17-\u003e357"],"en":"Group Action","cs":"Akce skupiny","fr":"Action de groupe"},{"xloc":["default.handlebars-\u003e17-\u003e1004"],"en":"Reactivate Intel® AMT"},{"xloc":["default.handlebars-\u003e17-\u003e495"],"en":"Get MQTT login credentials for this device."},{"xloc":[],"en":"Hang up"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e245","default.handlebars-\u003e17-\u003e1106","default-mobile.handlebars-\u003e9-\u003e77","default.handlebars-\u003e17-\u003e620"],"en":"Recursive delete"},{"xloc":["default.handlebars-\u003e17-\u003e919"],"en":"Strong"},{"xloc":["default.handlebars-\u003e17-\u003e1191"],"en":"Manage Users","fr":"Gérer les utilisateurs"},{"xloc":["default.handlebars-\u003e17-\u003e128"],"en":" with TLS.","fr":"avec TLS."},{"xloc":["default.handlebars-\u003e17-\u003e244"],"en":"Invitation Type","fr":"Type d\u0027invitation"},{"xloc":["default.handlebars-\u003e17-\u003e957"],"en":"User Consent"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e17"],"en":"\u003cb style=color:red\u003e2-step login activation failed\u003c/b\u003e. Clear the secret from the application and try again. You only have a few minutes to enter the proper code."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e183","default.handlebars-\u003e17-\u003e448"],"en":"Intel® ME"},{"xloc":["default.handlebars-\u003e17-\u003e518","default-mobile.handlebars-\u003e9-\u003e306","default.handlebars-\u003e17-\u003e348","default.handlebars-\u003e17-\u003e1056"],"en":"Uninstall Agent"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003e1-\u003etwintab32"],"en":"Windows 32bit"},{"xloc":["default.handlebars-\u003e17-\u003e716"],"en":"Chinese (PRC)"},{"xloc":["default.handlebars-\u003e17-\u003e895","default-mobile.handlebars-\u003e9-\u003e40"],"en":"Delete Account","cs":"Smazat účet"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003eresetAccountDiv-\u003eresetAccountSpan"],"en":"Forgot user/password?"},{"xloc":["default.handlebars-\u003e17-\u003e1119","default.handlebars-\u003e17-\u003e626","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog3-\u003ed3localmode-\u003e1","default-mobile.handlebars-\u003e9-\u003e251","default-mobile.handlebars-\u003e9-\u003e269","default.handlebars-\u003e17-\u003e645","default.handlebars-\u003e17-\u003e643","default-mobile.handlebars-\u003e9-\u003e82","default.handlebars-\u003e17-\u003e1111"],"en":"Upload File","cs":"Nahrát soubor"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e24"],"en":"New Tokens","fr":"Nouveaux Jetons"},{"xloc":["default.handlebars-\u003e17-\u003e330","default-mobile.handlebars-\u003e9-\u003e114"],"en":"Device is in deep sleep state (S3)","cs":"Zařízení je v hlubokém spánku (S3)"},{"xloc":[],"en":"meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://"},{"xloc":["default.handlebars-\u003e17-\u003e807"],"en":"Persian/Iran"},{"xloc":["default.handlebars-\u003e17-\u003e856"],"en":"Tamil"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e7","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e9"],"en":"Win+Up"},{"xloc":[],"en":"Save...","fr":"Sauver..."},{"xloc":["default.handlebars-\u003e17-\u003e762"],"en":"German (Liechtenstein)"},{"xloc":[],"en":" \u0027"},{"xloc":["default.handlebars-\u003e17-\u003e888","default-mobile.handlebars-\u003e9-\u003e32"],"en":"Please wait a few minute to receive the verification."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e5","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e7"],"en":"Win+Down"},{"xloc":["default.handlebars-\u003e17-\u003e484"],"en":"Interfaces","fr":"Interfaces"},{"xloc":["default.handlebars-\u003e17-\u003e592"],"en":"Start","fr":"Lancé"},{"xloc":["default.handlebars-\u003e17-\u003e221"],"en":"Scanning...","fr":"Balayage..."},{"xloc":["default.handlebars-\u003e17-\u003e674","default.handlebars-\u003e17-\u003e671"],"en":"Key Name"},{"xloc":["default.handlebars-\u003e17-\u003e811"],"en":"Punjabi"},{"xloc":["default.handlebars-\u003e17-\u003e172"],"en":"Download MeshCentral Router, a TCP port mapping tool."},{"xloc":["default.handlebars-\u003e17-\u003e535"],"en":"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."},{"xloc":["default.handlebars-\u003e17-\u003e781"],"en":"Khmer"},{"xloc":["default.handlebars-\u003etermShellContextMenu-\u003ecxtermnorm-\u003e0"],"en":"Normal Connect"},{"xloc":["default.handlebars-\u003e17-\u003e1135"],"en":"Online Users","cs":"Online uživatelů"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDevAmt"],"en":"Intel® AMT"},{"xloc":["default.handlebars-\u003e17-\u003e409","default-mobile.handlebars-\u003e9-\u003e149"],"en":"Android ARM"},{"xloc":["default.handlebars-\u003e17-\u003e702"],"en":"Asturian"},{"xloc":["default.handlebars-\u003e17-\u003e29"],"en":"No information for this device."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e69"],"en":"{0}m left"},{"xloc":["default.handlebars-\u003e17-\u003e689"],"en":"Arabic (Lebanon)"},{"xloc":["default.handlebars-\u003e17-\u003e1017"],"en":"During activation, the agent will have access to admin password infomation."},{"xloc":["default.handlebars-\u003e17-\u003e831"],"en":"Spanish","fr":"Espagnol"},{"xloc":["default.handlebars-\u003e17-\u003e790"],"en":"Luxembourgish","fr":"Luxembourgeois"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3noMeshFound-\u003ep3createMeshLink2-\u003e1-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2noMeshFound-\u003ep2createMeshLink2-\u003e1-\u003e0"],"en":"Get started here!","fr":"Commencez ici!"},{"xloc":["default.handlebars-\u003e17-\u003e170"],"en":"Download MeshCmd, a command line tool that performs many functions."},{"xloc":["default.handlebars-\u003e17-\u003e1217"],"en":"1 group","fr":"1 groupe"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003e9"],"en":"Toggle mouse and keyboard input","fr":"Basculer la souris et le clavier"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003e3-\u003e1-\u003e0-\u003e5-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep3-\u003e3-\u003e1-\u003e0-\u003e3-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e5-\u003e1-\u003e0-\u003e5-\u003e3"],"en":"Download Events"},{"xloc":["default.handlebars-\u003e17-\u003e22","default-mobile.handlebars-\u003e9-\u003e11"],"en":" - Reset in {0} minute{1}.","fr":"- Réinitialisation en {0} minute {1}."},{"xloc":["default.handlebars-\u003e17-\u003e867"],"en":"Urdu"},{"xloc":["default.handlebars-\u003e17-\u003e905","default-mobile.handlebars-\u003e9-\u003e48"],"en":"This account does not have the rights to create a new device group."},{"xloc":["default.handlebars-\u003e17-\u003e284","default.handlebars-\u003e17-\u003e262"],"en":"Installation Type","cs":"Typ instalace"},{"xloc":["default.handlebars-\u003e17-\u003e582"],"en":"Display name"},{"xloc":["default.handlebars-\u003e17-\u003e1271"],"en":"MeshCentral Server Peering"},{"xloc":["default.handlebars-\u003e17-\u003e1136"],"en":"Offline Users"},{"xloc":[],"en":"{{{installflags}}}"},{"xloc":["default.handlebars-\u003e17-\u003e796"],"en":"Marathi"},{"xloc":["default.handlebars-\u003e17-\u003e167","default.handlebars-\u003e17-\u003e165"],"en":"add one","cs":"přidat","fr":"ajoute un"},{"xloc":[],"en":"Fixed width interface"},{"xloc":["default.handlebars-\u003e17-\u003e1099"],"en":"{0}k in 1 file. {1}k maximum"},{"xloc":["default.handlebars-\u003e17-\u003e885"],"en":"Intel® AMT desktop and serial events."},{"xloc":["default.handlebars-\u003e17-\u003e952"],"en":"Files Prompt"},{"xloc":["default.handlebars-\u003e17-\u003e728"],"en":"English (Australia)"},{"xloc":["error404-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e3","error404.handlebars-\u003econtainer-\u003ecolumn_l-\u003e3"],"en":"This page does not exist","cs":"Tato stránka neexistuje"},{"xloc":["default.handlebars-\u003e17-\u003e1112"],"en":"Confirm overwrite?"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003e3"],"en":"Encoding"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e199","default.handlebars-\u003e17-\u003e502","default.handlebars-\u003e17-\u003e501"],"en":"Intel® AMT detected"},{"xloc":["default.handlebars-\u003e17-\u003e513","default-mobile.handlebars-\u003e9-\u003e203"],"en":"Wake-up","cs":"Probudit"},{"xloc":["default.handlebars-\u003e17-\u003e644","default.handlebars-\u003e17-\u003e1120"],"en":"Upload will overwrite {0} file{1}. Continue?"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003e3","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003e1"],"en":"Scaling","cs":"Škálování","fr":"Mise à l\u0027échelle"},{"xloc":["default.handlebars-\u003e17-\u003e545"],"en":"Are you sure you want to delete node {0}?","fr":"Êtes-vous sûr de vouloir supprimer le noeud {0}?"},{"xloc":["default.handlebars-\u003e17-\u003e237","default.handlebars-\u003e17-\u003e242"],"en":"MPS Server","fr":"Serveur MPS"},{"xloc":["default.handlebars-\u003e17-\u003e660"],"en":"Clear the core"},{"xloc":["default.handlebars-\u003e17-\u003e101"],"en":"Copy valid codes to clipboard"},{"xloc":["default.handlebars-\u003e17-\u003e648"],"en":"Event Details"},{"xloc":["default.handlebars-\u003e17-\u003e354"],"en":"Power off devices","cs":"Vypnout zařízení","fr":"Éteindre les appareils"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e296","default.handlebars-\u003e17-\u003e1046"],"en":"Limited Input Only"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003emacostab-\u003e1"],"en":"Apple™ MacOS"},{"xloc":["default.handlebars-\u003e17-\u003e137"],"en":"These settings can be used to connect MQTT for this device."},{"xloc":["default.handlebars-\u003e17-\u003e794"],"en":"Maltese"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e163","default.handlebars-\u003e17-\u003e423"],"en":"NodeJS"},{"xloc":["login.handlebars-\u003e5-\u003e33","login-mobile.handlebars-\u003e5-\u003e33"],"en":"{0} non-alphanumeric"},{"xloc":["default.handlebars-\u003e17-\u003e1137"],"en":"1 more user not shown, use search box to look for users..."},{"xloc":["default.handlebars-\u003e17-\u003e797"],"en":"Moldavian"},{"xloc":["default.handlebars-\u003e17-\u003e721"],"en":"Cree"},{"xloc":["default.handlebars-\u003e17-\u003e282"],"en":"Windows (UnInstall)"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003epluginRestartNotice-\u003e1"],"en":"Refresh Agent Cores"},{"xloc":["default.handlebars-\u003e17-\u003e1064","default-mobile.handlebars-\u003e9-\u003e313"],"en":"Agent Console"},{"xloc":["default.handlebars-\u003e17-\u003e715"],"en":"Chinese (Hong Kong)"},{"xloc":["default.handlebars-\u003e17-\u003e1113","default-mobile.handlebars-\u003e9-\u003e83"],"en":"Confim {0} of {1} entrie{2} to this location?"},{"xloc":["default.handlebars-\u003e17-\u003e795"],"en":"Maori"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e1-\u003e3","player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e1-\u003e1"],"en":"⇲"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e19","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e21"],"en":"Ctrl-W"},{"xloc":["player.htm-\u003e3-\u003e19","player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e3"],"en":"Open File...","cs":"Otevřít soubor..."},{"xloc":["default.handlebars-\u003e17-\u003e1036"],"en":"Allow users to manage this device group and devices in this group.","fr":"Autoriser les utilisateurs à gérer ce groupe et les périphériques de ce groupe."},{"xloc":["default.handlebars-\u003e17-\u003e1249","default.handlebars-\u003e17-\u003e1251"],"en":"Free"},{"xloc":["default.handlebars-\u003e17-\u003e842"],"en":"Spanish (Mexico)"},{"xloc":[],"en":"Rotate Right","fr":"Tourner à droite"},{"xloc":["default.handlebars-\u003e17-\u003e699"],"en":"Aragonese"},{"xloc":["default.handlebars-\u003e17-\u003e50"],"en":"No network interface information available for this device."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep6-\u003ep2ServerActions-\u003e3-\u003ep2ServerActionsErrors-\u003e0"],"en":"Show server error log","cs":"Zobrazit chyby serveru","fr":"Afficher le journal des erreurs du serveur"},{"xloc":["default.handlebars-\u003e17-\u003e324","default-mobile.handlebars-\u003e9-\u003e109"],"en":"Soft-Off"},{"xloc":["default.handlebars-\u003e17-\u003e1161"],"en":"Download the list of users with one of the file formats below."},{"xloc":["default.handlebars-\u003e17-\u003e373"],"en":"Center map here","fr":"Centré la carte ici"},{"xloc":["default.handlebars-\u003e17-\u003e832"],"en":"Spanish (Argentina)"},{"xloc":["default.handlebars-\u003e17-\u003e168"],"en":"Create a new group of devices.","cs":"Vytvořit novou skupinu zařízení."},{"xloc":[],"en":"arg_hide"},{"xloc":[],"en":"Send","cs":"Odeslat","fr":"Envoyer"},{"xloc":["default.handlebars-\u003e17-\u003e464","default-mobile.handlebars-\u003e9-\u003e188"],"en":"Intel® AMT CIRA"},{"xloc":["default.handlebars-\u003e17-\u003e96","default-mobile.handlebars-\u003e9-\u003e21"],"en":"One time tokens can be used as secondary authentication. Generate a set, print them and keep them in a safe place."},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003ed7desktopmode-\u003e5","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003ed7desktopmode-\u003e5"],"en":"RAW8, Slow"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e3","login.handlebars-\u003e5-\u003e3"],"en":"Account limit reached."},{"xloc":["default.handlebars-\u003e17-\u003e833"],"en":"Spanish (Bolivia)"},{"xloc":["default.handlebars-\u003e17-\u003e468"],"en":"Mesh Relay"},{"xloc":["default.handlebars-\u003e17-\u003e159","default.handlebars-\u003e17-\u003e1146","default.handlebars-\u003e17-\u003e989","default.handlebars-\u003e17-\u003e142","default-mobile.handlebars-\u003e9-\u003e326"],"en":"User","fr":"Utilisateur"},{"xloc":["default.handlebars-\u003e17-\u003e199","default.handlebars-\u003e17-\u003e982"],"en":"Invite someone to install the mesh agent on this mesh.","cs":"Pozvat kohokoliv k instalaci agenta pro vzdálené ovládání.","fr":"Invitez quelqu\u0027un à installer l\u0027agent de maillage sur ce maillage."},{"xloc":["default.handlebars-\u003e17-\u003e1230"],"en":"Send user notification","fr":"Envoyer une notification utilisateur"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003edevListToolbar-\u003e7"],"en":"Show devices operating system name"},{"xloc":["default.handlebars-\u003e17-\u003e481"],"en":"Remove this device","fr":"Retirer ce périphérique"},{"xloc":["default.handlebars-\u003e17-\u003e1011","default.handlebars-\u003e17-\u003e337","default.handlebars-\u003e17-\u003e151","default.handlebars-\u003e17-\u003e1006","default-mobile.handlebars-\u003e9-\u003e119"],"en":"CIRA"},{"xloc":[],"en":"Edit remote desktop settings"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountSecurity-\u003e3-\u003emanageHardwareOtp-\u003e1-\u003e0"],"en":"Manage security keys"},{"xloc":["default.handlebars-\u003e17-\u003e88"],"en":"You will now need a valid token to login again."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e5","default.handlebars-\u003e17-\u003e12"],"en":"Intel® AMT Connected"},{"xloc":["default.handlebars-\u003econtextMenu-\u003ecxinfo-\u003e0"],"en":"Information"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5filetable-\u003ep5PublicShare-\u003e0"],"en":"These files are shared publicly, click \"link\" to get public url.","fr":"Ces fichiers sont partagés publiquement, cliquez sur \"lien\" pour obtenir une URL publique."},{"xloc":["default.handlebars-\u003e17-\u003e1167"],"en":"id, name, email, creation, lastlogin, groups, authfactors"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e1"],"en":"Download data points (.csv)"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e5-\u003e3"],"en":"Other","fr":"Autre"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3-\u003econnectbutton2hspan","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e3-\u003econnectbutton1hspan"],"en":"Connect using Intel AMT hardware KVM"},{"xloc":["default.handlebars-\u003e17-\u003e874"],"en":"Yiddish"},{"xloc":["default.handlebars-\u003e17-\u003e307","default.handlebars-\u003e17-\u003e293"],"en":"64bit version of the MeshAgent"},{"xloc":["default.handlebars-\u003e17-\u003e735"],"en":"English (South Africa)"},{"xloc":["default.handlebars-\u003e17-\u003e1193"],"en":"No New Device Groups"},{"xloc":["default.handlebars-\u003e17-\u003e452","default-mobile.handlebars-\u003e9-\u003e185"],"en":"Intel® SM"},{"xloc":["default.handlebars-\u003e17-\u003e675","default.handlebars-\u003e17-\u003e672"],"en":"MyKey","fr":"MaClé"},{"xloc":["default.handlebars-\u003e17-\u003e1209"],"en":"Server Quota"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e164","default.handlebars-\u003e17-\u003e424"],"en":"ARM-Linaro"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003ep12warning2-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003ep11warning2-\u003e3"],"en":"Remote computer is not powered on, click here to issue a power command.","cs":"Vzdálený počítač není zapnutý, klikněte zde pro zapnutí."},{"xloc":["default.handlebars-\u003e17-\u003e932"],"en":"MeshCentral Errors"},{"xloc":["default.handlebars-\u003e17-\u003e863"],"en":"Turkish"},{"xloc":["default.handlebars-\u003e17-\u003e267"],"en":"(optional)","cs":"(volitelné)"},{"xloc":["default.handlebars-\u003e17-\u003e190"],"en":"Add Local"},{"xloc":[],"en":"tablinks"},{"xloc":["default.handlebars-\u003e17-\u003e770"],"en":"Hungarian"},{"xloc":["default.handlebars-\u003e17-\u003e722"],"en":"Croatian"},{"xloc":["default.handlebars-\u003e17-\u003e822"],"en":"Sanskrit"},{"xloc":["default.handlebars-\u003e17-\u003e753"],"en":"Frisian"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003ep12warning-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003ep11warning-\u003e3"],"en":"Intel® AMT Redirection port or KVM feature is disabled"},{"xloc":["default.handlebars-\u003e17-\u003e813"],"en":"Punjabi (Pakistan)"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e21","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e23"],"en":"Alt-Tab"},{"xloc":["default.handlebars-\u003e17-\u003e15"],"en":"Ctrl"},{"xloc":["default.handlebars-\u003e17-\u003e114"],"en":"Press the key button now."},{"xloc":["default.handlebars-\u003e17-\u003e1003"],"en":"Do nothing","cs":"Nic"},{"xloc":["default.handlebars-\u003e17-\u003e988"],"en":"Remove user rights to this device group","fr":"Supprimer les droits d\u0027utilisateur sur ce groupe de périphériques"},{"xloc":["default.handlebars-\u003e17-\u003e1274"],"en":"Server Certificate"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e93"],"en":"No Intel® AMT devices in this group"},{"xloc":["default.handlebars-\u003e17-\u003e780"],"en":"Kazakh"},{"xloc":["default.handlebars-\u003e17-\u003e1234","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003ep42tbl-\u003e1-\u003e0-\u003e7"],"en":"Status","fr":"Statut"},{"xloc":["login.handlebars-\u003econtainer-\u003etopbar","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1","agentinvite.handlebars-\u003econtainer-\u003etopbar","error404.handlebars-\u003econtainer-\u003etopbar"],"en":"User interface selection"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e13","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e11"],"en":"Win+M"},{"xloc":["default.handlebars-\u003e17-\u003e739"],"en":"English (Zimbabwe)","fr":"Anglais (Zimbabwe)"},{"xloc":["default.handlebars-\u003e17-\u003e380"],"en":"No devices found.","cs":"Žádné zařízení nalezeno.","fr":"Aucun périphérique trouvé."},{"xloc":["default.handlebars-\u003e17-\u003e55","default.handlebars-\u003e17-\u003e53","default.handlebars-\u003e17-\u003e52"],"en":"Last agent address","cs":"Poslední adresa agenta","fr":"Dernière adresse de l\u0027agent"},{"xloc":["default.handlebars-\u003e17-\u003e768"],"en":"Hebrew"},{"xloc":["default.handlebars-\u003e17-\u003e478"],"en":"Write an event for this device","fr":"Écrire un événement pour ce périphérique"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e247","default.handlebars-\u003e17-\u003e622","default.handlebars-\u003e17-\u003e1107","player.htm-\u003ep11-\u003edialog-\u003eidx_dlgButtonBar-\u003e5","default.handlebars-\u003econtainer-\u003edialog-\u003eidx_dlgButtonBar-\u003e5","default-mobile.handlebars-\u003e9-\u003e78"],"en":"Delete","cs":"Smazat"},{"xloc":["default.handlebars-\u003e17-\u003e350","default.handlebars-\u003e17-\u003e519","default-mobile.handlebars-\u003e9-\u003e207"],"en":"Operation","cs":"Operace","fr":"Opération"},{"xloc":["default.handlebars-\u003e17-\u003e60"],"en":"DNS suffix"},{"xloc":["default.handlebars-\u003e17-\u003e926"],"en":"Restore the server using a backup, \u003cspan style=color:red\u003ethis will delete the existing server data\u003c/span\u003e. Only do this if you know what you are doing."},{"xloc":["default.handlebars-\u003e17-\u003e604"],"en":"Intel ASCII"},{"xloc":["default.handlebars-\u003e17-\u003e711"],"en":"Catalan"},{"xloc":["default.handlebars-\u003e17-\u003e871"],"en":"Walloon"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e209","default.handlebars-\u003e17-\u003e205","player.htm-\u003e3-\u003e4","default.handlebars-\u003e17-\u003e235","default.handlebars-\u003e17-\u003e524"],"en":"Username","cs":"Uživatel","fr":"Nom d\u0027utilisateur"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e182","default.handlebars-\u003e17-\u003e446","default.handlebars-\u003e17-\u003e445","default-mobile.handlebars-\u003e9-\u003e181"],"en":"No Credentials","cs":"Žádné přihlašovací údaje"},{"xloc":["default.handlebars-\u003e17-\u003e579"],"en":"Remote clipboard is valid for 60 seconds.","cs":"Vzdálená schránka je platná 60 sekund."},{"xloc":[],"en":"{{{domain}}}"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e28","login.handlebars-\u003e5-\u003e28"],"en":"Minimum length of {0}"},{"xloc":[],"en":"Copyright 2013 jQuery Foundation and other contributors"},{"xloc":["default.handlebars-\u003e17-\u003e1053","default-mobile.handlebars-\u003e9-\u003e303"],"en":"Edit Device Notes","cs":"Upravit popis zařízení"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003eresetAccountDiv-\u003e3","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003eresetAccountDiv-\u003e3"],"en":"Reset account","cs":"Reset účtu","fr":"Réinitialiser le compte"},{"xloc":["default.handlebars-\u003e17-\u003e876","default.handlebars-\u003e17-\u003e878"],"en":"User browser value"},{"xloc":["default.handlebars-\u003e17-\u003e93"],"en":"You can reactivate this feature at any time."},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e9-\u003e1-\u003ecreatePanelHint-\u003e1"],"en":"Pass Hint:","cs":"Nápověda k heslu:"},{"xloc":["default.handlebars-\u003e17-\u003e774"],"en":"Irish"},{"xloc":["default.handlebars-\u003e17-\u003e1278"],"en":"Web Socket Relay","fr":"Relais Web Socket"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e9-\u003e1-\u003enuUserRow-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003e7-\u003e1-\u003e0-\u003eloginusername","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003e7-\u003e1-\u003e0-\u003eloginusername","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e9-\u003e1-\u003enuUserRow-\u003enuUser"],"en":"Username:","cs":"Uživatel:","fr":"Nom d\u0027utilisateur:"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainMenuSpan-\u003e1-\u003e0-\u003eMainMenuMyDevices","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003e2-\u003e0"],"en":"My Devices","cs":"Moje zařízení","fr":"Mes Appareils"},{"xloc":["default.handlebars-\u003e17-\u003e855"],"en":"Swedish (Sweden)"},{"xloc":["default.handlebars-\u003e17-\u003e606"],"en":"Alternate (F10 = ESC+0)"},{"xloc":["default.handlebars-\u003e17-\u003e804"],"en":"Occitan"},{"xloc":[],"en":"Open a web address on remote computer"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003e9-\u003eDeskControlSpan","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10desktop-\u003edeskarea4-\u003e1-\u003e3-\u003e11-\u003eDeskControlSpan"],"en":"Input","cs":"Vstup"},{"xloc":[],"en":"Ctl-X"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e1","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10desktop-\u003edeskarea1-\u003e1-\u003e3-\u003edeskstatus","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e0-\u003e1-\u003e3-\u003ep13Status","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e0-\u003e1-\u003e3-\u003ep13Status","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e3-\u003edeskstatus","default.handlebars-\u003e17-\u003e158","default.handlebars-\u003e17-\u003e183","default.handlebars-\u003e17-\u003e177","default.handlebars-\u003e17-\u003e174","default.handlebars-\u003e17-\u003e8","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3-\u003etermstatus"],"en":"Disconnected","cs":"Odpojeno","fr":"Débranché"},{"xloc":["default.handlebars-\u003e17-\u003e898","default-mobile.handlebars-\u003e9-\u003e41"],"en":"Old password:","cs":"Staré heslo:"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e253","default.handlebars-\u003e17-\u003e628"],"en":"Only files less than 200k can be edited.","cs":"Jen soubory menší než 200k mohou být editovány."},{"xloc":["default.handlebars-\u003e17-\u003e349"],"en":"Select an operation to perform on all selected devices. Actions will be performed only with proper rights."},{"xloc":["default.handlebars-\u003e17-\u003e404","default-mobile.handlebars-\u003e9-\u003e144"],"en":"Windows 64bit service"},{"xloc":[],"en":"Ctl-C"},{"xloc":["default.handlebars-\u003e17-\u003e1008"],"en":"Don\\\u0027t connect to server"},{"xloc":["default.handlebars-\u003e17-\u003e106","default.handlebars-\u003e17-\u003e591","default.handlebars-\u003e17-\u003e98","default-mobile.handlebars-\u003e9-\u003e23"],"en":"Close"},{"xloc":["default.handlebars-\u003e17-\u003e1133"],"en":"Last Access","fr":"Dernier accès"},{"xloc":[],"en":"{{{terms}}}"},{"xloc":["default.handlebars-\u003e17-\u003e28"],"en":"WARNING: ","fr":"ATTENTION:"},{"xloc":["default.handlebars-\u003e17-\u003e869"],"en":"Vietnamese"},{"xloc":["default.handlebars-\u003e17-\u003e224"],"en":"Manual Certificate","fr":"Certificat manuel"},{"xloc":["default.handlebars-\u003e17-\u003e658","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003ep42tbl-\u003e1-\u003e0-\u003e8"],"en":"Action"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e23"],"en":"Win+Left"},{"xloc":["default.handlebars-\u003e17-\u003e1058"],"en":"Edit User Device Group Permissions"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003ep13sortdropdown-\u003e7","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep13sortdropdown-\u003e7","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5toolbar-\u003e1-\u003e2-\u003ep5filesubhead-\u003e1-\u003ep5sortdropdown-\u003e7","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003ep5myfiles-\u003ep5toolbar-\u003e1-\u003e2-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep5sortdropdown-\u003e7"],"en":"Descend by name"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDevInfo"],"en":"Details","cs":"Detaily"},{"xloc":[],"en":"Pause","fr":"Pause"},{"xloc":["default.handlebars-\u003e17-\u003e887","default-mobile.handlebars-\u003e9-\u003e31"],"en":"Click ok to send a verification mail to:"},{"xloc":["default.handlebars-\u003e17-\u003e1171"],"en":"Broadcast Message","fr":"Diffusion d\u0027un Message"},{"xloc":[],"en":"No devices in this mesh","fr":"No devices in this group"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e208","default.handlebars-\u003e17-\u003e520"],"en":"Device Action","cs":"Akce zařízení"},{"xloc":["default.handlebars-\u003e17-\u003e1038"],"en":"User Names","fr":"Noms"},{"xloc":[],"en":"wget https://"},{"xloc":[],"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/."},{"xloc":[],"en":"{{{serverhttps}}}"},{"xloc":["default.handlebars-\u003e17-\u003e1208"],"en":"Server Rights"},{"xloc":["default.handlebars-\u003e17-\u003e551"],"en":"MeshCentral Router is a Windows tool for TCP port mapping. You can, for example, RDP into a remote device thru this server."},{"xloc":["default.handlebars-\u003e17-\u003e379"],"en":"Device name","cs":"Název zařízení"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e226","default.handlebars-\u003e17-\u003e186","default.handlebars-\u003e17-\u003e572"],"en":"Remote Desktop Settings"},{"xloc":["default.handlebars-\u003e17-\u003e1239","default-mobile.handlebars-\u003e9-\u003e45","default.handlebars-\u003e17-\u003e1180"],"en":"Requirements: {0}.","fr":"Exigences: {0}."},{"xloc":["default.handlebars-\u003e17-\u003e314","default.handlebars-\u003e17-\u003e1","default-mobile.handlebars-\u003e9-\u003e97","default-mobile.handlebars-\u003e9-\u003e104"],"en":"Powered","cs":"Zapnuto","fr":"Alimenté"},{"xloc":["default.handlebars-\u003e17-\u003e1144"],"en":"Locked","cs":"Zamknuto","fr":"Verrouiller"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e3-\u003e3","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e3-\u003e1"],"en":"Quality","cs":"Kvalita","fr":"Qualité"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e38","default.handlebars-\u003e17-\u003e927"],"en":"Cancel","cs":"Zrušit","fr":"Annuler"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003emacostab-\u003e3"],"en":", right click on it or press \"control\" and click on the file. Then select \"Open\" and follow the instructions.","cs":", poté spusťe instalaci. Postupujte dle instrukcí."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep4-\u003e3-\u003e1-\u003e0-\u003e3-\u003e1-\u003e3"],"en":"Download user information"},{"xloc":[],"en":"Toggle remote desktop background"},{"xloc":["default.handlebars-\u003e17-\u003e1215"],"en":"Last changed: {0}","cs":"Poslední změna: {0}","fr":"Dernière modification: {0}"},{"xloc":["default.handlebars-\u003e17-\u003e828"],"en":"Slovenian","fr":"Slovène"},{"xloc":["default.handlebars-\u003e17-\u003e1268"],"en":"Cookie encoder"},{"xloc":[],"en":"Copyright (c) 2009, CodePlex Foundation. All rights reserved."},{"xloc":["default.handlebars-\u003e17-\u003e891","default-mobile.handlebars-\u003e9-\u003e35"],"en":"Email Address Change","cs":"Změna emailové adresy"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e291","default.handlebars-\u003e17-\u003e1041","default.handlebars-\u003e17-\u003e1060","default.handlebars-\u003e17-\u003e1023","default-mobile.handlebars-\u003e9-\u003e309","default-mobile.handlebars-\u003e9-\u003e289"],"en":"Edit Device Group","cs":"Editovat skupinu zařízení"},{"xloc":["default.handlebars-\u003e17-\u003e164"],"en":"No Intel® AMT devices in this mesh"},{"xloc":["default.handlebars-\u003e17-\u003e71","default.handlebars-\u003e17-\u003e63"],"en":"Copy MAC address to clipboard","cs":"Kopírovat MAC adresu do schránky"},{"xloc":["default.handlebars-\u003e17-\u003e1027"],"en":"Show connection toolbar","fr":"Afficher la barre d\u0027outils de connexion"},{"xloc":[],"en":"fullscreen"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e95"],"en":"No devices","cs":"Žádné zařízení","fr":"Aucun appareil"},{"xloc":["default.handlebars-\u003e17-\u003e255","default.handlebars-\u003e17-\u003e269"],"en":"Link Expiration","cs":"Platnost linku","fr":"Expiration du lien"},{"xloc":["default.handlebars-\u003e17-\u003e701"],"en":"Assamese"},{"xloc":["default.handlebars-\u003e17-\u003e1290"],"en":"Call Error","fr":"Erreur d\u0027appel"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e3-\u003e3"],"en":"Log-X"},{"xloc":["default.handlebars-\u003e17-\u003e798"],"en":"Navajo","fr":"Navajo"},{"xloc":["default.handlebars-\u003e17-\u003e918","default.handlebars-\u003e17-\u003e917"],"en":"Enter"},{"xloc":["default.handlebars-\u003e17-\u003e766"],"en":"Gujurati","fr":"Gujarati"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep41-\u003e3-\u003e1-\u003ep41limitdropdown-\u003e7","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep3-\u003e3-\u003e1-\u003e0-\u003e3-\u003ep3limitdropdown-\u003e9","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003e3-\u003e1-\u003e0-\u003e5-\u003ep16limitdropdown-\u003e9","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e5-\u003e1-\u003e0-\u003e5-\u003ep31limitdropdown-\u003e9"],"en":"Last 1000","cs":"Posledních 1000","fr":"1000 derniers"},{"xloc":["default.handlebars-\u003e17-\u003e201"],"en":"Add a new Intel® AMT device to device group \\\"{0}\\\"."},{"xloc":["default.handlebars-\u003e17-\u003e311"],"en":"1 node","fr":"1 appareil"},{"xloc":["default.handlebars-\u003e17-\u003e882"],"en":"Notification sound."},{"xloc":[],"en":"Extended Ascii"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSize-\u003esizeselect-\u003e5"],"en":"Large","cs":"Velký","fr":"Grand"},{"xloc":["default.handlebars-\u003e17-\u003e808"],"en":"Polish"},{"xloc":[],"en":"New Account...","cs":"Nový účet...","fr":"Nouveau Compte..."},{"xloc":["default.handlebars-\u003e17-\u003e1224"],"en":"Backup Codes"},{"xloc":["default.handlebars-\u003e17-\u003e549"],"en":"Network Interfaces","fr":"Interfaces réseau"},{"xloc":["default.handlebars-\u003e17-\u003e913"],"en":"Manage using a software agent","fr":"Gérer à l\u0027aide d\u0027un agent logiciel"},{"xloc":["default.handlebars-\u003e17-\u003e1124","default.handlebars-\u003e17-\u003e1162"],"en":"CSV Format"},{"xloc":["default.handlebars-\u003e17-\u003e1138"],"en":"{0} more users not shown, use search box to look for users..."},{"xloc":["default.handlebars-\u003e17-\u003e1096"],"en":"{0} Mb"},{"xloc":["default.handlebars-\u003e17-\u003e556"],"en":"Linux x86 (64bit)"},{"xloc":["default.handlebars-\u003e17-\u003e751"],"en":"French (Monaco)"},{"xloc":["default.handlebars-\u003e17-\u003e997"],"en":"Deactivate Client Control Mode (CCM)"},{"xloc":["default.handlebars-\u003e17-\u003e1095"],"en":"{0} Kb"},{"xloc":["default.handlebars-\u003e17-\u003e203","default.handlebars-\u003e17-\u003e396","default.handlebars-\u003e17-\u003e394","default.handlebars-\u003e17-\u003e393","default-mobile.handlebars-\u003e9-\u003e134","default-mobile.handlebars-\u003e9-\u003e136","default-mobile.handlebars-\u003e9-\u003e133","default-mobile.handlebars-\u003e9-\u003e220","default.handlebars-\u003e17-\u003e563"],"en":"Hostname"},{"xloc":["default.handlebars-\u003e17-\u003e1203"],"en":"Email is verified","cs":"Email ověřen"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003ep11title-\u003ep11deviceNameHeader-\u003edevListToolbarViewIcons","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep14-\u003ep14title-\u003edevListToolbarViewIcons"],"en":"Full Screen. Hold shift to browser full screen.","fr":"Plein écran. Maintenez la touche Maj enfoncée dans le navigateur en plein écran."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003exdevicesmap-\u003exmapSearchResultsDlg-\u003exmapSearchResultsBck-\u003e3"],"en":"Location Results"},{"xloc":["default.handlebars-\u003e17-\u003e220"],"en":"Scan for Intel® AMT devices"},{"xloc":["default.handlebars-\u003e17-\u003e772"],"en":"Indonesian"},{"xloc":["default.handlebars-\u003e17-\u003e1237","default.handlebars-\u003e17-\u003e1236","default.handlebars-\u003e17-\u003e207","default.handlebars-\u003e17-\u003e1174","default.handlebars-\u003e17-\u003e1175","default.handlebars-\u003e17-\u003e1214","default.handlebars-\u003e17-\u003e236","default.handlebars-\u003e17-\u003e525","default.handlebars-\u003e17-\u003e1212","default-mobile.handlebars-\u003e9-\u003e210"],"en":"Password","cs":"Heslo","fr":"Mot de passe"},{"xloc":["messenger.handlebars-\u003e13-\u003e6"],"en":"Waiting for other user...","cs":"Čekání na ostatní uživatele..."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep43-\u003e3"],"en":"My Server Plugins -","fr":"Mes plugins serveur -"},{"xloc":[],"en":"7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep6-\u003ep2ServerActions-\u003e3-\u003ep2ServerActionsBackup-\u003e0"],"en":"Download server backup"},{"xloc":["default.handlebars-\u003e17-\u003e372"],"en":"Zoom to fit extent"},{"xloc":["default.handlebars-\u003e17-\u003e802"],"en":"Norwegian (Bokmal)","fr":"Norvégien (Bokmal)"},{"xloc":["default.handlebars-\u003e17-\u003e970"],"en":"View notes about this device group"},{"xloc":["default.handlebars-\u003e17-\u003e1248","default.handlebars-\u003e17-\u003e1250"],"en":"Used","cs":"Použito"},{"xloc":["default.handlebars-\u003e17-\u003e683"],"en":"Arabic (Algeria)"},{"xloc":["default.handlebars-\u003e17-\u003e226"],"en":"To add a new Intel® AMT device to device group \\\"{0}\\\" with CIRA, download the following script files and use \u003ca href=\u0027http://meshcommander.com\u0027 rel=\u0027noreferrer noopener\u0027 target=\u0027_blank\u0027\u003eMeshCommander\u003c/a\u003e to run the script to configure computers."},{"xloc":["player.htm-\u003e3-\u003e18"],"en":"Drag & drop a .mcrec file or click \\\"Open File...\\\""},{"xloc":["default-mobile.handlebars-\u003e9-\u003e59","default.handlebars-\u003e17-\u003e922"],"en":"Policy","fr":"Politique"},{"xloc":["player.htm-\u003e3-\u003e3"],"en":"{0} second{1}"},{"xloc":["default.handlebars-\u003e17-\u003e830"],"en":"Sorbian"},{"xloc":["default.handlebars-\u003e17-\u003e948"],"en":"Desktop Prompt"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e11","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e11"],"en":"37.5%"},{"xloc":["default.handlebars-\u003e17-\u003e925","default-mobile.handlebars-\u003e9-\u003e282","default.handlebars-\u003e17-\u003e987","default.handlebars-\u003e17-\u003e1076","default-mobile.handlebars-\u003e9-\u003e325","default-mobile.handlebars-\u003e9-\u003e62"],"en":"No Rights"},{"xloc":["default.handlebars-\u003e17-\u003e299"],"en":"To add a new computer to device group \\\"{0}\\\", download the mesh agent and install it the computer to manage. This agent installer has server and device group information embedded within it.","cs":"Pro přidání do skupiny \\\"{0}\\\", si musíte stáhnout agenta a nainstalovat ho na počítači, který chcete spravovat. Tento agent má všechny potřebné informace pro připojení již v sobě."},{"xloc":["default.handlebars-\u003e17-\u003e803"],"en":"Norwegian (Nynorsk)","fr":"Norvégien (Nynorsk)"},{"xloc":["default.handlebars-\u003e17-\u003e723"],"en":"Czech"},{"xloc":[],"en":"1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer."},{"xloc":["default.handlebars-\u003e17-\u003e741"],"en":"Estonian"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep41-\u003e1"],"en":"My Server Tracing","fr":"Suivi de mon serveur"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003elinuxtab"],"en":"Copy to clipboard","cs":"Zkopírovat do schránky"},{"xloc":["default.handlebars-\u003e17-\u003e456"],"en":"Disabled"},{"xloc":["default.handlebars-\u003e17-\u003e1059"],"en":"Full Administrator (all rights)","cs":"Hlavní administrator (všechna práva)","fr":"Administrateur Complet (tous droits)"},{"xloc":["default.handlebars-\u003e17-\u003e669","default-mobile.handlebars-\u003e9-\u003e30"],"en":"Confirm removal of authenticator application 2-step login?"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003etokenpanel-\u003e1-\u003e7-\u003e1-\u003e2-\u003e1-\u003e1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003etokenpanel-\u003e1-\u003e7-\u003e1-\u003e2-\u003e1-\u003e1"],"en":"Remember this device for 30 days."},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog3-\u003ed3servermode-\u003ed3serveraction"],"en":"Up","cs":"Nahoru","fr":"Up"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e1-\u003ep40time-\u003e1"],"en":"Last 3 hours","fr":"3 dernières heures"},{"xloc":["default.handlebars-\u003e17-\u003e1070","default-mobile.handlebars-\u003e9-\u003e319"],"en":"No Files","fr":"Aucun fichier"},{"xloc":[],"en":"none"},{"xloc":["default.handlebars-\u003e17-\u003e530"],"en":"Topic"},{"xloc":["default.handlebars-\u003e17-\u003e1272"],"en":"MeshAgent traffic"},{"xloc":["default.handlebars-\u003e17-\u003e993","default.handlebars-\u003e17-\u003e996","default.handlebars-\u003e17-\u003e963"],"en":"No Policy"},{"xloc":["default.handlebars-\u003e17-\u003e695"],"en":"Arabic (Syria)"},{"xloc":["default.handlebars-\u003e17-\u003e407","default-mobile.handlebars-\u003e9-\u003e147"],"en":"MIPS"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e158","default.handlebars-\u003e17-\u003e418"],"en":"Linux Poky x86-64bit"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e265","default.handlebars-\u003e17-\u003e640"],"en":"Holding 1 entrie for move"},{"xloc":["default.handlebars-\u003e17-\u003e708"],"en":"Bosnian"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eUserSubMenuSpan-\u003eUserSubMenu-\u003e1-\u003e0-\u003eUserEvents","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDevEvents","default.handlebars-\u003econtextMenu-\u003ecxevents"],"en":"Events","cs":"Události","fr":"Événements"},{"xloc":["default.handlebars-\u003e17-\u003e849"],"en":"Spanish (Uruguay)"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e43","default.handlebars-\u003e17-\u003e900","default.handlebars-\u003e17-\u003e899","default-mobile.handlebars-\u003e9-\u003e42"],"en":"New password:","cs":"Nové heslo:","fr":"Nouveau mot de passe:"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003e3-\u003e1-\u003e0-\u003e5-\u003ep16limitdropdown-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep3-\u003e3-\u003e1-\u003e0-\u003e3-\u003ep3limitdropdown-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e5-\u003e1-\u003e0-\u003e5-\u003ep31limitdropdown-\u003e1"],"en":"Last 60","cs":"Posledních 60","fr":"60 dernières"},{"xloc":["default.handlebars-\u003e17-\u003e726"],"en":"Dutch (Belgian)"},{"xloc":["default.handlebars-\u003e17-\u003e555"],"en":"Linux x86 (32bit)"},{"xloc":[],"en":"6.Rcarousel - MIT LIcense"},{"xloc":["default.handlebars-\u003e17-\u003e690"],"en":"Arabic (Libya)"},{"xloc":["default.handlebars-\u003e17-\u003e86","default-mobile.handlebars-\u003e9-\u003e29","default.handlebars-\u003e17-\u003e91","default-mobile.handlebars-\u003e9-\u003e15","default-mobile.handlebars-\u003e9-\u003e27","default.handlebars-\u003e17-\u003e666","default.handlebars-\u003e17-\u003e668","default-mobile.handlebars-\u003e9-\u003e18"],"en":"Authenticator App"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountActions-\u003e3-\u003eaccountChangeEmailAddressSpan-\u003e0","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3AccountActions-\u003e7-\u003e3-\u003echangeEmailId-\u003e0"],"en":"Change email address"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003e3"],"en":"Rate"},{"xloc":["default.handlebars-\u003e17-\u003e473","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e0-\u003e1-\u003e1"],"en":"Actions","cs":"Akce"},{"xloc":["default.handlebars-\u003e17-\u003e1282"],"en":"CIRA Server Commands"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e19"],"en":"\u003cb style=color:green\u003e2-step login activation removed\u003c/b\u003e. You can reactivate this feature at any time."},{"xloc":["default.handlebars-\u003e17-\u003e338","default.handlebars-\u003e17-\u003e152"],"en":"Intel® AMT is routable."},{"xloc":[],"en":"Display a notification on the remote computer"},{"xloc":["default.handlebars-\u003e17-\u003e1116","default-mobile.handlebars-\u003e9-\u003e86"],"en":"copy"},{"xloc":["default.handlebars-\u003e17-\u003e436","default.handlebars-\u003e17-\u003e434","default-mobile.handlebars-\u003e9-\u003e174","default-mobile.handlebars-\u003e9-\u003e176"],"en":"Activated","fr":"Activé"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep14-\u003ep14title-\u003e5"],"en":"Intel® AMT -"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003ep11title-\u003ep11deviceNameHeader-\u003e5"],"en":"Desktop -"},{"xloc":["default.handlebars-\u003e17-\u003e417","default-mobile.handlebars-\u003e9-\u003e157"],"en":"ChromeOS"},{"xloc":["default.handlebars-\u003e17-\u003e1189"],"en":"Server Restore"},{"xloc":["default.handlebars-\u003e17-\u003e112","default.handlebars-\u003e17-\u003e110","default.handlebars-\u003e17-\u003e116","default.handlebars-\u003e17-\u003e115","default.handlebars-\u003e17-\u003e677","default.handlebars-\u003e17-\u003e678"],"en":"Add Security Key","fr":"Ajouter une clé de sécurité"},{"xloc":["default.handlebars-\u003e17-\u003e1199"],"en":"Full administrator","cs":"Hlavní administrator","fr":"Administrateur complet"},{"xloc":["default.handlebars-\u003e17-\u003e577"],"en":"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."},{"xloc":["default.handlebars-\u003e17-\u003e757"],"en":"Galacian"},{"xloc":["default.handlebars-\u003e17-\u003e793"],"en":"Malayalam"},{"xloc":["default.handlebars-\u003econtextMenu-\u003ecxdesktop","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDevDesktop","default.handlebars-\u003e17-\u003e1024","default.handlebars-\u003e17-\u003e366"],"en":"Desktop","cs":"Plocha"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSize-\u003esizeselect-\u003e3","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003ed7framelimiter-\u003e3","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003ed7framelimiter-\u003e3"],"en":"Medium","cs":"Středně"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e2","default.handlebars-\u003e17-\u003e9","default.handlebars-\u003e17-\u003e184","default-mobile.handlebars-\u003e9-\u003e6","default.handlebars-\u003e17-\u003e646","default.handlebars-\u003e17-\u003e175","default.handlebars-\u003e17-\u003e178","default-mobile.handlebars-\u003e9-\u003e270"],"en":"Connecting..."},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10desktop-\u003edeskarea3-\u003edeskarea3x-\u003eDeskTools-\u003e5-\u003e1-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsArea-\u003eDeskToolsProcessTab-\u003edeskToolsHeader-\u003e1","default.handlebars-\u003e17-\u003e584"],"en":"PID"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e125"],"en":" nodes","fr":"noeuds"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003ePlaySpeed-\u003e1"],"en":"1/4 Speed","fr":"1/4 vitesse"},{"xloc":[],"en":"Rotate Left","fr":"Tourne à gauche"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep6-\u003ep2ServerActions-\u003e1-\u003e0"],"en":"Server actions"},{"xloc":[],"en":"meshagents?script=1 --no-check-certificate -O ./meshinstall.sh || wget https://"},{"xloc":["default.handlebars-\u003e17-\u003e229"],"en":"To add a new Intel® AMT device to device group \\\"{0}\\\" with CIRA, load the following certificate as trusted root within Intel AMT"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e1","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e1"],"en":"100%"},{"xloc":[],"en":"Download console text"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003eNoMeshesPanel-\u003e1-\u003e1-\u003e0-\u003e3-\u003egetStarted1"],"en":"To get started,"},{"xloc":["default.handlebars-\u003e17-\u003e408","default-mobile.handlebars-\u003e9-\u003e148"],"en":"XENx86"},{"xloc":["default.handlebars-\u003e17-\u003e1242"],"en":"Change Password for {0}"},{"xloc":["default.handlebars-\u003e17-\u003e364"],"en":"Save node location","fr":"Enregistrer l\u0027emplacement"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3AccountActions-\u003e3-\u003emanageAuthApp-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountSecurity-\u003e3-\u003emanageAuthApp-\u003e1-\u003e0"],"en":"Manage authenticator app"},{"xloc":["default.handlebars-\u003e17-\u003e1292"],"en":"Less","fr":"Moins"},{"xloc":["default.handlebars-\u003e17-\u003e238"],"en":"To add a new Intel® 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."},{"xloc":["default.handlebars-\u003e17-\u003e907","default.handlebars-\u003e17-\u003e384"],"en":"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."},{"xloc":["default.handlebars-\u003e17-\u003e214"],"en":"Perform Intel AMT admin control mode (ACM) activation to group \\\"{0}\\\" by downloading the MeshCMD tool and running it like this:"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003eresetAccountDiv-\u003eresetAccountSpan"],"en":"Forgot username/password?"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e16"],"en":"\u003cb style=color:green\u003e2-step login activation successful\u003c/b\u003e. You will now need a valid token to login again."},{"xloc":["default.handlebars-\u003e17-\u003e1184"],"en":"Name1, Name2, Name3","fr":"Nom1, Nom2, Nom3"},{"xloc":["default.handlebars-\u003e17-\u003e859"],"en":"Thai"},{"xloc":["default.handlebars-\u003e17-\u003e1086","default.handlebars-\u003e17-\u003e1245","default.handlebars-\u003e17-\u003e615","default-mobile.handlebars-\u003e9-\u003e64","default-mobile.handlebars-\u003e9-\u003e240"],"en":"..."},{"xloc":["default.handlebars-\u003e17-\u003e304","default.handlebars-\u003e17-\u003e290"],"en":"32bit version of the MeshAgent"},{"xloc":["default.handlebars-\u003e17-\u003e136"],"en":"Invitation Link ({0})","cs":"Link pro pozvání ({0})"},{"xloc":["default.handlebars-\u003e17-\u003e850"],"en":"Spanish (Venezuela)"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountActions-\u003e1-\u003e0"],"en":"Account actions"},{"xloc":["default.handlebars-\u003e17-\u003e376","default.handlebars-\u003e17-\u003e369"],"en":"Zoom-in to extent"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e6","login.handlebars-\u003e5-\u003e6"],"en":"Username already exists."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e3","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e5"],"en":"Win"},{"xloc":["default.handlebars-\u003e17-\u003e1223"],"en":"Security Key","fr":"Clef de sécurité"},{"xloc":["default.handlebars-\u003e17-\u003e248"],"en":"example@email.com"},{"xloc":["default.handlebars-\u003e17-\u003e955"],"en":"Always Prompt"},{"xloc":["default.handlebars-\u003e17-\u003e1213"],"en":"Will be changed on next login.","fr":"Sera changé lors de la prochaine connexion."},{"xloc":[],"en":"Open chat window to this computer","fr":"Ouvrir la fenêtre de discussion sur cet ordinateur"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003etokenpanel-\u003e1-\u003e7-\u003e1-\u003e4-\u003e1-\u003e3","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003etokenpanel-\u003e1-\u003e7-\u003e1-\u003e4-\u003e1-\u003e3"],"en":"Use Security Key","fr":"Utiliser clé de sécurité"},{"xloc":["default.handlebars-\u003e17-\u003e198"],"en":"Add Agent","cs":"Přidat agenta","fr":"Ajouter un agent"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e201"],"en":"Device Toast"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eServerSubMenuSpan-\u003eServerSubMenu-\u003e1-\u003e0-\u003eServerTrace"],"en":"Trace","fr":"Trace"},{"xloc":["default.handlebars-\u003e17-\u003e896"],"en":"Change your account password by entering the old password and new password twice in the boxes below.","cs":"Změnit heslo zadáním starého a dvakrát nového hesla níže."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e87","default.handlebars-\u003e17-\u003e1117"],"en":"move"},{"xloc":["default.handlebars-\u003e17-\u003e313"],"en":"Device is powered on."},{"xloc":["default.handlebars-\u003e17-\u003e211"],"en":"Add Intel® AMT device"},{"xloc":["default.handlebars-\u003e17-\u003e827"],"en":"Slovak","fr":"Slovaque"},{"xloc":[],"en":"Sort by process id","fr":"Trier par identifiant de processus"},{"xloc":["default.handlebars-\u003e17-\u003e180"],"en":"{0} users"},{"xloc":["default.handlebars-\u003e17-\u003e954"],"en":"Always Notify","fr":"Toujours aviser"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003ep13sortdropdown-\u003e11","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003ep5myfiles-\u003ep5toolbar-\u003e1-\u003e2-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep5sortdropdown-\u003e11","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5toolbar-\u003e1-\u003e2-\u003ep5filesubhead-\u003e1-\u003ep5sortdropdown-\u003e11","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep13sortdropdown-\u003e11"],"en":"Descend by date"},{"xloc":["default.handlebars-\u003e17-\u003e634","default-mobile.handlebars-\u003e9-\u003e259"],"en":"Holding {0} entries for copy"},{"xloc":["default.handlebars-\u003e17-\u003e1253"],"en":"CPU load in the last 5 minutes"},{"xloc":["player.htm-\u003e3-\u003e13"],"en":"Intel® AMT WSMAN"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep6-\u003ep2ServerActions-\u003e3-\u003ep2ServerActionsRestore-\u003e0"],"en":"Restore server with backup","fr":"Restaurer le serveur avec sauvegarde"},{"xloc":["default.handlebars-\u003e17-\u003e664"],"en":"Hard disconnect agent"},{"xloc":["default.handlebars-\u003e17-\u003e682"],"en":"Arabic (Standard)"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDev","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMeshSubMenuSpan-\u003eMeshSubMenu-\u003e1-\u003e0-\u003eMeshGeneral","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eServerSubMenuSpan-\u003eServerSubMenu-\u003e1-\u003e0-\u003eServerGeneral","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eUserSubMenuSpan-\u003eUserSubMenu-\u003e1-\u003e0-\u003eUserGeneral"],"en":"General","cs":"Obecné"},{"xloc":[],"en":"Connect to your home or office devices from anywhere in the world using","cs":"Přihlašte se na různá svá nebo firemní zařízení odkudkoliv z celého světa"},{"xloc":["default.handlebars-\u003e17-\u003e912","default-mobile.handlebars-\u003e9-\u003e54","default.handlebars-\u003e17-\u003e590","default.handlebars-\u003e17-\u003e992","default.handlebars-\u003e17-\u003e995","default-mobile.handlebars-\u003e9-\u003e277","default.handlebars-\u003e17-\u003e941"],"en":"Type","cs":"Typ"},{"xloc":["default.handlebars-\u003e17-\u003e246"],"en":"Name (optional)","cs":"Jméno (volitelné)","fr":"Nom: (optionnel)"},{"xloc":["default.handlebars-\u003e17-\u003e539"],"en":"Select a new group for this device","cs":"Vyber novou skupinu pro toto zařízení"},{"xloc":["default.handlebars-\u003e17-\u003e70"],"en":"Gateway MAC","cs":"MAC brány"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e3"],"en":"Tab"},{"xloc":["default.handlebars-\u003e17-\u003e1147"],"en":"User + Files","cs":"Uživatel + Soubory"},{"xloc":["default.handlebars-\u003e17-\u003e935","default-mobile.handlebars-\u003e9-\u003e271"],"en":"Unknown #{0}","fr":" #{0} Inconnue"},{"xloc":[],"en":"{{{servernoproxy}}}"},{"xloc":["default.handlebars-\u003e17-\u003e816"],"en":"Romanian","fr":"Roumain"},{"xloc":["default.handlebars-\u003e17-\u003e321"],"en":"Device is in hibernating state (S4)."},{"xloc":["default.handlebars-\u003e17-\u003e1197"],"en":"No server rights"},{"xloc":["default.handlebars-\u003e17-\u003e603"],"en":"Extended ASCII"},{"xloc":["default.handlebars-\u003e17-\u003e155","default.handlebars-\u003e17-\u003e341","default-mobile.handlebars-\u003e9-\u003e121"],"en":"Relay"},{"xloc":["default.handlebars-\u003e17-\u003e1151"],"en":"Notify {0}"},{"xloc":["default.handlebars-\u003e17-\u003e227"],"en":"Setup CIRA"},{"xloc":["default.handlebars-\u003e17-\u003e533"],"en":"Are you sure you want to uninstall the selected {0} agents?"},{"xloc":["default-mobile.handlebars-\u003etopMenu-\u003e3","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainMenuSpan-\u003e1-\u003e0-\u003eMainMenuMyAccount","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003e1"],"en":"My Account","cs":"Můj účet","fr":"Mon Compte"},{"xloc":["default.handlebars-\u003e17-\u003e64"],"en":"IPv4 address"},{"xloc":["default.handlebars-\u003e17-\u003e442"],"en":"Intel AMT is setup with TLS network security"},{"xloc":["default.handlebars-\u003e17-\u003e332","default-mobile.handlebars-\u003e9-\u003e116"],"en":"Device is in soft-off state (S5)"},{"xloc":["default.handlebars-\u003e17-\u003e81","default.handlebars-\u003e17-\u003e79"],"en":"MeshCentral Server Errors"},{"xloc":["default.handlebars-\u003e17-\u003e554"],"en":"Windows (64bit)"},{"xloc":[],"en":"{{{domainurl}}}"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e5-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e5-\u003e1"],"en":"Account Creation"},{"xloc":["default.handlebars-\u003e17-\u003e127"],"en":"Sample IP range values\u003cbr /\u003e192.168.0.100\u003cbr /\u003e192.168.1.0/24\u003cbr /\u003e192.167.0.1-192.168.0.100"},{"xloc":[],"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/)\""},{"xloc":["default.handlebars-\u003e17-\u003e1052","default.handlebars-\u003e17-\u003e1066","default-mobile.handlebars-\u003e9-\u003e302","default-mobile.handlebars-\u003e9-\u003e315"],"en":"Wake Devices"},{"xloc":["default.handlebars-\u003e17-\u003e744"],"en":"Fijian"},{"xloc":["player.htm-\u003e3-\u003e8"],"en":"{0} to {1}"},{"xloc":["default.handlebars-\u003e17-\u003e1163","default.handlebars-\u003e17-\u003e1168"],"en":"userlist.csv"},{"xloc":["default.handlebars-\u003e17-\u003e509"],"en":"Device group notes can be viewed and changed by other device group administrators."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003edevListToolbar","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep4-\u003e3-\u003e1-\u003e0-\u003e3-\u003e3"],"en":"Filter","cs":"Filtr"},{"xloc":[],"en":"Session time","fr":"Temps de session"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e3"],"en":"AutoConnect"},{"xloc":["default.handlebars-\u003e17-\u003e46"],"en":"Architecture","cs":"Architektura","fr":"Architecture"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e5-\u003ed7otherset-\u003e1","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e5-\u003e1-\u003e1"],"en":"Show Focus Tool"},{"xloc":[],"en":"meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://"},{"xloc":["default.handlebars-\u003e17-\u003e391","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSort-\u003esortselect-\u003e1","default-mobile.handlebars-\u003e9-\u003e131"],"en":"Group","cs":"Skupina","fr":"Groupe"},{"xloc":["default.handlebars-\u003e17-\u003e853"],"en":"Swedish"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpanel-\u003e1-\u003e7-\u003e1-\u003e0-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpanel-\u003e1-\u003e7-\u003e1-\u003e0-\u003e1","login.handlebars-\u003e5-\u003e17","login-mobile.handlebars-\u003e5-\u003e17","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e9-\u003e1-\u003e2-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e9-\u003e1-\u003e2-\u003enuEmail"],"en":"Email:"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep41-\u003e3-\u003e1-\u003ep41limitdropdown-\u003e1"],"en":"Last 100","cs":"Posledních 100","fr":"100 dernières"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep3-\u003e3-\u003e1-\u003e0-\u003e3-\u003ep3limitdropdown-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003e3-\u003e1-\u003e0-\u003e5-\u003ep16limitdropdown-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e5-\u003e1-\u003e0-\u003e5-\u003ep31limitdropdown-\u003e3"],"en":"Last 120","cs":"Posledních 120","fr":"120 dernières"},{"xloc":["default.handlebars-\u003e17-\u003e691"],"en":"Arabic (Morocco)"},{"xloc":["default.handlebars-\u003e17-\u003e821"],"en":"Sango"},{"xloc":["default.handlebars-\u003e17-\u003e787"],"en":"Latin","fr":"Latin"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ewelcomeText-\u003e1"],"en":"MeshCentral","cs":"MeshCentral"},{"xloc":["default.handlebars-\u003e17-\u003e433","default-mobile.handlebars-\u003e9-\u003e173"],"en":"Not Activated (In)"},{"xloc":["default.handlebars-\u003e17-\u003e120"],"en":"Intel AMT CIRA connected"},{"xloc":["default.handlebars-\u003e17-\u003e778"],"en":"Kannada"},{"xloc":["default.handlebars-\u003e17-\u003e752"],"en":"French (Switzerland)"},{"xloc":["default.handlebars-\u003e17-\u003e566"],"en":"Tag1, Tag2, Tag3"},{"xloc":["default.handlebars-\u003e17-\u003e718"],"en":"Chinese (Taiwan)"},{"xloc":["default.handlebars-\u003e17-\u003e897"],"en":" Password hint can be used but is not recommanded.","cs":" Nápověda hesla může být použita, ale není doporučováno.","fr":"Un indice de mot de passe peut être utilisé mais n\u0027est pas recommandé."},{"xloc":[],"en":"Change the agent Java Script code module"},{"xloc":[],"en":"meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\\r\\n"},{"xloc":["default.handlebars-\u003e17-\u003e191"],"en":"Add a new Intel® AMT computer by scanning the local network."},{"xloc":["default.handlebars-\u003econtainer-\u003efooter-\u003e3-\u003everifyEmailId2"],"en":"Verify Email","cs":"Ověřit Email","fr":"Vérifier le Courriel"},{"xloc":["default.handlebars-\u003e17-\u003e105"],"en":"No Keys Configured","cs":"Žádný klíč není zkonfigurován"},{"xloc":["default.handlebars-\u003e17-\u003e18"],"en":"Please add two-factor backup codes. If the current factor is lost, there is not way to recover this account.","fr":"Veuillez ajouter un autre facteur. Si le facteur actuel est perdu, il n\u0027y a pas moyen de récupérer ce compte."},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003enewAccountDiv-\u003e1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003enewAccountDiv-\u003e1"],"en":"Create one","cs":"Vytvořit"},{"xloc":["default.handlebars-\u003e17-\u003e449"],"en":"Intel® Active Management Technology"},{"xloc":[],"en":"meshagents?script=1 -O ./meshinstall.sh || wget http://"},{"xloc":["default.handlebars-\u003e17-\u003e589"],"en":"SharedProcess"},{"xloc":["default.handlebars-\u003e17-\u003e632","default-mobile.handlebars-\u003e9-\u003e257"],"en":"Confirm move of 1 entrie to this location?"},{"xloc":[],"en":"meshagents?script=1 --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://"},{"xloc":["default.handlebars-\u003e17-\u003e134","default.handlebars-\u003e17-\u003e274","default.handlebars-\u003e17-\u003e260"],"en":"1 month","cs":"1 měsíc","fr":"1 mois"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e3"],"en":"You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files.\n Only follow the instructions below if this invitation was expected and you know who will be accessing your computer.\n Selecting your operation system and follow the instructions below.","cs":"Byla vám doručena pozvánka k instalaci softwaru, který umožňuje vzdálenou správu zařízení.\n 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.\n Vyberte si operační systém a postupujte dle pokynů níže."},{"xloc":["default.handlebars-\u003e17-\u003e427","default-mobile.handlebars-\u003e9-\u003e167"],"en":"ARMv6l / ARMv7l / NoKVM"},{"xloc":["default.handlebars-\u003e17-\u003e1288","default.handlebars-\u003e17-\u003e139"],"en":"Plugin Action"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003ep5myfiles-\u003ep5toolbar-\u003e1-\u003e2-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep5sortdropdown-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003ep13sortdropdown-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5toolbar-\u003e1-\u003e2-\u003ep5filesubhead-\u003e1-\u003ep5sortdropdown-\u003e3","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep13sortdropdown-\u003e3"],"en":"Sort by size","cs":"Třídit podle velikosti","fr":"Trier par taille"},{"xloc":["default.handlebars-\u003e17-\u003e1243"],"en":"Delete User {0}","cs":"Smazat uživatele {0}"},{"xloc":["default.handlebars-\u003e17-\u003e100"],"en":"Clear Tokens"},{"xloc":["default.handlebars-\u003e17-\u003e1165","default.handlebars-\u003e17-\u003e1169"],"en":"userlist.json"},{"xloc":["default.handlebars-\u003e17-\u003e709"],"en":"Breton"},{"xloc":["default.handlebars-\u003e17-\u003e521"],"en":"Day","cs":"Den"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarView-\u003eviewselect-\u003e1"],"en":"Columns","cs":"Buňky"},{"xloc":["default.handlebars-\u003e17-\u003e1176"],"en":"Randomize the password."},{"xloc":["default.handlebars-\u003e17-\u003e608","default.handlebars-\u003e17-\u003e599"],"en":"CR+LF"},{"xloc":["default.handlebars-\u003e17-\u003e61"],"en":"Copy name to clipboard","cs":"Zkopírovat jméno do schránky"},{"xloc":["default.handlebars-\u003e17-\u003e892"],"en":"To delete this account, type in the account password in both boxes below and hit ok."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e194","default-mobile.handlebars-\u003e9-\u003e195","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSort-\u003esortselect-\u003e7","default.handlebars-\u003e17-\u003e565","default-mobile.handlebars-\u003e9-\u003e222"],"en":"Tags","cs":"Tagy"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSize"],"en":"Size","cs":"Velikost","fr":"Taille"},{"xloc":["default.handlebars-\u003e17-\u003e713"],"en":"Chechen"},{"xloc":["default.handlebars-\u003e17-\u003e609","default.handlebars-\u003e17-\u003e600"],"en":"LF"},{"xloc":["default.handlebars-\u003e17-\u003e1034"],"en":"Edit Device Group User Consent"},{"xloc":[],"en":"Disconnect All"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e11","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e9"],"en":"Win+L"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e17","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e15"],"en":"Win+R"},{"xloc":["default.handlebars-\u003e17-\u003e457"],"en":"Out of date","fr":"Périmé"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003ewintab64-\u003e3-\u003ewin64url","agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003ewintab32-\u003e3-\u003ewin32url"],"en":"Download the software here"},{"xloc":["default.handlebars-\u003e17-\u003e1205","default.handlebars-\u003e17-\u003e1078"],"en":"User Identifier"},{"xloc":["default.handlebars-\u003e17-\u003e1286","default.handlebars-\u003e17-\u003e679"],"en":"Checking...","cs":"Kontrola..."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e191","default.handlebars-\u003e17-\u003e470","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep15-\u003econsoleTable-\u003e1-\u003e6-\u003e1-\u003e1-\u003e1-\u003e0-\u003ep15outputselecttd-\u003ep15outputselect-\u003e3","default.handlebars-\u003e17-\u003e157","default.handlebars-\u003e17-\u003e654","default.handlebars-\u003e17-\u003e655","default.handlebars-\u003e17-\u003e343","default-mobile.handlebars-\u003e9-\u003e122"],"en":"MQTT"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e307"],"en":"Add User to Mesh","fr":"Ajouter un utilisateur au groupe"},{"xloc":["default.handlebars-\u003e17-\u003e252"],"en":"Windows only"},{"xloc":["default.handlebars-\u003e17-\u003e310"],"en":"Add Mesh Agent","cs":"Přidat agenta"},{"xloc":[],"en":"https://github.com/ryrych/rcarousel/blob/master/widget/license"},{"xloc":[],"en":"fulldesk"},{"xloc":["default.handlebars-\u003e17-\u003e514","default-mobile.handlebars-\u003e9-\u003e99","default.handlebars-\u003e17-\u003e2","default.handlebars-\u003e17-\u003e3","default-mobile.handlebars-\u003e9-\u003e100","default-mobile.handlebars-\u003e9-\u003e204","default.handlebars-\u003e17-\u003e4","default-mobile.handlebars-\u003e9-\u003e98"],"en":"Sleep","cs":"Spánek","fr":"Endormir"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e1"],"en":"Toggle View Mode"},{"xloc":["default.handlebars-\u003e17-\u003e548"],"en":"Device Location"},{"xloc":["default.handlebars-\u003e17-\u003e1016"],"en":"This is not a secure policy as agents will be performing activation."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e1-\u003ep40time-\u003e3"],"en":"Last 8 hours","cs":"Posledních 8 hodin","fr":"8 dernières heures"},{"xloc":["default.handlebars-\u003e17-\u003e1177","default.handlebars-\u003e17-\u003e1240"],"en":"Force password reset on next login."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e14"],"en":"Install \u003ca href=\\\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\\\" rel=\\\"noreferrer noopener\\\" target=_blank\u003eGoogle Authenticator\u003c/a\u003e or a compatible application, use \u003ca href=\\\"\u0027 + message.url + \u0027\\\" rel=\\\"noreferrer noopener\\\" target=_blank\u003e this link\u003c/a\u003e or enter the secret below. Then, enter the current 6 digit token to activate 2-Step login."},{"xloc":[],"en":" active","fr":"actif"},{"xloc":["default.handlebars-\u003e17-\u003e25"],"en":"{0} second{1} until disconnect","cs":"{0} sekund{1} do odpojení"},{"xloc":["default.handlebars-\u003e17-\u003e315"],"en":"Device is in sleep state (S1)."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e305","default.handlebars-\u003e17-\u003e1055","default.handlebars-\u003e17-\u003e1074","default-mobile.handlebars-\u003e9-\u003e323"],"en":"Chat & Notify"},{"xloc":["default.handlebars-\u003e17-\u003e854"],"en":"Swedish (Finland)"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep3-\u003e3-\u003e1-\u003e0-\u003e3-\u003ep3limitdropdown-\u003e7","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep41-\u003e3-\u003e1-\u003ep41limitdropdown-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003e3-\u003e1-\u003e0-\u003e5-\u003ep16limitdropdown-\u003e7","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e5-\u003e1-\u003e0-\u003e5-\u003ep31limitdropdown-\u003e7"],"en":"Last 500","cs":"Posledních 500","fr":"500 dernières"},{"xloc":[],"en":"Activate microphone","fr":"Activer le microphone"},{"xloc":["default.handlebars-\u003e17-\u003e1073","default-mobile.handlebars-\u003e9-\u003e322"],"en":"Self Events Only"},{"xloc":["default.handlebars-\u003e17-\u003e1067","default-mobile.handlebars-\u003e9-\u003e316"],"en":"Edit Notes","fr":"Modifier les notes"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e56"],"en":"Intel® AMT only"},{"xloc":["default.handlebars-\u003e17-\u003e650"],"en":"Agent is online","cs":"Agent je online"},{"xloc":["default.handlebars-\u003e17-\u003e11","default-mobile.handlebars-\u003e9-\u003e4"],"en":"Connected"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSort-\u003esortselect-\u003e3"],"en":"Power","cs":"Napájení"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003etokenpanel-\u003e1-\u003e10","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresettokenpanel-\u003e1-\u003e8","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpasswordpanel-\u003e1-\u003e10","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpanel-\u003e1-\u003e10","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003etokenpanel-\u003e1-\u003e10","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e12","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e12","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpanel-\u003e1-\u003e10","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpasswordpanel-\u003e1-\u003e10","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresettokenpanel-\u003e1-\u003e8"],"en":"Back to login"},{"xloc":["default.handlebars-\u003e17-\u003e78"],"en":"Check and click OK to start server self-update."},{"xloc":["default.handlebars-\u003e17-\u003e7","default.handlebars-\u003e17-\u003e326","default-mobile.handlebars-\u003e9-\u003e103","default-mobile.handlebars-\u003e9-\u003e110"],"en":"Present","fr":"Présent"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e19","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e17"],"en":"Alt-F4"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003ep16title-\u003e3"],"en":"Events -","fr":"Événements -"},{"xloc":["default.handlebars-\u003e17-\u003e1269"],"en":"Message Dispatcher"},{"xloc":["default.handlebars-\u003e17-\u003e118","default.handlebars-\u003e17-\u003e498","default.handlebars-\u003e17-\u003e497"],"en":"Agent connected","cs":"Agent připojen"},{"xloc":[],"en":"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."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e297","default.handlebars-\u003e17-\u003e1047"],"en":"No Terminal Access"},{"xloc":["default.handlebars-\u003e17-\u003e13"],"en":"Welcome {0}.","fr":"Bienvenue {0}."},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e9-\u003e1-\u003enewAccountPass-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e9-\u003e1-\u003enewAccountPass-\u003enuToken"],"en":"Creation Token:"},{"xloc":["default.handlebars-\u003e17-\u003e26"],"en":"{0} minute{1} until disconnect"},{"xloc":["default.handlebars-\u003e17-\u003e1204"],"en":"Email not verified","cs":"Email není ověřen"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e190"],"en":"Agent Relay"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountActions-\u003e3-\u003e8","default.handlebars-\u003e17-\u003e886","default.handlebars-\u003e17-\u003e1084"],"en":"Notification Settings"},{"xloc":["default.handlebars-\u003e17-\u003e1115","default-mobile.handlebars-\u003e9-\u003e85"],"en":"Holding {0} entrie{1} for {2}"},{"xloc":[],"en":"Search for location","fr":"Recherche de lieu"},{"xloc":["player.htm-\u003e3-\u003e1"],"en":"Time","fr":"Temps"},{"xloc":[],"en":"Smazat {0}?"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e304","default.handlebars-\u003e17-\u003e1054"],"en":"Show Only Own Events"},{"xloc":["default.handlebars-\u003e17-\u003e76","default.handlebars-\u003e17-\u003e930","default.handlebars-\u003e17-\u003e77"],"en":"MeshCentral Version"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e21","login.handlebars-\u003e5-\u003e25","login-mobile.handlebars-\u003e5-\u003e25","login.handlebars-\u003e5-\u003e21"],"en":"Good Password","cs":"Dobré heslo","fr":"Bon mot de passe"},{"xloc":["default.handlebars-\u003e17-\u003e1255","default.handlebars-\u003e17-\u003e39","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e1-\u003ep40type-\u003e3"],"en":"Memory","cs":"Paměť","fr":"Mémoire"},{"xloc":[],"en":"Toggle what the return key will send"},{"xloc":["default.handlebars-\u003e17-\u003e403","default-mobile.handlebars-\u003e9-\u003e143"],"en":"Windows 32bit service"},{"xloc":["default.handlebars-\u003e17-\u003e540"],"en":"Select a new group for selected devices"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e6-\u003e1-\u003e1"],"en":"Send the selected special key"},{"xloc":["default.handlebars-\u003e17-\u003e123"],"en":"Intel AMT not detected"},{"xloc":["default.handlebars-\u003e17-\u003e1094"],"en":"{0} b"},{"xloc":["default.handlebars-\u003e17-\u003e477"],"en":"Log Event","cs":"Log udalostí"},{"xloc":["default.handlebars-\u003e17-\u003e561","default-mobile.handlebars-\u003e9-\u003e218"],"en":"Icon Selection"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003e1-\u003etmacostab"],"en":"MacOS"},{"xloc":["default.handlebars-\u003e17-\u003e985","default-mobile.handlebars-\u003e9-\u003e60","default.handlebars-\u003e17-\u003e923","default-mobile.handlebars-\u003e9-\u003e280"],"en":"Partial Rights"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e5-\u003ed7otherset-\u003e3","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e5-\u003e1-\u003e4"],"en":"Show Local Mouse Cursor"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e216"],"en":"Delete {0}?"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003e1"],"en":"Frame rate","cs":"Obnovování"},{"xloc":["player.htm-\u003ep11-\u003edialog-\u003eidx_dlgButtonBar","default.handlebars-\u003econtainer-\u003edialog-\u003eidx_dlgButtonBar","default-mobile.handlebars-\u003e9-\u003e39","login-mobile.handlebars-\u003edialog-\u003eidx_dlgButtonBar","default-mobile.handlebars-\u003edialog-\u003eidx_dlgButtonBar","default.handlebars-\u003e17-\u003e458","login.handlebars-\u003edialog-\u003eidx_dlgButtonBar","default.handlebars-\u003e17-\u003e928"],"en":"OK"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eServerSubMenuSpan-\u003eServerSubMenu-\u003e1-\u003e0-\u003eServerPlugins","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDevPlugins"],"en":"Plugins","cs":"Pluginy"},{"xloc":["default.handlebars-\u003e17-\u003e1118","default-mobile.handlebars-\u003e9-\u003e266","default-mobile.handlebars-\u003e9-\u003e264","default-mobile.handlebars-\u003e9-\u003e262","default-mobile.handlebars-\u003e9-\u003e260","default.handlebars-\u003e17-\u003e635","default.handlebars-\u003e17-\u003e637","default.handlebars-\u003e17-\u003e639","default-mobile.handlebars-\u003e9-\u003e25","messenger.handlebars-\u003exbottom","default.handlebars-\u003e17-\u003e641","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep15-\u003econsoleTable-\u003e1-\u003e6-\u003e1-\u003e1-\u003e1-\u003e0-\u003e7","default-mobile.handlebars-\u003e9-\u003e88"],"en":"Clear"},{"xloc":["default.handlebars-\u003e17-\u003e581","default.handlebars-\u003e17-\u003e44","default.handlebars-\u003e17-\u003e1021","default.handlebars-\u003e17-\u003e911","default.handlebars-\u003e17-\u003e1132","default.handlebars-\u003e17-\u003e1172","default.handlebars-\u003e17-\u003e938","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10desktop-\u003edeskarea3-\u003edeskarea3x-\u003eDeskTools-\u003e5-\u003e1-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsArea-\u003eDeskToolsServiceTab-\u003edeskToolsServiceHeader-\u003e3","default.handlebars-\u003e17-\u003e35","default-mobile.handlebars-\u003e9-\u003e274","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsArea-\u003eDeskToolsProcessTab-\u003edeskToolsHeader-\u003e3","default.handlebars-\u003e17-\u003e58","default-mobile.handlebars-\u003e9-\u003e132","default-mobile.handlebars-\u003e9-\u003e53","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003ep42tbl-\u003e1-\u003e0-\u003e2","default-mobile.handlebars-\u003e9-\u003e287"],"en":"Name","cs":"Jméno","fr":"Nom"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e295","default.handlebars-\u003e17-\u003e1045","default.handlebars-\u003e17-\u003e1068","default-mobile.handlebars-\u003e9-\u003e317"],"en":"Remote View Only"},{"xloc":["default.handlebars-\u003e17-\u003e317"],"en":"Device is in sleep state (S2)."},{"xloc":["default.handlebars-\u003e17-\u003e981"],"en":"Install","cs":"Instalace","fr":"Installer"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e5-\u003ed7otherset-\u003e5"],"en":"Local Keyboard Map"},{"xloc":[],"en":"Information about current core running on this agent"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003etopbar-\u003euiMenuButton","login.handlebars-\u003econtainer-\u003etopbar-\u003euiMenuButton","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003euiMenuButton","error404.handlebars-\u003econtainer-\u003etopbar-\u003euiMenuButton"],"en":"♦"},{"xloc":["default.handlebars-\u003e17-\u003e286","default.handlebars-\u003e17-\u003e264"],"en":"Background only"},{"xloc":[],"en":"Search Location","fr":"Recherche de lieu"},{"xloc":["default.handlebars-\u003e17-\u003e1254"],"en":"CPU load in the last 15 minutes"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003ed7desktopmode-\u003e3","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003ed7desktopmode-\u003e3"],"en":"RLE16, Recommended","fr":"RLE16, recommandé"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog3-\u003edeskkeys-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e1"],"en":"Ctrl+Alt+Del"},{"xloc":[],"en":"and its source can be downloaded from"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003ep5myfiles-\u003ep5toolbar-\u003e1-\u003e2-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep5sortdropdown-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003ep13sortdropdown-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5toolbar-\u003e1-\u003e2-\u003ep5filesubhead-\u003e1-\u003ep5sortdropdown-\u003e5","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep13sortdropdown-\u003e5"],"en":"Sort by date","fr":"Trier par date"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003ed7desktopmode-\u003e7","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003ed7desktopmode-\u003e7"],"en":"RAW16, Very Slow"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e5-\u003e1"],"en":"Other Settings"},{"xloc":["default.handlebars-\u003e17-\u003e698"],"en":"Arabic (Yemen)"},{"xloc":[],"en":"Edit"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e12","default.handlebars-\u003e17-\u003e23"],"en":" - Reset in {0} hour{1}.","fr":"- Réinitialisation dans {0} heure {1}."},{"xloc":[],"en":"{{{meshid}}}"},{"xloc":["default.handlebars-\u003e17-\u003e819"],"en":"Russian (Moldavia)","fr":"Russe (Moldavie)"},{"xloc":["default.handlebars-\u003e17-\u003e712"],"en":"Chamorro"},{"xloc":["default.handlebars-\u003e17-\u003e1145","default.handlebars-\u003e17-\u003e1195"],"en":"Server Permissions"},{"xloc":["default.handlebars-\u003e17-\u003e840"],"en":"Spanish (Guatemala)"},{"xloc":["default.handlebars-\u003e17-\u003e492"],"en":"Putty"},{"xloc":["default.handlebars-\u003e17-\u003e814"],"en":"Quechua"},{"xloc":["default.handlebars-\u003e17-\u003e20","default-mobile.handlebars-\u003e9-\u003e9","default.handlebars-\u003e17-\u003e21","default-mobile.handlebars-\u003e9-\u003e10"],"en":" - Reset on next login.","fr":"- Réinitialiser à la prochaine connexion."},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog3-\u003ed3upload-\u003ed3uploadMode-\u003e1"],"en":"Local file upload"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep13sortdropdown-\u003e9","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5toolbar-\u003e1-\u003e2-\u003ep5filesubhead-\u003e1-\u003ep5sortdropdown-\u003e9","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003ep5myfiles-\u003ep5toolbar-\u003e1-\u003e2-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep5sortdropdown-\u003e9","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003ep13sortdropdown-\u003e9"],"en":"Descend by size"},{"xloc":["default.handlebars-\u003e17-\u003e749"],"en":"French (France)"},{"xloc":["default.handlebars-\u003e17-\u003e1281"],"en":"CIRA Server"},{"xloc":["messenger.handlebars-\u003elocalVideo-\u003e1"],"en":"Local","cs":"Lokální"},{"xloc":["default.handlebars-\u003e17-\u003e580"],"en":"Remote Clipboard"},{"xloc":["default.handlebars-\u003e17-\u003e651"],"en":"Agent is offline"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003e1-\u003etlinuxtab","agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003elinuxtab-\u003e1"],"en":"Linux"},{"xloc":[],"en":"Cut","cs":"Vyjmout"},{"xloc":["default.handlebars-\u003e17-\u003e1260"],"en":"Users","fr":"Utilisateurs"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e9-\u003e1-\u003ecreatePanelHint-\u003enuHint","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpasswordpanel-\u003e1-\u003e7-\u003e1-\u003eresetpasswordpanelHint-\u003ernuHint","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpasswordpanel-\u003e1-\u003e7-\u003e1-\u003eresetpasswordpanelHint-\u003ernuHint"],"en":"Password Hint:"},{"xloc":[],"en":"1.AJAX Control Toolkit - New BSD License"},{"xloc":["default.handlebars-\u003e17-\u003e771"],"en":"Icelandic","fr":"Islandais"},{"xloc":["default.handlebars-\u003e17-\u003e382"],"en":"No location found."},{"xloc":["default.handlebars-\u003e17-\u003e777"],"en":"Japanese","fr":"Japonais"},{"xloc":[],"en":"Open a web address on the remote computer"},{"xloc":["default.handlebars-\u003e17-\u003e75"],"en":"Latest Version","fr":"Dernière version"},{"xloc":["default.handlebars-\u003e17-\u003e933","default.handlebars-\u003e17-\u003e931","default.handlebars-\u003e17-\u003e550","default.handlebars-\u003e17-\u003e667","default-mobile.handlebars-\u003e9-\u003e28"],"en":"Loading...","fr":"Chargement..."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountSecurity-\u003e3-\u003emanageOtp-\u003e1-\u003e0","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3AccountActions-\u003e3-\u003emanageOtp-\u003e0"],"en":"Manage backup codes"},{"xloc":["messenger.handlebars-\u003e13-\u003e8"],"en":"Error: No connection key specified."},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003ePlaySpeed-\u003e7"],"en":"2x Speed","cs":"2x rychlost","fr":"2x vitesse"},{"xloc":["default.handlebars-\u003e17-\u003e45","default.handlebars-\u003e17-\u003e32","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003ep42tbl-\u003e1-\u003e0-\u003e5","default.handlebars-\u003e17-\u003e37"],"en":"Version"},{"xloc":["default.handlebars-\u003e17-\u003e460"],"en":"Active User{0}"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e196","default.handlebars-\u003e17-\u003e482"],"en":"Delete Device","cs":"Smazat zařízení"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpanel-\u003e1-\u003e7-\u003e1-\u003e2-\u003e1-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpanel-\u003e1-\u003e7-\u003e1-\u003e2-\u003e1-\u003e1"],"en":"Reset Account","cs":"Reset účtu","fr":"Réinitialiser le Compte"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e236","default-mobile.handlebars-\u003e9-\u003e237","default-mobile.handlebars-\u003e9-\u003e238"],"en":"\\\\"},{"xloc":["default.handlebars-\u003e17-\u003e480","default.handlebars-\u003e17-\u003e543","default.handlebars-\u003e17-\u003e542"],"en":"Change Group","cs":"Změnit skupinu"},{"xloc":["default.handlebars-\u003e17-\u003e443","default-mobile.handlebars-\u003e9-\u003e180"],"en":"TLS","fr":"TLS"},{"xloc":[],"en":"DeviceName"},{"xloc":["default.handlebars-\u003e17-\u003e596"],"en":"DeskControl"},{"xloc":["default.handlebars-\u003e17-\u003e791"],"en":"FYRO Macedonian"},{"xloc":["default.handlebars-\u003e17-\u003e490"],"en":"RDP"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3createMeshLink1-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2createMeshLink1-\u003e1"],"en":"New","fr":"Nouveau"},{"xloc":["default.handlebars-\u003e17-\u003e388"],"en":"Click here to edit the server-side device name"},{"xloc":["error404-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e0","error404.handlebars-\u003econtainer-\u003ecolumn_l-\u003e1-\u003e0"],"en":"404"},{"xloc":["default.handlebars-\u003e17-\u003e10","default-mobile.handlebars-\u003e9-\u003e3","default.handlebars-\u003e17-\u003e185","default.handlebars-\u003e17-\u003e176","default.handlebars-\u003e17-\u003e179"],"en":"Setup...","fr":"Traitement..."},{"xloc":["default.handlebars-\u003e17-\u003e102","default-mobile.handlebars-\u003e9-\u003e26"],"en":"Manage Backup Codes"},{"xloc":[],"en":"http://jquery.com/"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003edevListToolbar-\u003e7-\u003e1"],"en":"OS Name","cs":"Jméno operačního systému","fr":"Nom du système"},{"xloc":["default.handlebars-\u003e17-\u003e687"],"en":"Arabic (Jordan)"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3AccountActions-\u003e1-\u003e0","default.handlebars-\u003e17-\u003e908","default.handlebars-\u003e17-\u003e906","default.handlebars-\u003e17-\u003e383","default.handlebars-\u003e17-\u003e385","default-mobile.handlebars-\u003e9-\u003e49","default-mobile.handlebars-\u003e9-\u003e126","default-mobile.handlebars-\u003e9-\u003e128","default-mobile.handlebars-\u003e9-\u003e51"],"en":"Account Security"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003ePlaySpeed-\u003e11"],"en":"10x Speed","fr":"10x vitesse"},{"xloc":[],"en":"Backspace","fr":"Retour arrière"},{"xloc":[],"en":"Localization"},{"xloc":["default.handlebars-\u003e17-\u003e767"],"en":"Haitian","fr":"Haïtien"},{"xloc":["default.handlebars-\u003e17-\u003e1261"],"en":"User Sessions"},{"xloc":["default.handlebars-\u003e17-\u003e415","default-mobile.handlebars-\u003e9-\u003e155"],"en":"Linux Poky x86-32bit"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog3-\u003ed3upload-\u003ed3uploadMode-\u003e3"],"en":"Server file selection"},{"xloc":["default.handlebars-\u003e17-\u003e1201"],"en":"Restrictions","cs":"Omezení","fr":"Restrictions"},{"xloc":["default.handlebars-\u003e17-\u003e511"],"en":"Device Notification"},{"xloc":["player.htm-\u003e3-\u003e9","default.handlebars-\u003e17-\u003e202","default.handlebars-\u003e17-\u003e562","default-mobile.handlebars-\u003e9-\u003e219"],"en":"Device Name"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e11","login.handlebars-\u003e5-\u003e11"],"en":"Unable to sent email."},{"xloc":[],"en":"menu_stack"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e68"],"en":"{0}k left","cs":"{0}k zbývá"},{"xloc":["default.handlebars-\u003e17-\u003e806"],"en":"Oromo"},{"xloc":["default.handlebars-\u003e17-\u003e1276","default.handlebars-\u003e17-\u003e1275"],"en":"Web Server","fr":"Serveur Web"},{"xloc":["default.handlebars-\u003e17-\u003e505","default.handlebars-\u003e17-\u003e47"],"en":"Last seen:","cs":"Naposledy spatřen:","fr":"Dernière connexion:"},{"xloc":["default.handlebars-\u003e17-\u003e430","default-mobile.handlebars-\u003e9-\u003e170"],"en":"FreeBSD x86-64"},{"xloc":[],"en":"Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved."},{"xloc":["default.handlebars-\u003e17-\u003e558"],"en":"Linux ARM, Raspberry Pi (32bit)"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e6-\u003e1-\u003e1-\u003eterminalSizeDropDown-\u003etermSizeList-\u003e0"],"en":"80x25"},{"xloc":["default.handlebars-\u003e17-\u003e824"],"en":"Sindhi","fr":"Sindhi"},{"xloc":["default.handlebars-\u003e17-\u003e1097"],"en":"{0} Gb"},{"xloc":["default.handlebars-\u003e17-\u003e62"],"en":"MAC address","cs":"MAC adresa","fr":"Adresse MAC"},{"xloc":["default.handlebars-\u003e17-\u003e818"],"en":"Russian","fr":"Russe"},{"xloc":[],"en":"wget http://"},{"xloc":[],"en":"4.jQuery User Interface - MIT License"},{"xloc":["default.handlebars-\u003e17-\u003e733"],"en":"English (New Zealand)"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e13","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e13"],"en":"25%"},{"xloc":[],"en":"{{{serverport}}}"},{"xloc":["default.handlebars-\u003e17-\u003e1092"],"en":"{0} gigabytes remaining","cs":"{0} gigabytů zbývá"},{"xloc":["default.handlebars-\u003e17-\u003e92"],"en":"Authenticator application removed."},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003enewAccountDiv","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003enewAccountDiv"],"en":"Don\u0027t have an account?","cs":"Nemáte účet?"},{"xloc":["default.handlebars-\u003e17-\u003e503","default.handlebars-\u003e17-\u003e121"],"en":"MQTT connected","cs":"MQTT připojeno"},{"xloc":["default.handlebars-\u003e17-\u003e692"],"en":"Arabic (Oman)"},{"xloc":["default.handlebars-\u003e17-\u003e1225","default.handlebars-\u003e17-\u003e208","default.handlebars-\u003e17-\u003e526","default-mobile.handlebars-\u003e9-\u003e211"],"en":"Security","cs":"Bezpečnost","fr":"Sécurité"},{"xloc":["default.handlebars-\u003e17-\u003e910"],"en":"Create a new device group using the options below.","cs":"Vytvořit novou skupinu zařízení podle nastavení níže."},{"xloc":["messenger.handlebars-\u003extop-\u003e3-\u003e0-\u003extitle","messenger.handlebars-\u003e13-\u003e2","messenger.handlebars-\u003e13-\u003e1"],"en":"MeshMessenger"},{"xloc":["default.handlebars-\u003e17-\u003e870"],"en":"Volapuk"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e1-\u003etimespan"],"en":"00:00:00"},{"xloc":["default.handlebars-\u003e17-\u003e673"],"en":"Type in a key name, select the OTP box and press the button on the YubiKey™."},{"xloc":["default.handlebars-\u003e17-\u003e875"],"en":"Zulu"},{"xloc":["default.handlebars-\u003e17-\u003e665"],"en":"Upload Mesh Agent Core"},{"xloc":["login.handlebars-\u003e5-\u003e34","login-mobile.handlebars-\u003e5-\u003e27","login-mobile.handlebars-\u003e5-\u003e23","login.handlebars-\u003e5-\u003e23","login.handlebars-\u003e5-\u003e27"],"en":"Password Policy"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsArea-\u003eDeskToolsServiceTab-\u003edeskToolsServiceHeader"],"en":"Sort by state","cs":"Třídit podle stavu","fr":"Trier par état"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e15","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e15"],"en":"12.5%"},{"xloc":["default.handlebars-\u003e17-\u003e1247"],"en":"Occured at {0}"},{"xloc":["default.handlebars-\u003e17-\u003e30"],"en":"BIOS"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003ePlaySpeed-\u003e5"],"en":"Normal Speed","cs":"Normalní rychlost"},{"xloc":["default.handlebars-\u003e17-\u003e754"],"en":"Friulian"},{"xloc":["default.handlebars-\u003e17-\u003e1103","default-mobile.handlebars-\u003e9-\u003e74","default-mobile.handlebars-\u003e9-\u003e332"],"en":"1 byte","cs":"1 byte","fr":"1 octet"},{"xloc":[],"en":"http://jqueryui.com/"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog3-\u003ed3upload-\u003e1"],"en":"File Selection","fr":"Sélection de fichier"},{"xloc":["default.handlebars-\u003e17-\u003e1235"],"en":"Change Email for {0}"},{"xloc":["default.handlebars-\u003e17-\u003e1221"],"en":"Admin Realms"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e1"],"en":"Remote Agent Installation","cs":"Instalace agenta pro vzdálený přístup"},{"xloc":[],"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."},{"xloc":["default.handlebars-\u003e17-\u003e204"],"en":"Same as device name","fr":"Identique au nom de l\u0027appareil"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e243","default-mobile.handlebars-\u003e9-\u003e241","default-mobile.handlebars-\u003e9-\u003e73"],"en":"All","cs":"Vše","fr":"Tout"},{"xloc":["default.handlebars-\u003e17-\u003e652"],"en":", MQTT is online"},{"xloc":["default.handlebars-\u003e17-\u003e57"],"en":"Last interfaces update","cs":"Poslední změna rozhraní","fr":"Dernière mise à jour des interfaces"},{"xloc":["default.handlebars-\u003e17-\u003e792"],"en":"Malay"},{"xloc":["default.handlebars-\u003e17-\u003e389"],"en":"Console - ","cs":"Konzole - "},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarView-\u003eviewselect-\u003eviewselectmapoption"],"en":"Map","cs":"Mapa","fr":"Carte"},{"xloc":["default.handlebars-\u003e17-\u003e48"],"en":"Success","cs":"Úspěch","fr":"Succès"},{"xloc":["default.handlebars-\u003e17-\u003e245"],"en":"Invite someone to install the mesh agent. An email with be sent with the link to the mesh agent installation for the \\\"{0}\\\" device group.","cs":"Pozvěte někoho k instalaci agenta. Emailem bude zaslán link s adresou agenta pro skupinu \\\"{0}\\\".","fr":"Invitez quelqu\u0027un à installer l\u0027agent de maillage. Un email doit être envoyé avec le lien vers l’installation de l’agent de maillage pour le groupe de périphériques \\\"{0}\\\"."},{"xloc":["default.handlebars-\u003e17-\u003e1134","default.handlebars-\u003e17-\u003e1079","default-mobile.handlebars-\u003e9-\u003e327"],"en":"Permissions","cs":"Práva","fr":"Permissions"},{"xloc":["default.handlebars-\u003e17-\u003e784"],"en":"Korean"},{"xloc":["default.handlebars-\u003e17-\u003e31","default.handlebars-\u003e17-\u003e34"],"en":"Vendor","fr":"Vendeur"},{"xloc":["default.handlebars-\u003e17-\u003e765"],"en":"Greek","fr":"Grec"},{"xloc":["default.handlebars-\u003e17-\u003e1129"],"en":"time, type, action, user, message"},{"xloc":["default.handlebars-\u003e17-\u003e1081","default-mobile.handlebars-\u003e9-\u003e329"],"en":"Device Group User"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e94","default.handlebars-\u003e17-\u003e166"],"en":"No devices in this group","cs":"Žádné zařízení v této skupině","fr":"Aucun appareil dans ce groupe"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e160","default.handlebars-\u003e17-\u003e420"],"en":"Linux NoKVM x86-64bit"},{"xloc":["default.handlebars-\u003e17-\u003e425","default-mobile.handlebars-\u003e9-\u003e165"],"en":"ARMv6l / ARMv7l"},{"xloc":["default.handlebars-\u003e17-\u003e489"],"en":"Requires Microsoft ClickOnce support in your browser","fr":"Requiert Microsoft ClickOnce dans votre navigateur"},{"xloc":["default.handlebars-\u003e17-\u003e1028","default.handlebars-\u003econtextMenu-\u003ecxterminal","default.handlebars-\u003e17-\u003e367","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainSubMenuSpan-\u003eMainSubMenu-\u003e1-\u003e0-\u003eMainDevTerminal"],"en":"Terminal","cs":"Terminál","fr":"Terminal"},{"xloc":["default.handlebars-\u003e17-\u003e1030","default.handlebars-\u003e17-\u003e1033","default.handlebars-\u003e17-\u003e1026"],"en":"Prompt for user consent"},{"xloc":["default.handlebars-\u003e17-\u003e761"],"en":"German (Germany)"},{"xloc":["default.handlebars-\u003e17-\u003e439","default-mobile.handlebars-\u003e9-\u003e178"],"en":"CCM"},{"xloc":["default.handlebars-\u003e17-\u003e736"],"en":"English (Trinidad & Tobago)"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003e1"],"en":"Welcome","cs":"Vítejte","fr":"Bienvenue"},{"xloc":["default.handlebars-\u003e17-\u003e504","default-mobile.handlebars-\u003e9-\u003e200"],"en":"MQTT channel connected"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e6-\u003e1-\u003e1-\u003eterminalSettingsButtons"],"en":"Toggle terminal emulation type","fr":"Basculer le type d\u0027émulation de terminal"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ewelcomeText"],"en":", the real time, open source remote monitoring and management web site. You will need to download and install a management agent on your computers. Once installed, computers will show up in the \"My Devices\" section of this web site and you will be able to monitor them and take control of them.","cs":". 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."},{"xloc":["login-mobile.handlebars-\u003e5-\u003e9","login.handlebars-\u003e5-\u003e9"],"en":"Account not found."},{"xloc":["default.handlebars-\u003e17-\u003e512","default-mobile.handlebars-\u003e9-\u003e202"],"en":"Select an operation to perform on this device.","cs":"Vyber operaci na tomto zařízení."},{"xloc":["messenger.handlebars-\u003eremoteVideo-\u003e1"],"en":"Remote","cs":"Vzdálený"},{"xloc":["default.handlebars-\u003e17-\u003e613","default.handlebars-\u003e17-\u003e601","default.handlebars-\u003e17-\u003e570","default-mobile.handlebars-\u003e9-\u003e225","default-mobile.handlebars-\u003e9-\u003e235"],"en":", WebRTC"},{"xloc":["default.handlebars-\u003e17-\u003e104"],"en":"Remove","cs":"Odstranit","fr":"Retirer"},{"xloc":[],"en":"Copyright 2013 jQuery Foundation and other contributors,"},{"xloc":["default.handlebars-\u003e17-\u003e884"],"en":"Device disconnections."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e50","default-mobile.handlebars-\u003e9-\u003e127"],"en":"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."},{"xloc":["default.handlebars-\u003e17-\u003e602"],"en":"UTF8 Terminal","fr":"Terminal UTF8"},{"xloc":["default.handlebars-\u003e17-\u003e215"],"en":"Intel AMT will need to be set with a Trusted FQDN in MEBx or have a wired LAN on the network:"},{"xloc":["default.handlebars-\u003e17-\u003e686"],"en":"Arabic (Iraq)"},{"xloc":["default.handlebars-\u003e17-\u003e738"],"en":"English (United States)","fr":"Anglais (États Unis)"},{"xloc":["default.handlebars-\u003e17-\u003e352"],"en":"Sleep devices"},{"xloc":["default.handlebars-\u003e17-\u003e1238"],"en":"Password hint"},{"xloc":["default.handlebars-\u003e17-\u003e947"],"en":"Desktop Toolbar"},{"xloc":["default.handlebars-\u003e17-\u003e890"],"en":"Change your account email address here."},{"xloc":["default.handlebars-\u003e17-\u003e1226"],"en":"2nd factor authentication enabled","fr":"Authentification 2e facteur activée"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e1-\u003ep40time-\u003e9"],"en":"Last 30 days","fr":"30 derniers jours"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep4-\u003e3-\u003e1-\u003e0-\u003e3-\u003e1"],"en":"Broadcast","fr":"Diffuser"},{"xloc":["default.handlebars-\u003e17-\u003e1188"],"en":"Server Backup"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarView"],"en":"View","fr":"Vue"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarView-\u003eviewselect-\u003e3"],"en":"List","fr":"Liste"},{"xloc":["default.handlebars-\u003e17-\u003e1057"],"en":"Add Users to Device Group"},{"xloc":[],"en":"Copyright (c) 2010 Wojciech \u0027RRH\u0027 Ryrych"},{"xloc":[],"en":"\u0027\\r\\n"},{"xloc":["login.handlebars-\u003edialog-\u003edialogHeader-\u003eid_dialogclose-\u003e0","login-mobile.handlebars-\u003edialog-\u003e1-\u003eid_dialogclose-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003exdevicesmap-\u003exmapSearchResultsDlg-\u003exmapSearchResultsBck-\u003exmapSearchClose-\u003e0","default-mobile.handlebars-\u003edialog-\u003e1-\u003eid_dialogclose-\u003e0"],"en":"X"},{"xloc":["default.handlebars-\u003e17-\u003e1143"],"en":"Last login: {0}"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003eNoMeshesPanel-\u003e1-\u003e1-\u003e0-\u003e3-\u003egetStarted1-\u003e1-\u003e0"],"en":"click here to create a device group"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e6-\u003e1-\u003e3"],"en":"Paste text into the terminal"},{"xloc":["default.handlebars-\u003e17-\u003e223"],"en":"Manual Username/Password","fr":"Nom d\u0027utilisateur / mot de passe manuel"},{"xloc":["login.handlebars-\u003e5-\u003e32","login-mobile.handlebars-\u003e5-\u003e32"],"en":"{0} numeric"},{"xloc":["default.handlebars-\u003e17-\u003e567","default-mobile.handlebars-\u003e9-\u003e224"],"en":"Edit Device"},{"xloc":["default.handlebars-\u003econtainer-\u003emasthead-\u003e5"],"en":"Click to view current notifications"},{"xloc":["default.handlebars-\u003e17-\u003e1265"],"en":"time, conn.agent, conn.users, conn.usersessions, conn.relaysession, conn.intelamt, mem.external, mem.heapused, mem.heaptotal, mem.rss"},{"xloc":["default.handlebars-\u003e17-\u003e374"],"en":"Place node here"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003ed7framelimiter-\u003e1","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003ed7framelimiter-\u003e1"],"en":"Fast","cs":"Rychle","fr":"Vite"},{"xloc":["player.htm-\u003e3-\u003e7"],"en":"Addresses"},{"xloc":["default.handlebars-\u003e17-\u003e1267"],"en":"Core Server"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e290","default.handlebars-\u003e17-\u003e1040","default.handlebars-\u003e17-\u003e1187","default.handlebars-\u003e17-\u003e986","default-mobile.handlebars-\u003e9-\u003e308","default-mobile.handlebars-\u003e9-\u003e61","default.handlebars-\u003e17-\u003e924","default-mobile.handlebars-\u003e9-\u003e281"],"en":"Full Administrator","fr":"Administrateur Complet"},{"xloc":["default.handlebars-\u003e17-\u003e858"],"en":"Teluga"},{"xloc":["default.handlebars-\u003e17-\u003e697"],"en":"Arabic (U.A.E.)"},{"xloc":["download.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1"],"en":"Download","cs":"Stažení","fr":"Télécharger"},{"xloc":["default.handlebars-\u003e17-\u003e714"],"en":"Chinese"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsAreaTop-\u003edeskToolsTopTabService"],"en":"Services","cs":"Služby"},{"xloc":["default.handlebars-\u003e17-\u003e68"],"en":"IPv4 gateway"},{"xloc":["default.handlebars-\u003e17-\u003e479"],"en":"Move this device to a different device group"},{"xloc":["default.handlebars-\u003e17-\u003e605"],"en":"Intel (F10 = ESC+[OM)"},{"xloc":["default.handlebars-\u003e17-\u003e107"],"en":"Add Key"},{"xloc":["default.handlebars-\u003e17-\u003e756"],"en":"Gaelic (Irish)"},{"xloc":["default.handlebars-\u003e17-\u003e16","default-mobile.handlebars-\u003e9-\u003e7"],"en":"Unable to perform authentication"},{"xloc":["default.handlebars-\u003e17-\u003e222"],"en":"MeshCommander Script"},{"xloc":["default.handlebars-\u003e17-\u003e1285"],"en":"servertrace.csv"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e20"],"en":"\u003cb style=color:red\u003e2-step login activation removal failed\u003c/b\u003e. Try again."},{"xloc":["default.handlebars-\u003e17-\u003e656"],"en":"console.txt"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e2","login.handlebars-\u003e5-\u003e2"],"en":"Unable to create account."},{"xloc":["default.handlebars-\u003e17-\u003e1182"],"en":"Enter a comma seperate list of administrative realms names."},{"xloc":[],"en":"Automatic connect","fr":"Connexion automatique"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e9-\u003e1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e9-\u003e1"],"en":"Enter the account creation token"},{"xloc":["default.handlebars-\u003e17-\u003e1010","default.handlebars-\u003e17-\u003e1005"],"en":"Client Initiated Remote Access"},{"xloc":["default.handlebars-\u003e17-\u003e156","default.handlebars-\u003e17-\u003e342","default.handlebars-\u003e17-\u003e469"],"en":"MQTT connection to the device is active."},{"xloc":["default.handlebars-\u003e17-\u003e94"],"en":"2-step login activation removal failed."},{"xloc":["default.handlebars-\u003e17-\u003e1256"],"en":"free"},{"xloc":["default.handlebars-\u003e17-\u003e973"],"en":"Install CIRA"},{"xloc":["default.handlebars-\u003e17-\u003e1170"],"en":"Broadcast a message to all connected users."},{"xloc":["default.handlebars-\u003e17-\u003e1087","default-mobile.handlebars-\u003e9-\u003e65","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003ep42tbl-\u003e1-\u003e0-\u003e4"],"en":"Link","fr":"Lien"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3"],"en":"Clipboard"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e294","default.handlebars-\u003e17-\u003e1063","default.handlebars-\u003e17-\u003e1044","default-mobile.handlebars-\u003e9-\u003e312"],"en":"Remote Control"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e279","default.handlebars-\u003e17-\u003e984"],"en":"User Authorizations"},{"xloc":["default.handlebars-\u003e17-\u003e866"],"en":"Upper Sorbian"},{"xloc":["default.handlebars-\u003e17-\u003e971"],"en":"Add Users","fr":"Ajouter des utilisateurs"},{"xloc":["default.handlebars-\u003e17-\u003e730"],"en":"English (Canada)"},{"xloc":["default.handlebars-\u003e17-\u003e612","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e3-\u003edisconnectbutton1span","default.handlebars-\u003e17-\u003e959","default-mobile.handlebars-\u003e9-\u003e234","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3-\u003edisconnectbutton2span"],"en":"Disconnect"},{"xloc":["default.handlebars-\u003e17-\u003e476"],"en":"View notes about this device"},{"xloc":["default.handlebars-\u003e17-\u003e829"],"en":"Somani"},{"xloc":["default.handlebars-\u003e17-\u003e552"],"en":"MeshCentral Router"},{"xloc":["default.handlebars-\u003e17-\u003e209","default.handlebars-\u003e17-\u003e527","default-mobile.handlebars-\u003e9-\u003e212"],"en":"No TLS security","cs":"Žádné TLS","fr":"Pas de sécurité TLS"},{"xloc":["default.handlebars-\u003e17-\u003e594"],"en":"Restart","fr":"Redémarrer"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e91"],"en":" / "},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountActions-\u003e3-\u003eaccountEnableNotificationsSpan-\u003e0"],"en":"Enable web notifications","cs":"Zapnout notifikace prohlížeče"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e71","default.handlebars-\u003e17-\u003e1100"],"en":"Public Link","cs":"Veřejný odkaz","fr":"Lien public"},{"xloc":[],"en":"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/"},{"xloc":["default.handlebars-\u003e17-\u003e1194"],"en":"No Tools (MeshCmd/Router)","cs":"Žádné nástroje (MeshCmd/Router)"},{"xloc":["default.handlebars-\u003e17-\u003e649"],"en":"My Server Console","fr":"Console de mon serveur"},{"xloc":["default.handlebars-\u003e17-\u003e576"],"en":"Large Focus","fr":"Grande mise au point"},{"xloc":["default.handlebars-\u003e17-\u003e1127","default.handlebars-\u003e17-\u003e1131"],"en":"eventslist.json"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsAreaTop-\u003edeskToolsTopTabProcess","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10desktop-\u003edeskarea3-\u003edeskarea3x-\u003eDeskTools-\u003eDeskToolsBar"],"en":"Processes","cs":"Procesy","fr":"Processus"},{"xloc":[],"en":"CPU load in the 15 minutes"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep3-\u003e3-\u003e1-\u003e0-\u003e3-\u003ep3limitdropdown-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep41-\u003e3-\u003e1-\u003ep41limitdropdown-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003e3-\u003e1-\u003e0-\u003e5-\u003ep16limitdropdown-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e5-\u003e1-\u003e0-\u003e5-\u003ep31limitdropdown-\u003e5"],"en":"Last 250","cs":"Posledních 250","fr":"250 dernières"},{"xloc":["default.handlebars-\u003e17-\u003e363"],"en":"Remove node location"},{"xloc":["player.htm-\u003e3-\u003e14"],"en":"Intel® AMT Redirection"},{"xloc":["default.handlebars-\u003e17-\u003e743"],"en":"Farsi (Persian)","fr":"Farsi (Persan)"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e2-\u003e1-\u003e3","default.handlebars-\u003e17-\u003e1110","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5toolbar-\u003e1-\u003e0-\u003ep5filehead-\u003e3","default.handlebars-\u003e17-\u003e625","default-mobile.handlebars-\u003e9-\u003e250","default-mobile.handlebars-\u003e9-\u003e81"],"en":"Rename","cs":"Přejmenovat","fr":"Renommer"},{"xloc":["default.handlebars-\u003e17-\u003e901","default-mobile.handlebars-\u003e9-\u003e44"],"en":"Password hint:"},{"xloc":[],"en":"(wget https://"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSort-\u003esortselect-\u003e5"],"en":"Device","cs":"Zařízení"},{"xloc":["default.handlebars-\u003e17-\u003e319"],"en":"Device is in deep sleep state (S3).","cs":"Zařízení je v hlubokém spánku (S3)."},{"xloc":["default.handlebars-\u003e17-\u003e416","default-mobile.handlebars-\u003e9-\u003e156"],"en":"MacOS 64bit"},{"xloc":["default.handlebars-\u003e17-\u003e89"],"en":"2-step login activation failed."},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003ed7framelimiter-\u003e7","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003ed7framelimiter-\u003e7"],"en":"Very slow","cs":"Velmi pomalu"},{"xloc":["default.handlebars-\u003e17-\u003e1077"],"en":"User Name","cs":"Uživatel","fr":"Nom"},{"xloc":["default.handlebars-\u003e17-\u003e510"],"en":"Open Page on Device"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2createMeshLink1","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3createMeshLink1"],"en":")"},{"xloc":[],"en":"https://github.com/kanaka/noVNC/blob/master/LICENSE.txt"},{"xloc":["default.handlebars-\u003e17-\u003e90"],"en":"Clear the secret from the application and try again. You only have a few minutes to enter the proper code."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep30-\u003e1-\u003e1-\u003e0-\u003e1-\u003ep30title-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep15-\u003ep15title-\u003ep15BackButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003ep12title-\u003ep12BackButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003ep11title-\u003ep11deviceNameHeader-\u003ep11BackButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep14-\u003ep14title-\u003ep14BackButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep43-\u003ep43BackButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13title-\u003ep13BackButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep20-\u003e3","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep10-\u003e1-\u003e1-\u003e0-\u003e1-\u003ep10title-\u003ep10BackButton","error404-mobile.handlebars-\u003econtainer-\u003efooter-\u003e1-\u003e1-\u003e0-\u003e3-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep16-\u003ep16title-\u003ep16BackButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep31-\u003e1","error404.handlebars-\u003econtainer-\u003efooter-\u003e1-\u003e1-\u003e0-\u003e3-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep17-\u003ep17title-\u003ep17BackButton"],"en":"Back","cs":"Zpět","fr":"Retour"},{"xloc":["default.handlebars-\u003e17-\u003e1277"],"en":"Web Server Requests","fr":"Demandes de serveur Web"},{"xloc":["default.handlebars-\u003e17-\u003e1210"],"en":"Creation"},{"xloc":["default.handlebars-\u003e17-\u003e250"],"en":"Send installation link","cs":"Odeslat odkaz na instalaci","fr":"Envoyer le lien d\u0027installation"},{"xloc":["default.handlebars-\u003e17-\u003e851"],"en":"Sutu"},{"xloc":["default.handlebars-\u003e17-\u003e506"],"en":"Add Device Event","fr":"Ajouter un événement"},{"xloc":["default.handlebars-\u003e17-\u003e1270"],"en":"Main Server Messages"},{"xloc":["default.handlebars-\u003e17-\u003e200","default.handlebars-\u003e17-\u003e983","default.handlebars-\u003e17-\u003e277"],"en":"Invite","cs":"Pozvat","fr":"Inviter"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e0-\u003e1-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e0-\u003e1-\u003e1"],"en":"Server is recording this session"},{"xloc":["default.handlebars-\u003e17-\u003e607"],"en":"VT100+ (F10 = ESC+[OY)"},{"xloc":["default.handlebars-\u003e17-\u003e837"],"en":"Spanish (Dominican Republic)"},{"xloc":["default.handlebars-\u003e17-\u003e333","default-mobile.handlebars-\u003e9-\u003e117"],"en":"Device is present, but power state cannot be determined"},{"xloc":["default.handlebars-\u003e17-\u003e559"],"en":"Download MeshCmd"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e1"],"en":"My Server Stats","cs":"Statistika serveru","fr":"Statistiques de mon serveur"},{"xloc":["default.handlebars-\u003e17-\u003e331","default-mobile.handlebars-\u003e9-\u003e115"],"en":"Device is hibernating (S4)"},{"xloc":["default.handlebars-\u003etermShellContextMenuLinux-\u003ecxtermnorm-\u003e0"],"en":"Root Shell"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e179","default.handlebars-\u003e17-\u003e441"],"en":"ACM"},{"xloc":["default.handlebars-\u003e17-\u003e287","default.handlebars-\u003e17-\u003e265"],"en":"Interactive only"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e278"],"en":" Add User","fr":"Ajouter un utilisateur"},{"xloc":["default.handlebars-\u003e17-\u003e485"],"en":"Show device locations information"},{"xloc":["default.handlebars-\u003e17-\u003e1232"],"en":"{0} active sessions","fr":"{0} sessions actives"},{"xloc":["default.handlebars-\u003e17-\u003e903","default-mobile.handlebars-\u003e9-\u003e46"],"en":"Change Password","cs":"Změnit heslo"},{"xloc":["default.handlebars-\u003e17-\u003e929"],"en":"Restore Server","fr":"Restaurer le serveur"},{"xloc":["default.handlebars-\u003e17-\u003e453","default-mobile.handlebars-\u003e9-\u003e186"],"en":"Agent Tag"},{"xloc":["default.handlebars-\u003e17-\u003e1200"],"en":"Partial rights"},{"xloc":["default.handlebars-\u003e17-\u003e1072","default-mobile.handlebars-\u003e9-\u003e321"],"en":"Limited Input"},{"xloc":["default.handlebars-\u003e17-\u003e703"],"en":"Azerbaijani"},{"xloc":["default.handlebars-\u003e17-\u003e1020","default.handlebars-\u003e17-\u003e990","default-mobile.handlebars-\u003e9-\u003e286","default-mobile.handlebars-\u003e9-\u003e283"],"en":"Delete Group"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e55"],"en":"Software Agent Group","fr":"Groupe d\u0027agents logiciels"},{"xloc":["default.handlebars-\u003e17-\u003e169"],"en":"Add Device Group","cs":"Přidat skupinu zařízení","fr":"Ajouter un groupe"},{"xloc":["default.handlebars-\u003e17-\u003e301"],"en":"Copy MacOS agent URL to clipboard","cs":"Kopírovat odkaz pro MacOS agenta do schránky"},{"xloc":["default.handlebars-\u003e17-\u003e800"],"en":"Nepali","fr":"Népalais"},{"xloc":["default.handlebars-\u003e17-\u003e1164","default.handlebars-\u003e17-\u003e1126"],"en":"JSON Format","fr":"Format JSON"},{"xloc":["default.handlebars-\u003e17-\u003e1069","default-mobile.handlebars-\u003e9-\u003e318"],"en":"No Terminal","cs":"Žádný terminál"},{"xloc":["default.handlebars-\u003e17-\u003e750"],"en":"French (Luxembourg)"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e3","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e3"],"en":"87.5%"},{"xloc":["default.handlebars-\u003e17-\u003e745"],"en":"Finnish","fr":"Finlandais"},{"xloc":["default.handlebars-\u003e17-\u003e1075","default-mobile.handlebars-\u003e9-\u003e324"],"en":"Uninstall"},{"xloc":[],"en":"Upload","cs":"Nahrát","fr":"Télécharger"},{"xloc":["default.handlebars-\u003e17-\u003e810"],"en":"Portuguese (Brazil)"},{"xloc":["default.handlebars-\u003e17-\u003e276"],"en":"Copy link to clipboard"},{"xloc":["default-mobile.handlebars-\u003etopMenu-\u003e1","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003e1-\u003e1-\u003e0-\u003e5-\u003e1-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003e1","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainMenuSpan-\u003e1-\u003e0-\u003eMainMenuMyFiles"],"en":"My Files","cs":"Moje soubory","fr":"Mes Dossiers"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e19","login.handlebars-\u003e5-\u003e19"],"en":"Password Hint"},{"xloc":["default.handlebars-\u003e17-\u003e187","default.handlebars-\u003e17-\u003e972"],"en":"Add a new Intel® AMT computer that is located on the internet."},{"xloc":["default.handlebars-\u003e17-\u003e375"],"en":"open"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003e7-\u003e1-\u003e4-\u003e1-\u003eshowPassHintLink-\u003e0","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003e7-\u003e1-\u003e4-\u003e1-\u003eshowPassHintLink-\u003e0"],"en":"Show Hint","fr":"Dévoiler indice"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e10","login.handlebars-\u003e5-\u003e10"],"en":"Invalid token, try again."},{"xloc":["login.handlebars-\u003econtainer-\u003etopbar-\u003euiMenuButton-\u003euiMenu","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003euiMenuButton-\u003euiMenu","agentinvite.handlebars-\u003econtainer-\u003etopbar-\u003euiMenuButton-\u003euiMenu","error404.handlebars-\u003econtainer-\u003etopbar-\u003euiMenuButton-\u003euiMenu"],"en":"Top bar interface"},{"xloc":["default.handlebars-\u003e17-\u003e1211"],"en":"Last Login","fr":"Dernière connexion"},{"xloc":["default.handlebars-\u003e17-\u003e1032","default.handlebars-\u003e17-\u003e1025","default.handlebars-\u003e17-\u003e1029"],"en":"Notify user"},{"xloc":["default.handlebars-\u003e17-\u003e451"],"en":"Intel® Standard Manageability"},{"xloc":[],"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."},{"xloc":["default.handlebars-\u003e17-\u003e56","default.handlebars-\u003e17-\u003e54","default.handlebars-\u003e17-\u003e65","default.handlebars-\u003e17-\u003e69","default.handlebars-\u003e17-\u003e67"],"en":"Copy address to clipboard"},{"xloc":["default.handlebars-\u003e17-\u003e419","default-mobile.handlebars-\u003e9-\u003e159"],"en":"Linux NoKVM x86-32bit"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e206","default.handlebars-\u003e17-\u003e516","default.handlebars-\u003e17-\u003e6","default-mobile.handlebars-\u003e9-\u003e102"],"en":"Power off","cs":"Vypnout","fr":"Éteindre"},{"xloc":["default.handlebars-\u003e17-\u003e253"],"en":"Apple MacOS only"},{"xloc":["default.handlebars-\u003e17-\u003e111"],"en":"Error, Unable to add key."},{"xloc":["default.handlebars-\u003e17-\u003e737"],"en":"English (United Kingdom)","fr":"Anglais (Royaume Uni)"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e67"],"en":"{0}b left"},{"xloc":[],"en":"http://www.openssl.org/source/license.html"},{"xloc":["default.handlebars-\u003e17-\u003e1142"],"en":"{0} sessions"},{"xloc":["default.handlebars-\u003e17-\u003e515","default-mobile.handlebars-\u003e9-\u003e205","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003edevMapToolbar"],"en":"Reset","fr":"Réinitialiser"},{"xloc":["default.handlebars-\u003e17-\u003e1051","default-mobile.handlebars-\u003e9-\u003e301","default.handlebars-\u003e17-\u003e1065","default.handlebars-\u003e17-\u003e1186","default-mobile.handlebars-\u003e9-\u003e314"],"en":"Server Files"},{"xloc":["default.handlebars-\u003e17-\u003e162"],"en":"No devices are included in any groups, click on a device\\\u0027s \\\"Groups\\\" to add to a group."},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003ewintab64-\u003e1"],"en":"Microsoft™ Windows 64bit"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003ed7desktopmode-\u003e1","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003ed7desktopmode-\u003e1"],"en":"RLE8, Fastest","fr":"RLE8, le plus rapide"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountActions-\u003e3-\u003e13","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3AccountActions-\u003e7-\u003e5-\u003e0"],"en":"Change password","cs":"Změnit heslo"},{"xloc":["default.handlebars-\u003e17-\u003e801"],"en":"Norwegian","fr":"Norvégien"},{"xloc":["default.handlebars-\u003e17-\u003e483"],"en":"Show device network interface information"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e3-\u003econnectbutton1span","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10desktop-\u003edeskarea1-\u003e1-\u003e3","default.handlebars-\u003e17-\u003e611","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3-\u003econnectbutton2span","default.handlebars-\u003e17-\u003e958","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e0-\u003e1-\u003e3","default-mobile.handlebars-\u003e9-\u003e233","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e0-\u003e1-\u003e3"],"en":"Connect","cs":"Připojit"},{"xloc":["default.handlebars-\u003e17-\u003e83"],"en":"Check and click OK to clear error log."},{"xloc":[],"en":"THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS\u0027\u0027 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."},{"xloc":["default.handlebars-\u003e17-\u003e109"],"en":"Manage Security Keys"},{"xloc":["default.handlebars-\u003e17-\u003e595"],"en":"Service Details"},{"xloc":["default.handlebars-\u003e17-\u003e976","default.handlebars-\u003e17-\u003e193"],"en":"Perform Intel AMT client control mode (CCM) activation."},{"xloc":["default.handlebars-\u003e17-\u003e1002"],"en":"Password mismatch"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsArea-\u003eDeskToolsServiceTab-\u003edeskToolsServiceHeader-\u003e1","default.handlebars-\u003e17-\u003e583"],"en":"State","cs":"Stav"},{"xloc":["default.handlebars-\u003e17-\u003e862"],"en":"Tswana"},{"xloc":["default.handlebars-\u003e17-\u003e531","default.handlebars-\u003e17-\u003e266"],"en":"Message"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e1-\u003e5"],"en":"↺"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e1-\u003e7"],"en":"↻"},{"xloc":["default.handlebars-\u003e17-\u003e1178"],"en":"Email is verified.","cs":"Email je ověřen."},{"xloc":["default.handlebars-\u003e17-\u003e347","default.handlebars-\u003e17-\u003e517"],"en":"Send MQTT Message","fr":"Envoyer un Message MQTT"},{"xloc":["default.handlebars-\u003e17-\u003e378"],"en":"Search","fr":"Chercher"},{"xloc":["default.handlebars-\u003e17-\u003e537","default.handlebars-\u003e17-\u003e1019","default-mobile.handlebars-\u003e9-\u003e217","default.handlebars-\u003e17-\u003e546","default.handlebars-\u003e17-\u003e360","default-mobile.handlebars-\u003e9-\u003e285"],"en":"Confirm"},{"xloc":["default.handlebars-\u003e17-\u003e80"],"en":"Server has no error log."},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainMenuSpan-\u003e1-\u003e0-\u003eMainMenuMyEvents","default.handlebars-\u003econtainer-\u003epage_leftbar","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep3-\u003e1"],"en":"My Events","cs":"Moje události","fr":"Mes Événements"},{"xloc":["default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eServerSubMenuSpan-\u003eServerSubMenu-\u003e1-\u003e0-\u003eServerStats"],"en":"Stats","cs":"Statistiky"},{"xloc":["default.handlebars-\u003e17-\u003e1140"],"en":"Chat"},{"xloc":["default.handlebars-\u003e17-\u003e438"],"en":"Intel AMT is activated in Client Control Mode"},{"xloc":["default.handlebars-\u003e17-\u003e413","default-mobile.handlebars-\u003e9-\u003e153"],"en":"PogoPlug ARM"},{"xloc":["default-mobile.handlebars-\u003etopMenu-\u003elogoutMenuOption-\u003e0-\u003e0","default.handlebars-\u003e17-\u003e14"],"en":"Logout","cs":"Odhlásit","fr":"Déconnexion"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e230"],"en":"All Displays"},{"xloc":["default.handlebars-\u003e17-\u003e1246"],"en":"There are currently no notifications","fr":"Il n\u0027y a actuellement aucune notification"},{"xloc":["default.handlebars-\u003e17-\u003e597","default-mobile.handlebars-\u003e9-\u003e231"],"en":"Process Control"},{"xloc":["default.handlebars-\u003e17-\u003e491","default.handlebars-\u003e17-\u003e493"],"en":"Requires Microsoft ClickOnce support in your browser.","fr":"Requiert Microsoft ClickOnce dans votre navigateur."},{"xloc":["default.handlebars-\u003e17-\u003e843"],"en":"Spanish (Nicaragua)"},{"xloc":["default.handlebars-\u003e17-\u003e629","default-mobile.handlebars-\u003e9-\u003e254"],"en":"Confirm copy of {0} entries\u0027s to this location?"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003ep12title-\u003e3"],"en":"Terminal -","fr":"Terminal -"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e268","default.handlebars-\u003e17-\u003e642"],"en":"Download File","cs":"Stáhnout soubor"},{"xloc":["default.handlebars-\u003e17-\u003e536"],"en":"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."},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003ePlaySpeed-\u003e3"],"en":"1/2 Speed","fr":"1/2 vitesse"},{"xloc":["default.handlebars-\u003e17-\u003e295"],"en":"Settings File","fr":"Fichier de Paramètres"},{"xloc":["default.handlebars-\u003e17-\u003e143","default.handlebars-\u003e17-\u003e160"],"en":"Address","cs":"Adresa"},{"xloc":["default.handlebars-\u003e17-\u003e494"],"en":"WinSCP"},{"xloc":["login.handlebars-\u003e5-\u003e14","login-mobile.handlebars-\u003e5-\u003e14"],"en":"Login failed, check username and password."},{"xloc":["default.handlebars-\u003e17-\u003e598","default-mobile.handlebars-\u003e9-\u003e232"],"en":"Stop process #{0} \\\"{1}\\\"?"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSort"],"en":"Sort","cs":"Třídit","fr":"Trier"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3AccountActions-\u003e7-\u003e7-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountActions-\u003e3-\u003e17"],"en":"Delete account","cs":"Smazat účet"},{"xloc":["default.handlebars-\u003e17-\u003e400","default-mobile.handlebars-\u003e9-\u003e169","default-mobile.handlebars-\u003e9-\u003e140","default-mobile.handlebars-\u003e9-\u003e168","default.handlebars-\u003e17-\u003e73","default.handlebars-\u003e17-\u003e344","default.handlebars-\u003e17-\u003e72","default-mobile.handlebars-\u003e9-\u003e123","default.handlebars-\u003e17-\u003e428","default.handlebars-\u003e17-\u003e429"],"en":"Unknown","fr":"Inconnue"},{"xloc":["default.handlebars-\u003e17-\u003e889","default-mobile.handlebars-\u003e9-\u003e33"],"en":"Email Verification"},{"xloc":[],"en":"2.OpenSSL – OpenSSL and SSLeay License"},{"xloc":["default.handlebars-\u003e17-\u003e585"],"en":"FileSystemDriver"},{"xloc":["default.handlebars-\u003e17-\u003e217"],"en":"Enter a range of IP addresses to scan for Intel AMT devices."},{"xloc":["default.handlebars-\u003e17-\u003e302"],"en":"To remove a mesh agent, download the file below, run it and click \\\"uninstall\\\".","cs":"Pro odstranění agenta si stáhněte soubor níže, spusťte tento soubor a zvolte \\\"uninstall\\\"."},{"xloc":["default.handlebars-\u003e17-\u003e1085","default.handlebars-\u003e17-\u003e614","default-mobile.handlebars-\u003e9-\u003e239","default-mobile.handlebars-\u003e9-\u003e63"],"en":"Root","fr":"Racine"},{"xloc":["default.handlebars-\u003e17-\u003e729"],"en":"English (Belize)"},{"xloc":["default.handlebars-\u003e17-\u003e1150"],"en":"Partial","fr":"Partiel"},{"xloc":[],"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/)\"."},{"xloc":["default.handlebars-\u003e17-\u003e40"],"en":"Capacity / Speed"},{"xloc":["default.handlebars-\u003e17-\u003e218"],"en":"IP Range"},{"xloc":["default.handlebars-\u003e17-\u003e66"],"en":"IPv4 mask"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep0-\u003ep0message-\u003ep0span","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep0-\u003e1-\u003ep0message-\u003ep0span"],"en":"Server disconnected"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e4","login.handlebars-\u003e5-\u003e4"],"en":"Existing account with this email address."},{"xloc":["default.handlebars-\u003e17-\u003e1104","default-mobile.handlebars-\u003e9-\u003e75"],"en":"{0} bytes","cs":"{0} bytů","fr":"{0} octets"},{"xloc":["default.handlebars-\u003e17-\u003e693"],"en":"Arabic (Qatar)"},{"xloc":["default.handlebars-\u003e17-\u003e578"],"en":"Remote Keyboard Entry"},{"xloc":["default.handlebars-\u003e17-\u003e1153"],"en":"Create many accounts at once by importing a JSON file with the following format:"},{"xloc":["default.handlebars-\u003e17-\u003e661"],"en":"Upload recovery core"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2noMeshFound","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3noMeshFound","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003eNoMeshesPanel-\u003e1-\u003e1-\u003e0-\u003e3-\u003egetStarted2"],"en":"No device groups.","fr":"Aucun groupe d\u0027appareils."},{"xloc":[],"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."},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003epluginRestartNotice-\u003e3-\u003e1"],"en":"Plugins have been altered, this may require agent core update."},{"xloc":["default.handlebars-\u003e17-\u003e1082","default-mobile.handlebars-\u003e9-\u003e330"],"en":"Remote Mesh User"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e113","default.handlebars-\u003e17-\u003e329"],"en":"Device is in sleep state (S2)"},{"xloc":["error404-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e5-\u003e0-\u003e0","error404.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003e0-\u003e0"],"en":"Go to main site","fr":"Aller sur le site principal"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep15-\u003econsoleTable-\u003e1-\u003e0-\u003e1-\u003e1"],"en":"Agent Action"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e299","default.handlebars-\u003e17-\u003e1071","default.handlebars-\u003e17-\u003e1049","default-mobile.handlebars-\u003e9-\u003e320"],"en":"No Intel® AMT"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e1","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7amtkvm-\u003e1"],"en":"Intel® AMT Hardware KVM"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e1-\u003ep40type-\u003e1"],"en":"Connections"},{"xloc":["default.handlebars-\u003e17-\u003e839"],"en":"Spanish (El Salvador)"},{"xloc":["default.handlebars-\u003e17-\u003e386","default.handlebars-\u003e17-\u003e909"],"en":"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."},{"xloc":["login-mobile.handlebars-\u003e5-\u003e26","login-mobile.handlebars-\u003e5-\u003e22","login.handlebars-\u003e5-\u003e22","login.handlebars-\u003e5-\u003e26"],"en":"Weak Password","cs":"Slabé heslo","fr":"Mot de passe faible"},{"xloc":["default.handlebars-\u003e17-\u003e879"],"en":"Language","cs":"Jazyk","fr":"Langages"},{"xloc":["default.handlebars-\u003e17-\u003e962"],"en":"Notifications"},{"xloc":["default.handlebars-\u003e17-\u003e496"],"en":"MQTT Login"},{"xloc":["default.handlebars-\u003e17-\u003e133","default.handlebars-\u003e17-\u003e259","default.handlebars-\u003e17-\u003e273"],"en":"1 week","cs":"1 týden","fr":"1 semaine"},{"xloc":["default.handlebars-\u003e17-\u003e836"],"en":"Spanish (Costa Rica)"},{"xloc":["default.handlebars-\u003e17-\u003e823"],"en":"Sardinian"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003ekvmListToolbar"],"en":"Settings","cs":"Nastavení","fr":"Paramètres"},{"xloc":["default.handlebars-\u003e17-\u003e1013","default.handlebars-\u003e17-\u003e1009"],"en":"Connect to server","cs":"Připojit se na server"},{"xloc":["default.handlebars-\u003e17-\u003e1098"],"en":"{0}k in {1} files. {2}k maximum"},{"xloc":["default.handlebars-\u003e17-\u003e937","default-mobile.handlebars-\u003e9-\u003e273"],"en":"Managed using a software agent","fr":"Géré à l\u0027aide d\u0027un agent logiciel"},{"xloc":["default.handlebars-\u003e17-\u003e1149"],"en":"Manager"},{"xloc":["default.handlebars-\u003econtainer-\u003efooter-\u003e3-\u003e3","login.handlebars-\u003econtainer-\u003efooter-\u003e3-\u003e1","login-mobile.handlebars-\u003econtainer-\u003efooter-\u003e1-\u003e1-\u003e0-\u003e3-\u003e1","download.handlebars-\u003econtainer-\u003epage_content-\u003efooter-\u003e1-\u003e1-\u003e0-\u003e3-\u003e1","message.handlebars-\u003econtainer-\u003epage_content-\u003efooter-\u003e1-\u003e1-\u003e0-\u003e3-\u003e1"],"en":"Terms & Privacy"},{"xloc":["default.handlebars-\u003e17-\u003e902"],"en":"Requirements: ","cs":"Požadavky: ","fr":"Exigences:"},{"xloc":["default.handlebars-\u003e17-\u003e197","default.handlebars-\u003e17-\u003e980"],"en":"Add a new computer to this mesh by installing the mesh agent."},{"xloc":["default.handlebars-\u003e17-\u003e841"],"en":"Spanish (Honduras)"},{"xloc":["default.handlebars-\u003e17-\u003e122"],"en":"Agent disconnected"},{"xloc":["default.handlebars-\u003e17-\u003e454"],"en":"Intel® AMT Tag"},{"xloc":["default.handlebars-\u003e17-\u003e33"],"en":"Motherboard","fr":"Carte mère"},{"xloc":["default.handlebars-\u003e17-\u003e812"],"en":"Punjabi (India)"},{"xloc":["default.handlebars-\u003e17-\u003e365"],"en":"General information","cs":"Obecné informace"},{"xloc":[],"en":"block"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003ewintab64-\u003e3","agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003ewintab32-\u003e3"],"en":", run it and press \"Install\" or \"Connect\".","cs":", spusťte soubor a zvolte \"Install\" nebo \"Connect\"."},{"xloc":["player.htm-\u003e3-\u003e12"],"en":"MeshCentral Desktop"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e29","login.handlebars-\u003e5-\u003e29"],"en":"Maximum length of {0}"},{"xloc":[],"en":"meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\\r\\n"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003ep42tbl-\u003e1-\u003e0-\u003e6"],"en":"Latest","fr":"Dernier"},{"xloc":[],"en":"3.jQuery Foundation - MIT License"},{"xloc":["default.handlebars-\u003e17-\u003e705"],"en":"Bulgarian"},{"xloc":["default.handlebars-\u003e17-\u003e432","default-mobile.handlebars-\u003e9-\u003e172"],"en":"Not Activated (Pre)"},{"xloc":["default.handlebars-\u003e17-\u003e659"],"en":"Upload default server core"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003etokenpanel-\u003e1-\u003e7-\u003e1-\u003e4-\u003e1-\u003e1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresettokenpanel-\u003e1-\u003e5-\u003e1-\u003e2-\u003e1-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003etokenpanel-\u003e1-\u003e7-\u003e1-\u003e4-\u003e1-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresettokenpanel-\u003e1-\u003e5-\u003e1-\u003e2-\u003e1-\u003e1"],"en":"Login"},{"xloc":["default.handlebars-\u003e17-\u003e297"],"en":"To add a computer to {0} run the following command. Root credentials will be needed.","cs":"Pro přidání do {0} spusťte následující příkaz. Je třeba spouštět pod rootem."},{"xloc":["messenger.handlebars-\u003extop-\u003e1"],"en":"Activate camera & microphone","fr":"Activer caméra et microphone"},{"xloc":["player.htm-\u003e3-\u003e15"],"en":"Protocol","cs":"Protokol","fr":"Protocole"},{"xloc":["default.handlebars-\u003e17-\u003e857"],"en":"Tatar"},{"xloc":["default.handlebars-\u003e17-\u003e685"],"en":"Arabic (Egypt)"},{"xloc":["default.handlebars-\u003e17-\u003e717"],"en":"Chinese (Singapore)"},{"xloc":["default.handlebars-\u003e17-\u003e1258"],"en":"Connection Count"},{"xloc":["default.handlebars-\u003e17-\u003e799"],"en":"Ndonga","fr":"Ndonga"},{"xloc":["default.handlebars-\u003e17-\u003e740"],"en":"Esperanto"},{"xloc":["default.handlebars-\u003e17-\u003e256","default.handlebars-\u003e17-\u003e270"],"en":"1 hour","cs":"1 hodina","fr":"1 heure"},{"xloc":["default.handlebars-\u003e17-\u003e680"],"en":"Afrikaans"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep19-\u003e1"],"en":"Plugins -","cs":"Pluginy -"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e70"],"en":"{0}g left"},{"xloc":["default.handlebars-\u003e17-\u003e670"],"en":"Type in the name of the key to add."},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7amtkvm-\u003e3-\u003e1"],"en":"Image Encoding","cs":"Kódovaní obrazu"},{"xloc":["default.handlebars-\u003e17-\u003e355"],"en":"Move to device group","cs":"Přesunout do skupiny zařízení","fr":"Déplacer vers un groupe d\u0027appareils"},{"xloc":["default.handlebars-\u003e17-\u003e41"],"en":"{0} Mb, {1} Mhz"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003e3-\u003e3"],"en":"Download Plugin"},{"xloc":["default.handlebars-\u003e17-\u003e19"],"en":"Two factor authentication"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e8","default.handlebars-\u003e17-\u003e17"],"en":"Unable to connect web socket"},{"xloc":["default.handlebars-\u003e17-\u003e1105","default-mobile.handlebars-\u003e9-\u003e76","default-mobile.handlebars-\u003e9-\u003e244","default.handlebars-\u003e17-\u003e619"],"en":"New Folder","cs":"Nový adresář","fr":"Nouveau Dossier"},{"xloc":["default.handlebars-\u003e17-\u003e945"],"en":"Features","cs":"Funkce"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e5","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e5"],"en":"75%"},{"xloc":["default.handlebars-\u003e17-\u003e727"],"en":"English"},{"xloc":["default.handlebars-\u003e17-\u003e523"],"en":"7 Day Power State","cs":"7 denní statistika provozu"},{"xloc":["default.handlebars-\u003e17-\u003e1018","default-mobile.handlebars-\u003e9-\u003e284"],"en":"Are you sure you want to delete group {0}? Deleting the device group will also delete all information about devices within this group.","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."},{"xloc":["default.handlebars-\u003e17-\u003e1123"],"en":"Download the list of events with one of the file formats below."},{"xloc":["default.handlebars-\u003e17-\u003e455","default.handlebars-\u003e17-\u003e43","default.handlebars-\u003e17-\u003e249","default.handlebars-\u003e17-\u003e278"],"en":"Operating System","cs":"Operační systém","fr":"Système opérateur"},{"xloc":["default.handlebars-\u003e17-\u003e845"],"en":"Spanish (Paraguay)"},{"xloc":["default.handlebars-\u003e17-\u003e1280"],"en":"Connection Relay"},{"xloc":["default.handlebars-\u003e17-\u003e99"],"en":"Generate New Tokens","cs":"Generovat nové tokeny"},{"xloc":["default.handlebars-\u003e17-\u003e1192"],"en":"Lock Account","cs":"Uzamknout účet","fr":"Verrouiller le compte"},{"xloc":["default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003ed7framelimiter-\u003e5","default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e7-\u003ed7framelimiter-\u003e5"],"en":"Slow","cs":"Pomalu","fr":"Lent"},{"xloc":["default.handlebars-\u003e17-\u003e763"],"en":"German (Luxembourg)"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e9","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e9"],"en":"50%"},{"xloc":["default.handlebars-\u003e17-\u003e298"],"en":"* For BSD, run \\\"pkg install wget sudo bash\\\" first."},{"xloc":["default.handlebars-\u003e17-\u003e390"],"en":"The name of the device group this computer belong to."},{"xloc":[],"en":"tabcontent"},{"xloc":["default.handlebars-\u003e17-\u003e872"],"en":"Welsh"},{"xloc":["default.handlebars-\u003e17-\u003e358"],"en":"DeviceCheckbox"},{"xloc":["default.handlebars-\u003e17-\u003e844"],"en":"Spanish (Panama)"},{"xloc":["default.handlebars-\u003e17-\u003e138"],"en":"MQTT Credentials"},{"xloc":["default.handlebars-\u003e17-\u003e49"],"en":"Failed","cs":"Selhalo","fr":"Échoué"},{"xloc":["default.handlebars-\u003e17-\u003e593"],"en":"Stop","fr":"Arrêtez"},{"xloc":["login.handlebars-\u003e5-\u003e13","login-mobile.handlebars-\u003e5-\u003e13"],"en":"Access denied."},{"xloc":["player.htm-\u003e3-\u003e16","player.htm-\u003e3-\u003e17"],"en":"Press [space] to play/pause."},{"xloc":["default.handlebars-\u003e17-\u003e370","default.handlebars-\u003e17-\u003e377"],"en":"Zoom-out to extent"},{"xloc":["default.handlebars-\u003e17-\u003e1050","default-mobile.handlebars-\u003e9-\u003e300"],"en":"Mesh Agent Console","cs":"Konzole agenta"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep6-\u003e8"],"en":"Server Statistics","cs":"Statistiky serveru"},{"xloc":[],"en":"SelectAll","cs":"Vybrat vše","fr":"ToutSélectionner"},{"xloc":["default.handlebars-\u003e17-\u003e305","default.handlebars-\u003e17-\u003e291"],"en":"Windows (.exe)"},{"xloc":["default.handlebars-\u003e17-\u003e339","default.handlebars-\u003e17-\u003e153"],"en":"AMT"},{"xloc":["default.handlebars-\u003e17-\u003e719"],"en":"Chuvash"},{"xloc":["default.handlebars-\u003e17-\u003e281"],"en":"Apple MacOS"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10desktop-\u003edeskarea4-\u003e1-\u003e3"],"en":"Keyboard","cs":"Klávesnice","fr":"Clavier"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003epluginRestartNotice-\u003e3-\u003e1-\u003e0"],"en":"Notice:"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003ep5myfiles-\u003ep5toolbar-\u003e1-\u003e0-\u003e1-\u003e3","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10desktop-\u003edeskarea3-\u003edeskarea3x-\u003eDeskTools-\u003eDeskToolsRefreshButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsAreaTop-\u003eDeskToolsRefreshButton","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e3","default.handlebars-\u003e17-\u003e371","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e2-\u003e1-\u003e3"],"en":"Refresh","cs":"Obnovit","fr":"Rafraîchir"},{"xloc":["default.handlebars-\u003e17-\u003e1264"],"en":"Megabytes","cs":"Megabytů","fr":"Mégaoctets"},{"xloc":["default.handlebars-\u003e17-\u003e825"],"en":"Singhalese","fr":"Cingalais"},{"xloc":["default.handlebars-\u003e17-\u003e684"],"en":"Arabic (Bahrain)"},{"xloc":["default.handlebars-\u003e17-\u003e789"],"en":"Lithuanian","fr":"Lituanien"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep17-\u003ep17title-\u003e3"],"en":"Details -","cs":"Detaily -"},{"xloc":["default.handlebars-\u003e17-\u003e328","default-mobile.handlebars-\u003e9-\u003e112"],"en":"Device is in sleep state (S1)","cs":"Zařízení je ve stavu spánku (S1)"},{"xloc":["default.handlebars-\u003e17-\u003e999"],"en":"Intel® AMT Policy"},{"xloc":["default.handlebars-\u003e17-\u003e225"],"en":"Setup Method","cs":"Setup"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e252","default.handlebars-\u003e17-\u003e627"],"en":"File Editor","fr":"Éditeur de fichier"},{"xloc":["default.handlebars-\u003e17-\u003e865"],"en":"Ukrainian"},{"xloc":["default.handlebars-\u003e17-\u003e285"],"en":"Background & interactive"},{"xloc":["default.handlebars-\u003e17-\u003e119"],"en":"Intel AMT detected"},{"xloc":["default.handlebars-\u003e17-\u003e392"],"en":"The name of the device group this computer belong to","fr":"Le nom du groupe de périphériques auquel cet ordinateur appartient"},{"xloc":["default.handlebars-\u003e17-\u003e308","default.handlebars-\u003e17-\u003e294"],"en":"Windows x64 (.exe)"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e142","default.handlebars-\u003e17-\u003e402"],"en":"Windows 64bit console"},{"xloc":["default.handlebars-\u003e17-\u003e103"],"en":"\u003ca href=\\\"https://www.yubico.com/\\\" rel=\\\"noreferrer noopener\\\" target=\\\"_blank\\\"\u003eHardware keys\u003c/a\u003e are used as secondary login authentication."},{"xloc":["default.handlebars-\u003e17-\u003e758"],"en":"Georgian"},{"xloc":["default.handlebars-\u003e17-\u003e188"],"en":"Add CIRA","cs":"Přidat CIRA","fr":"Ajouter CIRA"},{"xloc":["default.handlebars-\u003e17-\u003e84"],"en":"Install \u003ca href=\\\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\\\" rel=\\\"noreferrer noopener\\\" target=_blank\u003eGoogle Authenticator\u003c/a\u003e or a compatible application and scan the barcode, use \u003ca href=\\\"\u0027 + message.url + \u0027\\\" rel=\\\"noreferrer noopener\\\" target=_blank\u003e this link\u003c/a\u003e or enter the secret. Then, enter the current 6 digit token below to activate 2-Step login."},{"xloc":["default.handlebars-\u003e17-\u003e861"],"en":"Tsonga"},{"xloc":["default.handlebars-\u003e17-\u003e234","default.handlebars-\u003e17-\u003e240"],"en":"Root Certificate File","fr":"Fichier de Certificate Racine"},{"xloc":[],"en":"meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\\r\\n"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e22","default.handlebars-\u003e17-\u003e97"],"en":"No Active Tokens"},{"xloc":["default.handlebars-\u003e17-\u003e1284"],"en":"time, source, message"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003emacostab-\u003e3-\u003emacosurl"],"en":"Download the installer here","cs":"Stáhnout instalaci zde"},{"xloc":[],"en":"Download trace (.csv)"},{"xloc":["default.handlebars-\u003e17-\u003e785"],"en":"Korean (North Korea)"},{"xloc":["default.handlebars-\u003e17-\u003e196","default.handlebars-\u003e17-\u003e979","default.handlebars-\u003e17-\u003e977","default.handlebars-\u003e17-\u003e194"],"en":"Activation","cs":"Aktivace"},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003e1-\u003etwintab64"],"en":"Windows 64bit"},{"xloc":["login-mobile.handlebars-\u003e5-\u003e8","login.handlebars-\u003e5-\u003e8"],"en":"Invalid email."},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003ewintab32-\u003e1"],"en":"Microsoft™ Windows 32bit"},{"xloc":[],"en":"5.noVNC - Mozilla Public License 2.0"},{"xloc":["default.handlebars-\u003e17-\u003e1128"],"en":"Event List Export"},{"xloc":[],"en":"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."},{"xloc":["default.handlebars-\u003e17-\u003e569"],"en":", Soft-KVM"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3"],"en":"Play","fr":"Jouer"},{"xloc":["default.handlebars-\u003e17-\u003e663"],"en":"Soft disconnect agent"},{"xloc":["default.handlebars-\u003e17-\u003e998","default.handlebars-\u003e17-\u003e994","default.handlebars-\u003e17-\u003e964"],"en":"Simple Client Control Mode (CCM)"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep0-\u003ep0message-\u003e2-\u003e0","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep0-\u003e1-\u003ep0message-\u003e2-\u003e0"],"en":"click to reconnect","cs":"klikni pro opětovné připojení"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13title-\u003e3"],"en":"Files -","cs":"Soubory -","fr":"Dossiers -"},{"xloc":[],"en":"Toggle focus mode, when active only the region around the mouse is updated"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e141","default.handlebars-\u003e17-\u003e401"],"en":"Windows 32bit console"},{"xloc":["default.handlebars-\u003e17-\u003e873"],"en":"Xhosa"},{"xloc":["default.handlebars-\u003e17-\u003e51"],"en":"Last agent connection","fr":"Dernière connexion de l\u0027agent"},{"xloc":["default.handlebars-\u003e17-\u003e809"],"en":"Portuguese"},{"xloc":["default.handlebars-\u003e17-\u003e657"],"en":"Perform Agent Action","cs":"Akce agenta"},{"xloc":["default.handlebars-\u003e17-\u003e747"],"en":"French (Belgium)"},{"xloc":["default.handlebars-\u003e17-\u003e181"],"en":"Connect All"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e263","default.handlebars-\u003e17-\u003e638"],"en":"Holding {0} entries for move"},{"xloc":["default.handlebars-\u003e17-\u003e848"],"en":"Spanish (Spain)"},{"xloc":["default.handlebars-\u003e17-\u003e1015"],"en":"This policy will not impact devices with Intel® AMT in ACM mode."},{"xloc":["default.handlebars-\u003e17-\u003e1287"],"en":"Up to date"},{"xloc":["player.htm-\u003e3-\u003e5"],"en":"UserID","fr":"Identifiant d\u0027utilisateur"},{"xloc":["default.handlebars-\u003e17-\u003e154","default.handlebars-\u003e17-\u003e340","default.handlebars-\u003e17-\u003e467"],"en":"Mesh agent is reachable using another agent as relay."},{"xloc":["default.handlebars-\u003e17-\u003e212"],"en":"Perform Intel AMT client control mode (CCM) activation to group \\\"{0}\\\" by downloading the MeshCMD tool and running it like this:"},{"xloc":["default.handlebars-\u003e17-\u003e1263","default.handlebars-\u003e17-\u003e1279"],"en":"Intel AMT"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpanel-\u003e1-\u003e5-\u003e1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpanel-\u003e1-\u003e5-\u003e1"],"en":"Account Reset","cs":"Reset hesla"},{"xloc":["default.handlebars-\u003e17-\u003e361"],"en":"Delete Nodes","cs":"Smazat nody"},{"xloc":["default.handlebars-\u003e17-\u003e776"],"en":"Italian (Switzerland)"},{"xloc":[],"en":"Enable browser notification","cs":"Zapnout notifikace v prohlížeči"},{"xloc":["login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpasswordpanel-\u003e1-\u003e7-\u003e1-\u003e2-\u003ernuPass2","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpasswordpanel-\u003e1-\u003e7-\u003e1-\u003e0-\u003ernuPass1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresetpasswordpanel-\u003e1-\u003e7-\u003e1-\u003e2-\u003ernuPass2","default.handlebars-\u003e17-\u003e893","default.handlebars-\u003e17-\u003e894","default-mobile.handlebars-\u003e9-\u003e36","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e9-\u003e1-\u003e6-\u003enuPass2","default-mobile.handlebars-\u003e9-\u003e37","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e9-\u003e1-\u003e6-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresetpasswordpanel-\u003e1-\u003e7-\u003e1-\u003e0-\u003ernuPass1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e9-\u003e1-\u003e4-\u003e1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eloginpanel-\u003e1-\u003e7-\u003e1-\u003e2-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eloginpanel-\u003e1-\u003e7-\u003e1-\u003e2-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e9-\u003e1-\u003e4-\u003enuPass1"],"en":"Password:","cs":"Heslo:","fr":"Mot de passe:"},{"xloc":["default.handlebars-\u003e17-\u003e706"],"en":"Belarusian"},{"xloc":["default.handlebars-\u003e17-\u003e1039"],"en":"Group permissions for user {0}."},{"xloc":["default.handlebars-\u003e17-\u003e1101","default.handlebars-\u003e17-\u003e617","default.handlebars-\u003e17-\u003e345","default.handlebars-\u003emeshContextMenu-\u003ecxselectnone"],"en":"Select None","cs":"Vybrat nic","fr":"Rien sélectionner"},{"xloc":["default.handlebars-\u003e17-\u003e934"],"en":"servererrors.txt"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarView-\u003eviewselect-\u003e5","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarViewIcons"],"en":"Desktops","cs":"Desktopy"},{"xloc":["default.handlebars-\u003e17-\u003e1252"],"en":"CPU load in the last minute","cs":"CPU zatížení v poslední minutě"},{"xloc":["default.handlebars-\u003e17-\u003e805"],"en":"Oriya"},{"xloc":["messenger.handlebars-\u003e13-\u003e3"],"en":"Connection closed."},{"xloc":["default.handlebars-\u003e17-\u003e544"],"en":"No other device group of same type exists."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e58"],"en":"Create Device Group","cs":"Vytvořit skupinu zařízení"},{"xloc":["default.handlebars-\u003e17-\u003e95"],"en":"Try again.","cs":"Zkusit znovu."},{"xloc":["default.handlebars-\u003e17-\u003e283"],"en":"Linux / BSD (UnInstall)"},{"xloc":["default.handlebars-\u003e17-\u003e74"],"en":"Current Version"},{"xloc":["default.handlebars-\u003e17-\u003e251"],"en":"Any supported"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e1","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e1"],"en":"Agent Remote Desktop"},{"xloc":["default.handlebars-\u003e17-\u003e271","default.handlebars-\u003e17-\u003e257"],"en":"8 hours","cs":"8 hodin","fr":"8 heures"},{"xloc":["default.handlebars-\u003e17-\u003e85"],"en":"Enter the token here for 2-step login:"},{"xloc":["default.handlebars-\u003e17-\u003e773"],"en":"Inuktitut","fr":"Inuktitut"},{"xloc":["default.handlebars-\u003e17-\u003e351"],"en":"Wake-up devices","cs":"Probudit zařízení"},{"xloc":["default.handlebars-\u003econtainer-\u003edialog-\u003edialogBody-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e7","default-mobile.handlebars-\u003edialog-\u003e3-\u003edialog7-\u003ed7meshkvm-\u003e5-\u003ed7bitmapscaling-\u003e7"],"en":"62.5%"},{"xloc":["default.handlebars-\u003e17-\u003e522"],"en":"Download power events"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep20-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003e1-\u003e1-\u003e0-\u003e1-\u003e3"],"en":"◀"},{"xloc":["default.handlebars-\u003e17-\u003e131"],"en":"{0} hour{1}","cs":"{0} hodina{1}"},{"xloc":["default.handlebars-\u003etermShellContextMenuLinux-\u003ecxtermps"],"en":"User Shell"},{"xloc":[],"en":"Settings...","cs":"Nastavení...","fr":"Paramètres..."},{"xloc":["agentinvite.handlebars-\u003econtainer-\u003ecolumn_l-\u003e5-\u003elinuxtab-\u003e3"],"en":"To install, cut and paste the following command in a root terminal.","cs":"Pro instalaci spusťte následující příkaz s právy uživatele root."},{"xloc":["default.handlebars-\u003e17-\u003e586"],"en":"Interactive"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003ebigok-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountSecurity-\u003e3-\u003emanageAuthApp-\u003e0-\u003eauthAppSetupCheck-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13filetable-\u003ep13bigok-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountSecurity-\u003e3-\u003emanageHardwareOtp-\u003e0-\u003eauthKeySetupCheck-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5filetable-\u003ebigok-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountSecurity-\u003e3-\u003emanageOtp-\u003e0-\u003eauthCodesSetupCheck-\u003e0"],"en":"✓"},{"xloc":["default.handlebars-\u003e17-\u003e5","default.handlebars-\u003e17-\u003e322","default-mobile.handlebars-\u003e9-\u003e101","default-mobile.handlebars-\u003e9-\u003e108"],"en":"Hibernating"},{"xloc":["default.handlebars-\u003e17-\u003e1218"],"en":"{0} groups"},{"xloc":["player.htm-\u003ep11-\u003edialog-\u003edialogHeader-\u003eid_dialogclose","default.handlebars-\u003econtainer-\u003edialog-\u003edialogHeader-\u003eid_dialogclose","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea1-\u003e3-\u003eidx_deskFullBtn2"],"en":"✖"},{"xloc":["player.htm-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003ebigfail-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5filetable-\u003ebigfail-\u003e0","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13filetable-\u003ep13bigfail-\u003e0"],"en":"✗"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e89","default.handlebars-\u003e17-\u003e145"],"en":", Intel® AMT only"},{"xloc":["default.handlebars-\u003e17-\u003e967","default.handlebars-\u003e17-\u003e965"],"en":" + CIRA","fr":"+ CIRA"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep4-\u003e3-\u003e1-\u003e0-\u003e3-\u003e1-\u003e5"],"en":"Batch create many user accounts"},{"xloc":["default.handlebars-\u003e17-\u003e1190"],"en":"Server Updates"},{"xloc":["default.handlebars-\u003e17-\u003e1202"],"en":"Not set"},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003eresettokenpanel-\u003e1-\u003e5-\u003e1-\u003e0-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003eresettokenpanel-\u003e1-\u003e5-\u003e1-\u003e0-\u003e1","login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003etokenpanel-\u003e1-\u003e7-\u003e1-\u003e0-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003etokenpanel-\u003e1-\u003e7-\u003e1-\u003e0-\u003e1"],"en":"Login token:"},{"xloc":["default.handlebars-\u003e17-\u003e1207","default.handlebars-\u003e17-\u003e1206","default-mobile.handlebars-\u003e9-\u003e34","default.handlebars-\u003e17-\u003e1233","default.handlebars-\u003e17-\u003e247","default.handlebars-\u003e17-\u003e1173"],"en":"Email"},{"xloc":["default.handlebars-\u003e17-\u003e1262"],"en":"Relay Sessions"},{"xloc":["default.handlebars-\u003e17-\u003e1158","default.handlebars-\u003e17-\u003e1160"],"en":"Invalid JSON file format."},{"xloc":["default.handlebars-\u003e17-\u003e500","default.handlebars-\u003e17-\u003e499","default-mobile.handlebars-\u003e9-\u003e198"],"en":"Intel® AMT connected"},{"xloc":["default.handlebars-\u003e17-\u003e461","default.handlebars-\u003e17-\u003e334","default.handlebars-\u003e17-\u003e148"],"en":"Mesh agent is connected and ready for use.","cs":"Agent je připojen a připraven."},{"xloc":["default.handlebars-\u003e17-\u003e1121"],"en":"p5filetable"},{"xloc":["default.handlebars-\u003e17-\u003e1283"],"en":"Server Tracing"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep1-\u003edevListToolbarSpan-\u003e1-\u003e0-\u003e9-\u003edevListToolbarSize-\u003esizeselect-\u003e1"],"en":"Small","cs":"Malé","fr":"Petit"},{"xloc":["default.handlebars-\u003e17-\u003e1231"],"en":"1 active session","cs":"1 session aktivní","fr":"1 session active"},{"xloc":["login.handlebars-\u003e5-\u003e7","login-mobile.handlebars-\u003e5-\u003e7"],"en":"Password rejected, use a different one."},{"xloc":["default.handlebars-\u003e17-\u003e232","default.handlebars-\u003e17-\u003e239"],"en":"Root Certificate","fr":"Certificat Racine"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e137","default.handlebars-\u003e17-\u003e1216","default-mobile.handlebars-\u003e9-\u003e193","default-mobile.handlebars-\u003e9-\u003e90","default.handlebars-\u003e17-\u003e397","default.handlebars-\u003e17-\u003e1220","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep41-\u003e3-\u003e3-\u003ep41traceStatus","default.handlebars-\u003e17-\u003e395","default-mobile.handlebars-\u003e9-\u003e72","default.handlebars-\u003e17-\u003e130","default.handlebars-\u003e17-\u003e1093","default-mobile.handlebars-\u003e9-\u003e242","default.handlebars-\u003e17-\u003e387","default.handlebars-\u003e17-\u003e956","default.handlebars-\u003e17-\u003e147","default.handlebars-\u003e17-\u003e146","default.handlebars-\u003e17-\u003e944","default.handlebars-\u003e17-\u003e472","default.handlebars-\u003e17-\u003e940","default-mobile.handlebars-\u003e9-\u003e135","default-mobile.handlebars-\u003e9-\u003e130","default-mobile.handlebars-\u003e9-\u003e92","default.handlebars-\u003e17-\u003e27","default-mobile.handlebars-\u003e9-\u003e276","default.handlebars-\u003e17-\u003e961"],"en":"None","cs":"Nic","fr":"Aucun"},{"xloc":["default.handlebars-\u003e17-\u003e547","default-mobile.handlebars-\u003e9-\u003e215"],"en":"Delete Node"},{"xloc":["default.handlebars-\u003e17-\u003e846"],"en":"Spanish (Peru)"},{"xloc":[],"en":"The following are the required disclosures of open source components and software incorporated into this software."},{"xloc":["login-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003e1-\u003e1-\u003e0-\u003e1-\u003ecreatepanel-\u003e1-\u003e1-\u003e9-\u003e1-\u003e12-\u003e1-\u003e1","login.handlebars-\u003econtainer-\u003ecolumn_l-\u003ecentralTable-\u003e1-\u003e0-\u003elogincell-\u003ecreatepanel-\u003e1-\u003e9-\u003e1-\u003e12-\u003e1-\u003e1","default.handlebars-\u003e17-\u003e1181"],"en":"Create Account"},{"xloc":["default.handlebars-\u003e17-\u003e1037"],"en":" Users need to login to this server once before they can be added to a device group.","fr":"Les utilisateurs doivent se connecter une fois sur ce serveur avant de pouvoir être ajoutés à un groupe de périphériques.."},{"xloc":["default.handlebars-\u003e17-\u003e662"],"en":"Upload a core file"},{"xloc":["default.handlebars-\u003e17-\u003e320","default-mobile.handlebars-\u003e9-\u003e107"],"en":"Deep Sleep"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep13sortdropdown-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep13-\u003ep13toolbar-\u003e1-\u003e4-\u003e1-\u003e1-\u003ep13sortdropdown-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea3x-\u003eDeskTools-\u003edeskToolsArea-\u003eDeskToolsProcessTab-\u003edeskToolsHeader","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003ep5myfiles-\u003ep5toolbar-\u003e1-\u003e2-\u003e1-\u003e1-\u003e1-\u003e0-\u003e3-\u003ep5sortdropdown-\u003e1","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep5-\u003ep5toolbar-\u003e1-\u003e2-\u003ep5filesubhead-\u003e1-\u003ep5sortdropdown-\u003e1"],"en":"Sort by name","cs":"Třídit podle jména","fr":"Trier par nom"},{"xloc":["default.handlebars-\u003e17-\u003e1273"],"en":"MeshAgent update"},{"xloc":["default.handlebars-\u003e17-\u003e1185"],"en":"Administrative Realms"},{"xloc":["default.handlebars-\u003e17-\u003e1090"],"en":"{0} kilobytes remaining","cs":"{0} kilobytů zbývá"},{"xloc":["default.handlebars-\u003e17-\u003e42"],"en":"Part Number","fr":"Numéro d\u0027article"},{"xloc":["default.handlebars-\u003e17-\u003e1062","default-mobile.handlebars-\u003e9-\u003e293","default.handlebars-\u003e17-\u003e1043","default-mobile.handlebars-\u003e9-\u003e311"],"en":"Manage Device Group Computers","cs":"Správa skupin zařízení"},{"xloc":["default.handlebars-\u003e17-\u003e1222"],"en":"Authentication App"},{"xloc":["default.handlebars-\u003e17-\u003e362"],"en":"Modify node location"},{"xloc":[],"en":"Tools","cs":"Nástroje","fr":"Outils"},{"xloc":["default.handlebars-\u003e17-\u003e734"],"en":"English (Philippines)"},{"xloc":["default.handlebars-\u003e17-\u003e630","default-mobile.handlebars-\u003e9-\u003e255"],"en":"Confirm copy of 1 entrie to this location?"},{"xloc":["default.handlebars-\u003e17-\u003e534"],"en":"Are you sure you want to uninstall selected agent?"},{"xloc":["default.handlebars-\u003e17-\u003e786"],"en":"Korean (South Korea)"},{"xloc":["default.handlebars-\u003e17-\u003e381"],"en":"Select a node to place"},{"xloc":["default.handlebars-\u003e17-\u003e779"],"en":"Kashmiri"},{"xloc":[],"en":"This software uses code from"},{"xloc":["default.handlebars-\u003e17-\u003e213","default.handlebars-\u003e17-\u003e216"],"en":"Intel® AMT activation"},{"xloc":["default.handlebars-\u003e17-\u003e991","default.handlebars-\u003e17-\u003e966"],"en":"Simple Admin Control Mode (ACM)"},{"xloc":["default.handlebars-\u003e17-\u003e732"],"en":"English (Jamaica)"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e246","default.handlebars-\u003e17-\u003e621"],"en":"\u003cinput type=checkbox id=p13recdeleteinput style=\u0027display:none\u0027\u003e"},{"xloc":["default.handlebars-\u003e17-\u003e1179"],"en":"Send invitation email.","cs":"Zaslat pozvánku emailem.","fr":"Envoyer un email d\u0027invitation."},{"xloc":["default.handlebars-\u003e17-\u003e1154","default.handlebars-\u003e17-\u003e1159","default.handlebars-\u003e17-\u003e1155","default.handlebars-\u003e17-\u003e1157"],"en":"User Account Import"},{"xloc":["default.handlebars-\u003e17-\u003e746"],"en":"French (Standard)"},{"xloc":[],"en":"Copy","cs":"Kopírovat"},{"xloc":["default.handlebars-\u003e17-\u003e847"],"en":"Spanish (Puerto Rico)"},{"xloc":["default.handlebars-\u003e17-\u003e1083","default-mobile.handlebars-\u003e9-\u003e331"],"en":"Confirm removal of user {0}?"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e66"],"en":"Storage exceed","cs":"Uložiště plné","fr":"Stockage dépassent"},{"xloc":["login.handlebars-\u003e5-\u003e24","login-mobile.handlebars-\u003e5-\u003e24","login.handlebars-\u003e5-\u003e20","login-mobile.handlebars-\u003e5-\u003e20"],"en":"Strong Password","cs":"Silné heslo","fr":"Mot de passe fort"},{"xloc":["default.handlebars-\u003e17-\u003e1139"],"en":"No users found.","cs":"Žádný uživatele nalezen."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e223"],"en":"Group1, Group2, Group3","cs":"Skupina1, Skupina2, Skupina3","fr":"Groupe1, Groupe2, Groupe3"},{"xloc":["default.handlebars-\u003e17-\u003e241"],"en":"Organization","fr":"Organisation"},{"xloc":["default.handlebars-\u003e17-\u003e788"],"en":"Latvian"},{"xloc":["default.handlebars-\u003e17-\u003e440"],"en":"Intel AMT is activated in Admin Control Mode"},{"xloc":["default.handlebars-\u003e17-\u003e936","default.handlebars-\u003e17-\u003e914","default-mobile.handlebars-\u003e9-\u003e272"],"en":"Intel® AMT only, no agent"},{"xloc":["default.handlebars-\u003e17-\u003e327","default-mobile.handlebars-\u003e9-\u003e111"],"en":"Device is powered","cs":"Zařízení je zapnuto"},{"xloc":["default.handlebars-\u003e17-\u003e243"],"en":"Add Intel® AMT CIRA device"},{"xloc":["default.handlebars-\u003e17-\u003e860"],"en":"Tigre"},{"xloc":["default.handlebars-\u003e17-\u003e974","default.handlebars-\u003e17-\u003e189"],"en":"Add a new Intel® AMT computer that is located on the local network."},{"xloc":["default.handlebars-\u003e17-\u003e953"],"en":"Files Notify"},{"xloc":["default.handlebars-\u003e17-\u003e631","default-mobile.handlebars-\u003e9-\u003e256"],"en":"Confirm move of {0} entries\u0027s to this location?"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e1"],"en":"Toggle tools view","cs":"Přepnout zobrazení nástrojů"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003e1"],"en":"My Server Plugins","fr":"Mes plugins serveur"},{"xloc":["default.handlebars-\u003e17-\u003e1166"],"en":"User List Export"},{"xloc":["default.handlebars-\u003e17-\u003e192"],"en":"Scan Network"},{"xloc":[],"en":"http://creativecommons.org/licenses/by/2.0/uk/legalcode"},{"xloc":["default.handlebars-\u003e17-\u003e129"],"en":" without TLS.","cs":" bez TLS.","fr":"sans TLS."},{"xloc":["default.handlebars-\u003e17-\u003e921"],"en":"Weak","cs":"Slabé","fr":"Faible"},{"xloc":[],"en":"{{{meshname}}}"},{"xloc":["default.handlebars-\u003e17-\u003e182"],"en":"Are you sure you want to connect to {0} devices?"},{"xloc":["default.handlebars-\u003e17-\u003e140"],"en":"Please be aware that downgrading is not recommended. Please only do so in the event that a recent upgrade has broken something."},{"xloc":["default.handlebars-\u003e17-\u003e1266"],"en":"ServerStats.csv"},{"xloc":[],"en":"http://www.webtoolkit.info/javascript-base64.html"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003ep12warning-\u003e3-\u003ep12warninga","default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003ep11warning-\u003e3-\u003ep11warninga"],"en":", click here to enable it.","cs":", zde kliknout pro aktivaci."},{"xloc":["default.handlebars-\u003e17-\u003e1259"],"en":"Agents","cs":"Agenti"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep12-\u003etermTable-\u003e1-\u003e1-\u003e6-\u003e1-\u003e1-\u003eterminalSizeDropDown-\u003etermSizeList-\u003e1"],"en":"100x30"},{"xloc":[],"en":"meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://"},{"xloc":["default.handlebars-\u003e17-\u003e700"],"en":"Armenian"},{"xloc":["default.handlebars-\u003e17-\u003e769"],"en":"Hindi"},{"xloc":["default.handlebars-\u003e17-\u003e868"],"en":"Venda"},{"xloc":["player.htm-\u003e3-\u003e10"],"en":"NodeID"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e248","default-mobile.handlebars-\u003e9-\u003e79","default.handlebars-\u003e17-\u003e1108","default.handlebars-\u003e17-\u003e623"],"en":"Delete {0} selected items?","cs":"Smazat {0} vybrané prvky?"},{"xloc":["player.htm-\u003e3-\u003e11"],"en":"MeshCentral Terminal"},{"xloc":["default.handlebars-\u003e17-\u003e268"],"en":"Invite someone to install the mesh agent by sharing an invitation link. This link points the user to installation instructions for the \\\"{0}\\\" device group. The link is public and no account for this server is needed.","cs":"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.","fr":"Invitez quelqu\u0027un à installer l\u0027agent de maillage en partageant un lien d\u0027invitation. Ce lien renvoie l\u0027utilisateur aux instructions d\u0027installation du groupe de périphériques \\\"{0}\\\". Le lien est public et aucun compte n\u0027est requis pour ce serveur."},{"xloc":["default.handlebars-\u003e17-\u003e1007","default.handlebars-\u003e17-\u003e1012"],"en":"Don\\\u0027t configure"},{"xloc":["default.handlebars-\u003e17-\u003e820"],"en":"Sami (Lappish)"},{"xloc":["default.handlebars-\u003e17-\u003e450","default.handlebars-\u003e17-\u003e968","default.handlebars-\u003e17-\u003e960","default.handlebars-\u003e17-\u003e368","default-mobile.handlebars-\u003e9-\u003e120","default-mobile.handlebars-\u003e9-\u003e184","default-mobile.handlebars-\u003e9-\u003e189","default.handlebars-\u003e17-\u003e466"],"en":"Intel® AMT"},{"xloc":["default.handlebars-\u003e17-\u003e707"],"en":"Bengali"},{"xloc":["default.handlebars-\u003e17-\u003e1141"],"en":"1 session","fr":"1 session"},{"xloc":["default.handlebars-\u003e17-\u003e538"],"en":"Uninstall agent"},{"xloc":["default.handlebars-\u003e17-\u003e24","default-mobile.handlebars-\u003e9-\u003e13"],"en":" - Reset in {0} day{1}.","cs":" - Reset v {0} den{1}.","fr":"- Réinitialiser dans le {0} jour {1}."},{"xloc":["default.handlebars-\u003e17-\u003e588"],"en":"OwnProcess"},{"xloc":[],"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."},{"xloc":["default-mobile.handlebars-\u003e9-\u003e151","default.handlebars-\u003e17-\u003e411"],"en":"MacOS 32bit"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep3-\u003ep3info-\u003e1-\u003ep3AccountActions-\u003e5-\u003e0"],"en":"Account Actions"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e166","default.handlebars-\u003e17-\u003e426"],"en":"ARMv8 64bit"},{"xloc":["default.handlebars-\u003e17-\u003e704"],"en":"Basque"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep6-\u003e3","default.handlebars-\u003econtainer-\u003etopbar-\u003e1-\u003e1-\u003eMainMenuSpan-\u003e1-\u003e0-\u003eMainMenuMyServer"],"en":"My Server","cs":"Můj server","fr":"Mon Serveur"},{"xloc":["default.handlebars-\u003e17-\u003e1241"],"en":"Remove all 2nd factor authentication."},{"xloc":["default.handlebars-\u003e17-\u003e731"],"en":"English (Ireland)"},{"xloc":["default.handlebars-\u003e17-\u003e231"],"en":" and authenticate to the server using this username and any password.","fr":"et vous authentifier sur le serveur en utilisant ce nom d\u0027utilisateur et n\u0027importe quel mot de passe."},{"xloc":["default.handlebars-\u003e17-\u003e1148"],"en":"Administrator"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e1-\u003ep40time-\u003e7"],"en":"Last week","cs":"Poslední týden","fr":"Dernière semaine"},{"xloc":["default.handlebars-\u003e17-\u003e414","default-mobile.handlebars-\u003e9-\u003e154"],"en":"Android APK"},{"xloc":["default.handlebars-\u003e17-\u003e560"],"en":"Network Router","fr":"Routeur réseau"},{"xloc":["default.handlebars-\u003e17-\u003e946"],"en":"Desktop Prompt+Toolbar"},{"xloc":["default.handlebars-\u003e17-\u003e280"],"en":"Linux / BSD"},{"xloc":["default.handlebars-\u003e17-\u003e296"],"en":"{0} settings (.msh)"},{"xloc":["default.handlebars-\u003e17-\u003e883"],"en":"Device connections."},{"xloc":[],"en":"Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:"},{"xloc":["default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep5-\u003ep5myfiles-\u003ep5toolbar-\u003e1-\u003e0-\u003e1-\u003e1","default-mobile.handlebars-\u003econtainer-\u003epage_content-\u003ecolumn_l-\u003ep10-\u003ep10files-\u003ep13toolbar-\u003e1-\u003e2-\u003e1-\u003e1"],"en":"Folder","cs":"Adresář","fr":"Dossier"},{"xloc":["default.handlebars-\u003e17-\u003e681"],"en":"Albanian"},{"xloc":["default.handlebars-\u003e17-\u003e228"],"en":"Cleanup CIRA"},{"xloc":["default.handlebars-\u003e17-\u003e1291"],"en":"More","cs":"Více","fr":"Plus"},{"xloc":["default.handlebars-\u003etermShellContextMenu-\u003ecxtermps"],"en":"PowerShell Connect","cs":"PowerShell připojen"},{"xloc":["default.handlebars-\u003e17-\u003e826"],"en":"Serbian"},{"xloc":["default.handlebars-\u003e17-\u003e553"],"en":"Windows (32bit)"},{"xloc":["default.handlebars-\u003e17-\u003e405","default-mobile.handlebars-\u003e9-\u003e145"],"en":"Linux 32bit"},{"xloc":["default.handlebars-\u003e17-\u003e688"],"en":"Arabic (Kuwait)"},{"xloc":["messenger.handlebars-\u003e13-\u003e7"],"en":"Connected.","cs":"Připojeno."},{"xloc":["messenger.handlebars-\u003e13-\u003e5","messenger.handlebars-\u003e13-\u003e4"],"en":"Limit of 10 file uploads at the same time.","cs":"Max. 10 souběžně nahrávaných souborů."},{"xloc":["login-mobile.handlebars-\u003e5-\u003e18","login.handlebars-\u003e5-\u003e18"],"en":"Forgot password?","cs":"Zapomenuté heslo?","fr":"Mot de passe oublié?"},{"xloc":["login.handlebars-\u003e5-\u003e15","login-mobile.handlebars-\u003e5-\u003e15"],"en":"Password change requested."},{"xloc":["default.handlebars-\u003e17-\u003e406","default-mobile.handlebars-\u003e9-\u003e146"],"en":"Linux 64bit"},{"xloc":["default.handlebars-\u003e17-\u003e710"],"en":"Burmese"},{"xloc":["default.handlebars-\u003e17-\u003e356"],"en":"Delete devices"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep2-\u003ep2AccountSecurity-\u003e1-\u003e0"],"en":"Account security","cs":"Nastavení bezpečnosti"},{"xloc":["default.handlebars-\u003e17-\u003e82"],"en":"Download error log"},{"xloc":["default.handlebars-\u003e17-\u003e949"],"en":"Desktop Notify"},{"xloc":["default.handlebars-\u003e17-\u003e815"],"en":"Rhaeto-Romanic"},{"xloc":[],"en":"Terms of use","fr":"Conditions d\u0027utilisation"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep11-\u003edeskarea0-\u003edeskarea4-\u003e3-\u003edeskkeys-\u003e25"],"en":"Win+Right"},{"xloc":["default.handlebars-\u003e17-\u003e760"],"en":"German (Austria)"},{"xloc":["default.handlebars-\u003e17-\u003e759"],"en":"German (Standard)"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep42-\u003epluginNoneNotice-\u003e0"],"en":"No plugins on server."},{"xloc":["default.handlebars-\u003e17-\u003e748"],"en":"French (Canada)"},{"xloc":["default.handlebars-\u003e17-\u003e437","default-mobile.handlebars-\u003e9-\u003e177"],"en":"Unknown Version & State","fr":"Version et état inconnus"},{"xloc":["default.handlebars-\u003e17-\u003e195","default.handlebars-\u003e17-\u003e978"],"en":"Perform Intel AMT admin control mode (ACM) activation."},{"xloc":["default.handlebars-\u003e17-\u003e852"],"en":"Swahili"},{"xloc":["default.handlebars-\u003e17-\u003e465"],"en":"Intel® AMT is routable and ready for use."},{"xloc":["default.handlebars-\u003e17-\u003e336","default.handlebars-\u003e17-\u003e150","default.handlebars-\u003e17-\u003e463"],"en":"Intel® AMT CIRA is connected and ready for use."},{"xloc":["default.handlebars-\u003e17-\u003e171"],"en":"MeshCmd"},{"xloc":["default-mobile.handlebars-\u003e9-\u003e161","default.handlebars-\u003e17-\u003e421"],"en":"Windows MinCore console"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep6-\u003ep2ServerActions-\u003e3-\u003ep2ServerActionsVersion-\u003e0"],"en":"Check server version","cs":"Zkontrolovat verzi serveru"},{"xloc":["default.handlebars-\u003e17-\u003e1048","default-mobile.handlebars-\u003e9-\u003e298"],"en":"No File Access","fr":"Pas d\u0027accès au fichier"},{"xloc":["default.handlebars-\u003econtainer-\u003ecolumn_l-\u003ep40-\u003e3-\u003e1-\u003ep40time-\u003e5"],"en":"Last day","cs":"Poslední den","fr":"Dernier jour"},{"xloc":["default.handlebars-\u003e17-\u003e764"],"en":"German (Switzerland)"},{"xloc":["login.handlebars-\u003e5-\u003e12","login-mobile.handlebars-\u003e5-\u003e12"],"en":"Account locked."},{"xloc":["default.handlebars-\u003e17-\u003e263"],"en":"Background and interactive"}]}
\ No newline at end of file
translate/translate.js
+7
-1
@@ -25,6 +25,8 @@ var meshCentralSourceFiles = [
25
"../views/error404-mobile.handlebars",
26
"../views/login.handlebars",
27
"../views/login-mobile.handlebars",
28
+ "../views/terms.handlebars",
29
+ "../views/terms-mobile.handlebars",
30
"../views/message.handlebars",
31
"../views/messenger.handlebars",
32
"../public/player.htm"
@@ -206,7 +208,11 @@ function extract(langFile, sources) {
208
}
209
for (var i = 0; i < sources.length; i++) { extractFromHtml(sources[i]); }
210
var count = 0, output = [];
209
- for (var i in sourceStrings) { count++; sourceStrings[i]['en'] = i; output.push(sourceStrings[i]); }
211
+ for (var i in sourceStrings) {
212
+ count++;
213
+ sourceStrings[i]['en'] = i;
214
+ if ((sourceStrings[i].xloc != null) && (sourceStrings[i].xloc.length > 0)) { output.push(sourceStrings[i]); } // Only save results that have a source location.
215
+ }
216
fs.writeFileSync(langFile, JSON.stringify({ 'strings': output }, null, ' '), { flag: 'w+' });
217
console.log(format("{0} strings in output file.", count));
218
process.exit();
translate/translate.json
+1
-9817
@@ -1,9817 +1 @@
1
-{
2
- "strings": [
3
- {
4
- "en": "0",
5
- "xloc": [
6
- "default.handlebars->container->masthead->5->notificationCount",
7
- "default-mobile.handlebars->9->229"
8
- ]
9
- },
10
- {
11
- "en": "3",
12
- "xloc": [
13
- "default-mobile.handlebars->9->267"
14
- ]
15
- },
16
- {
17
- "en": "404",
18
- "xloc": [
19
- "error404.handlebars->container->column_l->1->0"
20
- ]
21
- },
22
- {
23
- "en": "Kirghiz",
24
- "xloc": [
25
- "default.handlebars->13->767"
26
- ]
27
- },
28
- {
29
- "en": "Storage limit exceed",
30
- "cs": "Překročen limit pro ukládání",
31
- "xloc": [
32
- "default.handlebars->13->1071"
33
- ]
34
- },
35
- {
36
- "en": "Focus All",
37
- "xloc": [
38
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1"
39
- ]
40
- },
41
- {
42
- "en": "Reset Password",
43
- "fr": "Réinitialiser le mot de passe",
44
- "cs": "Reset hesla",
45
- "xloc": [
46
- "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpasswordpanel->1->7->1->6->1->1",
47
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpasswordpanel->1->7->1->6->1->1"
48
- ]
49
- },
50
- {
51
- "en": "Windows (.exe)",
52
- "xloc": [
53
- "default.handlebars->13->283",
54
- "default.handlebars->13->297"
55
- ]
56
- },
57
- {
58
- "en": "Delete selected item?",
59
- "cs": "Smazat vybraný prvek?",
60
- "xloc": [
61
- "default.handlebars->13->609",
62
- "default.handlebars->13->1092",
63
- "default-mobile.handlebars->9->80",
64
- "default-mobile.handlebars->9->249"
65
- ]
66
- },
67
- {
68
- "en": "Faeroese",
69
- "xloc": [
70
- "default.handlebars->13->727"
71
- ]
72
- },
73
- {
74
- "en": "MeshServerRootCert.cer",
75
- "xloc": [
76
- "default.handlebars->13->225"
77
- ]
78
- },
79
- {
80
- "en": "Turkmen",
81
- "xloc": [
82
- "default.handlebars->13->849"
83
- ]
84
- },
85
- {
86
- "en": "Spanish (Colombia)",
87
- "xloc": [
88
- "default.handlebars->13->820"
89
- ]
90
- },
91
- {
92
- "en": "Console",
93
- "cs": "Konzole",
94
- "xloc": [
95
- "default.handlebars->contextMenu->cxconsole",
96
- "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevConsole",
97
- "default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerConsole"
98
- ]
99
- },
100
- {
101
- "en": "Windows MinCore service",
102
- "xloc": [
103
- "default.handlebars->13->412",
104
- "default-mobile.handlebars->9->162"
105
- ]
106
- },
107
- {
108
- "en": "Perform power actions on the device",
109
- "fr": "Effectuer des actions d'alimentation sur le périphérique",
110
- "cs": "Akce napájení",
111
- "xloc": [
112
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1",
113
- "default.handlebars->container->column_l->p12->termTable->1->1->0->1->1",
114
- "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->1",
115
- "default.handlebars->13->464"
116
- ]
117
- },
118
- {
119
- "en": "Unable to scan this address range.",
120
- "cs": "Nelze skenovat tento rozsah.",
121
- "xloc": [
122
- "default.handlebars->13->123"
123
- ]
124
- },
125
- {
126
- "en": "MeshCentral Router",
127
- "xloc": [
128
- "default.handlebars->13->535"
129
- ]
130
- },
131
- {
132
- "en": "Add a new Intel® AMT computer that is located on the internet.",
133
- "xloc": [
134
- "default.handlebars->13->179",
135
- "default.handlebars->13->957"
136
- ]
137
- },
138
- {
139
- "en": "Corsican",
140
- "xloc": [
141
- "default.handlebars->13->705"
142
- ]
143
- },
144
- {
145
- "en": "Special Keys",
146
- "xloc": [
147
- "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea4->1->3",
148
- "default-mobile.handlebars->9->227"
149
- ]
150
- },
151
- {
152
- "en": "Terminal Notify",
153
- "xloc": [
154
- "default.handlebars->13->936"
155
- ]
156
- },
157
- {
158
- "en": "{0} nodes",
159
- "fr": "{0} appareil",
160
- "cs": "{0} zařízení",
161
- "xloc": [
162
- "default.handlebars->13->304"
163
- ]
164
- },
165
- {
166
- "en": "Romanian (Moldavia)",
167
- "xloc": [
168
- "default.handlebars->13->802"
169
- ]
170
- },
171
- {
172
- "en": "Reset devices",
173
- "fr": "Réinitialiser les appareils",
174
- "cs": "Reset zařízení",
175
- "xloc": [
176
- "default.handlebars->13->344"
177
- ]
178
- },
179
- {
180
- "en": "All Focus",
181
- "xloc": [
182
- "default.handlebars->13->554",
183
- "default.handlebars->13->556",
184
- "default.handlebars->13->559"
185
- ]
186
- },
187
- {
188
- "en": "Administrative Realms",
189
- "xloc": [
190
- "default.handlebars->13->1170"
191
- ]
192
- },
193
- {
194
- "en": "New Device Group",
195
- "fr": "Nouveau Group",
196
- "cs": "Nová skupina zařízení",
197
- "xloc": [
198
- "default.handlebars->13->524",
199
- "default.handlebars->13->889",
200
- "default.handlebars->13->901",
201
- "default-mobile.handlebars->9->47"
202
- ]
203
- },
204
- {
205
- "en": "Device is detected but power state could not be obtained.",
206
- "cs": "Zařízení je detekováno, ale nelze zjistit stav.",
207
- "xloc": [
208
- "default.handlebars->13->317"
209
- ]
210
- },
211
- {
212
- "en": "Serial",
213
- "xloc": [
214
- "default.handlebars->13->33"
215
- ]
216
- },
217
- {
218
- "en": "Shift+Win+M",
219
- "xloc": [
220
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->13",
221
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->15"
222
- ]
223
- },
224
- {
225
- "en": "4x Speed",
226
- "fr": "4x vitesse",
227
- "xloc": [
228
- "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->9"
229
- ]
230
- },
231
- {
232
- "en": "(wget http://",
233
- "xloc": [
234
- "agentinvite.handlebars->3->39",
235
- "agentinvite.handlebars->3->44"
236
- ]
237
- },
238
- {
239
- "en": "Android x86",
240
- "xloc": [
241
- "default.handlebars->13->402",
242
- "default-mobile.handlebars->9->152"
243
- ]
244
- },
245
- {
246
- "en": "Select All",
247
- "fr": "Tout Sélectionner",
248
- "cs": "Vybrat vše",
249
- "xloc": [
250
- "default.handlebars->meshContextMenu->cxselectall",
251
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devListToolbar",
252
- "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
253
- "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
254
- "default.handlebars->13->338",
255
- "default.handlebars->13->601",
256
- "default.handlebars->13->603",
257
- "default.handlebars->13->1085"
258
- ]
259
- },
260
- {
261
- "en": "HW Connect",
262
- "xloc": [
263
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1hspan",
264
- "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2hspan",
265
- "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3"
266
- ]
267
- },
268
- {
269
- "en": "Unknown State",
270
- "fr": "Etat inconnu",
271
- "xloc": [
272
- "default.handlebars->13->425",
273
- "default-mobile.handlebars->9->175"
274
- ]
275
- },
276
- {
277
- "en": "Antivirus",
278
- "fr": "Antivirus",
279
- "xloc": [
280
- "default.handlebars->13->449"
281
- ]
282
- },
283
- {
284
- "en": "Toggle F1 to F10 keys emulation type",
285
- "xloc": [
286
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
287
- ]
288
- },
289
- {
290
- "en": "Agent",
291
- "fr": "Agent",
292
- "cs": "Agent",
293
- "xloc": [
294
- "default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->1",
295
- "default.handlebars->13->143",
296
- "default.handlebars->13->327",
297
- "default-mobile.handlebars->9->118",
298
- "default-mobile.handlebars->9->171",
299
- "default-mobile.handlebars->9->187"
300
- ]
301
- },
302
- {
303
- "en": "To add a new computer to device group \\\"{0}\\\", download the mesh agent and install it the computer to manage. This agent has server and device group information embedded within it.",
304
- "cs": "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.",
305
- "xloc": [
306
- "default.handlebars->13->280"
307
- ]
308
- },
309
- {
310
- "en": "Reset map view",
311
- "xloc": [
312
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devMapToolbar"
313
- ]
314
- },
315
- {
316
- "en": "Power Actions...",
317
- "cs": "Akce napájení",
318
- "xloc": [
319
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1",
320
- "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea4->1->3"
321
- ]
322
- },
323
- {
324
- "en": "Identifier",
325
- "xloc": [
326
- "default.handlebars->13->35"
327
- ]
328
- },
329
- {
330
- "en": "Spanish (Puerto Rico)",
331
- "xloc": [
332
- "default.handlebars->13->832"
333
- ]
334
- },
335
- {
336
- "en": "meshagents?script=1 --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\\r\\n",
337
- "xloc": [
338
- "agentinvite.handlebars->3->46"
339
- ]
340
- },
341
- {
342
- "en": "Albanian",
343
- "xloc": [
344
- "default.handlebars->13->666"
345
- ]
346
- },
347
- {
348
- "en": "10x Speed",
349
- "fr": "10x vitesse",
350
- "xloc": [
351
- "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->11"
352
- ]
353
- },
354
- {
355
- "en": "Dutch (Standard)",
356
- "xloc": [
357
- "default.handlebars->13->710"
358
- ]
359
- },
360
- {
361
- "en": "Arabic (Morocco)",
362
- "xloc": [
363
- "default.handlebars->13->676"
364
- ]
365
- },
366
- {
367
- "en": "Add YubiKey® OTP",
368
- "xloc": [
369
- "default.handlebars->13->105"
370
- ]
371
- },
372
- {
373
- "en": "Realms",
374
- "xloc": [
375
- "default.handlebars->13->1168"
376
- ]
377
- },
378
- {
379
- "en": "UTF8 Terminal",
380
- "fr": "Terminal UTF8",
381
- "xloc": [
382
- "default.handlebars->13->587"
383
- ]
384
- },
385
- {
386
- "en": "Intel (F10 = ESC+[OM)",
387
- "xloc": [
388
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons",
389
- "default.handlebars->13->590"
390
- ]
391
- },
392
- {
393
- "en": "Verify email",
394
- "xloc": [
395
- "default.handlebars->container->column_l->p2->p2AccountActions->3->verifyEmailId->0",
396
- "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->1->verifyEmailId->0"
397
- ]
398
- },
399
- {
400
- "en": "MQTT disconnected",
401
- "xloc": [
402
- "default.handlebars->13->122"
403
- ]
404
- },
405
- {
406
- "en": "Access to server files",
407
- "xloc": [
408
- "default.handlebars->13->1183"
409
- ]
410
- },
411
- {
412
- "en": "YubiKey™ OTP",
413
- "xloc": [
414
- "default.handlebars->13->661"
415
- ]
416
- },
417
- {
418
- "en": "Send MQTT message",
419
- "fr": "Envoyer un message MQTT",
420
- "xloc": [
421
- "default.handlebars->13->521"
422
- ]
423
- },
424
- {
425
- "en": "This will add an entry to this device\\'s event log.",
426
- "xloc": [
427
- "default.handlebars->13->497"
428
- ]
429
- },
430
- {
431
- "en": "Connectivity",
432
- "xloc": [
433
- "default.handlebars->13->138",
434
- "default.handlebars->13->155",
435
- "default.handlebars->13->461",
436
- "default-mobile.handlebars->9->192"
437
- ]
438
- },
439
- {
440
- "en": "Windows",
441
- "xloc": [
442
- "default.handlebars->13->271"
443
- ]
444
- },
445
- {
446
- "en": "licensed under the"
447
- },
448
- {
449
- "en": "Klingon",
450
- "xloc": [
451
- "default.handlebars->13->768"
452
- ]
453
- },
454
- {
455
- "en": "To remove a mesh agent, run the following command. Root credentials will be needed.",
456
- "xloc": [
457
- "default.handlebars->13->301"
458
- ]
459
- },
460
- {
461
- "en": "Group1, Group2, Group3",
462
- "cs": "Skupina1, Skupina2, Skupina3",
463
- "xloc": [
464
- "default-mobile.handlebars->9->223"
465
- ]
466
- },
467
- {
468
- "en": "SessionID",
469
- "xloc": [
470
- "player.htm->3->6"
471
- ]
472
- },
473
- {
474
- "en": "eventslist.csv",
475
- "xloc": [
476
- "default.handlebars->13->1107",
477
- "default.handlebars->13->1112"
478
- ]
479
- },
480
- {
481
- "en": "ERROR: Unable to add key.",
482
- "xloc": [
483
- "default.handlebars->13->110"
484
- ]
485
- },
486
- {
487
- "en": "1 day",
488
- "fr": "1 jour",
489
- "cs": "1 den",
490
- "xloc": [
491
- "default.handlebars->13->129",
492
- "default.handlebars->13->250",
493
- "default.handlebars->13->264"
494
- ]
495
- },
496
- {
497
- "en": "Small Focus",
498
- "xloc": [
499
- "default.handlebars->13->560"
500
- ]
501
- },
502
- {
503
- "en": "Arabic (Tunisia)",
504
- "xloc": [
505
- "default.handlebars->13->681"
506
- ]
507
- },
508
- {
509
- "en": "KernelDriver",
510
- "xloc": [
511
- "default.handlebars->13->572"
512
- ]
513
- },
514
- {
515
- "en": "Tracing",
516
- "xloc": [
517
- "default.handlebars->container->column_l->p41->3->3"
518
- ]
519
- },
520
- {
521
- "en": "Connections",
522
- "xloc": [
523
- "default.handlebars->container->column_l->p40->3->1->p40type->1"
524
- ]
525
- },
526
- {
527
- "en": "Install local",
528
- "xloc": [
529
- "default.handlebars->13->960"
530
- ]
531
- },
532
- {
533
- "en": "ESC",
534
- "xloc": [
535
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3"
536
- ]
537
- },
538
- {
539
- "en": "Change the power state of the remote machine",
540
- "xloc": [
541
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1"
542
- ]
543
- },
544
- {
545
- "en": "* Leave blank to assign a random password to each device.",
546
- "xloc": [
547
- "default.handlebars->13->999"
548
- ]
549
- },
550
- {
551
- "en": "Mesh Agent",
552
- "xloc": [
553
- "default.handlebars->13->281",
554
- "default.handlebars->13->284",
555
- "default.handlebars->13->292",
556
- "default.handlebars->13->295",
557
- "default.handlebars->13->298",
558
- "default.handlebars->13->421",
559
- "default.handlebars->13->452",
560
- "default-mobile.handlebars->9->197"
561
- ]
562
- },
563
- {
564
- "en": "Spanish (Chile)",
565
- "xloc": [
566
- "default.handlebars->13->819"
567
- ]
568
- },
569
- {
570
- "en": "{0} bytes remaining",
571
- "fr": "{0} octets restants",
572
- "xloc": [
573
- "default.handlebars->13->1072"
574
- ]
575
- },
576
- {
577
- "en": "Paste",
578
- "cs": "Vložit",
579
- "xloc": [
580
- "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
581
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3",
582
- "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
583
- "default.handlebars->13->595",
584
- "default.handlebars->13->618",
585
- "default.handlebars->13->1096",
586
- "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->3",
587
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->3",
588
- "default-mobile.handlebars->9->84",
589
- "default-mobile.handlebars->9->258"
590
- ]
591
- },
592
- {
593
- "en": ":",
594
- "xloc": [
595
- "agentinvite.handlebars->3->23",
596
- "agentinvite.handlebars->3->38"
597
- ]
598
- },
599
- {
600
- "en": " node",
601
- "fr": "nœud",
602
- "cs": " zařízení",
603
- "xloc": [
604
- "default-mobile.handlebars->9->124"
605
- ]
606
- },
607
- {
608
- "en": "Traffic router used to connect to a device thru this server",
609
- "xloc": [
610
- "default.handlebars->13->477"
611
- ]
612
- },
613
- {
614
- "en": "Show",
615
- "cs": "Zobrazit",
616
- "xloc": [
617
- "default.handlebars->container->column_l->p3->3->1->0->3",
618
- "default.handlebars->container->column_l->p16->3->1->0->5",
619
- "default.handlebars->container->column_l->p31->5->1->0->5",
620
- "default.handlebars->container->column_l->p41->3->1"
621
- ]
622
- },
623
- {
624
- "en": "Unlimited",
625
- "fr": "Illimité",
626
- "cs": "Bez limitu",
627
- "xloc": [
628
- "default.handlebars->13->132",
629
- "default.handlebars->13->253",
630
- "default.handlebars->13->267"
631
- ]
632
- },
633
- {
634
- "en": "Log In",
635
- "cs": "Přihlásit",
636
- "xloc": [
637
- "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->5->1",
638
- "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->7->1->4->3",
639
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->5->1",
640
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->7->1->4->3"
641
- ]
642
- },
643
- {
644
- "en": "Description",
645
- "cs": "Popis",
646
- "xloc": [
647
- "default.handlebars->13->56",
648
- "default.handlebars->13->388",
649
- "default.handlebars->13->389",
650
- "default.handlebars->13->547",
651
- "default.handlebars->13->900",
652
- "default.handlebars->13->924",
653
- "default.handlebars->13->1007",
654
- "default-mobile.handlebars->9->57",
655
- "default-mobile.handlebars->9->138",
656
- "default-mobile.handlebars->9->139",
657
- "default-mobile.handlebars->9->221",
658
- "default-mobile.handlebars->9->275",
659
- "default-mobile.handlebars->9->288"
660
- ]
661
- },
662
- {
663
- "en": "total",
664
- "cs": "celkově",
665
- "xloc": [
666
- "default.handlebars->13->1242"
667
- ]
668
- },
669
- {
670
- "en": "Deep Sleep",
671
- "xloc": [
672
- "default.handlebars->13->312",
673
- "default-mobile.handlebars->9->107"
674
- ]
675
- },
676
- {
677
- "en": "admin",
678
- "xloc": [
679
- "default.handlebars->13->198"
680
- ]
681
- },
682
- {
683
- "en": "(",
684
- "xloc": [
685
- "default.handlebars->container->column_l->p2->p2createMeshLink1",
686
- "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3createMeshLink1"
687
- ]
688
- },
689
- {
690
- "en": "Location",
691
- "xloc": [
692
- "default.handlebars->13->476"
693
- ]
694
- },
695
- {
696
- "en": ".",
697
- "xloc": [
698
- "default.handlebars->container->column_l->p0->p0message",
699
- "default.handlebars->container->column_l->p1->NoMeshesPanel->1->1->0->3->getStarted1",
700
- "default-mobile.handlebars->container->page_content->column_l->p0->1->p0message",
701
- "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->resetAccountDiv",
702
- "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->newAccountDiv",
703
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->resetAccountDiv",
704
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->newAccountDiv"
705
- ]
706
- },
707
- {
708
- "en": ",",
709
- "xloc": [
710
- "default.handlebars->container->column_l->p0->p0message",
711
- "default-mobile.handlebars->container->page_content->column_l->p0->1->p0message"
712
- ]
713
- },
714
- {
715
- "en": "-",
716
- "xloc": [
717
- "default-mobile.handlebars->9->228"
718
- ]
719
- },
720
- {
721
- "en": "TLS security required",
722
- "fr": "Sécurité TLS requise",
723
- "cs": "TLS vyžadováno",
724
- "xloc": [
725
- "default.handlebars->13->202",
726
- "default.handlebars->13->517",
727
- "default-mobile.handlebars->9->213"
728
- ]
729
- },
730
- {
731
- "en": "Scan",
732
- "fr": "Analyse",
733
- "cs": "Skenovat",
734
- "xloc": [
735
- "default.handlebars->13->211"
736
- ]
737
- },
738
- {
739
- "en": " and authenticate to the server using this username and password.",
740
- "fr": "et authentifiez-vous sur le serveur en utilisant ce nom d'utilisateur et mot de passe.",
741
- "xloc": [
742
- "default.handlebars->13->222"
743
- ]
744
- },
745
- {
746
- "en": "{0} megabytes remaining",
747
- "cs": "{0} megabytů zbývá",
748
- "xloc": [
749
- "default.handlebars->13->1074"
750
- ]
751
- },
752
- {
753
- "en": "Linux / BSD (UnInstall)",
754
- "xloc": [
755
- "default.handlebars->13->275"
756
- ]
757
- },
758
- {
759
- "en": "Device is in powered off state (S5).",
760
- "cs": "Zařízení je vypnuto (S5).",
761
- "xloc": [
762
- "default.handlebars->13->315"
763
- ]
764
- },
765
- {
766
- "en": "Generate New Tokens",
767
- "cs": "Generovat nové tokeny",
768
- "xloc": [
769
- "default.handlebars->13->96"
770
- ]
771
- },
772
- {
773
- "en": "Confirm delete selected devices(s)?",
774
- "cs": "Potvrdit smázání vybraných zařízení?",
775
- "xloc": [
776
- "default.handlebars->13->350"
777
- ]
778
- },
779
- {
780
- "en": "Router",
781
- "xloc": [
782
- "default.handlebars->13->167",
783
- "default.handlebars->13->478"
784
- ]
785
- },
786
- {
787
- "en": "Sleeping",
788
- "xloc": [
789
- "default.handlebars->13->308",
790
- "default.handlebars->13->310",
791
- "default-mobile.handlebars->9->105",
792
- "default-mobile.handlebars->9->106"
793
- ]
794
- },
795
- {
796
- "en": "Edit Intel® AMT credentials",
797
- "xloc": [
798
- "default.handlebars->13->434",
799
- "default.handlebars->13->437",
800
- "default.handlebars->13->518",
801
- "default-mobile.handlebars->9->214"
802
- ]
803
- },
804
- {
805
- "en": "Device connections.",
806
- "xloc": [
807
- "default.handlebars->13->868"
808
- ]
809
- },
810
- {
811
- "en": "Please contact the site administrator for terms of use."
812
- },
813
- {
814
- "en": "Linux ARM",
815
- "xloc": [
816
- "default.handlebars->13->400",
817
- "default-mobile.handlebars->9->150"
818
- ]
819
- },
820
- {
821
- "en": "Spanish (Ecuador)",
822
- "xloc": [
823
- "default.handlebars->13->823"
824
- ]
825
- },
826
- {
827
- "en": "Sami (Lappish)",
828
- "xloc": [
829
- "default.handlebars->13->805"
830
- ]
831
- },
832
- {
833
- "en": "Gaelic (Scots)",
834
- "xloc": [
835
- "default.handlebars->13->740"
836
- ]
837
- },
838
- {
839
- "en": "Device Groups",
840
- "xloc": [
841
- "default.handlebars->container->column_l->p2->9",
842
- "default.handlebars->13->1204",
843
- "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3"
844
- ]
845
- },
846
- {
847
- "en": "MacOS (64bit)",
848
- "xloc": [
849
- "default.handlebars->13->540"
850
- ]
851
- },
852
- {
853
- "en": "My Users",
854
- "fr": "Mes Utilisateurs",
855
- "cs": "Uživatelé",
856
- "xloc": [
857
- "default.handlebars->container->page_leftbar",
858
- "default.handlebars->container->topbar->1->1->MainMenuSpan->1->0->MainMenuMyUsers",
859
- "default.handlebars->container->column_l->p4->1"
860
- ]
861
- },
862
- {
863
- "en": "Notify",
864
- "xloc": [
865
- "default.handlebars->13->1214"
866
- ]
867
- },
868
- {
869
- "en": "View notes about this user",
870
- "xloc": [
871
- "default.handlebars->13->1213"
872
- ]
873
- },
874
- {
875
- "en": "Share a file",
876
- "xloc": [
877
- "messenger.handlebars->xtop"
878
- ]
879
- },
880
- {
881
- "en": "Duration",
882
- "xloc": [
883
- "player.htm->3->2"
884
- ]
885
- },
886
- {
887
- "en": "{0} lower case",
888
- "xloc": [
889
- "login.handlebars->5->15",
890
- "login-mobile.handlebars->5->15"
891
- ]
892
- },
893
- {
894
- "en": "Confirm move of {0} entries's to this location?",
895
- "xloc": [
896
- "default.handlebars->13->616",
897
- "default-mobile.handlebars->9->256"
898
- ]
899
- },
900
- {
901
- "en": "Italian (Standard)",
902
- "xloc": [
903
- "default.handlebars->13->760"
904
- ]
905
- },
906
- {
907
- "en": "Good",
908
- "fr": "Bien",
909
- "xloc": [
910
- "default.handlebars->13->905"
911
- ]
912
- },
913
- {
914
- "en": "Hostname Sync",
915
- "xloc": [
916
- "default.handlebars->13->928"
917
- ]
918
- },
919
- {
920
- "en": "Holding 1 entrie for copy",
921
- "xloc": [
922
- "default.handlebars->13->621",
923
- "default-mobile.handlebars->9->261"
924
- ]
925
- },
926
- {
927
- "en": "Use the desktop version of this website to add devices.",
928
- "xloc": [
929
- "default-mobile.handlebars->9->96"
930
- ]
931
- },
932
- {
933
- "en": "Invalid JSON file: {0}.",
934
- "xloc": [
935
- "default.handlebars->13->1138"
936
- ]
937
- },
938
- {
939
- "en": "Access Denied",
940
- "fr": "Accès refusé",
941
- "xloc": [
942
- "default.handlebars->13->638"
943
- ]
944
- },
945
- {
946
- "en": "Manage Device Group Users",
947
- "xloc": [
948
- "default.handlebars->13->1027",
949
- "default.handlebars->13->1045",
950
- "default-mobile.handlebars->9->292",
951
- "default-mobile.handlebars->9->309"
952
- ]
953
- },
954
- {
955
- "en": "Edit Device Group Features",
956
- "xloc": [
957
- "default.handlebars->13->1020"
958
- ]
959
- },
960
- {
961
- "en": "{0} upper case",
962
- "xloc": [
963
- "login.handlebars->5->14",
964
- "login-mobile.handlebars->5->14"
965
- ]
966
- },
967
- {
968
- "en": "Danish",
969
- "xloc": [
970
- "default.handlebars->13->709"
971
- ]
972
- },
973
- {
974
- "en": "No Events Found",
975
- "fr": "Aucun événement trouvé",
976
- "xloc": [
977
- "default.handlebars->13->632",
978
- "default.handlebars->13->1104",
979
- "default.handlebars->13->1229"
980
- ]
981
- },
982
- {
983
- "en": "Italian (Switzerland)",
984
- "xloc": [
985
- "default.handlebars->13->761"
986
- ]
987
- },
988
- {
989
- "en": "ERROR: ",
990
- "xloc": [
991
- "default.handlebars->13->114"
992
- ]
993
- },
994
- {
995
- "en": "General -",
996
- "cs": "Obecné -",
997
- "xloc": [
998
- "default.handlebars->container->column_l->p10->1->1->0->1->p10title->3",
999
- "default.handlebars->container->column_l->p20->5",
1000
- "default.handlebars->container->column_l->p30->1->1->0->1->p30title->3"
1001
- ]
1002
- },
1003
- {
1004
- "en": "Linux only",
1005
- "xloc": [
1006
- "default.handlebars->13->246"
1007
- ]
1008
- },
1009
- {
1010
- "en": "Group Action",
1011
- "fr": "Action de groupe",
1012
- "cs": "Akce skupiny",
1013
- "xloc": [
1014
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devListToolbar",
1015
- "default.handlebars->13->348"
1016
- ]
1017
- },
1018
- {
1019
- "en": "Get MQTT login credentials for this device.",
1020
- "xloc": [
1021
- "default.handlebars->13->485"
1022
- ]
1023
- },
1024
- {
1025
- "en": "Hang up",
1026
- "xloc": [
1027
- "messenger.handlebars->xtop"
1028
- ]
1029
- },
1030
- {
1031
- "en": "Recursive delete",
1032
- "xloc": [
1033
- "default.handlebars->13->605",
1034
- "default.handlebars->13->1089",
1035
- "default-mobile.handlebars->9->77",
1036
- "default-mobile.handlebars->9->245"
1037
- ]
1038
- },
1039
- {
1040
- "en": "Strong",
1041
- "xloc": [
1042
- "default.handlebars->13->904"
1043
- ]
1044
- },
1045
- {
1046
- "en": "User Consent",
1047
- "xloc": [
1048
- "default.handlebars->13->942"
1049
- ]
1050
- },
1051
- {
1052
- "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.",
1053
- "xloc": [
1054
- "default-mobile.handlebars->9->17"
1055
- ]
1056
- },
1057
- {
1058
- "en": "Intel® ME",
1059
- "xloc": [
1060
- "default.handlebars->13->438",
1061
- "default-mobile.handlebars->9->183"
1062
- ]
1063
- },
1064
- {
1065
- "en": "Any supported",
1066
- "xloc": [
1067
- "default.handlebars->13->243"
1068
- ]
1069
- },
1070
- {
1071
- "en": "Chinese (PRC)",
1072
- "xloc": [
1073
- "default.handlebars->13->701"
1074
- ]
1075
- },
1076
- {
1077
- "en": "Delete Account",
1078
- "cs": "Smazat účet",
1079
- "xloc": [
1080
- "default.handlebars->13->880",
1081
- "default-mobile.handlebars->9->40"
1082
- ]
1083
- },
1084
- {
1085
- "en": "Edit Notes",
1086
- "xloc": [
1087
- "default.handlebars->13->1051",
1088
- "default-mobile.handlebars->9->315"
1089
- ]
1090
- },
1091
- {
1092
- "en": "Forgot user/password?",
1093
- "xloc": [
1094
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->resetAccountDiv->resetAccountSpan"
1095
- ]
1096
- },
1097
- {
1098
- "en": "Upload File",
1099
- "cs": "Nahrát soubor",
1100
- "xloc": [
1101
- "default.handlebars->container->dialog->dialogBody->dialog3->d3localmode->1",
1102
- "default.handlebars->13->611",
1103
- "default.handlebars->13->628",
1104
- "default.handlebars->13->630",
1105
- "default.handlebars->13->1094",
1106
- "default.handlebars->13->1101",
1107
- "default-mobile.handlebars->9->82",
1108
- "default-mobile.handlebars->9->251",
1109
- "default-mobile.handlebars->9->269"
1110
- ]
1111
- },
1112
- {
1113
- "en": "New Tokens",
1114
- "fr": "Nouveaux Jetons",
1115
- "xloc": [
1116
- "default-mobile.handlebars->9->24"
1117
- ]
1118
- },
1119
- {
1120
- "en": "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://",
1121
- "xloc": [
1122
- "agentinvite.handlebars->3->33"
1123
- ]
1124
- },
1125
- {
1126
- "en": "Persian/Iran",
1127
- "xloc": [
1128
- "default.handlebars->13->792"
1129
- ]
1130
- },
1131
- {
1132
- "en": "Connection closed.",
1133
- "xloc": [
1134
- "messenger.handlebars->13->3"
1135
- ]
1136
- },
1137
- {
1138
- "en": "Win+Up",
1139
- "xloc": [
1140
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->7",
1141
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->9"
1142
- ]
1143
- },
1144
- {
1145
- "en": "Save...",
1146
- "fr": "Sauver...",
1147
- "xloc": [
1148
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1"
1149
- ]
1150
- },
1151
- {
1152
- "en": "German (Liechtenstein)",
1153
- "xloc": [
1154
- "default.handlebars->13->747"
1155
- ]
1156
- },
1157
- {
1158
- "en": "Please wait a few minute to receive the verification.",
1159
- "xloc": [
1160
- "default.handlebars->13->873",
1161
- "default-mobile.handlebars->9->32"
1162
- ]
1163
- },
1164
- {
1165
- "en": "Win+Down",
1166
- "xloc": [
1167
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->5",
1168
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->7"
1169
- ]
1170
- },
1171
- {
1172
- "en": "Interfaces",
1173
- "fr": "Interfaces",
1174
- "xloc": [
1175
- "default.handlebars->13->474"
1176
- ]
1177
- },
1178
- {
1179
- "en": "Start",
1180
- "xloc": [
1181
- "default.handlebars->13->577"
1182
- ]
1183
- },
1184
- {
1185
- "en": "Click here to edit the server-side device name",
1186
- "xloc": [
1187
- "default.handlebars->13->378"
1188
- ]
1189
- },
1190
- {
1191
- "en": "Scanning...",
1192
- "fr": "Balayage...",
1193
- "xloc": [
1194
- "default.handlebars->13->213"
1195
- ]
1196
- },
1197
- {
1198
- "en": "Punjabi",
1199
- "xloc": [
1200
- "default.handlebars->13->796"
1201
- ]
1202
- },
1203
- {
1204
- "en": "Download MeshCentral Router, a TCP port mapping tool.",
1205
- "xloc": [
1206
- "default.handlebars->13->166"
1207
- ]
1208
- },
1209
- {
1210
- "en": "Khmer",
1211
- "xloc": [
1212
- "default.handlebars->13->766"
1213
- ]
1214
- },
1215
- {
1216
- "en": "Normal Connect",
1217
- "xloc": [
1218
- "default.handlebars->termShellContextMenu->cxtermnorm"
1219
- ]
1220
- },
1221
- {
1222
- "en": "Localization Settings",
1223
- "xloc": [
1224
- "default.handlebars->container->column_l->p2->p2AccountActions->3->5",
1225
- "default.handlebars->13->866"
1226
- ]
1227
- },
1228
- {
1229
- "en": "Intel® AMT",
1230
- "xloc": [
1231
- "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevAmt"
1232
- ]
1233
- },
1234
- {
1235
- "en": "{0}k in 1 file. {1}k maximum",
1236
- "xloc": [
1237
- "default.handlebars->13->1082"
1238
- ]
1239
- },
1240
- {
1241
- "en": "Android ARM",
1242
- "xloc": [
1243
- "default.handlebars->13->399",
1244
- "default-mobile.handlebars->9->149"
1245
- ]
1246
- },
1247
- {
1248
- "en": "Asturian",
1249
- "xloc": [
1250
- "default.handlebars->13->687"
1251
- ]
1252
- },
1253
- {
1254
- "en": "No information for this device.",
1255
- "xloc": [
1256
- "default.handlebars->13->26"
1257
- ]
1258
- },
1259
- {
1260
- "en": "{0}m left",
1261
- "xloc": [
1262
- "default-mobile.handlebars->9->69"
1263
- ]
1264
- },
1265
- {
1266
- "en": "Arabic (Lebanon)",
1267
- "xloc": [
1268
- "default.handlebars->13->674"
1269
- ]
1270
- },
1271
- {
1272
- "en": "During activation, the agent will have access to admin password infomation.",
1273
- "xloc": [
1274
- "default.handlebars->13->1002"
1275
- ]
1276
- },
1277
- {
1278
- "en": "Spanish",
1279
- "fr": "Espagnol",
1280
- "xloc": [
1281
- "default.handlebars->13->816"
1282
- ]
1283
- },
1284
- {
1285
- "en": "Luxembourgish",
1286
- "xloc": [
1287
- "default.handlebars->13->775"
1288
- ]
1289
- },
1290
- {
1291
- "en": "Get started here!",
1292
- "xloc": [
1293
- "default.handlebars->container->column_l->p2->p2noMeshFound->p2createMeshLink2->1->0",
1294
- "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3noMeshFound->p3createMeshLink2->1->0"
1295
- ]
1296
- },
1297
- {
1298
- "en": "Download MeshCmd, a command line tool that performs many functions.",
1299
- "xloc": [
1300
- "default.handlebars->13->164"
1301
- ]
1302
- },
1303
- {
1304
- "en": "1 group",
1305
- "fr": "1 groupe",
1306
- "xloc": [
1307
- "default.handlebars->13->1202"
1308
- ]
1309
- },
1310
- {
1311
- "en": "Toggle mouse and keyboard input",
1312
- "fr": "Basculer la souris et le clavier",
1313
- "xloc": [
1314
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->9"
1315
- ]
1316
- },
1317
- {
1318
- "en": "Admin Realms",
1319
- "xloc": [
1320
- "default.handlebars->13->1206"
1321
- ]
1322
- },
1323
- {
1324
- "en": "Download Events",
1325
- "xloc": [
1326
- "default.handlebars->container->column_l->p3->3->1->0->3->3",
1327
- "default.handlebars->container->column_l->p16->3->1->0->5->3",
1328
- "default.handlebars->container->column_l->p31->5->1->0->5->3"
1329
- ]
1330
- },
1331
- {
1332
- "en": " - Reset in {0} minute{1}.",
1333
- "fr": "- Réinitialisation en {0} minute {1}.",
1334
- "xloc": [
1335
- "default.handlebars->13->20",
1336
- "default-mobile.handlebars->9->11"
1337
- ]
1338
- },
1339
- {
1340
- "en": "Urdu",
1341
- "xloc": [
1342
- "default.handlebars->13->852"
1343
- ]
1344
- },
1345
- {
1346
- "en": "This account does not have the rights to create a new device group.",
1347
- "xloc": [
1348
- "default.handlebars->13->890",
1349
- "default-mobile.handlebars->9->48"
1350
- ]
1351
- },
1352
- {
1353
- "en": "Installation Type",
1354
- "cs": "Typ instalace",
1355
- "xloc": [
1356
- "default.handlebars->13->254",
1357
- "default.handlebars->13->276"
1358
- ]
1359
- },
1360
- {
1361
- "en": "Display name",
1362
- "xloc": [
1363
- "default.handlebars->13->567"
1364
- ]
1365
- },
1366
- {
1367
- "en": "MeshCentral Server Peering",
1368
- "xloc": [
1369
- "default.handlebars->13->1256"
1370
- ]
1371
- },
1372
- {
1373
- "en": "Offline Users",
1374
- "xloc": [
1375
- "default.handlebars->13->1118"
1376
- ]
1377
- },
1378
- {
1379
- "en": "{{{installflags}}}",
1380
- "xloc": [
1381
- "agentinvite.handlebars->3->7"
1382
- ]
1383
- },
1384
- {
1385
- "en": "Marathi",
1386
- "xloc": [
1387
- "default.handlebars->13->781"
1388
- ]
1389
- },
1390
- {
1391
- "en": "add one",
1392
- "fr": "ajoute un",
1393
- "cs": "přidat",
1394
- "xloc": [
1395
- "default.handlebars->13->159",
1396
- "default.handlebars->13->161"
1397
- ]
1398
- },
1399
- {
1400
- "en": "Fixed width interface",
1401
- "xloc": [
1402
- "agentinvite.handlebars->container->topbar->uiMenuButton->uiMenu",
1403
- "default.handlebars->container->topbar->1->1->uiMenuButton->uiMenu",
1404
- "error404.handlebars->container->topbar->uiMenuButton->uiMenu",
1405
- "login.handlebars->container->topbar->uiMenuButton->uiMenu"
1406
- ]
1407
- },
1408
- {
1409
- "en": "Toggle night mode",
1410
- "fr": "Basculer mode nuit",
1411
- "xloc": [
1412
- "agentinvite.handlebars->container->topbar->uiMenuButton->uiMenu",
1413
- "default.handlebars->container->topbar->1->1->uiMenuButton->uiMenu",
1414
- "error404.handlebars->container->topbar->uiMenuButton->uiMenu",
1415
- "login.handlebars->container->topbar->uiMenuButton->uiMenu"
1416
- ]
1417
- },
1418
- {
1419
- "en": "Intel® AMT desktop and serial events.",
1420
- "xloc": [
1421
- "default.handlebars->13->870"
1422
- ]
1423
- },
1424
- {
1425
- "en": "English (Australia)",
1426
- "xloc": [
1427
- "default.handlebars->13->713"
1428
- ]
1429
- },
1430
- {
1431
- "en": "This page does not exist",
1432
- "cs": "Tato stránka neexistuje",
1433
- "xloc": [
1434
- "error404.handlebars->container->column_l->3"
1435
- ]
1436
- },
1437
- {
1438
- "en": "Encoding",
1439
- "xloc": [
1440
- "default-mobile.handlebars->dialog->3->dialog7->d7amtkvm->3->3"
1441
- ]
1442
- },
1443
- {
1444
- "en": "Intel® AMT detected",
1445
- "xloc": [
1446
- "default.handlebars->13->491",
1447
- "default.handlebars->13->492",
1448
- "default-mobile.handlebars->9->199"
1449
- ]
1450
- },
1451
- {
1452
- "en": "Wake-up",
1453
- "cs": "Probudit",
1454
- "xloc": [
1455
- "default.handlebars->13->503",
1456
- "default-mobile.handlebars->9->203"
1457
- ]
1458
- },
1459
- {
1460
- "en": "Upload will overwrite {0} file{1}. Continue?",
1461
- "xloc": [
1462
- "default.handlebars->13->629",
1463
- "default.handlebars->13->1102"
1464
- ]
1465
- },
1466
- {
1467
- "en": "Connect All",
1468
- "xloc": [
1469
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar->kvmMultiConnectButtonSpan"
1470
- ]
1471
- },
1472
- {
1473
- "en": "Scaling",
1474
- "fr": "Mise à l'échelle",
1475
- "cs": "Škálování",
1476
- "xloc": [
1477
- "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->1",
1478
- "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->3"
1479
- ]
1480
- },
1481
- {
1482
- "en": "Are you sure you want to delete node {0}?",
1483
- "fr": "Êtes-vous sûr de vouloir supprimer le noeud {0}?",
1484
- "xloc": [
1485
- "default.handlebars->13->528"
1486
- ]
1487
- },
1488
- {
1489
- "en": "Windows 64bit console",
1490
- "xloc": [
1491
- "default.handlebars->13->392",
1492
- "default-mobile.handlebars->9->142"
1493
- ]
1494
- },
1495
- {
1496
- "en": "MPS Server",
1497
- "xloc": [
1498
- "default.handlebars->13->229",
1499
- "default.handlebars->13->234"
1500
- ]
1501
- },
1502
- {
1503
- "en": "Clear the core",
1504
- "xloc": [
1505
- "default.handlebars->13->645"
1506
- ]
1507
- },
1508
- {
1509
- "en": "Copy valid codes to clipboard",
1510
- "xloc": [
1511
- "default.handlebars->13->98"
1512
- ]
1513
- },
1514
- {
1515
- "en": "Event Details",
1516
- "xloc": [
1517
- "default.handlebars->13->633"
1518
- ]
1519
- },
1520
- {
1521
- "en": "Power off devices",
1522
- "fr": "Éteindre les appareils",
1523
- "cs": "Vypnout zařízení",
1524
- "xloc": [
1525
- "default.handlebars->13->345"
1526
- ]
1527
- },
1528
- {
1529
- "en": "Apple™ MacOS",
1530
- "xloc": [
1531
- "agentinvite.handlebars->container->column_l->5->macostab->1"
1532
- ]
1533
- },
1534
- {
1535
- "en": "These settings can be used to connect MQTT for this device.",
1536
- "xloc": [
1537
- "default.handlebars->13->134"
1538
- ]
1539
- },
1540
- {
1541
- "en": "Maltese",
1542
- "xloc": [
1543
- "default.handlebars->13->779"
1544
- ]
1545
- },
1546
- {
1547
- "en": "NodeJS",
1548
- "xloc": [
1549
- "default.handlebars->13->413",
1550
- "default-mobile.handlebars->9->163"
1551
- ]
1552
- },
1553
- {
1554
- "en": "{0} non-alphanumeric",
1555
- "xloc": [
1556
- "login.handlebars->5->17",
1557
- "login-mobile.handlebars->5->17"
1558
- ]
1559
- },
1560
- {
1561
- "en": "1 more user not shown, use search box to look for users...",
1562
- "xloc": [
1563
- "default.handlebars->13->1119"
1564
- ]
1565
- },
1566
- {
1567
- "en": "Moldavian",
1568
- "xloc": [
1569
- "default.handlebars->13->782"
1570
- ]
1571
- },
1572
- {
1573
- "en": "Cree",
1574
- "xloc": [
1575
- "default.handlebars->13->706"
1576
- ]
1577
- },
1578
- {
1579
- "en": "Windows (UnInstall)",
1580
- "xloc": [
1581
- "default.handlebars->13->274"
1582
- ]
1583
- },
1584
- {
1585
- "en": "Group",
1586
- "fr": "Groupe",
1587
- "cs": "Skupina",
1588
- "xloc": [
1589
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->1",
1590
- "default.handlebars->13->381",
1591
- "default-mobile.handlebars->9->131"
1592
- ]
1593
- },
1594
- {
1595
- "en": "Agent Console",
1596
- "xloc": [
1597
- "default.handlebars->13->1048",
1598
- "default-mobile.handlebars->9->312"
1599
- ]
1600
- },
1601
- {
1602
- "en": "Chinese (Hong Kong)",
1603
- "xloc": [
1604
- "default.handlebars->13->700"
1605
- ]
1606
- },
1607
- {
1608
- "en": "Ctrl-W",
1609
- "xloc": [
1610
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->19",
1611
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->21"
1612
- ]
1613
- },
1614
- {
1615
- "en": "Allow users to manage this device group and devices in this group.",
1616
- "fr": "Autoriser les utilisateurs à gérer ce groupe et les périphériques de ce groupe.",
1617
- "xloc": [
1618
- "default.handlebars->13->1021"
1619
- ]
1620
- },
1621
- {
1622
- "en": "Free",
1623
- "xloc": [
1624
- "default.handlebars->13->1234",
1625
- "default.handlebars->13->1236"
1626
- ]
1627
- },
1628
- {
1629
- "en": "Manual Certificate",
1630
- "fr": "Certificat manuel",
1631
- "xloc": [
1632
- "default.handlebars->13->216"
1633
- ]
1634
- },
1635
- {
1636
- "en": "Rotate Right",
1637
- "fr": "Tourner à droite",
1638
- "xloc": [
1639
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1"
1640
- ]
1641
- },
1642
- {
1643
- "en": "Aragonese",
1644
- "xloc": [
1645
- "default.handlebars->13->684"
1646
- ]
1647
- },
1648
- {
1649
- "en": "No network interface information available for this device.",
1650
- "xloc": [
1651
- "default.handlebars->13->47"
1652
- ]
1653
- },
1654
- {
1655
- "en": "Show server error log",
1656
- "fr": "Afficher le journal des erreurs du serveur",
1657
- "cs": "Zobrazit chyby serveru",
1658
- "xloc": [
1659
- "default.handlebars->container->column_l->p6->p2ServerActions->3->p2ServerActionsErrors->0"
1660
- ]
1661
- },
1662
- {
1663
- "en": "Soft-Off",
1664
- "xloc": [
1665
- "default.handlebars->13->316",
1666
- "default-mobile.handlebars->9->109"
1667
- ]
1668
- },
1669
- {
1670
- "en": "Download the list of users with one of the file formats below.",
1671
- "xloc": [
1672
- "default.handlebars->13->1143"
1673
- ]
1674
- },
1675
- {
1676
- "en": "Unknown Version & State",
1677
- "fr": "Version et état inconnus",
1678
- "xloc": [
1679
- "default.handlebars->13->427",
1680
- "default-mobile.handlebars->9->177"
1681
- ]
1682
- },
1683
- {
1684
- "en": "Center map here",
1685
- "fr": "Centré la carte ici",
1686
- "xloc": [
1687
- "default.handlebars->13->364"
1688
- ]
1689
- },
1690
- {
1691
- "en": "Spanish (Argentina)",
1692
- "xloc": [
1693
- "default.handlebars->13->817"
1694
- ]
1695
- },
1696
- {
1697
- "en": "Create a new group of devices.",
1698
- "cs": "Vytvořit novou skupinu zařízení.",
1699
- "xloc": [
1700
- "default.handlebars->13->162"
1701
- ]
1702
- },
1703
- {
1704
- "en": "arg_hide",
1705
- "xloc": [
1706
- "agentinvite.handlebars->3->11",
1707
- "agentinvite.handlebars->3->13",
1708
- "default.handlebars->13->1268"
1709
- ]
1710
- },
1711
- {
1712
- "en": "Send",
1713
- "fr": "Envoyer",
1714
- "cs": "Odeslat",
1715
- "xloc": [
1716
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3",
1717
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1",
1718
- "messenger.handlebars->xbottom"
1719
- ]
1720
- },
1721
- {
1722
- "en": "Intel® AMT CIRA",
1723
- "xloc": [
1724
- "default.handlebars->13->454",
1725
- "default-mobile.handlebars->9->188"
1726
- ]
1727
- },
1728
- {
1729
- "en": "80x25",
1730
- "xloc": [
1731
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSizeDropDown->termSizeList->0"
1732
- ]
1733
- },
1734
- {
1735
- "en": "RAW8, Slow",
1736
- "xloc": [
1737
- "default.handlebars->container->dialog->dialogBody->dialog7->d7amtkvm->3->d7desktopmode->5",
1738
- "default-mobile.handlebars->dialog->3->dialog7->d7amtkvm->3->d7desktopmode->5"
1739
- ]
1740
- },
1741
- {
1742
- "en": "User",
1743
- "xloc": [
1744
- "default.handlebars->13->136",
1745
- "default.handlebars->13->153",
1746
- "default.handlebars->13->974",
1747
- "default.handlebars->13->1128",
1748
- "default-mobile.handlebars->9->324"
1749
- ]
1750
- },
1751
- {
1752
- "en": "Spanish (Bolivia)",
1753
- "xloc": [
1754
- "default.handlebars->13->818"
1755
- ]
1756
- },
1757
- {
1758
- "en": "Mesh Relay",
1759
- "xloc": [
1760
- "default.handlebars->13->458"
1761
- ]
1762
- },
1763
- {
1764
- "en": "Invite someone to install the mesh agent on this mesh.",
1765
- "fr": "Invitez quelqu'un à installer l'agent de maillage sur ce maillage.",
1766
- "cs": "Pozvat kohokoliv k instalaci agenta pro vzdálené ovládání.",
1767
- "xloc": [
1768
- "default.handlebars->13->191",
1769
- "default.handlebars->13->967"
1770
- ]
1771
- },
1772
- {
1773
- "en": "Intel® AMT is routable.",
1774
- "xloc": [
1775
- "default.handlebars->13->146",
1776
- "default.handlebars->13->330"
1777
- ]
1778
- },
1779
- {
1780
- "en": "Send user notification",
1781
- "xloc": [
1782
- "default.handlebars->13->1215"
1783
- ]
1784
- },
1785
- {
1786
- "en": "Show devices operating system name",
1787
- "xloc": [
1788
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devListToolbar->7"
1789
- ]
1790
- },
1791
- {
1792
- "en": "Swedish (Finland)",
1793
- "xloc": [
1794
- "default.handlebars->13->839"
1795
- ]
1796
- },
1797
- {
1798
- "en": "Remove this device",
1799
- "fr": "Retirer ce périphérique",
1800
- "xloc": [
1801
- "default.handlebars->13->471"
1802
- ]
1803
- },
1804
- {
1805
- "en": "CIRA",
1806
- "xloc": [
1807
- "default.handlebars->13->145",
1808
- "default.handlebars->13->329",
1809
- "default.handlebars->13->991",
1810
- "default.handlebars->13->996",
1811
- "default-mobile.handlebars->9->119"
1812
- ]
1813
- },
1814
- {
1815
- "en": "Edit remote desktop settings",
1816
- "xloc": [
1817
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1"
1818
- ]
1819
- },
1820
- {
1821
- "en": "Manage security keys",
1822
- "xloc": [
1823
- "default.handlebars->container->column_l->p2->p2AccountSecurity->3->manageHardwareOtp->1->0"
1824
- ]
1825
- },
1826
- {
1827
- "en": "Randomize the password.",
1828
- "xloc": [
1829
- "default.handlebars->13->1161"
1830
- ]
1831
- },
1832
- {
1833
- "en": "ServerStats.csv",
1834
- "xloc": [
1835
- "default.handlebars->13->1251"
1836
- ]
1837
- },
1838
- {
1839
- "en": "Information",
1840
- "xloc": [
1841
- "default.handlebars->contextMenu->cxinfo->0"
1842
- ]
1843
- },
1844
- {
1845
- "en": "These files are shared publicly, click \"link\" to get public url.",
1846
- "fr": "Ces fichiers sont partagés publiquement, cliquez sur \"lien\" pour obtenir une URL publique.",
1847
- "xloc": [
1848
- "default.handlebars->container->column_l->p5->p5filetable->p5PublicShare->0"
1849
- ]
1850
- },
1851
- {
1852
- "en": "id, name, email, creation, lastlogin, groups, authfactors",
1853
- "xloc": [
1854
- "default.handlebars->13->1149"
1855
- ]
1856
- },
1857
- {
1858
- "en": "Download data points (.csv)",
1859
- "xloc": [
1860
- "default.handlebars->container->column_l->p40->3->1"
1861
- ]
1862
- },
1863
- {
1864
- "en": "Other",
1865
- "fr": "Autre",
1866
- "xloc": [
1867
- "default-mobile.handlebars->dialog->3->dialog7->d7amtkvm->5->3"
1868
- ]
1869
- },
1870
- {
1871
- "en": "2nd factor authentication enabled",
1872
- "fr": "Authentification 2e facteur activée",
1873
- "xloc": [
1874
- "default.handlebars->13->1211"
1875
- ]
1876
- },
1877
- {
1878
- "en": "Yiddish",
1879
- "xloc": [
1880
- "default.handlebars->13->859"
1881
- ]
1882
- },
1883
- {
1884
- "en": "64bit version of the MeshAgent",
1885
- "xloc": [
1886
- "default.handlebars->13->285",
1887
- "default.handlebars->13->299"
1888
- ]
1889
- },
1890
- {
1891
- "en": "English (South Africa)",
1892
- "xloc": [
1893
- "default.handlebars->13->720"
1894
- ]
1895
- },
1896
- {
1897
- "en": "No New Device Groups",
1898
- "xloc": [
1899
- "default.handlebars->13->1178"
1900
- ]
1901
- },
1902
- {
1903
- "en": "Intel® SM",
1904
- "xloc": [
1905
- "default.handlebars->13->442",
1906
- "default-mobile.handlebars->9->185"
1907
- ]
1908
- },
1909
- {
1910
- "en": "MyKey",
1911
- "xloc": [
1912
- "default.handlebars->13->657",
1913
- "default.handlebars->13->660"
1914
- ]
1915
- },
1916
- {
1917
- "en": "Server Quota",
1918
- "xloc": [
1919
- "default.handlebars->13->1194"
1920
- ]
1921
- },
1922
- {
1923
- "en": "ARM-Linaro",
1924
- "xloc": [
1925
- "default.handlebars->13->414",
1926
- "default-mobile.handlebars->9->164"
1927
- ]
1928
- },
1929
- {
1930
- "en": "Remote computer is not powered on, click here to issue a power command.",
1931
- "cs": "Vzdálený počítač není zapnutý, klikněte zde pro zapnutí.",
1932
- "xloc": [
1933
- "default.handlebars->container->column_l->p11->p11warning2->3",
1934
- "default.handlebars->container->column_l->p12->p12warning2->3"
1935
- ]
1936
- },
1937
- {
1938
- "en": "{0} bytes",
1939
- "fr": "{0} octets",
1940
- "cs": "{0} bytů",
1941
- "xloc": [
1942
- "default.handlebars->13->1087",
1943
- "default-mobile.handlebars->9->75"
1944
- ]
1945
- },
1946
- {
1947
- "en": "MeshCentral Errors",
1948
- "xloc": [
1949
- "default.handlebars->13->917"
1950
- ]
1951
- },
1952
- {
1953
- "en": "(optional)",
1954
- "cs": "(volitelné)",
1955
- "xloc": [
1956
- "default.handlebars->13->259"
1957
- ]
1958
- },
1959
- {
1960
- "en": "Add Local",
1961
- "xloc": [
1962
- "default.handlebars->13->182"
1963
- ]
1964
- },
1965
- {
1966
- "en": "tablinks",
1967
- "xloc": [
1968
- "agentinvite.handlebars->3->18"
1969
- ]
1970
- },
1971
- {
1972
- "en": "Hungarian",
1973
- "xloc": [
1974
- "default.handlebars->13->755"
1975
- ]
1976
- },
1977
- {
1978
- "en": "Croatian",
1979
- "xloc": [
1980
- "default.handlebars->13->707"
1981
- ]
1982
- },
1983
- {
1984
- "en": "Sanskrit",
1985
- "xloc": [
1986
- "default.handlebars->13->807"
1987
- ]
1988
- },
1989
- {
1990
- "en": "Frisian",
1991
- "xloc": [
1992
- "default.handlebars->13->738"
1993
- ]
1994
- },
1995
- {
1996
- "en": "Intel® AMT Redirection port or KVM feature is disabled",
1997
- "xloc": [
1998
- "default.handlebars->container->column_l->p11->p11warning->3",
1999
- "default.handlebars->container->column_l->p12->p12warning->3"
2000
- ]
2001
- },
2002
- {
2003
- "en": "Punjabi (Pakistan)",
2004
- "xloc": [
2005
- "default.handlebars->13->798"
2006
- ]
2007
- },
2008
- {
2009
- "en": "Alt-Tab",
2010
- "xloc": [
2011
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->21",
2012
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->23"
2013
- ]
2014
- },
2015
- {
2016
- "en": "Press the key button now.",
2017
- "xloc": [
2018
- "default.handlebars->13->111"
2019
- ]
2020
- },
2021
- {
2022
- "en": "Remove user rights to this device group",
2023
- "fr": "Supprimer les droits d'utilisateur sur ce groupe de périphériques",
2024
- "xloc": [
2025
- "default.handlebars->13->973"
2026
- ]
2027
- },
2028
- {
2029
- "en": "No Intel® AMT devices in this group",
2030
- "xloc": [
2031
- "default-mobile.handlebars->9->93"
2032
- ]
2033
- },
2034
- {
2035
- "en": "Kazakh",
2036
- "xloc": [
2037
- "default.handlebars->13->765"
2038
- ]
2039
- },
2040
- {
2041
- "en": "Status",
2042
- "fr": "Statut",
2043
- "xloc": [
2044
- "default.handlebars->13->1219"
2045
- ]
2046
- },
2047
- {
2048
- "en": "User interface selection",
2049
- "xloc": [
2050
- "agentinvite.handlebars->container->topbar",
2051
- "default.handlebars->container->topbar->1->1",
2052
- "error404.handlebars->container->topbar",
2053
- "login.handlebars->container->topbar"
2054
- ]
2055
- },
2056
- {
2057
- "en": "Win+M",
2058
- "xloc": [
2059
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->11",
2060
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->13"
2061
- ]
2062
- },
2063
- {
2064
- "en": "English (Zimbabwe)",
2065
- "xloc": [
2066
- "default.handlebars->13->724"
2067
- ]
2068
- },
2069
- {
2070
- "en": "No devices found.",
2071
- "fr": "Aucun périphérique trouvé.",
2072
- "cs": "Žádné zařízení nalezeno.",
2073
- "xloc": [
2074
- "default.handlebars->13->370"
2075
- ]
2076
- },
2077
- {
2078
- "en": "Last agent address",
2079
- "cs": "Poslední adresa agenta",
2080
- "xloc": [
2081
- "default.handlebars->13->49",
2082
- "default.handlebars->13->50",
2083
- "default.handlebars->13->52"
2084
- ]
2085
- },
2086
- {
2087
- "en": "Hebrew",
2088
- "xloc": [
2089
- "default.handlebars->13->753"
2090
- ]
2091
- },
2092
- {
2093
- "en": "Delete",
2094
- "cs": "Smazat",
2095
- "xloc": [
2096
- "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
2097
- "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
2098
- "default.handlebars->container->dialog->idx_dlgButtonBar->5",
2099
- "default.handlebars->13->607",
2100
- "default.handlebars->13->1090",
2101
- "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
2102
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1",
2103
- "default-mobile.handlebars->9->78",
2104
- "default-mobile.handlebars->9->247",
2105
- "player.htm->p11->dialog->idx_dlgButtonBar->5"
2106
- ]
2107
- },
2108
- {
2109
- "en": "Operation",
2110
- "fr": "Opération",
2111
- "cs": "Operace",
2112
- "xloc": [
2113
- "default.handlebars->13->341",
2114
- "default.handlebars->13->508",
2115
- "default-mobile.handlebars->9->207"
2116
- ]
2117
- },
2118
- {
2119
- "en": "DNS suffix",
2120
- "xloc": [
2121
- "default.handlebars->13->57"
2122
- ]
2123
- },
2124
- {
2125
- "en": "Catalan",
2126
- "xloc": [
2127
- "default.handlebars->13->696"
2128
- ]
2129
- },
2130
- {
2131
- "en": "Walloon",
2132
- "xloc": [
2133
- "default.handlebars->13->856"
2134
- ]
2135
- },
2136
- {
2137
- "en": "Username",
2138
- "fr": "Nom d'utilisateur",
2139
- "cs": "Uživatel",
2140
- "xloc": [
2141
- "default.handlebars->13->197",
2142
- "default.handlebars->13->227",
2143
- "default.handlebars->13->513",
2144
- "default-mobile.handlebars->9->209",
2145
- "player.htm->3->4"
2146
- ]
2147
- },
2148
- {
2149
- "en": "No Credentials",
2150
- "cs": "Žádné přihlašovací údaje",
2151
- "xloc": [
2152
- "default.handlebars->13->435",
2153
- "default.handlebars->13->436",
2154
- "default-mobile.handlebars->9->181",
2155
- "default-mobile.handlebars->9->182"
2156
- ]
2157
- },
2158
- {
2159
- "en": "RDP",
2160
- "xloc": [
2161
- "default.handlebars->13->480"
2162
- ]
2163
- },
2164
- {
2165
- "en": "Remote clipboard is valid for 60 seconds.",
2166
- "cs": "Vzdálená schránka je platná 60 sekund.",
2167
- "xloc": [
2168
- "default.handlebars->13->564"
2169
- ]
2170
- },
2171
- {
2172
- "en": "{{{domain}}}",
2173
- "xloc": [
2174
- "agentinvite.handlebars->3->1"
2175
- ]
2176
- },
2177
- {
2178
- "en": "JSON Format",
2179
- "xloc": [
2180
- "default.handlebars->13->1108",
2181
- "default.handlebars->13->1146"
2182
- ]
2183
- },
2184
- {
2185
- "en": "Minimum length of {0}",
2186
- "xloc": [
2187
- "login.handlebars->5->12",
2188
- "login-mobile.handlebars->5->12"
2189
- ]
2190
- },
2191
- {
2192
- "en": "Copyright 2013 jQuery Foundation and other contributors"
2193
- },
2194
- {
2195
- "en": "Edit Device Notes",
2196
- "cs": "Upravit popis zařízení",
2197
- "xloc": [
2198
- "default.handlebars->13->1038",
2199
- "default-mobile.handlebars->9->303"
2200
- ]
2201
- },
2202
- {
2203
- "en": "Server Updates",
2204
- "xloc": [
2205
- "default.handlebars->13->1175"
2206
- ]
2207
- },
2208
- {
2209
- "en": "♦",
2210
- "xloc": [
2211
- "agentinvite.handlebars->container->topbar->uiMenuButton",
2212
- "default.handlebars->container->topbar->1->1->uiMenuButton",
2213
- "error404.handlebars->container->topbar->uiMenuButton",
2214
- "login.handlebars->container->topbar->uiMenuButton"
2215
- ]
2216
- },
2217
- {
2218
- "en": "Reset account",
2219
- "fr": "Réinitialiser le compte",
2220
- "cs": "Reset účtu",
2221
- "xloc": [
2222
- "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->resetAccountDiv->3",
2223
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->resetAccountDiv->3"
2224
- ]
2225
- },
2226
- {
2227
- "en": "User browser value",
2228
- "xloc": [
2229
- "default.handlebars->13->861",
2230
- "default.handlebars->13->863"
2231
- ]
2232
- },
2233
- {
2234
- "en": "You can reactivate this feature at any time.",
2235
- "xloc": [
2236
- "default.handlebars->13->90"
2237
- ]
2238
- },
2239
- {
2240
- "en": "Pass Hint:",
2241
- "cs": "Nápověda k heslu:",
2242
- "xloc": [
2243
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->createPanelHint->1"
2244
- ]
2245
- },
2246
- {
2247
- "en": "Irish",
2248
- "xloc": [
2249
- "default.handlebars->13->759"
2250
- ]
2251
- },
2252
- {
2253
- "en": "Web Socket Relay",
2254
- "fr": "Relais Web Socket",
2255
- "xloc": [
2256
- "default.handlebars->13->1260"
2257
- ]
2258
- },
2259
- {
2260
- "en": "Username:",
2261
- "fr": "Nom d'utilisateur:",
2262
- "cs": "Uživatel:",
2263
- "xloc": [
2264
- "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->7->1->0->loginusername",
2265
- "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->nuUserRow->nuUser",
2266
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->7->1->0->loginusername",
2267
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->nuUserRow->1"
2268
- ]
2269
- },
2270
- {
2271
- "en": "My Devices",
2272
- "fr": "Mes Appareils",
2273
- "cs": "Moje zařízení",
2274
- "xloc": [
2275
- "default.handlebars->container->page_leftbar",
2276
- "default.handlebars->container->topbar->1->1->MainMenuSpan->1->0->MainMenuMyDevices",
2277
- "default.handlebars->container->column_l->p1->2->0"
2278
- ]
2279
- },
2280
- {
2281
- "en": "Swedish (Sweden)",
2282
- "xloc": [
2283
- "default.handlebars->13->840"
2284
- ]
2285
- },
2286
- {
2287
- "en": "Alternate (F10 = ESC+0)",
2288
- "xloc": [
2289
- "default.handlebars->13->591"
2290
- ]
2291
- },
2292
- {
2293
- "en": "Open a web address on remote computer",
2294
- "xloc": [
2295
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->1"
2296
- ]
2297
- },
2298
- {
2299
- "en": "Ctl-X",
2300
- "xloc": [
2301
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3"
2302
- ]
2303
- },
2304
- {
2305
- "en": "X",
2306
- "xloc": [
2307
- "default.handlebars->container->column_l->p1->xdevicesmap->xmapSearchResultsDlg->xmapSearchResultsBck->xmapSearchClose->0",
2308
- "default-mobile.handlebars->dialog->1->id_dialogclose->0",
2309
- "login.handlebars->dialog->dialogHeader->id_dialogclose->0",
2310
- "login-mobile.handlebars->dialog->1->id_dialogclose->0"
2311
- ]
2312
- },
2313
- {
2314
- "en": "Disconnected",
2315
- "cs": "Odpojeno",
2316
- "xloc": [
2317
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->deskstatus",
2318
- "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->termstatus",
2319
- "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3->p13Status",
2320
- "default.handlebars->13->8",
2321
- "default.handlebars->13->152",
2322
- "default.handlebars->13->168",
2323
- "default.handlebars->13->171",
2324
- "default.handlebars->13->175",
2325
- "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3->deskstatus",
2326
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3->p13Status",
2327
- "default-mobile.handlebars->9->1"
2328
- ]
2329
- },
2330
- {
2331
- "en": "Old password:",
2332
- "cs": "Staré heslo:",
2333
- "xloc": [
2334
- "default.handlebars->13->883",
2335
- "default-mobile.handlebars->9->41"
2336
- ]
2337
- },
2338
- {
2339
- "en": "Only files less than 200k can be edited.",
2340
- "cs": "Jen soubory menší než 200k mohou být editovány.",
2341
- "xloc": [
2342
- "default.handlebars->13->613",
2343
- "default-mobile.handlebars->9->253"
2344
- ]
2345
- },
2346
- {
2347
- "en": "Select an operation to perform on all selected devices. Actions will be performed only with proper rights.",
2348
- "xloc": [
2349
- "default.handlebars->13->340"
2350
- ]
2351
- },
2352
- {
2353
- "en": "Windows 64bit service",
2354
- "xloc": [
2355
- "default.handlebars->13->394",
2356
- "default-mobile.handlebars->9->144"
2357
- ]
2358
- },
2359
- {
2360
- "en": "Ctl-C",
2361
- "xloc": [
2362
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3"
2363
- ]
2364
- },
2365
- {
2366
- "en": "Spanish (Mexico)",
2367
- "xloc": [
2368
- "default.handlebars->13->827"
2369
- ]
2370
- },
2371
- {
2372
- "en": "Don\\'t connect to server",
2373
- "xloc": [
2374
- "default.handlebars->13->993"
2375
- ]
2376
- },
2377
- {
2378
- "en": "Close",
2379
- "xloc": [
2380
- "default.handlebars->13->95",
2381
- "default.handlebars->13->103",
2382
- "default.handlebars->13->576",
2383
- "default-mobile.handlebars->9->23"
2384
- ]
2385
- },
2386
- {
2387
- "en": "Last Access",
2388
- "fr": "Dernier accès",
2389
- "xloc": [
2390
- "default.handlebars->13->1115"
2391
- ]
2392
- },
2393
- {
2394
- "en": "{{{terms}}}"
2395
- },
2396
- {
2397
- "en": "Vietnamese",
2398
- "xloc": [
2399
- "default.handlebars->13->854"
2400
- ]
2401
- },
2402
- {
2403
- "en": "{0} second{1}",
2404
- "xloc": [
2405
- "player.htm->3->3"
2406
- ]
2407
- },
2408
- {
2409
- "en": "Action",
2410
- "xloc": [
2411
- "default.handlebars->13->643"
2412
- ]
2413
- },
2414
- {
2415
- "en": "Win+Left",
2416
- "xloc": [
2417
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->23"
2418
- ]
2419
- },
2420
- {
2421
- "en": "Edit User Device Group Permissions",
2422
- "xloc": [
2423
- "default.handlebars->13->1042"
2424
- ]
2425
- },
2426
- {
2427
- "en": "Descend by name",
2428
- "xloc": [
2429
- "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->7",
2430
- "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->7",
2431
- "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->7",
2432
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->7"
2433
- ]
2434
- },
2435
- {
2436
- "en": "Details",
2437
- "cs": "Detaily",
2438
- "xloc": [
2439
- "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevInfo"
2440
- ]
2441
- },
2442
- {
2443
- "en": "Pause",
2444
- "fr": "Pause",
2445
- "xloc": [
2446
- "player.htm->p11->deskarea0->deskarea4->3"
2447
- ]
2448
- },
2449
- {
2450
- "en": "Click ok to send a verification mail to:",
2451
- "xloc": [
2452
- "default.handlebars->13->872",
2453
- "default-mobile.handlebars->9->31"
2454
- ]
2455
- },
2456
- {
2457
- "en": "Scan Network",
2458
- "xloc": [
2459
- "default.handlebars->13->184"
2460
- ]
2461
- },
2462
- {
2463
- "en": "Broadcast Message",
2464
- "fr": "Diffusion d'un Message",
2465
- "xloc": [
2466
- "default.handlebars->13->1156"
2467
- ]
2468
- },
2469
- {
2470
- "en": "No devices in this mesh",
2471
- "fr": "No devices in this group"
2472
- },
2473
- {
2474
- "en": "Rhaeto-Romanic",
2475
- "xloc": [
2476
- "default.handlebars->13->800"
2477
- ]
2478
- },
2479
- {
2480
- "en": "User Names",
2481
- "xloc": [
2482
- "default.handlebars->13->1023"
2483
- ]
2484
- },
2485
- {
2486
- "en": "wget https://",
2487
- "xloc": [
2488
- "agentinvite.handlebars->3->32",
2489
- "agentinvite.handlebars->3->36"
2490
- ]
2491
- },
2492
- {
2493
- "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/."
2494
- },
2495
- {
2496
- "en": "{{{serverhttps}}}",
2497
- "xloc": [
2498
- "agentinvite.handlebars->3->5"
2499
- ]
2500
- },
2501
- {
2502
- "en": "Server Rights",
2503
- "xloc": [
2504
- "default.handlebars->13->1193"
2505
- ]
2506
- },
2507
- {
2508
- "en": "MeshCentral Router is a Windows tool for TCP port mapping. You can, for example, RDP into a remote device thru this server.",
2509
- "xloc": [
2510
- "default.handlebars->13->534"
2511
- ]
2512
- },
2513
- {
2514
- "en": "French (Canada)",
2515
- "xloc": [
2516
- "default.handlebars->13->733"
2517
- ]
2518
- },
2519
- {
2520
- "en": "Remote Desktop Settings",
2521
- "xloc": [
2522
- "default.handlebars->13->178",
2523
- "default.handlebars->13->555",
2524
- "default-mobile.handlebars->9->226"
2525
- ]
2526
- },
2527
- {
2528
- "en": "Requirements: {0}.",
2529
- "fr": "Exigences: {0}.",
2530
- "xloc": [
2531
- "default.handlebars->13->1165",
2532
- "default.handlebars->13->1224",
2533
- "default-mobile.handlebars->9->45"
2534
- ]
2535
- },
2536
- {
2537
- "en": "Powered",
2538
- "fr": "Alimenté",
2539
- "cs": "Zapnuto",
2540
- "xloc": [
2541
- "default.handlebars->13->1",
2542
- "default.handlebars->13->306",
2543
- "default-mobile.handlebars->9->97",
2544
- "default-mobile.handlebars->9->104"
2545
- ]
2546
- },
2547
- {
2548
- "en": "Locked",
2549
- "cs": "Zamknuto",
2550
- "xloc": [
2551
- "default.handlebars->13->1126"
2552
- ]
2553
- },
2554
- {
2555
- "en": "Quality",
2556
- "fr": "Qualité",
2557
- "cs": "Kvalita",
2558
- "xloc": [
2559
- "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->3->1",
2560
- "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->3->3"
2561
- ]
2562
- },
2563
- {
2564
- "en": "Cancel",
2565
- "fr": "Annuler",
2566
- "cs": "Zrušit",
2567
- "xloc": [
2568
- "default.handlebars->container->dialog->idx_dlgButtonBar",
2569
- "default.handlebars->13->912",
2570
- "default-mobile.handlebars->dialog->idx_dlgButtonBar",
2571
- "default-mobile.handlebars->9->38",
2572
- "login.handlebars->dialog->idx_dlgButtonBar",
2573
- "login-mobile.handlebars->dialog->idx_dlgButtonBar",
2574
- "player.htm->p11->dialog->idx_dlgButtonBar"
2575
- ]
2576
- },
2577
- {
2578
- "en": "CPU load in the last minute",
2579
- "cs": "CPU zatížení v poslední minutě",
2580
- "xloc": [
2581
- "default.handlebars->13->1237"
2582
- ]
2583
- },
2584
- {
2585
- "en": ", right click on it or press \"control\" and click on the file. Then select \"Open\" and follow the instructions.",
2586
- "cs": ", poté spusťe instalaci. Postupujte dle instrukcí.",
2587
- "xloc": [
2588
- "agentinvite.handlebars->container->column_l->5->macostab->3"
2589
- ]
2590
- },
2591
- {
2592
- "en": "Latvian",
2593
- "xloc": [
2594
- "default.handlebars->13->773"
2595
- ]
2596
- },
2597
- {
2598
- "en": "Last changed: {0}",
2599
- "fr": "Dernière modification: {0}",
2600
- "cs": "Poslední změna: {0}",
2601
- "xloc": [
2602
- "default.handlebars->13->1200"
2603
- ]
2604
- },
2605
- {
2606
- "en": "Slovenian",
2607
- "xloc": [
2608
- "default.handlebars->13->813"
2609
- ]
2610
- },
2611
- {
2612
- "en": "Cookie encoder",
2613
- "xloc": [
2614
- "default.handlebars->13->1253"
2615
- ]
2616
- },
2617
- {
2618
- "en": "Copyright (c) 2009, CodePlex Foundation. All rights reserved."
2619
- },
2620
- {
2621
- "en": "Email Address Change",
2622
- "cs": "Změna emailové adresy",
2623
- "xloc": [
2624
- "default.handlebars->13->876",
2625
- "default-mobile.handlebars->9->35"
2626
- ]
2627
- },
2628
- {
2629
- "en": "Edit Device Group",
2630
- "cs": "Editovat skupinu zařízení",
2631
- "xloc": [
2632
- "default.handlebars->13->1008",
2633
- "default.handlebars->13->1026",
2634
- "default.handlebars->13->1044",
2635
- "default-mobile.handlebars->9->289",
2636
- "default-mobile.handlebars->9->291",
2637
- "default-mobile.handlebars->9->308"
2638
- ]
2639
- },
2640
- {
2641
- "en": "Sort by name",
2642
- "fr": "Trier par nom",
2643
- "cs": "Třídit podle jména",
2644
- "xloc": [
2645
- "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->1",
2646
- "default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsArea->DeskToolsProcessTab->deskToolsHeader",
2647
- "default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsArea->DeskToolsServiceTab->deskToolsServiceHeader",
2648
- "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->1",
2649
- "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->1",
2650
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->1"
2651
- ]
2652
- },
2653
- {
2654
- "en": "No Intel® AMT devices in this mesh",
2655
- "xloc": [
2656
- "default.handlebars->13->158"
2657
- ]
2658
- },
2659
- {
2660
- "en": "Copy MAC address to clipboard",
2661
- "cs": "Kopírovat MAC adresu do schránky",
2662
- "xloc": [
2663
- "default.handlebars->13->60",
2664
- "default.handlebars->13->68"
2665
- ]
2666
- },
2667
- {
2668
- "en": "Show connection toolbar",
2669
- "xloc": [
2670
- "default.handlebars->13->1012"
2671
- ]
2672
- },
2673
- {
2674
- "en": "fullscreen",
2675
- "xloc": [
2676
- "agentinvite.handlebars->3->10",
2677
- "agentinvite.handlebars->3->12"
2678
- ]
2679
- },
2680
- {
2681
- "en": "No devices",
2682
- "fr": "Aucun appareil",
2683
- "cs": "Žádné zařízení",
2684
- "xloc": [
2685
- "default-mobile.handlebars->9->95"
2686
- ]
2687
- },
2688
- {
2689
- "en": "Link Expiration",
2690
- "cs": "Platnost linku",
2691
- "xloc": [
2692
- "default.handlebars->13->247",
2693
- "default.handlebars->13->261"
2694
- ]
2695
- },
2696
- {
2697
- "en": "This policy will not impact devices with Intel® AMT in ACM mode.",
2698
- "xloc": [
2699
- "default.handlebars->13->1000"
2700
- ]
2701
- },
2702
- {
2703
- "en": "Call Error",
2704
- "fr": "Erreur d'appel",
2705
- "xloc": [
2706
- "default.handlebars->13->1269"
2707
- ]
2708
- },
2709
- {
2710
- "en": "Log-X",
2711
- "xloc": [
2712
- "default.handlebars->container->column_l->p40->3->3->3"
2713
- ]
2714
- },
2715
- {
2716
- "en": "Navajo",
2717
- "xloc": [
2718
- "default.handlebars->13->783"
2719
- ]
2720
- },
2721
- {
2722
- "en": "Enter",
2723
- "xloc": [
2724
- "default.handlebars->13->902",
2725
- "default.handlebars->13->903"
2726
- ]
2727
- },
2728
- {
2729
- "en": "Gujurati",
2730
- "xloc": [
2731
- "default.handlebars->13->751"
2732
- ]
2733
- },
2734
- {
2735
- "en": "Last 1000",
2736
- "fr": "1000 derniers",
2737
- "cs": "Posledních 1000",
2738
- "xloc": [
2739
- "default.handlebars->container->column_l->p3->3->1->0->3->p3limitdropdown->9",
2740
- "default.handlebars->container->column_l->p16->3->1->0->5->p16limitdropdown->9",
2741
- "default.handlebars->container->column_l->p31->5->1->0->5->p31limitdropdown->9",
2742
- "default.handlebars->container->column_l->p41->3->1->p41limitdropdown->7"
2743
- ]
2744
- },
2745
- {
2746
- "en": "1 node",
2747
- "fr": "1 appareil",
2748
- "xloc": [
2749
- "default.handlebars->13->303"
2750
- ]
2751
- },
2752
- {
2753
- "en": "Notification sound.",
2754
- "xloc": [
2755
- "default.handlebars->13->867"
2756
- ]
2757
- },
2758
- {
2759
- "en": "Extended Ascii",
2760
- "xloc": [
2761
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
2762
- ]
2763
- },
2764
- {
2765
- "en": "Large",
2766
- "fr": "Grand",
2767
- "cs": "Velký",
2768
- "xloc": [
2769
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSize->sizeselect->5"
2770
- ]
2771
- },
2772
- {
2773
- "en": "Polish",
2774
- "xloc": [
2775
- "default.handlebars->13->793"
2776
- ]
2777
- },
2778
- {
2779
- "en": "New Account...",
2780
- "fr": "Nouveau Compte...",
2781
- "cs": "Nový účet...",
2782
- "xloc": [
2783
- "default.handlebars->container->column_l->p4->3->1->0->3->3"
2784
- ]
2785
- },
2786
- {
2787
- "en": "Backup Codes",
2788
- "xloc": [
2789
- "default.handlebars->13->1209"
2790
- ]
2791
- },
2792
- {
2793
- "en": "Network Interfaces",
2794
- "xloc": [
2795
- "default.handlebars->13->532"
2796
- ]
2797
- },
2798
- {
2799
- "en": "Manage using a software agent",
2800
- "fr": "Gérer à l'aide d'un agent logiciel",
2801
- "xloc": [
2802
- "default.handlebars->13->898"
2803
- ]
2804
- },
2805
- {
2806
- "en": "1 week",
2807
- "fr": "1 semaine",
2808
- "cs": "1 týden",
2809
- "xloc": [
2810
- "default.handlebars->13->130",
2811
- "default.handlebars->13->251",
2812
- "default.handlebars->13->265"
2813
- ]
2814
- },
2815
- {
2816
- "en": "{0} more users not shown, use search box to look for users...",
2817
- "xloc": [
2818
- "default.handlebars->13->1120"
2819
- ]
2820
- },
2821
- {
2822
- "en": "{0} Mb",
2823
- "xloc": [
2824
- "default.handlebars->13->1079"
2825
- ]
2826
- },
2827
- {
2828
- "en": "Linux x86 (64bit)",
2829
- "xloc": [
2830
- "default.handlebars->13->539"
2831
- ]
2832
- },
2833
- {
2834
- "en": "French (Monaco)",
2835
- "xloc": [
2836
- "default.handlebars->13->736"
2837
- ]
2838
- },
2839
- {
2840
- "en": "State",
2841
- "cs": "Stav",
2842
- "xloc": [
2843
- "default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsArea->DeskToolsServiceTab->deskToolsServiceHeader->1",
2844
- "default.handlebars->13->568"
2845
- ]
2846
- },
2847
- {
2848
- "en": "Deactivate Client Control Mode (CCM)",
2849
- "xloc": [
2850
- "default.handlebars->13->982"
2851
- ]
2852
- },
2853
- {
2854
- "en": "{0} Kb",
2855
- "xloc": [
2856
- "default.handlebars->13->1078"
2857
- ]
2858
- },
2859
- {
2860
- "en": "Hostname",
2861
- "xloc": [
2862
- "default.handlebars->13->195",
2863
- "default.handlebars->13->383",
2864
- "default.handlebars->13->384",
2865
- "default.handlebars->13->386",
2866
- "default.handlebars->13->546",
2867
- "default-mobile.handlebars->9->133",
2868
- "default-mobile.handlebars->9->134",
2869
- "default-mobile.handlebars->9->136",
2870
- "default-mobile.handlebars->9->220"
2871
- ]
2872
- },
2873
- {
2874
- "en": "Email is verified",
2875
- "cs": "Email ověřen",
2876
- "xloc": [
2877
- "default.handlebars->13->1188"
2878
- ]
2879
- },
2880
- {
2881
- "en": "Full Screen. Hold shift to browser full screen.",
2882
- "xloc": [
2883
- "default.handlebars->container->column_l->p11->p11title->p11deviceNameHeader->devListToolbarViewIcons",
2884
- "default.handlebars->container->column_l->p14->p14title->devListToolbarViewIcons"
2885
- ]
2886
- },
2887
- {
2888
- "en": "Location Results",
2889
- "xloc": [
2890
- "default.handlebars->container->column_l->p1->xdevicesmap->xmapSearchResultsDlg->xmapSearchResultsBck->3"
2891
- ]
2892
- },
2893
- {
2894
- "en": "Indonesian",
2895
- "xloc": [
2896
- "default.handlebars->13->757"
2897
- ]
2898
- },
2899
- {
2900
- "en": "Chinese (Taiwan)",
2901
- "xloc": [
2902
- "default.handlebars->13->703"
2903
- ]
2904
- },
2905
- {
2906
- "en": "Password",
2907
- "fr": "Mot de passe",
2908
- "cs": "Heslo",
2909
- "xloc": [
2910
- "default.handlebars->13->199",
2911
- "default.handlebars->13->228",
2912
- "default.handlebars->13->514",
2913
- "default.handlebars->13->1159",
2914
- "default.handlebars->13->1160",
2915
- "default.handlebars->13->1197",
2916
- "default.handlebars->13->1199",
2917
- "default.handlebars->13->1221",
2918
- "default.handlebars->13->1222",
2919
- "default-mobile.handlebars->9->210"
2920
- ]
2921
- },
2922
- {
2923
- "en": "Stats",
2924
- "cs": "Statistiky",
2925
- "xloc": [
2926
- "default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerStats"
2927
- ]
2928
- },
2929
- {
2930
- "en": "Check server version",
2931
- "cs": "Zkontrolovat verzi serveru",
2932
- "xloc": [
2933
- "default.handlebars->container->column_l->p6->p2ServerActions->3->p2ServerActionsVersion->0"
2934
- ]
2935
- },
2936
- {
2937
- "en": "7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License"
2938
- },
2939
- {
2940
- "en": "Delete Node",
2941
- "xloc": [
2942
- "default.handlebars->13->530",
2943
- "default-mobile.handlebars->9->215"
2944
- ]
2945
- },
2946
- {
2947
- "en": "Zoom to fit extent",
2948
- "xloc": [
2949
- "default.handlebars->13->363"
2950
- ]
2951
- },
2952
- {
2953
- "en": "Norwegian (Bokmal)",
2954
- "xloc": [
2955
- "default.handlebars->13->787"
2956
- ]
2957
- },
2958
- {
2959
- "en": "View notes about this device group",
2960
- "xloc": [
2961
- "default.handlebars->13->955"
2962
- ]
2963
- },
2964
- {
2965
- "en": "Used",
2966
- "cs": "Použito",
2967
- "xloc": [
2968
- "default.handlebars->13->1233",
2969
- "default.handlebars->13->1235"
2970
- ]
2971
- },
2972
- {
2973
- "en": "Arabic (Algeria)",
2974
- "xloc": [
2975
- "default.handlebars->13->668"
2976
- ]
2977
- },
2978
- {
2979
- "en": "To add a new Intel® 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.",
2980
- "xloc": [
2981
- "default.handlebars->13->218"
2982
- ]
2983
- },
2984
- {
2985
- "en": "Drag & drop a .mcrec file or click \\\"Open File...\\\"",
2986
- "xloc": [
2987
- "player.htm->3->18"
2988
- ]
2989
- },
2990
- {
2991
- "en": "Policy",
2992
- "fr": "Politique",
2993
- "xloc": [
2994
- "default.handlebars->13->907",
2995
- "default-mobile.handlebars->9->59"
2996
- ]
2997
- },
2998
- {
2999
- "en": "Arabic (Iraq)",
3000
- "xloc": [
3001
- "default.handlebars->13->671"
3002
- ]
3003
- },
3004
- {
3005
- "en": "Sorbian",
3006
- "xloc": [
3007
- "default.handlebars->13->815"
3008
- ]
3009
- },
3010
- {
3011
- "en": "Desktop Prompt",
3012
- "xloc": [
3013
- "default.handlebars->13->933"
3014
- ]
3015
- },
3016
- {
3017
- "en": "French (Belgium)",
3018
- "xloc": [
3019
- "default.handlebars->13->732"
3020
- ]
3021
- },
3022
- {
3023
- "en": "No Rights",
3024
- "xloc": [
3025
- "default.handlebars->13->910",
3026
- "default.handlebars->13->972",
3027
- "default.handlebars->13->1059",
3028
- "default-mobile.handlebars->9->62",
3029
- "default-mobile.handlebars->9->282",
3030
- "default-mobile.handlebars->9->323"
3031
- ]
3032
- },
3033
- {
3034
- "en": "To add a new computer to device group \\\"{0}\\\", download the mesh agent and install it the computer to manage. This agent installer has server and device group information embedded within it.",
3035
- "cs": "Pro přidání do skupiny \\\"{0}\\\", si musíte stáhnout agenta a nainstalovat ho na počítači, který chcete spravovat. Tento agent má všechny potřebné informace pro připojení již v sobě.",
3036
- "xloc": [
3037
- "default.handlebars->13->291"
3038
- ]
3039
- },
3040
- {
3041
- "en": "Norwegian (Nynorsk)",
3042
- "xloc": [
3043
- "default.handlebars->13->788"
3044
- ]
3045
- },
3046
- {
3047
- "en": "Czech",
3048
- "xloc": [
3049
- "default.handlebars->13->708"
3050
- ]
3051
- },
3052
- {
3053
- "en": "1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer."
3054
- },
3055
- {
3056
- "en": "Estonian",
3057
- "xloc": [
3058
- "default.handlebars->13->726"
3059
- ]
3060
- },
3061
- {
3062
- "en": "My Server Tracing",
3063
- "xloc": [
3064
- "default.handlebars->container->column_l->p41->1"
3065
- ]
3066
- },
3067
- {
3068
- "en": "Disabled",
3069
- "xloc": [
3070
- "default.handlebars->13->446"
3071
- ]
3072
- },
3073
- {
3074
- "en": "meshagents?script=1 -O ./meshinstall.sh || wget http://",
3075
- "xloc": [
3076
- "agentinvite.handlebars->3->40",
3077
- "agentinvite.handlebars->3->45"
3078
- ]
3079
- },
3080
- {
3081
- "en": "Confirm removal of authenticator application 2-step login?",
3082
- "xloc": [
3083
- "default.handlebars->13->654",
3084
- "default-mobile.handlebars->9->30"
3085
- ]
3086
- },
3087
- {
3088
- "en": "Search Location",
3089
- "fr": "Recherche de lieu",
3090
- "xloc": [
3091
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devMapToolbar"
3092
- ]
3093
- },
3094
- {
3095
- "en": "Last 3 hours",
3096
- "fr": "3 dernières heures",
3097
- "xloc": [
3098
- "default.handlebars->container->column_l->p40->3->1->p40time->1"
3099
- ]
3100
- },
3101
- {
3102
- "en": "No Files",
3103
- "fr": "Aucun fichier",
3104
- "xloc": [
3105
- "default.handlebars->13->1054",
3106
- "default-mobile.handlebars->9->318"
3107
- ]
3108
- },
3109
- {
3110
- "en": "none",
3111
- "xloc": [
3112
- "agentinvite.handlebars->3->17"
3113
- ]
3114
- },
3115
- {
3116
- "en": "Topic",
3117
- "xloc": [
3118
- "default.handlebars->13->519"
3119
- ]
3120
- },
3121
- {
3122
- "en": "To install, cut and paste the following command in a root terminal.",
3123
- "cs": "Pro instalaci spusťte následující příkaz s právy uživatele root.",
3124
- "xloc": [
3125
- "agentinvite.handlebars->container->column_l->5->linuxtab->3"
3126
- ]
3127
- },
3128
- {
3129
- "en": "Arabic (Syria)",
3130
- "xloc": [
3131
- "default.handlebars->13->680"
3132
- ]
3133
- },
3134
- {
3135
- "en": "MIPS",
3136
- "xloc": [
3137
- "default.handlebars->13->397",
3138
- "default-mobile.handlebars->9->147"
3139
- ]
3140
- },
3141
- {
3142
- "en": "Left bar interface",
3143
- "xloc": [
3144
- "agentinvite.handlebars->container->topbar->uiMenuButton->uiMenu",
3145
- "default.handlebars->container->topbar->1->1->uiMenuButton->uiMenu",
3146
- "error404.handlebars->container->topbar->uiMenuButton->uiMenu",
3147
- "login.handlebars->container->topbar->uiMenuButton->uiMenu"
3148
- ]
3149
- },
3150
- {
3151
- "en": "Linux Poky x86-64bit",
3152
- "xloc": [
3153
- "default.handlebars->13->408",
3154
- "default-mobile.handlebars->9->158"
3155
- ]
3156
- },
3157
- {
3158
- "en": "Holding 1 entrie for move",
3159
- "xloc": [
3160
- "default.handlebars->13->625",
3161
- "default-mobile.handlebars->9->265"
3162
- ]
3163
- },
3164
- {
3165
- "en": "Background & interactive",
3166
- "xloc": [
3167
- "default.handlebars->13->277"
3168
- ]
3169
- },
3170
- {
3171
- "en": "Bosnian",
3172
- "xloc": [
3173
- "default.handlebars->13->693"
3174
- ]
3175
- },
3176
- {
3177
- "en": "Events",
3178
- "cs": "Události",
3179
- "xloc": [
3180
- "default.handlebars->contextMenu->cxevents",
3181
- "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevEvents",
3182
- "default.handlebars->container->topbar->1->1->UserSubMenuSpan->UserSubMenu->1->0->UserEvents"
3183
- ]
3184
- },
3185
- {
3186
- "en": "Clear",
3187
- "xloc": [
3188
- "default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->7",
3189
- "default.handlebars->container->column_l->p41->3->1",
3190
- "default.handlebars->13->620",
3191
- "default.handlebars->13->622",
3192
- "default.handlebars->13->624",
3193
- "default.handlebars->13->626",
3194
- "default.handlebars->13->1100",
3195
- "default-mobile.handlebars->9->25",
3196
- "default-mobile.handlebars->9->88",
3197
- "default-mobile.handlebars->9->260",
3198
- "default-mobile.handlebars->9->262",
3199
- "default-mobile.handlebars->9->264",
3200
- "default-mobile.handlebars->9->266",
3201
- "messenger.handlebars->xbottom"
3202
- ]
3203
- },
3204
- {
3205
- "en": "New password:",
3206
- "fr": "Nouveau mot de passe:",
3207
- "cs": "Nové heslo:",
3208
- "xloc": [
3209
- "default.handlebars->13->884",
3210
- "default.handlebars->13->885",
3211
- "default-mobile.handlebars->9->42",
3212
- "default-mobile.handlebars->9->43"
3213
- ]
3214
- },
3215
- {
3216
- "en": "Intel® AMT Hardware KVM",
3217
- "xloc": [
3218
- "default.handlebars->container->dialog->dialogBody->dialog7->d7amtkvm->1",
3219
- "default-mobile.handlebars->dialog->3->dialog7->d7amtkvm->1"
3220
- ]
3221
- },
3222
- {
3223
- "en": "Dutch (Belgian)",
3224
- "xloc": [
3225
- "default.handlebars->13->711"
3226
- ]
3227
- },
3228
- {
3229
- "en": "Linux x86 (32bit)",
3230
- "xloc": [
3231
- "default.handlebars->13->538"
3232
- ]
3233
- },
3234
- {
3235
- "en": "Arabic (Libya)",
3236
- "xloc": [
3237
- "default.handlebars->13->675"
3238
- ]
3239
- },
3240
- {
3241
- "en": "Authenticator App",
3242
- "xloc": [
3243
- "default.handlebars->13->83",
3244
- "default.handlebars->13->88",
3245
- "default.handlebars->13->651",
3246
- "default.handlebars->13->653",
3247
- "default-mobile.handlebars->9->15",
3248
- "default-mobile.handlebars->9->18",
3249
- "default-mobile.handlebars->9->27",
3250
- "default-mobile.handlebars->9->29"
3251
- ]
3252
- },
3253
- {
3254
- "en": "Change email address",
3255
- "xloc": [
3256
- "default.handlebars->container->column_l->p2->p2AccountActions->3->accountChangeEmailAddressSpan->0",
3257
- "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->3->changeEmailId->0"
3258
- ]
3259
- },
3260
- {
3261
- "en": "Rate",
3262
- "xloc": [
3263
- "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->7->3"
3264
- ]
3265
- },
3266
- {
3267
- "en": "Actions",
3268
- "cs": "Akce",
3269
- "xloc": [
3270
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1",
3271
- "default.handlebars->container->column_l->p12->termTable->1->1->0->1->1",
3272
- "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->1",
3273
- "default.handlebars->13->463",
3274
- "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea4->1->3",
3275
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->1"
3276
- ]
3277
- },
3278
- {
3279
- "en": "Current Version",
3280
- "xloc": [
3281
- "default.handlebars->13->71"
3282
- ]
3283
- },
3284
- {
3285
- "en": "CIRA Server Commands",
3286
- "xloc": [
3287
- "default.handlebars->13->1264"
3288
- ]
3289
- },
3290
- {
3291
- "en": "<b style=color:green>2-step login activation removed</b>. You can reactivate this feature at any time.",
3292
- "xloc": [
3293
- "default-mobile.handlebars->9->19"
3294
- ]
3295
- },
3296
- {
3297
- "en": "1.AJAX Control Toolkit - New BSD License"
3298
- },
3299
- {
3300
- "en": "Display a notification on the remote computer",
3301
- "xloc": [
3302
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->1"
3303
- ]
3304
- },
3305
- {
3306
- "en": "copy",
3307
- "xloc": [
3308
- "default.handlebars->13->1098",
3309
- "default-mobile.handlebars->9->86"
3310
- ]
3311
- },
3312
- {
3313
- "en": "Activated",
3314
- "fr": "Activé",
3315
- "xloc": [
3316
- "default.handlebars->13->424",
3317
- "default.handlebars->13->426",
3318
- "default-mobile.handlebars->9->174",
3319
- "default-mobile.handlebars->9->176"
3320
- ]
3321
- },
3322
- {
3323
- "en": "Intel® AMT -",
3324
- "xloc": [
3325
- "default.handlebars->container->column_l->p14->p14title->5"
3326
- ]
3327
- },
3328
- {
3329
- "en": "Desktop -",
3330
- "xloc": [
3331
- "default.handlebars->container->column_l->p11->p11title->p11deviceNameHeader->5"
3332
- ]
3333
- },
3334
- {
3335
- "en": "File Editor",
3336
- "xloc": [
3337
- "default.handlebars->13->612",
3338
- "default-mobile.handlebars->9->252"
3339
- ]
3340
- },
3341
- {
3342
- "en": "Server Restore",
3343
- "xloc": [
3344
- "default.handlebars->13->1174"
3345
- ]
3346
- },
3347
- {
3348
- "en": "Add Security Key",
3349
- "fr": "Ajouter une clé de sécurité",
3350
- "xloc": [
3351
- "default.handlebars->13->107",
3352
- "default.handlebars->13->109",
3353
- "default.handlebars->13->112",
3354
- "default.handlebars->13->113",
3355
- "default.handlebars->13->662",
3356
- "default.handlebars->13->663"
3357
- ]
3358
- },
3359
- {
3360
- "en": "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.",
3361
- "xloc": [
3362
- "default.handlebars->13->562"
3363
- ]
3364
- },
3365
- {
3366
- "en": "Operating System",
3367
- "fr": "Système opérateur",
3368
- "cs": "Operační systém",
3369
- "xloc": [
3370
- "default.handlebars->13->40",
3371
- "default.handlebars->13->241",
3372
- "default.handlebars->13->270",
3373
- "default.handlebars->13->445"
3374
- ]
3375
- },
3376
- {
3377
- "en": "Malayalam",
3378
- "xloc": [
3379
- "default.handlebars->13->778"
3380
- ]
3381
- },
3382
- {
3383
- "en": "Desktop",
3384
- "cs": "Plocha",
3385
- "xloc": [
3386
- "default.handlebars->contextMenu->cxdesktop",
3387
- "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop",
3388
- "default.handlebars->13->357",
3389
- "default.handlebars->13->1009"
3390
- ]
3391
- },
3392
- {
3393
- "en": "Medium",
3394
- "cs": "Středně",
3395
- "xloc": [
3396
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSize->sizeselect->3",
3397
- "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->7->d7framelimiter->3",
3398
- "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->7->d7framelimiter->3"
3399
- ]
3400
- },
3401
- {
3402
- "en": "Connecting...",
3403
- "xloc": [
3404
- "default.handlebars->13->9",
3405
- "default.handlebars->13->169",
3406
- "default.handlebars->13->172",
3407
- "default.handlebars->13->176",
3408
- "default.handlebars->13->631",
3409
- "default-mobile.handlebars->9->2",
3410
- "default-mobile.handlebars->9->6",
3411
- "default-mobile.handlebars->9->270"
3412
- ]
3413
- },
3414
- {
3415
- "en": "Download the list of events with one of the file formats below.",
3416
- "xloc": [
3417
- "default.handlebars->13->1105"
3418
- ]
3419
- },
3420
- {
3421
- "en": " nodes",
3422
- "fr": "noeuds",
3423
- "xloc": [
3424
- "default-mobile.handlebars->9->125"
3425
- ]
3426
- },
3427
- {
3428
- "en": "1/4 Speed",
3429
- "fr": "1/4 vitesse",
3430
- "xloc": [
3431
- "player.htm->p11->deskarea0->deskarea4->3->PlaySpeed->1"
3432
- ]
3433
- },
3434
- {
3435
- "en": "Rotate Left",
3436
- "fr": "Tourne à gauche",
3437
- "xloc": [
3438
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1"
3439
- ]
3440
- },
3441
- {
3442
- "en": "Server actions",
3443
- "xloc": [
3444
- "default.handlebars->container->column_l->p6->p2ServerActions->1->0"
3445
- ]
3446
- },
3447
- {
3448
- "en": "meshagents?script=1 --no-check-certificate -O ./meshinstall.sh || wget https://",
3449
- "xloc": [
3450
- "agentinvite.handlebars->3->25",
3451
- "agentinvite.handlebars->3->30"
3452
- ]
3453
- },
3454
- {
3455
- "en": "To add a new Intel® AMT device to device group \\\"{0}\\\" with CIRA, load the following certificate as trusted root within Intel AMT",
3456
- "xloc": [
3457
- "default.handlebars->13->221"
3458
- ]
3459
- },
3460
- {
3461
- "en": "100%",
3462
- "xloc": [
3463
- "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->1",
3464
- "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->1"
3465
- ]
3466
- },
3467
- {
3468
- "en": "Download console text",
3469
- "xloc": [
3470
- "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1"
3471
- ]
3472
- },
3473
- {
3474
- "en": "To get started,",
3475
- "xloc": [
3476
- "default.handlebars->container->column_l->p1->NoMeshesPanel->1->1->0->3->getStarted1"
3477
- ]
3478
- },
3479
- {
3480
- "en": "✓",
3481
- "xloc": [
3482
- "default.handlebars->container->column_l->p2->p2AccountSecurity->3->manageAuthApp->0->authAppSetupCheck->0",
3483
- "default.handlebars->container->column_l->p2->p2AccountSecurity->3->manageHardwareOtp->0->authKeySetupCheck->0",
3484
- "default.handlebars->container->column_l->p2->p2AccountSecurity->3->manageOtp->0->authCodesSetupCheck->0",
3485
- "default.handlebars->container->column_l->p5->p5filetable->bigok->0",
3486
- "default.handlebars->container->column_l->p13->p13filetable->p13bigok->0",
3487
- "player.htm->p11->deskarea0->deskarea3x->bigok->0"
3488
- ]
3489
- },
3490
- {
3491
- "en": "XENx86",
3492
- "xloc": [
3493
- "default.handlebars->13->398",
3494
- "default-mobile.handlebars->9->148"
3495
- ]
3496
- },
3497
- {
3498
- "en": "Change Password for {0}",
3499
- "xloc": [
3500
- "default.handlebars->13->1227"
3501
- ]
3502
- },
3503
- {
3504
- "en": "Manage authenticator app",
3505
- "xloc": [
3506
- "default.handlebars->container->column_l->p2->p2AccountSecurity->3->manageAuthApp->1->0",
3507
- "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->3->manageAuthApp->0"
3508
- ]
3509
- },
3510
- {
3511
- "en": "Less",
3512
- "fr": "Moins",
3513
- "xloc": [
3514
- "default.handlebars->13->1271"
3515
- ]
3516
- },
3517
- {
3518
- "en": "To add a new Intel® 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.",
3519
- "xloc": [
3520
- "default.handlebars->13->230"
3521
- ]
3522
- },
3523
- {
3524
- "en": "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.",
3525
- "xloc": [
3526
- "default.handlebars->13->374",
3527
- "default.handlebars->13->892"
3528
- ]
3529
- },
3530
- {
3531
- "en": "Perform Intel AMT admin control mode (ACM) activation to group \\\"{0}\\\" by downloading the MeshCMD tool and running it like this:",
3532
- "xloc": [
3533
- "default.handlebars->13->206"
3534
- ]
3535
- },
3536
- {
3537
- "en": "Forgot username/password?",
3538
- "xloc": [
3539
- "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->resetAccountDiv->resetAccountSpan"
3540
- ]
3541
- },
3542
- {
3543
- "en": "<b style=color:green>2-step login activation successful</b>. You will now need a valid token to login again.",
3544
- "xloc": [
3545
- "default-mobile.handlebars->9->16"
3546
- ]
3547
- },
3548
- {
3549
- "en": "Name1, Name2, Name3",
3550
- "xloc": [
3551
- "default.handlebars->13->1169"
3552
- ]
3553
- },
3554
- {
3555
- "en": "Thai",
3556
- "xloc": [
3557
- "default.handlebars->13->844"
3558
- ]
3559
- },
3560
- {
3561
- "en": "...",
3562
- "xloc": [
3563
- "default.handlebars->13->600",
3564
- "default.handlebars->13->1069",
3565
- "default.handlebars->13->1230",
3566
- "default-mobile.handlebars->9->64",
3567
- "default-mobile.handlebars->9->240"
3568
- ]
3569
- },
3570
- {
3571
- "en": "32bit version of the MeshAgent",
3572
- "xloc": [
3573
- "default.handlebars->13->282",
3574
- "default.handlebars->13->296"
3575
- ]
3576
- },
3577
- {
3578
- "en": "Invitation Link ({0})",
3579
- "cs": "Link pro pozvání ({0})",
3580
- "xloc": [
3581
- "default.handlebars->13->133"
3582
- ]
3583
- },
3584
- {
3585
- "en": "Spanish (Venezuela)",
3586
- "xloc": [
3587
- "default.handlebars->13->835"
3588
- ]
3589
- },
3590
- {
3591
- "en": "Account actions",
3592
- "xloc": [
3593
- "default.handlebars->container->column_l->p2->p2AccountActions->1->0"
3594
- ]
3595
- },
3596
- {
3597
- "en": "Zoom-in to extent",
3598
- "xloc": [
3599
- "default.handlebars->13->360",
3600
- "default.handlebars->13->367"
3601
- ]
3602
- },
3603
- {
3604
- "en": "My Events",
3605
- "fr": "Mes Événements",
3606
- "cs": "Moje události",
3607
- "xloc": [
3608
- "default.handlebars->container->page_leftbar",
3609
- "default.handlebars->container->topbar->1->1->MainMenuSpan->1->0->MainMenuMyEvents",
3610
- "default.handlebars->container->column_l->p3->1"
3611
- ]
3612
- },
3613
- {
3614
- "en": "Are you sure you want to delete group {0}? Deleting the device group will also delete all information about devices within this group.",
3615
- "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.",
3616
- "xloc": [
3617
- "default.handlebars->13->1003",
3618
- "default-mobile.handlebars->9->284"
3619
- ]
3620
- },
3621
- {
3622
- "en": "Win",
3623
- "xloc": [
3624
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->3",
3625
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->5"
3626
- ]
3627
- },
3628
- {
3629
- "en": "Security Key",
3630
- "xloc": [
3631
- "default.handlebars->13->1208"
3632
- ]
3633
- },
3634
- {
3635
- "en": "example@email.com",
3636
- "xloc": [
3637
- "default.handlebars->13->240"
3638
- ]
3639
- },
3640
- {
3641
- "en": "Always Prompt",
3642
- "xloc": [
3643
- "default.handlebars->13->940"
3644
- ]
3645
- },
3646
- {
3647
- "en": "IPv4 mask",
3648
- "xloc": [
3649
- "default.handlebars->13->63"
3650
- ]
3651
- },
3652
- {
3653
- "en": "Will be changed on next login.",
3654
- "fr": "Sera changé lors de la prochaine connexion.",
3655
- "xloc": [
3656
- "default.handlebars->13->1198"
3657
- ]
3658
- },
3659
- {
3660
- "en": "Add Agent",
3661
- "fr": "Ajouter un agent",
3662
- "cs": "Přidat agenta",
3663
- "xloc": [
3664
- "default.handlebars->13->190"
3665
- ]
3666
- },
3667
- {
3668
- "en": "Device Toast",
3669
- "xloc": [
3670
- "default-mobile.handlebars->9->201"
3671
- ]
3672
- },
3673
- {
3674
- "en": "Trace",
3675
- "xloc": [
3676
- "default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerTrace"
3677
- ]
3678
- },
3679
- {
3680
- "en": "Add CIRA",
3681
- "fr": "Ajouter CIRA",
3682
- "cs": "Přidat CIRA",
3683
- "xloc": [
3684
- "default.handlebars->13->180"
3685
- ]
3686
- },
3687
- {
3688
- "en": "move",
3689
- "xloc": [
3690
- "default.handlebars->13->1099",
3691
- "default-mobile.handlebars->9->87"
3692
- ]
3693
- },
3694
- {
3695
- "en": "Device is powered on.",
3696
- "xloc": [
3697
- "default.handlebars->13->305"
3698
- ]
3699
- },
3700
- {
3701
- "en": "Add Intel® AMT device",
3702
- "xloc": [
3703
- "default.handlebars->13->203"
3704
- ]
3705
- },
3706
- {
3707
- "en": "Slovak",
3708
- "xloc": [
3709
- "default.handlebars->13->812"
3710
- ]
3711
- },
3712
- {
3713
- "en": "Sort by process id",
3714
- "fr": "Trier par identifiant de processus",
3715
- "xloc": [
3716
- "default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsArea->DeskToolsProcessTab->deskToolsHeader"
3717
- ]
3718
- },
3719
- {
3720
- "en": "{0} users",
3721
- "xloc": [
3722
- "default.handlebars->13->174"
3723
- ]
3724
- },
3725
- {
3726
- "en": "Always Notify",
3727
- "fr": "Toujours aviser",
3728
- "xloc": [
3729
- "default.handlebars->13->939"
3730
- ]
3731
- },
3732
- {
3733
- "en": "Descend by date",
3734
- "xloc": [
3735
- "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->11",
3736
- "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->11",
3737
- "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->11",
3738
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->11"
3739
- ]
3740
- },
3741
- {
3742
- "en": "Holding {0} entries for copy",
3743
- "xloc": [
3744
- "default.handlebars->13->619",
3745
- "default-mobile.handlebars->9->259"
3746
- ]
3747
- },
3748
- {
3749
- "en": "CPU load in the last 5 minutes",
3750
- "xloc": [
3751
- "default.handlebars->13->1238"
3752
- ]
3753
- },
3754
- {
3755
- "en": "Armenian",
3756
- "xloc": [
3757
- "default.handlebars->13->685"
3758
- ]
3759
- },
3760
- {
3761
- "en": "Hard disconnect agent",
3762
- "xloc": [
3763
- "default.handlebars->13->649"
3764
- ]
3765
- },
3766
- {
3767
- "en": "Up",
3768
- "fr": "Up",
3769
- "cs": "Nahoru",
3770
- "xloc": [
3771
- "default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
3772
- "default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
3773
- "default.handlebars->container->dialog->dialogBody->dialog3->d3servermode->d3serveraction",
3774
- "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
3775
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1"
3776
- ]
3777
- },
3778
- {
3779
- "en": "General",
3780
- "cs": "Obecné",
3781
- "xloc": [
3782
- "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDev",
3783
- "default.handlebars->container->topbar->1->1->MeshSubMenuSpan->MeshSubMenu->1->0->MeshGeneral",
3784
- "default.handlebars->container->topbar->1->1->UserSubMenuSpan->UserSubMenu->1->0->UserGeneral",
3785
- "default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerGeneral"
3786
- ]
3787
- },
3788
- {
3789
- "en": "Connect to your home or office devices from anywhere in the world using",
3790
- "cs": "Přihlašte se na různá svá nebo firemní zařízení odkudkoliv z celého světa",
3791
- "xloc": [
3792
- "login.handlebars->container->column_l->welcomeText"
3793
- ]
3794
- },
3795
- {
3796
- "en": "Type",
3797
- "cs": "Typ",
3798
- "xloc": [
3799
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3",
3800
- "default.handlebars->13->575",
3801
- "default.handlebars->13->897",
3802
- "default.handlebars->13->926",
3803
- "default.handlebars->13->977",
3804
- "default.handlebars->13->980",
3805
- "default-mobile.handlebars->9->54",
3806
- "default-mobile.handlebars->9->277"
3807
- ]
3808
- },
3809
- {
3810
- "en": "Name (optional)",
3811
- "fr": "Nom: (optionnel)",
3812
- "cs": "Jméno (volitelné)",
3813
- "xloc": [
3814
- "default.handlebars->13->238"
3815
- ]
3816
- },
3817
- {
3818
- "en": "Spanish (Panama)",
3819
- "xloc": [
3820
- "default.handlebars->13->829"
3821
- ]
3822
- },
3823
- {
3824
- "en": "Select a new group for this device",
3825
- "cs": "Vyber novou skupinu pro toto zařízení",
3826
- "xloc": [
3827
- "default.handlebars->13->522"
3828
- ]
3829
- },
3830
- {
3831
- "en": "Gateway MAC",
3832
- "cs": "MAC brány",
3833
- "xloc": [
3834
- "default.handlebars->13->67"
3835
- ]
3836
- },
3837
- {
3838
- "en": "Tab",
3839
- "xloc": [
3840
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->3"
3841
- ]
3842
- },
3843
- {
3844
- "en": "User + Files",
3845
- "cs": "Uživatel + Soubory",
3846
- "xloc": [
3847
- "default.handlebars->13->1129"
3848
- ]
3849
- },
3850
- {
3851
- "en": "Unknown #{0}",
3852
- "fr": " #{0} Inconnue",
3853
- "xloc": [
3854
- "default.handlebars->13->920",
3855
- "default-mobile.handlebars->9->271"
3856
- ]
3857
- },
3858
- {
3859
- "en": "{{{servernoproxy}}}",
3860
- "xloc": [
3861
- "agentinvite.handlebars->3->6"
3862
- ]
3863
- },
3864
- {
3865
- "en": "Romanian",
3866
- "xloc": [
3867
- "default.handlebars->13->801"
3868
- ]
3869
- },
3870
- {
3871
- "en": "Device is in hibernating state (S4).",
3872
- "xloc": [
3873
- "default.handlebars->13->313"
3874
- ]
3875
- },
3876
- {
3877
- "en": "No server rights",
3878
- "xloc": [
3879
- "default.handlebars->13->1182"
3880
- ]
3881
- },
3882
- {
3883
- "en": "Extended ASCII",
3884
- "xloc": [
3885
- "default.handlebars->13->588"
3886
- ]
3887
- },
3888
- {
3889
- "en": "Relay",
3890
- "xloc": [
3891
- "default.handlebars->13->149",
3892
- "default.handlebars->13->333",
3893
- "default-mobile.handlebars->9->121"
3894
- ]
3895
- },
3896
- {
3897
- "en": "Notify {0}",
3898
- "xloc": [
3899
- "default.handlebars->13->1133"
3900
- ]
3901
- },
3902
- {
3903
- "en": "Setup CIRA",
3904
- "xloc": [
3905
- "default.handlebars->13->219"
3906
- ]
3907
- },
3908
- {
3909
- "en": "UserID",
3910
- "fr": "Identifiant d'utilisateur",
3911
- "xloc": [
3912
- "player.htm->3->5"
3913
- ]
3914
- },
3915
- {
3916
- "en": "My Account",
3917
- "fr": "Mon Compte",
3918
- "cs": "Můj účet",
3919
- "xloc": [
3920
- "default.handlebars->container->page_leftbar",
3921
- "default.handlebars->container->topbar->1->1->MainMenuSpan->1->0->MainMenuMyAccount",
3922
- "default.handlebars->container->column_l->p2->1",
3923
- "default-mobile.handlebars->topMenu->3"
3924
- ]
3925
- },
3926
- {
3927
- "en": "Hibernating",
3928
- "xloc": [
3929
- "default.handlebars->13->5",
3930
- "default.handlebars->13->314",
3931
- "default-mobile.handlebars->9->101",
3932
- "default-mobile.handlebars->9->108"
3933
- ]
3934
- },
3935
- {
3936
- "en": "IPv4 address",
3937
- "xloc": [
3938
- "default.handlebars->13->61"
3939
- ]
3940
- },
3941
- {
3942
- "en": "Device is in soft-off state (S5)",
3943
- "xloc": [
3944
- "default.handlebars->13->324",
3945
- "default-mobile.handlebars->9->116"
3946
- ]
3947
- },
3948
- {
3949
- "en": "MeshCentral Server Errors",
3950
- "xloc": [
3951
- "default.handlebars->13->76",
3952
- "default.handlebars->13->78"
3953
- ]
3954
- },
3955
- {
3956
- "en": "Windows (64bit)",
3957
- "xloc": [
3958
- "default.handlebars->13->537"
3959
- ]
3960
- },
3961
- {
3962
- "en": "{{{domainurl}}}",
3963
- "xloc": [
3964
- "agentinvite.handlebars->3->2"
3965
- ]
3966
- },
3967
- {
3968
- "en": "Root",
3969
- "xloc": [
3970
- "default.handlebars->13->599",
3971
- "default.handlebars->13->1068",
3972
- "default-mobile.handlebars->9->63",
3973
- "default-mobile.handlebars->9->239"
3974
- ]
3975
- },
3976
- {
3977
- "en": "Sample IP range values<br />192.168.0.100<br />192.168.1.0/24<br />192.167.0.1-192.168.0.100",
3978
- "xloc": [
3979
- "default.handlebars->13->124"
3980
- ]
3981
- },
3982
- {
3983
- "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/)\""
3984
- },
3985
- {
3986
- "en": "Wake Devices",
3987
- "xloc": [
3988
- "default.handlebars->13->1037",
3989
- "default.handlebars->13->1050",
3990
- "default-mobile.handlebars->9->302",
3991
- "default-mobile.handlebars->9->314"
3992
- ]
3993
- },
3994
- {
3995
- "en": "Fijian",
3996
- "xloc": [
3997
- "default.handlebars->13->729"
3998
- ]
3999
- },
4000
- {
4001
- "en": "Write an event for this device",
4002
- "fr": "Écrire un événement pour ce périphérique",
4003
- "xloc": [
4004
- "default.handlebars->13->468"
4005
- ]
4006
- },
4007
- {
4008
- "en": "Delete devices",
4009
- "xloc": [
4010
- "default.handlebars->13->347"
4011
- ]
4012
- },
4013
- {
4014
- "en": "userlist.csv",
4015
- "xloc": [
4016
- "default.handlebars->13->1145",
4017
- "default.handlebars->13->1153"
4018
- ]
4019
- },
4020
- {
4021
- "en": "Device group notes can be viewed and changed by other device group administrators.",
4022
- "xloc": [
4023
- "default.handlebars->13->499"
4024
- ]
4025
- },
4026
- {
4027
- "en": "Filter",
4028
- "cs": "Filtr",
4029
- "xloc": [
4030
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devListToolbar",
4031
- "default.handlebars->container->column_l->p4->3->1->0->3->3"
4032
- ]
4033
- },
4034
- {
4035
- "en": "Session time",
4036
- "xloc": [
4037
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->1",
4038
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1"
4039
- ]
4040
- },
4041
- {
4042
- "en": "AutoConnect",
4043
- "xloc": [
4044
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->3",
4045
- "default.handlebars->container->column_l->p12->termTable->1->1->0->1->3",
4046
- "default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3",
4047
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3"
4048
- ]
4049
- },
4050
- {
4051
- "en": "Architecture",
4052
- "fr": "Architecture",
4053
- "cs": "Architektura",
4054
- "xloc": [
4055
- "default.handlebars->13->43"
4056
- ]
4057
- },
4058
- {
4059
- "en": "Show Focus Tool",
4060
- "xloc": [
4061
- "default.handlebars->container->dialog->dialogBody->dialog7->d7amtkvm->5->d7otherset->1",
4062
- "default-mobile.handlebars->dialog->3->dialog7->d7amtkvm->5->1->1"
4063
- ]
4064
- },
4065
- {
4066
- "en": "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://",
4067
- "xloc": [
4068
- "agentinvite.handlebars->3->26"
4069
- ]
4070
- },
4071
- {
4072
- "en": "Swedish",
4073
- "xloc": [
4074
- "default.handlebars->13->838"
4075
- ]
4076
- },
4077
- {
4078
- "en": "Email:",
4079
- "xloc": [
4080
- "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->2->nuEmail",
4081
- "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpanel->1->7->1->0->1",
4082
- "login.handlebars->5->1",
4083
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->2->1",
4084
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpanel->1->7->1->0->1",
4085
- "login-mobile.handlebars->5->1"
4086
- ]
4087
- },
4088
- {
4089
- "en": "Spanish (Dominican Republic)",
4090
- "xloc": [
4091
- "default.handlebars->13->822"
4092
- ]
4093
- },
4094
- {
4095
- "en": "Last 100",
4096
- "cs": "Posledních 100",
4097
- "fr": "100 dernières",
4098
- "xloc": [
4099
- "default.handlebars->container->column_l->p41->3->1->p41limitdropdown->1"
4100
- ]
4101
- },
4102
- {
4103
- "en": "Last 120",
4104
- "fr": "120 dernières",
4105
- "cs": "Posledních 120",
4106
- "xloc": [
4107
- "default.handlebars->container->column_l->p3->3->1->0->3->p3limitdropdown->3",
4108
- "default.handlebars->container->column_l->p16->3->1->0->5->p16limitdropdown->3",
4109
- "default.handlebars->container->column_l->p31->5->1->0->5->p31limitdropdown->3"
4110
- ]
4111
- },
4112
- {
4113
- "en": "Select a node to place",
4114
- "xloc": [
4115
- "default.handlebars->13->371"
4116
- ]
4117
- },
4118
- {
4119
- "en": "Sango",
4120
- "xloc": [
4121
- "default.handlebars->13->806"
4122
- ]
4123
- },
4124
- {
4125
- "en": "Latin",
4126
- "xloc": [
4127
- "default.handlebars->13->772"
4128
- ]
4129
- },
4130
- {
4131
- "en": "Account security",
4132
- "cs": "Nastavení bezpečnosti",
4133
- "xloc": [
4134
- "default.handlebars->container->column_l->p2->p2AccountSecurity->1->0"
4135
- ]
4136
- },
4137
- {
4138
- "en": "MeshCentral",
4139
- "cs": "MeshCentral",
4140
- "xloc": [
4141
- "login.handlebars->container->column_l->welcomeText->1"
4142
- ]
4143
- },
4144
- {
4145
- "en": "Not Activated (In)",
4146
- "xloc": [
4147
- "default.handlebars->13->423",
4148
- "default-mobile.handlebars->9->173"
4149
- ]
4150
- },
4151
- {
4152
- "en": "Intel AMT CIRA connected",
4153
- "xloc": [
4154
- "default.handlebars->13->117"
4155
- ]
4156
- },
4157
- {
4158
- "en": "French (Switzerland)",
4159
- "xloc": [
4160
- "default.handlebars->13->737"
4161
- ]
4162
- },
4163
- {
4164
- "en": "Tag1, Tag2, Tag3",
4165
- "xloc": [
4166
- "default.handlebars->13->549"
4167
- ]
4168
- },
4169
- {
4170
- "en": "To uninstall, cut and paste the following command as root.",
4171
- "cs": "Pro odinstalování spustťe tento příkaz pod s uživatelskými právy root.",
4172
- "xloc": [
4173
- "agentinvite.handlebars->container->column_l->5->linuxtab->9"
4174
- ]
4175
- },
4176
- {
4177
- "en": " Password hint can be used but is not recommanded.",
4178
- "fr": "Un indice de mot de passe peut être utilisé mais n'est pas recommandé.",
4179
- "cs": " Nápověda hesla může být použita, ale není doporučováno.",
4180
- "xloc": [
4181
- "default.handlebars->13->882"
4182
- ]
4183
- },
4184
- {
4185
- "en": "{0} second{1} until disconnect",
4186
- "cs": "{0} sekund{1} do odpojení",
4187
- "xloc": [
4188
- "default.handlebars->13->23"
4189
- ]
4190
- },
4191
- {
4192
- "en": "1 byte",
4193
- "fr": "1 octet",
4194
- "cs": "1 byte",
4195
- "xloc": [
4196
- "default.handlebars->13->1086",
4197
- "default-mobile.handlebars->9->74",
4198
- "default-mobile.handlebars->9->330"
4199
- ]
4200
- },
4201
- {
4202
- "en": "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\\r\\n",
4203
- "xloc": [
4204
- "agentinvite.handlebars->3->31"
4205
- ]
4206
- },
4207
- {
4208
- "en": "Add a new Intel® AMT computer by scanning the local network.",
4209
- "xloc": [
4210
- "default.handlebars->13->183"
4211
- ]
4212
- },
4213
- {
4214
- "en": "No Keys Configured",
4215
- "cs": "Žádný klíč není zkonfigurován",
4216
- "xloc": [
4217
- "default.handlebars->13->102"
4218
- ]
4219
- },
4220
- {
4221
- "en": "62.5%",
4222
- "xloc": [
4223
- "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->5->d7bitmapscaling->7",
4224
- "default-mobile.handlebars->dialog->3->dialog7->d7meshkvm->5->d7bitmapscaling->7"
4225
- ]
4226
- },
4227
- {
4228
- "en": "Please add two-factor backup codes. If the current factor is lost, there is not way to recover this account.",
4229
- "xloc": [
4230
- "default.handlebars->13->16"
4231
- ]
4232
- },
4233
- {
4234
- "en": "Create one",
4235
- "cs": "Vytvořit",
4236
- "xloc": [
4237
- "login.handlebars->container->column_l->centralTable->1->0->logincell->loginpanel->1->newAccountDiv->1",
4238
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->loginpanel->1->newAccountDiv->1"
4239
- ]
4240
- },
4241
- {
4242
- "en": "Intel® Active Management Technology",
4243
- "xloc": [
4244
- "default.handlebars->13->439"
4245
- ]
4246
- },
4247
- {
4248
- "en": "Spanish (Uruguay)",
4249
- "xloc": [
4250
- "default.handlebars->13->834"
4251
- ]
4252
- },
4253
- {
4254
- "en": "No Terminal",
4255
- "cs": "Žádný terminál",
4256
- "xloc": [
4257
- "default.handlebars->13->1053",
4258
- "default-mobile.handlebars->9->317"
4259
- ]
4260
- },
4261
- {
4262
- "en": "Services",
4263
- "cs": "Služby",
4264
- "xloc": [
4265
- "default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsAreaTop->deskToolsTopTabService"
4266
- ]
4267
- },
4268
- {
4269
- "en": "Confirm move of 1 entrie to this location?",
4270
- "xloc": [
4271
- "default.handlebars->13->617",
4272
- "default-mobile.handlebars->9->257"
4273
- ]
4274
- },
4275
- {
4276
- "en": "meshagents?script=1 --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://",
4277
- "xloc": [
4278
- "agentinvite.handlebars->3->41"
4279
- ]
4280
- },
4281
- {
4282
- "en": "1 month",
4283
- "fr": "1 mois",
4284
- "cs": "1 měsíc",
4285
- "xloc": [
4286
- "default.handlebars->13->131",
4287
- "default.handlebars->13->252",
4288
- "default.handlebars->13->266"
4289
- ]
4290
- },
4291
- {
4292
- "en": "You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files.\n Only follow the instructions below if this invitation was expected and you know who will be accessing your computer.\n Selecting your operation system and follow the instructions below.",
4293
- "cs": "Byla vám doručena pozvánka k instalaci softwaru, který umožňuje vzdálenou správu zařízení.\n 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.\n Vyberte si operační systém a postupujte dle pokynů níže.",
4294
- "xloc": [
4295
- "agentinvite.handlebars->container->column_l->3"
4296
- ]
4297
- },
4298
- {
4299
- "en": "ARMv6l / ARMv7l / NoKVM",
4300
- "xloc": [
4301
- "default.handlebars->13->417",
4302
- "default-mobile.handlebars->9->167"
4303
- ]
4304
- },
4305
- {
4306
- "en": "Sort by size",
4307
- "fr": "Trier par taille",
4308
- "cs": "Třídit podle velikosti",
4309
- "xloc": [
4310
- "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->3",
4311
- "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->3",
4312
- "default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->2->1->1->1->0->3->p5sortdropdown->3",
4313
- "default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->4->1->1->1->0->3->p13sortdropdown->3"
4314
- ]
4315
- },
4316
- {
4317
- "en": "Windows 64bit",
4318
- "xloc": [
4319
- "agentinvite.handlebars->container->column_l->5->1->twintab64"
4320
- ]
4321
- },
4322
- {
4323
- "en": "Delete User {0}",
4324
- "cs": "Smazat uživatele {0}",
4325
- "xloc": [
4326
- "default.handlebars->13->1228"
4327
- ]
4328
- },
4329
- {
4330
- "en": "Clear Tokens",
4331
- "xloc": [
4332
- "default.handlebars->13->97"
4333
- ]
4334
- },
4335
- {
4336
- "en": "userlist.json",
4337
- "xloc": [
4338
- "default.handlebars->13->1147",
4339
- "default.handlebars->13->1154"
4340
- ]
4341
- },
4342
- {
4343
- "en": "Breton",
4344
- "xloc": [
4345
- "default.handlebars->13->694"
4346
- ]
4347
- },
4348
- {
4349
- "en": "Spanish (Honduras)",
4350
- "xloc": [
4351
- "default.handlebars->13->826"
4352
- ]
4353
- },
4354
- {
4355
- "en": "Columns",
4356
- "cs": "Buňky",
4357
- "xloc": [
4358
- "default.handlebars->container->column_l->p1->devListToolbarViewIcons",
4359
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarView->viewselect->1"
4360
- ]
4361
- },
4362
- {
4363
- "en": "CR+LF",
4364
- "xloc": [
4365
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons",
4366
- "default.handlebars->13->584",
4367
- "default.handlebars->13->593"
4368
- ]
4369
- },
4370
- {
4371
- "en": "Copy name to clipboard",
4372
- "cs": "Zkopírovat jméno do schránky",
4373
- "xloc": [
4374
- "default.handlebars->13->58"
4375
- ]
4376
- },
4377
- {
4378
- "en": "To delete this account, type in the account password in both boxes below and hit ok.",
4379
- "xloc": [
4380
- "default.handlebars->13->877"
4381
- ]
4382
- },
4383
- {
4384
- "en": "Tags",
4385
- "cs": "Tagy",
4386
- "xloc": [
4387
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->7",
4388
- "default.handlebars->13->548",
4389
- "default-mobile.handlebars->9->194",
4390
- "default-mobile.handlebars->9->195",
4391
- "default-mobile.handlebars->9->222"
4392
- ]
4393
- },
4394
- {
4395
- "en": "Size",
4396
- "fr": "Taille",
4397
- "cs": "Velikost",
4398
- "xloc": [
4399
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSize"
4400
- ]
4401
- },
4402
- {
4403
- "en": "Chechen",
4404
- "xloc": [
4405
- "default.handlebars->13->698"
4406
- ]
4407
- },
4408
- {
4409
- "en": "LF",
4410
- "xloc": [
4411
- "default.handlebars->13->585",
4412
- "default.handlebars->13->594"
4413
- ]
4414
- },
4415
- {
4416
- "en": "Edit Device Group User Consent",
4417
- "xloc": [
4418
- "default.handlebars->13->1019"
4419
- ]
4420
- },
4421
- {
4422
- "en": "Disconnect All",
4423
- "xloc": [
4424
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar"
4425
- ]
4426
- },
4427
- {
4428
- "en": "Win+L",
4429
- "xloc": [
4430
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->9",
4431
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->11"
4432
- ]
4433
- },
4434
- {
4435
- "en": "Win+R",
4436
- "xloc": [
4437
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->15",
4438
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->17"
4439
- ]
4440
- },
4441
- {
4442
- "en": "Linux Poky x86-32bit",
4443
- "xloc": [
4444
- "default.handlebars->13->405",
4445
- "default-mobile.handlebars->9->155"
4446
- ]
4447
- },
4448
- {
4449
- "en": "Out of date",
4450
- "fr": "Périmé",
4451
- "xloc": [
4452
- "default.handlebars->13->447"
4453
- ]
4454
- },
4455
- {
4456
- "en": "Download the software here",
4457
- "xloc": [
4458
- "agentinvite.handlebars->container->column_l->5->wintab64->3->win64url",
4459
- "agentinvite.handlebars->container->column_l->5->wintab32->3->win32url"
4460
- ]
4461
- },
4462
- {
4463
- "en": "User Identifier",
4464
- "xloc": [
4465
- "default.handlebars->13->1061",
4466
- "default.handlebars->13->1190"
4467
- ]
4468
- },
4469
- {
4470
- "en": "Checking...",
4471
- "cs": "Kontrola...",
4472
- "xloc": [
4473
- "default.handlebars->13->664"
4474
- ]
4475
- },
4476
- {
4477
- "en": "MQTT",
4478
- "xloc": [
4479
- "default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->3",
4480
- "default.handlebars->13->151",
4481
- "default.handlebars->13->335",
4482
- "default.handlebars->13->460",
4483
- "default.handlebars->13->639",
4484
- "default.handlebars->13->640",
4485
- "default-mobile.handlebars->9->122",
4486
- "default-mobile.handlebars->9->191"
4487
- ]
4488
- },
4489
- {
4490
- "en": "Add User to Mesh",
4491
- "fr": "Ajouter un utilisateur au groupe",
4492
- "xloc": [
4493
- "default-mobile.handlebars->9->306"
4494
- ]
4495
- },
4496
- {
4497
- "en": "Windows only",
4498
- "xloc": [
4499
- "default.handlebars->13->244"
4500
- ]
4501
- },
4502
- {
4503
- "en": "Change the agent Java Script code module",
4504
- "xloc": [
4505
- "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1"
4506
- ]
4507
- },
4508
- {
4509
- "en": "https://github.com/ryrych/rcarousel/blob/master/widget/license"
4510
- },
4511
- {
4512
- "en": "fulldesk",
4513
- "xloc": [
4514
- "default.handlebars->13->557",
4515
- "default.handlebars->13->558"
4516
- ]
4517
- },
4518
- {
4519
- "en": "Toggle View Mode",
4520
- "xloc": [
4521
- "default.handlebars->container->column_l->p11->deskarea0->deskarea1->1",
4522
- "player.htm->p11->deskarea0->deskarea1->1"
4523
- ]
4524
- },
4525
- {
4526
- "en": "Device Location",
4527
- "xloc": [
4528
- "default.handlebars->13->531"
4529
- ]
4530
- },
4531
- {
4532
- "en": "Last 8 hours",
4533
- "fr": "8 dernières heures",
4534
- "cs": "Posledních 8 hodin",
4535
- "xloc": [
4536
- "default.handlebars->container->column_l->p40->3->1->p40time->3"
4537
- ]
4538
- },
4539
- {
4540
- "en": "Force password reset on next login.",
4541
- "xloc": [
4542
- "default.handlebars->13->1162",
4543
- "default.handlebars->13->1225"
4544
- ]
4545
- },
4546
- {
4547
- "en": "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.",
4548
- "xloc": [
4549
- "default-mobile.handlebars->9->14"
4550
- ]
4551
- },
4552
- {
4553
- "en": " active",
4554
- "fr": "actif",
4555
- "xloc": [
4556
- "agentinvite.handlebars->3->19",
4557
- "agentinvite.handlebars->3->21",
4558
- "agentinvite.handlebars->3->22"
4559
- ]
4560
- },
4561
- {
4562
- "en": "Remote Keyboard Entry",
4563
- "xloc": [
4564
- "default.handlebars->13->563"
4565
- ]
4566
- },
4567
- {
4568
- "en": ", MQTT is online",
4569
- "xloc": [
4570
- "default.handlebars->13->637"
4571
- ]
4572
- },
4573
- {
4574
- "en": "Device is in sleep state (S1).",
4575
- "xloc": [
4576
- "default.handlebars->13->307"
4577
- ]
4578
- },
4579
- {
4580
- "en": "Two factor authentication",
4581
- "xloc": [
4582
- "default.handlebars->13->17"
4583
- ]
4584
- },
4585
- {
4586
- "en": "Last 500",
4587
- "fr": "500 dernières",
4588
- "cs": "Posledních 500",
4589
- "xloc": [
4590
- "default.handlebars->container->column_l->p3->3->1->0->3->p3limitdropdown->7",
4591
- "default.handlebars->container->column_l->p16->3->1->0->5->p16limitdropdown->7",
4592
- "default.handlebars->container->column_l->p31->5->1->0->5->p31limitdropdown->7",
4593
- "default.handlebars->container->column_l->p41->3->1->p41limitdropdown->5"
4594
- ]
4595
- },
4596
- {
4597
- "en": "Last week",
4598
- "fr": "Dernière semaine",
4599
- "cs": "Poslední týden",
4600
- "xloc": [
4601
- "default.handlebars->container->column_l->p40->3->1->p40time->7"
4602
- ]
4603
- },
4604
- {
4605
- "en": "Self Events Only",
4606
- "xloc": [
4607
- "default.handlebars->13->1057",
4608
- "default-mobile.handlebars->9->321"
4609
- ]
4610
- },
4611
- {
4612
- "en": "Paste text into the terminal",
4613
- "xloc": [
4614
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->3"
4615
- ]
4616
- },
4617
- {
4618
- "en": "English (Philippines)",
4619
- "xloc": [
4620
- "default.handlebars->13->719"
4621
- ]
4622
- },
4623
- {
4624
- "en": "Intel® AMT only",
4625
- "xloc": [
4626
- "default-mobile.handlebars->9->56"
4627
- ]
4628
- },
4629
- {
4630
- "en": "Agent is online",
4631
- "cs": "Agent je online",
4632
- "xloc": [
4633
- "default.handlebars->13->635"
4634
- ]
4635
- },
4636
- {
4637
- "en": "Power",
4638
- "cs": "Napájení",
4639
- "xloc": [
4640
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->3"
4641
- ]
4642
- },
4643
- {
4644
- "en": "Back to login",
4645
- "xloc": [
4646
- "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->12",
4647
- "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpanel->1->10",
4648
- "login.handlebars->container->column_l->centralTable->1->0->logincell->tokenpanel->1->10",
4649
- "login.handlebars->container->column_l->centralTable->1->0->logincell->resettokenpanel->1->8",
4650
- "login.handlebars->container->column_l->centralTable->1->0->logincell->resetpasswordpanel->1->10",
4651
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->12",
4652
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpanel->1->10",
4653
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->10",
4654
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resettokenpanel->1->8",
4655
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpasswordpanel->1->10"
4656
- ]
4657
- },
4658
- {
4659
- "en": "Check and click OK to start server self-update.",
4660
- "xloc": [
4661
- "default.handlebars->13->75"
4662
- ]
4663
- },
4664
- {
4665
- "en": "Present",
4666
- "fr": "Présent",
4667
- "xloc": [
4668
- "default.handlebars->13->7",
4669
- "default.handlebars->13->318",
4670
- "default-mobile.handlebars->9->103",
4671
- "default-mobile.handlebars->9->110"
4672
- ]
4673
- },
4674
- {
4675
- "en": "Alt-F4",
4676
- "xloc": [
4677
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->17",
4678
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->19"
4679
- ]
4680
- },
4681
- {
4682
- "en": "Events -",
4683
- "xloc": [
4684
- "default.handlebars->container->column_l->p16->p16title->3",
4685
- "default.handlebars->container->column_l->p31->3"
4686
- ]
4687
- },
4688
- {
4689
- "en": "(wget https://",
4690
- "xloc": [
4691
- "agentinvite.handlebars->3->24",
4692
- "agentinvite.handlebars->3->29"
4693
- ]
4694
- },
4695
- {
4696
- "en": "Agent connected",
4697
- "cs": "Agent připojen",
4698
- "xloc": [
4699
- "default.handlebars->13->115",
4700
- "default.handlebars->13->487",
4701
- "default.handlebars->13->488"
4702
- ]
4703
- },
4704
- {
4705
- "en": "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."
4706
- },
4707
- {
4708
- "en": "Creation Token:",
4709
- "xloc": [
4710
- "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->newAccountPass->nuToken",
4711
- "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->newAccountPass->1"
4712
- ]
4713
- },
4714
- {
4715
- "en": "{0} minute{1} until disconnect",
4716
- "xloc": [
4717
- "default.handlebars->13->24"
4718
- ]
4719
- },
4720
- {
4721
- "en": "User Account Import",
4722
- "xloc": [
4723
- "default.handlebars->13->1136",
4724
- "default.handlebars->13->1137",
4725
- "default.handlebars->13->1139",
4726
- "default.handlebars->13->1141"
4727
- ]
4728
- },
4729
- {
4730
- "en": "Agent Relay",
4731
- "xloc": [
4732
- "default-mobile.handlebars->9->190"
4733
- ]
4734
- },
4735
- {
4736
- "en": "Notification Settings",
4737
- "xloc": [
4738
- "default.handlebars->container->column_l->p2->p2AccountActions->3->8",
4739
- "default.handlebars->13->871",
4740
- "default.handlebars->13->1067"
4741
- ]
4742
- },
4743
- {
4744
- "en": "Holding {0} entrie{1} for {2}",
4745
- "xloc": [
4746
- "default.handlebars->13->1097",
4747
- "default-mobile.handlebars->9->85"
4748
- ]
4749
- },
4750
- {
4751
- "en": "Search for location",
4752
- "fr": "Recherche de lieu",
4753
- "xloc": [
4754
- "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devMapToolbar"
4755
- ]
4756
- },
4757
- {
4758
- "en": "Time",
4759
- "fr": "Temps",
4760
- "xloc": [
4761
- "player.htm->3->1"
4762
- ]
4763
- },
4764
- {
4765
- "en": "Show Only Own Events",
4766
- "xloc": [
4767
- "default.handlebars->13->1039",
4768
- "default-mobile.handlebars->9->304"
4769
- ]
4770
- },
4771
- {
4772
- "en": "MeshCentral Version",
4773
- "xloc": [
4774
- "default.handlebars->13->73",
4775
- "default.handlebars->13->74",
4776
- "default.handlebars->13->915"
4777
- ]
4778
- },
4779
- {
4780
- "en": "Good Password",
4781
- "fr": "Bon mot de passe",
4782
- "cs": "Dobré heslo",
4783
- "xloc": [
4784
- "login.handlebars->5->5",
4785
- "login.handlebars->5->9",
4786
- "login-mobile.handlebars->5->5",
4787
- "login-mobile.handlebars->5->9"
4788
- ]
4789
- },
4790
- {
4791
- "en": "Memory",
4792
- "fr": "Mémoire",
4793
- "cs": "Paměť",
4794
- "xloc": [
4795
- "default.handlebars->container->column_l->p40->3->1->p40type->3",
4796
- "default.handlebars->13->36",
4797
- "default.handlebars->13->1240"
4798
- ]
4799
- },
4800
- {
4801
- "en": "Toggle what the return key will send",
4802
- "xloc": [
4803
- "default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
4804
- ]
4805
- },
4806
- {
4807
- "en": "Windows 32bit service",
4808
- "xloc": [
4809
- "default.handlebars->13->393",
4810
- "default-mobile.handlebars->9->143"
4811
- ]
4812
- },
4813
- {
4814
- "en": "Select a new group for selected devices",
4815
- "xloc": [
4816
- "default.handlebars->13->523"
4817
- ]
4818
- },
4819
- {
4820
- "en": "Intel AMT not detected",
4821
- "xloc": [
4822
- "default.handlebars->13->120"
4823
- ]
4824
- },
4825
- {
4826
- "en": "{0} b",
4827
- "xloc": [
4828
- "default.handlebars->13->1077"
4829
- ]
4830
- },
4831
- {
4832
- "en": "Log Event",
4833
- "cs": "Log udalostí",
4834
- "xloc": [
4835
- "default.handlebars->13->467"
4836
- ]
4837
- },
4838
- {
4839
- "en": "Add Mesh Agent",
4840
- "cs": "Přidat agenta",
4841
- "xloc": [
4842
- "default.handlebars->13->302"
4843
- ]
4844
- },
4845
- {
4846
- "en": "Icon Selection",
4847
- "xloc": [
4848
- "default.handlebars->13->544",
4849
- "default-mobile.handlebars->9->218"
4850
- ]
4851
- },
4852
- {
4853
- "en": "MacOS",
4854
- "xloc": [
4855
- "agentinvite.handlebars->container->column_l->5->1->tmacostab"
4856
- ]
4857
- },
4858
- {
4859
- "en": "Partial Rights",
4860
- "xloc": [
4861
- "default.handlebars->13->908",
4862
- "default.handlebars->13->970",
4863
- "default-mobile.handlebars->9->60",
4864
- "default-mobile.handlebars->9->280"
4865
- ]
4866
- },
4867
- {
4868
- "en": "Show Local Mouse Cursor",
4869
- "xloc": [
4870
- "default.handlebars->container->dialog->dialogBody->dialog7->d7amtkvm->5->d7otherset->3",
4871
- "default-mobile.handlebars->dialog->3->dialog7->d7amtkvm->5->1->3"
4872
- ]
4873
- },
4874
- {
4875
- "en": "Frame rate",
4876
- "cs": "Obnovování",
4877
- "xloc": [
4878
- "default.handlebars->container->dialog->dialogBody->dialog7->d7meshkvm->7->1"
4879
- ]
4880
- },
4881
- {
4882
- "en": "OK",
4883
- "xloc": [
4884
- "default.handlebars->container->dialog->idx_dlgButtonBar",
4885
- "default.handlebars->13->448",
4886
- "default.handlebars->13->913",
4887
- "default-mobile.handlebars->dialog->idx_dlgButtonBar",
4888
- "default-mobile.handlebars->9->39",
4889
- "login.handlebars->dialog->idx_dlgButtonBar",
4890
- "login-mobile.handlebars->dialog->idx_dlgButtonBar",
4891
- "player.htm->p11->dialog->idx_dlgButtonBar"
4892
- ]
4893
- },
4894
- {
4895
- "en": "Plugins",
4896
- "cs": "Pluginy",
4897
- "xloc": [
4898
- "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevPlugins"
4899
- ]
4900
- },
4901
- {
4902
- "en": "Name",
4903
- "fr": "Nom",
4904
- "cs": "Jméno",
4905
- "xloc": [
4906
- "default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsArea->DeskToolsProcessTab->deskToolsHeader->3",
4907
- "default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsArea->DeskToolsServiceTab->deskToolsServiceHeader->3",
4908
- "default.handlebars->13->32",
4909
- "default.handlebars->13->41",
4910
- "default.handlebars->13->55",
4911
- "default.handlebars->13->566",
4912
- "default.handlebars->13->896",
4913
- "default.handlebars->13->923",
4914
- "default.handlebars->13->1006",
4915
- "default.handlebars->13->1114",
4916
- "default.handlebars->13->1157",
4917
- "default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea3->deskarea3x->DeskTools->5->1->1",
4918
- "default-mobile.handlebars->9->53",
4919
- "default-mobile.handlebars->9->132",
4920
- "default-mobile.handlebars->9->274",
4921
- "default-mobile.handlebars->9->287"
4922
- ]
4923
- },
4924
- {
4925
- "en": "Remote View Only",
4926
- "xloc": [
4927
- "default.handlebars->13->1030",
4928
- "default.handlebars->13->1052",
4929
- "default-mobile.handlebars->9->295",
4930
- "default-mobile.handlebars->9->316"
4931
- ]
4932
- },
4933
- {
4934
- "en": "Device is in sleep state (S2).",
4935
- "xloc": [
4936
- "default.handlebars->13->309"
4937
- ]
4938
- },
4939
- {
4940
- "en": "Local Keyboard Map",
4941
- "xloc": [
4942
- "default.handlebars->container->dialog->dialogBody->dialog7->d7amtkvm->5->d7otherset->5"
4943
- ]
4944
- },
4945
- {
4946
- "en": "Information about current core running on this agent",
4947
- "xloc": [
4948
- "default.handlebars->container->column_l->p15->consoleTable->1->0->1->1"
4949
- ]
4950
- },
4951
- {
4952
- "en": "time, type, action, user, message",
4953
- "xloc": [
4954
- "default.handlebars->13->1111"
4955
- ]
4956
- },
4957
- {
4958
- "en": "Background only",
4959
- "xloc": [
4960
- "default.handlebars->13->256",
4961
- "default.handlebars->13->278"
4962
- ]
4963
- },
4964
- {
4965
- "en": "CPU load in the last 15 minutes",
4966
- "xloc": [
4967
- "default.handlebars->13->1239"
4968
- ]
4969
- },
4970
- {
4971
- "en": "RLE16, Recommended",
4972
- "fr": "RLE16, recommandé",
4973
- "xloc": [
4974
- "default.handlebars->container->dialog->dialogBody->dialog7->d7amtkvm->3->d7desktopmode->3",
4975
- "default-mobile.handlebars->dialog->3->dialog7->d7amtkvm->3->d7desktopmode->3"
4976
- ]
4977
- },
4978
- {
4979
- "en": "Ctrl+Alt+Del",
4980
- "xloc": [
4981
- "default.handlebars->container->column_l->p11->deskarea0->deskarea4->3->deskkeys->1",
4982
- "default-mobile.handlebars->dialog->3->dialog3->deskkeys->1"
4983
- ]
4984
- },
4985
- {
4986
- "en": "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.",
4987
- "xloc": [
4988
- "default.handlebars->13->81"
4989
- ]
4990
- },
4991
- {
4992
- "en": "and its source can be downloaded from"
4993
- },
4994
- {
4995
- "en": "Sort by date",
4996
- "fr": "Trier par date",
4997
- "xloc": [
4998
- "default.handlebars->container->column_l->p5->p5toolbar->1->2->p5filesubhead->1->p5sortdropdown->5",
4999
- "default.handlebars->container->column_l->p13->p13toolbar->1->4->1->1->p13sortdropdown->5",
This file is too large to show in full.
views/agentinvite-min.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>Remote Agent Installation<span id=groupname></span></h1><p>You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.<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>, run it and press "Install" or "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>, run it and press "Install" or "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>To install, cut and paste the following command in a root terminal.<div id=linuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Copy to clipboard"style=margin-left:30px;margin-top:4px onclick=copyToClipLinuxInstall()><p>To uninstall, cut and paste the following command as root.<div id=unlinuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Copy to clipboard"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>Download the installer here</a>, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.<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://"+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-check-certificate -O ./meshinstall.sh || 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"):(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://"+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 -O ./meshinstall.sh || wget http://"+e+s+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="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>Remote Agent Installation<span id=groupname></span></h1><p>You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.<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>, run it and press "Install" or "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>, run it and press "Install" or "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>To install, cut and paste the following command in a root terminal.<div id=linuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Copy to clipboard"style=margin-left:30px;margin-top:4px onclick=copyToClipLinuxInstall()><p>To uninstall, cut and paste the following command as root.<div id=unlinuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Copy to clipboard"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>Download the installer here</a>, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.<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/agentinvite.handlebars
+30
-30
@@ -135,14 +135,14 @@
135
var webPageStackMenu = false;
136
var webPageFullScreen = true;
137
var nightMode = (getstore('_nightMode', '0') == '1');
138
- var domain = "{{{domain}}}";
139
- var domainUrl = "{{{domainurl}}}";
140
- var meshid = "{{{meshid}}}";
141
- var serverPort = "{{{serverport}}}";
142
- var serverHttps = "{{{serverhttps}}}";
143
- var serverNoProxy = "{{{servernoproxy}}}";
144
- var installFlags = "{{{installflags}}}";
145
- var groupName = decodeURIComponent("{{{meshname}}}");
138
+ var domain = '{{{domain}}}';
139
+ var domainUrl = '{{{domainurl}}}';
140
+ var meshid = '{{{meshid}}}';
141
+ var serverPort = '{{{serverport}}}';
142
+ var serverHttps = '{{{serverhttps}}}';
143
+ var serverNoProxy = '{{{servernoproxy}}}';
144
+ var installFlags = '{{{installflags}}}';
145
+ var groupName = decodeURIComponent('{{{meshname}}}');
146
if (groupName != '') { QH('groupname', ' for ' + groupName); }
147
userInterfaceSelectMenu();
148
setup();
@@ -179,15 +179,15 @@
179
var hide = 0;
180
//if (args.hide) { hide = parseInt(args.hide); }
181
if (webPageFullScreen == false) {
182
- QC('body').remove("menu_stack");
183
- QC('body').remove("fullscreen");
184
- QC('body').remove("arg_hide");
182
+ QC('body').remove('menu_stack');
183
+ QC('body').remove('fullscreen');
184
+ QC('body').remove('arg_hide');
185
//if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
186
//QV('UserDummyMenuSpan', false);
187
//QV('page_leftbar', false);
188
} else {
189
- QC('body').add("fullscreen");
190
- if (hide & 16) QC('body').add("arg_hide"); // This is replacement for QV('page_leftbar', !(hide & 16));
189
+ QC('body').add('fullscreen');
190
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
191
//QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
192
//QV('page_leftbar', true);
193
}
@@ -202,9 +202,9 @@
202
putstore('webPageStackMenu', webPageStackMenu);
203
}
204
if (webPageStackMenu == false) {
205
- QC('body').remove("menu_stack");
205
+ QC('body').remove('menu_stack');
206
} else {
207
- QC('body').add("menu_stack");
207
+ QC('body').add('menu_stack');
208
//if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
209
}
210
}
@@ -218,20 +218,20 @@
218
var i, tabcontent, tablinks;
219
220
// Get all elements with class="tabcontent" and hide them
221
- tabcontent = document.getElementsByClassName("tabcontent");
221
+ tabcontent = document.getElementsByClassName('tabcontent');
222
for (i = 0; i < tabcontent.length; i++) {
223
- tabcontent[i].style.display = "none";
223
+ tabcontent[i].style.display = 'none';
224
}
225
226
// Get all elements with class="tablinks" and remove the class "active"
227
- tablinks = document.getElementsByClassName("tablinks");
227
+ tablinks = document.getElementsByClassName('tablinks');
228
for (i = 0; i < tablinks.length; i++) {
229
- tablinks[i].className = tablinks[i].className.replace(" active", "");
229
+ tablinks[i].className = tablinks[i].className.replace(' active', '');
230
}
231
232
// Show the current tab, and add an "active" class to the button that opened the tab
233
- document.getElementById(tabname).style.display = "block";
234
- if (evt != null) { evt.currentTarget.className += " active"; } else { document.getElementById('t' + tabname).className += " active"; }
233
+ document.getElementById(tabname).style.display = 'block';
234
+ if (evt != null) { evt.currentTarget.className += ' active'; } else { document.getElementById('t' + tabname).className += ' active'; }
235
}
236
237
var linuxInstall, linuxUnInstall;
@@ -257,22 +257,22 @@
257
if (serverHttps == 1) {
258
var portStr = (serverPort == 443) ? '' : (":" + serverPort);
259
if (serverNoProxy == 0) {
260
- linuxInstall = "(wget https://" + servername + portStr + 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://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
261
- linuxUnInstall = "(wget https://" + servername + portStr + 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";
260
+ linuxInstall = '(wget https://' + servername + portStr + 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://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
261
+ linuxUnInstall = '(wget https://' + servername + portStr + 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';
262
} else {
263
// Server asked that agent be installed to preferably not use a HTTP proxy.
264
- linuxInstall = "wget https://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
265
- linuxUnInstall = "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";
264
+ linuxInstall = 'wget https://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
265
+ linuxUnInstall = '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';
266
}
267
} else {
268
- var portStr = (serverPort == 80) ? '' : (":" + serverPort);
268
+ var portStr = (serverPort == 80) ? '' : (':' + serverPort);
269
if (serverNoProxy == 0) {
270
- linuxInstall = "(wget http://" + servername + portStr + 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://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
271
- linuxUnInstall = "(wget http://" + servername + portStr + 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";
270
+ linuxInstall = '(wget http://' + servername + portStr + 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://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
271
+ linuxUnInstall = '(wget http://' + servername + portStr + 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';
272
} else {
273
// Server asked that agent be installed to preferably not use a HTTP proxy.
274
- linuxInstall = "wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
275
- linuxUnInstall = "wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n";
274
+ linuxInstall = 'wget http://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
275
+ linuxUnInstall = 'wget http://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n';
276
}
277
}
278
QH('linuxinstall', linuxInstall);
views/default-min.handlebars
+15
-8
@@ -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><script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script><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>Normal Connect</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>PowerShell Connect</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>{{{logoutControl}}}<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()'>♦<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"> </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® 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"> </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"> </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"> </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"> </table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3> </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><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> <input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Select All"> <input type=button id=GroupActionButton disabled value="Group Action"onclick=groupActionFunction()> <input id=SearchInput placeholder=Filter onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)> <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> <input type=button onclick=connectAllKvmFunction() value="Connect All"> <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All"> <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Automatic connect">Auto </label> <input type=button onclick=showMultiDesktopSettings() value=Settings> <td id=devMapToolbar class=style14 style=display:none> <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>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> </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> </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>✓</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()">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> <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a> <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> <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Select All"> <input type=button id=p5RenameFileButton disabled value=Rename onclick=p5renamefile()> <input type=button id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile()> <input type=button id=p5NewFolderButton disabled value="New Folder"onclick=p5createfolder()> <input type=button id=p5UploadButton disabled value=Upload onclick=p5uploadFile()> <input type=button id=p5CutButton disabled value=Cut onclick=p5copyFile(1)> <input type=button id=p5CopyButton disabled value=Copy onclick=p5copyFile(0)> <input type=button id=p5PasteButton disabled value=Paste onclick=p5pasteFile()> </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> <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> <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® 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> <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="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)> ✖</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> <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> <input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select> <input id=DeskToolsButton type=button value=Tools title="Toggle tools view"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()> <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> </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® 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> <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> <input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <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> <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> <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Select All"> <input type=button id=p13RenameFileButton disabled value=Rename onclick=p13renamefile()> <input type=button id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile()> <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()> <input type=button id=p13NewFolderButton disabled value="New Folder"onclick=p13createfolder()> <input type=button id=p13UploadButton disabled value=Upload onclick=p13uploadFile()> <input type=button id=p13CutButton disabled value=Cut onclick=p13copyFile(1)> <input type=button id=p13CopyButton disabled value=Copy onclick=p13copyFile(0)> <input type=button id=p13PasteButton disabled value=Paste onclick=p13pasteFile()> <input type=button id=p13RefreshButton disabled value=Refresh onclick=p13folderup(9999)> </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> <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> <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® 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> <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> <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> <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> <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> <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()> </div><div><input value=Refresh type=button onclick=refreshServerTimelineStats()> <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()> </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><style>#p19headers{padding-right:7px;padding-bottom:10px;font-weight:700;border-bottom:1px dotted #00f}#p19headers>span:nth-child(n+2){border-left:1px solid #000}#p19headers>span{padding-left:4px;padding-right:4px}</style><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> <a href=terms>Terms & 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>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> </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® 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><script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script><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>Normal Connect</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>PowerShell Connect</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()'>♦<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"> </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® 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"> </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"> </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"> </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"> </table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3> </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><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> <input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Select All"> <input type=button id=GroupActionButton disabled value="Group Action"onclick=groupActionFunction()> <input id=SearchInput placeholder=Filter onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)> <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> <input type=button onclick=connectAllKvmFunction() value="Connect All"> <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All"> <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Automatic connect">Auto </label> <input type=button onclick=showMultiDesktopSettings() value=Settings> <td id=devMapToolbar class=style14 style=display:none> <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>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> </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> </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>✓</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()">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> <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a> <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> <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Select All"> <input type=button id=p5RenameFileButton disabled value=Rename onclick=p5renamefile()> <input type=button id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile()> <input type=button id=p5NewFolderButton disabled value="New Folder"onclick=p5createfolder()> <input type=button id=p5UploadButton disabled value=Upload onclick=p5uploadFile()> <input type=button id=p5CutButton disabled value=Cut onclick=p5copyFile(1)> <input type=button id=p5CopyButton disabled value=Copy onclick=p5copyFile(0)> <input type=button id=p5PasteButton disabled value=Paste onclick=p5pasteFile()> </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> <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> <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® 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> <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="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)> ✖</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> <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> <input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select> <input id=DeskToolsButton type=button value=Tools title="Toggle tools view"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()> <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> </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® 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> <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> <input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <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> <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> <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Select All"> <input type=button id=p13RenameFileButton disabled value=Rename onclick=p13renamefile()> <input type=button id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile()> <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()> <input type=button id=p13NewFolderButton disabled value="New Folder"onclick=p13createfolder()> <input type=button id=p13UploadButton disabled value=Upload onclick=p13uploadFile()> <input type=button id=p13CutButton disabled value=Cut onclick=p13copyFile(1)> <input type=button id=p13CopyButton disabled value=Copy onclick=p13copyFile(0)> <input type=button id=p13PasteButton disabled value=Paste onclick=p13pasteFile()> <input type=button id=p13RefreshButton disabled value=Refresh onclick=p13folderup(9999)> </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> <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> <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® 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> <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> <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> <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> <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> <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()> </div><div><input value=Refresh type=button onclick=refreshServerTimelineStats()> <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()> </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><style>#p19headers{padding-right:7px;padding-bottom:10px;font-weight:700;border-bottom:1px dotted #00f}#p19headers>span:nth-child(n+2){border-left:1px solid #000}#p19headers>span{padding-left:4px;padding-right:4px}</style><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> <a href=terms>Terms & 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>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> </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® 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}}}';
@@ -39,6 +39,7 @@
39
var domainUrl = '{{{domainurl}}}';
40
var authCookie = '{{{authCookie}}}';
41
var authRelayCookie = '{{{authRelayCookie}}}';
42
+ var logoutControls = {{{logoutControls}}};
43
var authCookieRenewTimer = null;
44
var multiDesktop = {};
45
var multiDesktopFilter = null;
@@ -75,6 +76,12 @@
76
if (top != self && (loc == null || top.active == false)) { top.location = self.location; return; }
77
}
78
79
+ // Setup logout control
80
+ var logoutControl = '';
81
+ if (logoutControls.name != null) { logoutControl = format("Welcome {0}.", logoutControls.name); }
82
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Logout" + '</a>'); }
83
+ QH('logoutControlSpan', logoutControl);
84
+
85
// Check if we are in debug mode
86
args = parseUriArgs();
87
if (!args.locale) { var x = getstore('loctag', 0); if ((x != null) && (x != '*')) { args.locale = x; } }
@@ -4395,13 +4402,13 @@
4402
function deskToggleFull(e) {
4403
fullscreen = !fullscreen;
4404
if (fullscreen) {
4398
- QC('body').add("fulldesk");
4405
+ QC('body').add('fulldesk');
4406
QS('deskarea3x')['height'] = '100%';
4407
QS('deskarea3x')['max-height'] = '100%';
4408
// If shift is pressed, enter browser full screen.
4409
if (e.shiftKey == true) { enterBrowserFullscreen(Q('deskarea0')); browserfullscreen = true; }
4410
} else {
4404
- QC('body').remove("fulldesk");
4411
+ QC('body').remove('fulldesk');
4412
QS('deskarea3x')['height'] = null;
4413
QS('deskarea3x')['max-height'] = null;
4414
if (browserfullscreen == true) { exitBrowserFullscreen(); browserfullscreen = false; }
@@ -5247,7 +5254,7 @@
5254
function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
5255
function p13createfolder() { setDialogMode(2, "New Folder", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
5256
function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
5250
- 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
5257
+ 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
5258
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); }
5259
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, "Rename", 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(); }
5260
function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -7073,7 +7080,7 @@
7080
function p5fileDragLeave(e) {
7081
if (xxdialogMode) return;
7082
haltEvent(e);
7076
- if (e.target.id != "p5filetable") {
7083
+ if (e.target.id != 'p5filetable') {
7084
QV('bigfail', false);
7085
QV('bigok', false);
7086
//QV('p5fileCatchAllInput', false);
@@ -7384,9 +7391,9 @@
7391
var multiFactor = false, factors = [];
7392
if ((users[i].otpsecret > 0) || (users[i].otphkeys > 0)) {
7393
multiFactor = true;
7387
- if (users[i].otpsecret > 0) { factors.push("AuthApp"); }
7388
- if (users[i].otphkeys > 0) { factors.push("SecurityKey"); }
7389
- if (users[i].otpkeys > 0) { factors.push("BackupCodes"); }
7394
+ if (users[i].otpsecret > 0) { factors.push('AuthApp'); }
7395
+ if (users[i].otphkeys > 0) { factors.push('SecurityKey'); }
7396
+ if (users[i].otpkeys > 0) { factors.push('BackupCodes'); }
7397
}
7398
csv += '\"' + users[i]._id + '\",\"' + users[i].name + '\",\"' + (users[i].email ? users[i].email : '') + '\",\"' + (users[i].creation ? new Date(users[i].creation * 1000) : '') + '\",\"' + (users[i].login ? new Date(users[i].login * 1000) : '') + '\",\"' + (users[i].groups ? users[i].groups.join(',') : '') + '\",\"' + (multiFactor ? factors.join(',') : '') + '\"\r\n';
7399
}
views/default-mobile.handlebars
+1
-1
@@ -2824,7 +2824,7 @@
2824
function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
2825
function p13createfolder() { setDialogMode(2, "New Folder", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
2826
function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
2827
- 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
2827
+ 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
2828
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); }
2829
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, "Rename", 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(); }
2830
function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
views/default.handlebars
+15
-8
@@ -75,7 +75,7 @@
75
<div style="float:right">
76
<div id=notificationCount onclick="clickNotificationIcon()" class="unselectable" style="display: none;" title="Click to view current notifications">0</div>
77
</div>
78
- <p id="logoutControl">{{{logoutControl}}}<span id=idleTimeoutNotify style="color:yellow"></span></p>
78
+ <p id="logoutControl"><span id=logoutControlSpan style="color:white"></span><span id=idleTimeoutNotify style="color:yellow"></span></p>
79
</div>
80
<div id="page_leftbar">
81
<div style="height:16px"></div>
@@ -1063,6 +1063,7 @@
1063
var domainUrl = '{{{domainurl}}}';
1064
var authCookie = '{{{authCookie}}}';
1065
var authRelayCookie = '{{{authRelayCookie}}}';
1066
+ var logoutControls = {{{logoutControls}}};
1067
var authCookieRenewTimer = null;
1068
var multiDesktop = {};
1069
var multiDesktopFilter = null;
@@ -1099,6 +1100,12 @@
1100
if (top != self && (loc == null || top.active == false)) { top.location = self.location; return; }
1101
}
1102
1103
+ // Setup logout control
1104
+ var logoutControl = '';
1105
+ if (logoutControls.name != null) { logoutControl = format("Welcome {0}.", logoutControls.name); }
1106
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Logout" + '</a>'); }
1107
+ QH('logoutControlSpan', logoutControl);
1108
+
1109
// Check if we are in debug mode
1110
args = parseUriArgs();
1111
if (!args.locale) { var x = getstore('loctag', 0); if ((x != null) && (x != '*')) { args.locale = x; } }
@@ -5419,13 +5426,13 @@
5426
function deskToggleFull(e) {
5427
fullscreen = !fullscreen;
5428
if (fullscreen) {
5422
- QC('body').add("fulldesk");
5429
+ QC('body').add('fulldesk');
5430
QS('deskarea3x')['height'] = '100%';
5431
QS('deskarea3x')['max-height'] = '100%';
5432
// If shift is pressed, enter browser full screen.
5433
if (e.shiftKey == true) { enterBrowserFullscreen(Q('deskarea0')); browserfullscreen = true; }
5434
} else {
5428
- QC('body').remove("fulldesk");
5435
+ QC('body').remove('fulldesk');
5436
QS('deskarea3x')['height'] = null;
5437
QS('deskarea3x')['max-height'] = null;
5438
if (browserfullscreen == true) { exitBrowserFullscreen(); browserfullscreen = false; }
@@ -6271,7 +6278,7 @@
6278
function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
6279
function p13createfolder() { setDialogMode(2, "New Folder", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
6280
function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
6274
- 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
6281
+ 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
6282
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); }
6283
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, "Rename", 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(); }
6284
function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -8097,7 +8104,7 @@
8104
function p5fileDragLeave(e) {
8105
if (xxdialogMode) return;
8106
haltEvent(e);
8100
- if (e.target.id != "p5filetable") {
8107
+ if (e.target.id != 'p5filetable') {
8108
QV('bigfail', false);
8109
QV('bigok', false);
8110
//QV('p5fileCatchAllInput', false);
@@ -8408,9 +8415,9 @@
8415
var multiFactor = false, factors = [];
8416
if ((users[i].otpsecret > 0) || (users[i].otphkeys > 0)) {
8417
multiFactor = true;
8411
- if (users[i].otpsecret > 0) { factors.push("AuthApp"); }
8412
- if (users[i].otphkeys > 0) { factors.push("SecurityKey"); }
8413
- if (users[i].otpkeys > 0) { factors.push("BackupCodes"); }
8418
+ if (users[i].otpsecret > 0) { factors.push('AuthApp'); }
8419
+ if (users[i].otphkeys > 0) { factors.push('SecurityKey'); }
8420
+ if (users[i].otpkeys > 0) { factors.push('BackupCodes'); }
8421
}
8422
csv += '\"' + users[i]._id + '\",\"' + users[i].name + '\",\"' + (users[i].email ? users[i].email : '') + '\",\"' + (users[i].creation ? new Date(users[i].creation * 1000) : '') + '\",\"' + (users[i].login ? new Date(users[i].login * 1000) : '') + '\",\"' + (users[i].groups ? users[i].groups.join(',') : '') + '\",\"' + (multiFactor ? factors.join(',') : '') + '\"\r\n';
8423
}
views/error404-min.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 - 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">{{{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"><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>This page does not exist</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=/ >Back</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="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>This page does not exist</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=/ >Back</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/error404-mobile-min.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><p>{{{logoutControl}}}</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>This page does not exist</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}}} <a href=/ >Back</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>This page does not exist</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}}} <a href=/ >Back</a></table></div></div>
\ No newline at end of file
views/error404-mobile.handlebars
+1
-2
@@ -6,7 +6,7 @@
6
<meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0" />
7
<meta name="apple-mobile-web-app-capable" content="yes" />
8
<meta name="format-detection" content="telephone=no" />
9
- <title>MeshCentral - Terms of use</title>
9
+ <title>MeshCentral</title>
10
<style type="text/css">
11
a {
12
color: #036;
@@ -34,7 +34,6 @@
34
<div style="float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px">
35
<strong><font style="font-size:12px;font-family:Arial,Helvetica,sans-serif">{{{title2}}}</font></strong>
36
</div>
37
- <p>{{{logoutControl}}}</p>
37
</div>
38
<div id=page_content style="overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%">
39
<div id="column_l" style="padding-left:10px;padding-right:10px">
views/error404.handlebars
+1
-2
@@ -8,7 +8,7 @@
8
<meta name="format-detection" content="telephone=no" />
9
<link type="text/css" href="styles/style.css" media="screen" rel="stylesheet" title="CSS" />
10
<script type="text/javascript" src="scripts/common-0.0.1.js"></script>
11
- <title>MeshCentral - Terms of use</title>
11
+ <title>MeshCentral</title>
12
</head>
13
<body id="body" onload="if (typeof(startup) !== 'undefined') startup();" style="display:none;overflow:hidden">
14
<div id="container">
@@ -20,7 +20,6 @@
20
<div style="float:left; height: 66px; color:#c8c8c8; padding-left:5px; padding-top:14px">
21
<strong><font style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">{{{title2}}}</font></strong>
22
</div>
23
- <p id="logoutControl" style="color:white;font-size:11px;margin: 10px 10px 0;">{{{logoutControl}}}</p>
23
</div>
24
<div id="page_leftbar">
25
<div style="height:16px"></div>
views/terms-min.handlebars
new
+84
@@ -0,0 +1,84 @@
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 - New BSD License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<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 and SSLeay License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)"<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)".<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 License</span></b><span style=font-size:10pt;font-family:"><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 License</span></b><span style=font-size:10pt;font-family:"><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 License 2.0</span></b><span style=font-size:10pt;font-family:"><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:"><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 License</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=/ >Back</a></table></div></div><script>'use strict';
2
+ var uiMode = parseInt(getstore('uiMode', 1));
3
+ var webPageStackMenu = false;
4
+ var webPageFullScreen = true;
5
+ var nightMode = (getstore('_nightMode', '0') == '1');
6
+ var logoutControls = {{{logoutControls}}};
7
+
8
+ var terms = '{{{terms}}}';
9
+ if (terms != '') { QH('column_l', decodeURIComponent(terms)); }
10
+ QV('column_l', true);
11
+ userInterfaceSelectMenu();
12
+
13
+ // Setup logout control
14
+ var logoutControl = '';
15
+ if (logoutControls.name != null) { logoutControl = format("Welcome {0}.", logoutControls.name); }
16
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Logout" + '</a>'); }
17
+ QH('logoutControl', logoutControl);
18
+
19
+ // Toggle user interface menu
20
+ function showUserInterfaceSelectMenu() {
21
+ Q('uiViewButton1').classList.remove('uiSelectorSel');
22
+ Q('uiViewButton2').classList.remove('uiSelectorSel');
23
+ Q('uiViewButton3').classList.remove('uiSelectorSel');
24
+ Q('uiViewButton4').classList.remove('uiSelectorSel');
25
+ try { Q('uiViewButton' + uiMode).classList.add('uiSelectorSel'); } catch (ex) { }
26
+ QV('uiMenu', (QS('uiMenu').display == 'none'));
27
+ if (nightMode) { Q('uiViewButton4').classList.add('uiSelectorSel'); }
28
+ }
29
+
30
+ function userInterfaceSelectMenu(s) {
31
+ if (s) { uiMode = s; putstore('uiMode', uiMode); }
32
+ webPageFullScreen = (uiMode < 3);
33
+ webPageStackMenu = true;//(uiMode > 1);
34
+ toggleFullScreen(0);
35
+ toggleStackMenu(0);
36
+ QC('column_l').add('room4submenu');
37
+ }
38
+
39
+ function toggleNightMode() {
40
+ nightMode = !nightMode;
41
+ if (nightMode) { QC('body').add('night'); } else { QC('body').remove('night'); }
42
+ putstore('_nightMode', nightMode ? '1' : '0');
43
+ }
44
+
45
+ // Toggle the web page to full screen
46
+ function toggleFullScreen(toggle) {
47
+ if (toggle === 1) { webPageFullScreen = !webPageFullScreen; putstore('webPageFullScreen', webPageFullScreen); }
48
+ var hide = 0;
49
+ //if (args.hide) { hide = parseInt(args.hide); }
50
+ if (webPageFullScreen == false) {
51
+ QC('body').remove('menu_stack');
52
+ QC('body').remove('fullscreen');
53
+ QC('body').remove('arg_hide');
54
+ //if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
55
+ //QV('UserDummyMenuSpan', false);
56
+ //QV('page_leftbar', false);
57
+ } else {
58
+ QC('body').add('fullscreen');
59
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
60
+ //QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
61
+ //QV('page_leftbar', true);
62
+ }
63
+ QV('body', true);
64
+ }
65
+
66
+ // If FullScreen, toggle menu to be horisontal or vertical
67
+ function toggleStackMenu(toggle) {
68
+ if (webPageFullScreen == true) {
69
+ if (toggle === 1) {
70
+ webPageStackMenu = !webPageStackMenu;
71
+ putstore('webPageStackMenu', webPageStackMenu);
72
+ }
73
+ if (webPageStackMenu == false) {
74
+ QC('body').remove('menu_stack');
75
+ } else {
76
+ QC('body').add('menu_stack');
77
+ //if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
78
+ }
79
+ }
80
+ }
81
+
82
+ function putstore(name, val) { try { if (typeof (localStorage) === 'undefined') return; localStorage.setItem(name, val); } catch (e) { } }
83
+ function getstore(name, val) { try { if (typeof (localStorage) === 'undefined') return val; var v = localStorage.getItem(name); if ((v == null) || (v == null)) return val; return v; } catch (e) { return val; } }
84
+ function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };</script>
\ No newline at end of file
views/terms-mobile-min.handlebars
new
+1
@@ -0,0 +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 - New BSD License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<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 and SSLeay License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)"<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)".<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 License</span></b><span style=font-size:10pt;font-family:"><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 License</span></b><span style=font-size:10pt;font-family:"><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 License 2.0</span></b><span style=font-size:10pt;font-family:"><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:"><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 License</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}}} <a href=/ >Back</a></table></div></div>
\ No newline at end of file
views/terms-mobile.handlebars
+2
-3
@@ -34,7 +34,6 @@
34
<div style="float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px">
35
<strong><font style="font-size:12px;font-family:Arial,Helvetica,sans-serif">{{{title2}}}</font></strong>
36
</div>
37
- <p>{{{logoutControl}}}</p>
37
</div>
38
<div id=page_content style="overflow-y:scroll;position:absolute;bottom:32px;top:50px">
39
<div id="column_l" style="padding-left:10px;padding-right:10px">
@@ -105,7 +104,7 @@
104
<span>Copyright 2013 jQuery Foundation and other contributors <a href="http://jquery.com/">http://jquery.com/</a></span>
105
</p>
106
<p class="MsoNormal">
108
- <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>
107
+ <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>
108
</p>
109
<p class="MsoNormal">
110
<b><span>4.jQuery User Interface - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
@@ -138,7 +137,7 @@
137
<span>Copyright (c) 2010 Wojciech 'RRH' Ryrych<o:p></o:p></span>
138
</p>
139
<p class="MsoNormal">
141
- <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>
140
+ <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>
141
</p>
142
<p class="MsoNormal">
143
<b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License</span></b><span><o:p></o:p></span>
views/terms.handlebars
+20
-12
@@ -20,7 +20,7 @@
20
<div style="float:left; height: 66px; color:#c8c8c8; padding-left:5px; padding-top:14px">
21
<strong><font style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">{{{title2}}}</font></strong>
22
</div>
23
- <p id="logoutControl" style="color:white;font-size:11px;margin: 10px 10px 0;">{{{logoutControl}}}</p>
23
+ <p id="logoutControl" style="color:white;font-size:11px;margin: 10px 10px 0;"></p>
24
</div>
25
<div id="page_leftbar">
26
<div style="height:16px"></div>
@@ -104,7 +104,7 @@
104
<span>Copyright 2013 jQuery Foundation and other contributors <a href="http://jquery.com/">http://jquery.com/</a></span>
105
</p>
106
<p class="MsoNormal">
107
- <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>
107
+ <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>
108
</p>
109
<p class="MsoNormal">
110
<b><span>4.jQuery User Interface - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
@@ -137,7 +137,7 @@
137
<span>Copyright (c) 2010 Wojciech 'RRH' Ryrych<o:p></o:p></span>
138
</p>
139
<p class="MsoNormal">
140
- <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>
140
+ <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>
141
</p>
142
<p class="MsoNormal">
143
<b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License</span></b><span><o:p></o:p></span>
@@ -162,12 +162,19 @@
162
var webPageStackMenu = false;
163
var webPageFullScreen = true;
164
var nightMode = (getstore('_nightMode', '0') == '1');
165
+ var logoutControls = {{{logoutControls}}};
166
166
- var terms = "{{{terms}}}";
167
- if (terms != "") { QH('column_l', decodeURIComponent(terms)); }
167
+ var terms = '{{{terms}}}';
168
+ if (terms != '') { QH('column_l', decodeURIComponent(terms)); }
169
QV('column_l', true);
170
userInterfaceSelectMenu();
171
172
+ // Setup logout control
173
+ var logoutControl = '';
174
+ if (logoutControls.name != null) { logoutControl = format("Welcome {0}.", logoutControls.name); }
175
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Logout" + '</a>'); }
176
+ QH('logoutControl', logoutControl);
177
+
178
// Toggle user interface menu
179
function showUserInterfaceSelectMenu() {
180
Q('uiViewButton1').classList.remove('uiSelectorSel');
@@ -200,15 +207,15 @@
207
var hide = 0;
208
//if (args.hide) { hide = parseInt(args.hide); }
209
if (webPageFullScreen == false) {
203
- QC('body').remove("menu_stack");
204
- QC('body').remove("fullscreen");
205
- QC('body').remove("arg_hide");
210
+ QC('body').remove('menu_stack');
211
+ QC('body').remove('fullscreen');
212
+ QC('body').remove('arg_hide');
213
//if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
214
//QV('UserDummyMenuSpan', false);
215
//QV('page_leftbar', false);
216
} else {
210
- QC('body').add("fullscreen");
211
- if (hide & 16) QC('body').add("arg_hide"); // This is replacement for QV('page_leftbar', !(hide & 16));
217
+ QC('body').add('fullscreen');
218
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
219
//QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
220
//QV('page_leftbar', true);
221
}
@@ -223,9 +230,9 @@
230
putstore('webPageStackMenu', webPageStackMenu);
231
}
232
if (webPageStackMenu == false) {
226
- QC('body').remove("menu_stack");
233
+ QC('body').remove('menu_stack');
234
} else {
228
- QC('body').add("menu_stack");
235
+ QC('body').add('menu_stack');
236
//if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
237
}
238
}
@@ -233,6 +240,7 @@
240
241
function putstore(name, val) { try { if (typeof (localStorage) === 'undefined') return; localStorage.setItem(name, val); } catch (e) { } }
242
function getstore(name, val) { try { if (typeof (localStorage) === 'undefined') return val; var v = localStorage.getItem(name); if ((v == null) || (v == null)) return val; return v; } catch (e) { return val; } }
243
+ function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };
244
245
</script>
246
</body>
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://"+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-check-certificate -O ./meshinstall.sh || 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"):(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://"+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 -O ./meshinstall.sh || wget http://"+e+s+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="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
views/translations/agentinvite-min_fr.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="Basculer mode nuit"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><h1>Remote Agent Installation<span id=groupname></span></h1><p>You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.<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>, run it and press "Install" or "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>, run it and press "Install" or "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>To install, cut and paste the following command in a root terminal.<div id=linuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Copy to clipboard"style=margin-left:30px;margin-top:4px onclick=copyToClipLinuxInstall()><p>To uninstall, cut and paste the following command as root.<div id=unlinuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Copy to clipboard"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>Download the installer here</a>, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.<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("actif","");document.getElementById(t).style.display="block",null!=e?e.currentTarget.className+="actif":document.getElementById("t"+t).className+="actif"}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://"+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-check-certificate -O ./meshinstall.sh || 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"):(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://"+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 -O ./meshinstall.sh || wget http://"+e+s+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="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="Interface à largeur fixe"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Basculer mode nuit"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><h1>Installation de l'agent<span id=groupname></span></h1><p>You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.<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>, run it and press "Install" or "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>, run it and press "Install" or "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>To install, cut and paste the following command in a root terminal.<div id=linuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Copy to clipboard"style=margin-left:30px;margin-top:4px onclick=copyToClipLinuxInstall()><p>To uninstall, cut and paste the following command as root.<div id=unlinuxinstall style="font-family:courier,'courier new',monospace;margin-left:30px"></div><input type=button value="Copy to clipboard"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>Download the installer here</a>, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.<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
+30
-30
@@ -133,14 +133,14 @@
133
var webPageStackMenu = false;
134
var webPageFullScreen = true;
135
var nightMode = (getstore('_nightMode', '0') == '1');
136
- var domain = "{{{domain}}}";
137
- var domainUrl = "{{{domainurl}}}";
138
- var meshid = "{{{meshid}}}";
139
- var serverPort = "{{{serverport}}}";
140
- var serverHttps = "{{{serverhttps}}}";
141
- var serverNoProxy = "{{{servernoproxy}}}";
142
- var installFlags = "{{{installflags}}}";
143
- var groupName = decodeURIComponent("{{{meshname}}}");
136
+ var domain = '{{{domain}}}';
137
+ var domainUrl = '{{{domainurl}}}';
138
+ var meshid = '{{{meshid}}}';
139
+ var serverPort = '{{{serverport}}}';
140
+ var serverHttps = '{{{serverhttps}}}';
141
+ var serverNoProxy = '{{{servernoproxy}}}';
142
+ var installFlags = '{{{installflags}}}';
143
+ var groupName = decodeURIComponent('{{{meshname}}}');
144
if (groupName != '') { QH('groupname', ' for ' + groupName); }
145
userInterfaceSelectMenu();
146
setup();
@@ -177,15 +177,15 @@
177
var hide = 0;
178
//if (args.hide) { hide = parseInt(args.hide); }
179
if (webPageFullScreen == false) {
180
- QC('body').remove("menu_stack");
181
- QC('body').remove("fullscreen");
182
- QC('body').remove("arg_hide");
180
+ QC('body').remove('menu_stack');
181
+ QC('body').remove('fullscreen');
182
+ QC('body').remove('arg_hide');
183
//if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
184
//QV('UserDummyMenuSpan', false);
185
//QV('page_leftbar', false);
186
} else {
187
- QC('body').add("fullscreen");
188
- if (hide & 16) QC('body').add("arg_hide"); // This is replacement for QV('page_leftbar', !(hide & 16));
187
+ QC('body').add('fullscreen');
188
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
189
//QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
190
//QV('page_leftbar', true);
191
}
@@ -200,9 +200,9 @@
200
putstore('webPageStackMenu', webPageStackMenu);
201
}
202
if (webPageStackMenu == false) {
203
- QC('body').remove("menu_stack");
203
+ QC('body').remove('menu_stack');
204
} else {
205
- QC('body').add("menu_stack");
205
+ QC('body').add('menu_stack');
206
//if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
207
}
208
}
@@ -216,20 +216,20 @@
216
var i, tabcontent, tablinks;
217
218
// Get all elements with class="tabcontent" and hide them
219
- tabcontent = document.getElementsByClassName("tabcontent");
219
+ tabcontent = document.getElementsByClassName('tabcontent');
220
for (i = 0; i < tabcontent.length; i++) {
221
- tabcontent[i].style.display = "none";
221
+ tabcontent[i].style.display = 'none';
222
}
223
224
// Get all elements with class="tablinks" and remove the class "active"
225
- tablinks = document.getElementsByClassName("tablinks");
225
+ tablinks = document.getElementsByClassName('tablinks');
226
for (i = 0; i < tablinks.length; i++) {
227
- tablinks[i].className = tablinks[i].className.replace(" active", "");
227
+ tablinks[i].className = tablinks[i].className.replace(' active', '');
228
}
229
230
// Show the current tab, and add an "active" class to the button that opened the tab
231
- document.getElementById(tabname).style.display = "block";
232
- if (evt != null) { evt.currentTarget.className += " active"; } else { document.getElementById('t' + tabname).className += " active"; }
231
+ document.getElementById(tabname).style.display = 'block';
232
+ if (evt != null) { evt.currentTarget.className += ' active'; } else { document.getElementById('t' + tabname).className += ' active'; }
233
}
234
235
var linuxInstall, linuxUnInstall;
@@ -255,22 +255,22 @@
255
if (serverHttps == 1) {
256
var portStr = (serverPort == 443) ? '' : (":" + serverPort);
257
if (serverNoProxy == 0) {
258
- linuxInstall = "(wget https://" + servername + portStr + 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://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
259
- linuxUnInstall = "(wget https://" + servername + portStr + 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";
258
+ linuxInstall = '(wget https://' + servername + portStr + 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://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
259
+ linuxUnInstall = '(wget https://' + servername + portStr + 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';
260
} else {
261
// Server asked that agent be installed to preferably not use a HTTP proxy.
262
- linuxInstall = "wget https://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
263
- linuxUnInstall = "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";
262
+ linuxInstall = 'wget https://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
263
+ linuxUnInstall = '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';
264
}
265
} else {
266
- var portStr = (serverPort == 80) ? '' : (":" + serverPort);
266
+ var portStr = (serverPort == 80) ? '' : (':' + serverPort);
267
if (serverNoProxy == 0) {
268
- linuxInstall = "(wget http://" + servername + portStr + 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://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
269
- linuxUnInstall = "(wget http://" + servername + portStr + 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";
268
+ linuxInstall = '(wget http://' + servername + portStr + 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://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
269
+ linuxUnInstall = '(wget http://' + servername + portStr + 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';
270
} else {
271
// Server asked that agent be installed to preferably not use a HTTP proxy.
272
- linuxInstall = "wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
273
- linuxUnInstall = "wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n";
272
+ linuxInstall = 'wget http://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
273
+ linuxUnInstall = 'wget http://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n';
274
}
275
}
276
QH('linuxinstall', linuxInstall);
views/translations/agentinvite_fr.handlebars
+32
-32
@@ -62,13 +62,13 @@
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>
65
+ <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Interface à largeur fixe"><div class="uiSelector3"></div></div>
66
<div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Basculer mode nuit"><div class="uiSelector4"></div></div>
67
</div>
68
</div>
69
</div>
70
<div id="column_l" style="max-height:calc(100vh - 135px);overflow-y:auto">
71
- <h1>Remote Agent Installation<span id="groupname"></span></h1>
71
+ <h1>Installation de l'agent<span id="groupname"></span></h1>
72
<p>
73
You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files.
74
Only follow the instructions below if this invitation was expected and you know who will be accessing your computer.
@@ -133,14 +133,14 @@
133
var webPageStackMenu = false;
134
var webPageFullScreen = true;
135
var nightMode = (getstore('_nightMode', '0') == '1');
136
- var domain = "{{{domain}}}";
137
- var domainUrl = "{{{domainurl}}}";
138
- var meshid = "{{{meshid}}}";
139
- var serverPort = "{{{serverport}}}";
140
- var serverHttps = "{{{serverhttps}}}";
141
- var serverNoProxy = "{{{servernoproxy}}}";
142
- var installFlags = "{{{installflags}}}";
143
- var groupName = decodeURIComponent("{{{meshname}}}");
136
+ var domain = '{{{domain}}}';
137
+ var domainUrl = '{{{domainurl}}}';
138
+ var meshid = '{{{meshid}}}';
139
+ var serverPort = '{{{serverport}}}';
140
+ var serverHttps = '{{{serverhttps}}}';
141
+ var serverNoProxy = '{{{servernoproxy}}}';
142
+ var installFlags = '{{{installflags}}}';
143
+ var groupName = decodeURIComponent('{{{meshname}}}');
144
if (groupName != '') { QH('groupname', ' for ' + groupName); }
145
userInterfaceSelectMenu();
146
setup();
@@ -177,15 +177,15 @@
177
var hide = 0;
178
//if (args.hide) { hide = parseInt(args.hide); }
179
if (webPageFullScreen == false) {
180
- QC('body').remove("menu_stack");
181
- QC('body').remove("fullscreen");
182
- QC('body').remove("arg_hide");
180
+ QC('body').remove('menu_stack');
181
+ QC('body').remove('fullscreen');
182
+ QC('body').remove('arg_hide');
183
//if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
184
//QV('UserDummyMenuSpan', false);
185
//QV('page_leftbar', false);
186
} else {
187
- QC('body').add("fullscreen");
188
- if (hide & 16) QC('body').add("arg_hide"); // This is replacement for QV('page_leftbar', !(hide & 16));
187
+ QC('body').add('fullscreen');
188
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
189
//QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
190
//QV('page_leftbar', true);
191
}
@@ -200,9 +200,9 @@
200
putstore('webPageStackMenu', webPageStackMenu);
201
}
202
if (webPageStackMenu == false) {
203
- QC('body').remove("menu_stack");
203
+ QC('body').remove('menu_stack');
204
} else {
205
- QC('body').add("menu_stack");
205
+ QC('body').add('menu_stack');
206
//if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
207
}
208
}
@@ -216,20 +216,20 @@
216
var i, tabcontent, tablinks;
217
218
// Get all elements with class="tabcontent" and hide them
219
- tabcontent = document.getElementsByClassName("tabcontent");
219
+ tabcontent = document.getElementsByClassName('tabcontent');
220
for (i = 0; i < tabcontent.length; i++) {
221
- tabcontent[i].style.display = "none";
221
+ tabcontent[i].style.display = 'none';
222
}
223
224
// Get all elements with class="tablinks" and remove the class "active"
225
- tablinks = document.getElementsByClassName("tablinks");
225
+ tablinks = document.getElementsByClassName('tablinks');
226
for (i = 0; i < tablinks.length; i++) {
227
- tablinks[i].className = tablinks[i].className.replace("actif", "");
227
+ tablinks[i].className = tablinks[i].className.replace(' active', '');
228
}
229
230
// Show the current tab, and add an "active" class to the button that opened the tab
231
- document.getElementById(tabname).style.display = "block";
232
- if (evt != null) { evt.currentTarget.className += "actif"; } else { document.getElementById('t' + tabname).className += "actif"; }
231
+ document.getElementById(tabname).style.display = 'block';
232
+ if (evt != null) { evt.currentTarget.className += ' active'; } else { document.getElementById('t' + tabname).className += ' active'; }
233
}
234
235
var linuxInstall, linuxUnInstall;
@@ -255,22 +255,22 @@
255
if (serverHttps == 1) {
256
var portStr = (serverPort == 443) ? '' : (":" + serverPort);
257
if (serverNoProxy == 0) {
258
- linuxInstall = "(wget https://" + servername + portStr + 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://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
259
- linuxUnInstall = "(wget https://" + servername + portStr + 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";
258
+ linuxInstall = '(wget https://' + servername + portStr + 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://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
259
+ linuxUnInstall = '(wget https://' + servername + portStr + 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';
260
} else {
261
// Server asked that agent be installed to preferably not use a HTTP proxy.
262
- linuxInstall = "wget https://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
263
- linuxUnInstall = "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";
262
+ linuxInstall = 'wget https://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh https://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
263
+ linuxUnInstall = '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';
264
}
265
} else {
266
- var portStr = (serverPort == 80) ? '' : (":" + serverPort);
266
+ var portStr = (serverPort == 80) ? '' : (':' + serverPort);
267
if (serverNoProxy == 0) {
268
- linuxInstall = "(wget http://" + servername + portStr + 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://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
269
- linuxUnInstall = "(wget http://" + servername + portStr + 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";
268
+ linuxInstall = '(wget http://' + servername + portStr + 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://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
269
+ linuxUnInstall = '(wget http://' + servername + portStr + 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';
270
} else {
271
// Server asked that agent be installed to preferably not use a HTTP proxy.
272
- linuxInstall = "wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://" + servername + portStr + domainUrlNoSlash + " '" + meshid + "'\r\n";
273
- linuxUnInstall = "wget http://" + servername + portStr + domainUrl + "meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n";
272
+ linuxInstall = 'wget http://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh http://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid + '\'\r\n';
273
+ linuxUnInstall = 'wget http://' + servername + portStr + domainUrl + 'meshagents?script=1 --no-proxy -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh uninstall\r\n';
274
}
275
}
276
QH('linuxinstall', linuxInstall);
views/translations/default-min_cs.handlebars
+16
-9
@@ -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><script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script><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)>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>Normal Connect</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>PowerShell připojen</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>{{{logoutControl}}}<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"> </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"> </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"> </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"> </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"> </table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3> </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><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> <input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Vybrat vše"> <input type=button id=GroupActionButton disabled value="Akce skupiny"onclick=groupActionFunction()> <input id=SearchInput placeholder=Filtr onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)> <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> <input type=button onclick=connectAllKvmFunction() value="Connect All"> <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All"> <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Automatic connect">Auto </label> <input type=button onclick=showMultiDesktopSettings() value=Nastavení> <td id=devMapToolbar class=style14 style=display:none> <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>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> </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> </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()">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()">Verify 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()">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()">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>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>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> <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a> <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> <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Vybrat vše"> <input type=button id=p5RenameFileButton disabled value=Přejmenovat onclick=p5renamefile()> <input type=button id=p5DeleteFileButton disabled value=Smazat onclick=p5deletefile()> <input type=button id=p5NewFolderButton disabled value="Nový adresář"onclick=p5createfolder()> <input type=button id=p5UploadButton disabled value=Nahrát onclick=p5uploadFile()> <input type=button id=p5CutButton disabled value=Vyjmout onclick=p5copyFile(1)> <input type=button id=p5CopyButton disabled value=Kopírovat onclick=p5copyFile(0)> <input type=button id=p5PasteButton disabled value=Vložit onclick=p5pasteFile()> </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> <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> <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> <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)> ✖</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> <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> <input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select> <input id=DeskToolsButton type=button value=Nástroje title="Přepnout zobrazení nástrojů"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()> <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> </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> <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> <input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <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> <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> <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Vybrat vše"> <input type=button id=p13RenameFileButton disabled value=Přejmenovat onclick=p13renamefile()> <input type=button id=p13DeleteFileButton disabled value=Smazat onclick=p13deletefile()> <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()> <input type=button id=p13NewFolderButton disabled value="Nový adresář"onclick=p13createfolder()> <input type=button id=p13UploadButton disabled value=Nahrát onclick=p13uploadFile()> <input type=button id=p13CutButton disabled value=Vyjmout onclick=p13copyFile(1)> <input type=button id=p13CopyButton disabled value=Kopírovat onclick=p13copyFile(0)> <input type=button id=p13PasteButton disabled value=Vložit onclick=p13pasteFile()> <input type=button id=p13RefreshButton disabled value=Obnovit onclick=p13folderup(9999)> </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> <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> <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="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> <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> <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> <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> <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> <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()> </div><div><input value=Obnovit type=button onclick=refreshServerTimelineStats()> <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()> </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>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=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><style>#p19headers{padding-right:7px;padding-bottom:10px;font-weight:700;border-bottom:1px dotted #00f}#p19headers>span:nth-child(n+2){border-left:1px solid #000}#p19headers>span{padding-left:4px;padding-right:4px}</style><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> <a href=terms>Terms & 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> </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><script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script><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)>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>Normal Connect</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>PowerShell připojen</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"> </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"> </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"> </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"> </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"> </table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3> </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><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> <input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Vybrat vše"> <input type=button id=GroupActionButton disabled value="Akce skupiny"onclick=groupActionFunction()> <input id=SearchInput placeholder=Filtr onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)> <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> <input type=button onclick=connectAllKvmFunction() value="Connect All"> <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All"> <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Automatic connect">Auto </label> <input type=button onclick=showMultiDesktopSettings() value=Nastavení> <td id=devMapToolbar class=style14 style=display:none> <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>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> </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> </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()">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()">Verify 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()">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()">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>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>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> <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a> <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> <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Vybrat vše"> <input type=button id=p5RenameFileButton disabled value=Přejmenovat onclick=p5renamefile()> <input type=button id=p5DeleteFileButton disabled value=Smazat onclick=p5deletefile()> <input type=button id=p5NewFolderButton disabled value="Nový adresář"onclick=p5createfolder()> <input type=button id=p5UploadButton disabled value=Nahrát onclick=p5uploadFile()> <input type=button id=p5CutButton disabled value=Vyjmout onclick=p5copyFile(1)> <input type=button id=p5CopyButton disabled value=Kopírovat onclick=p5copyFile(0)> <input type=button id=p5PasteButton disabled value=Vložit onclick=p5pasteFile()> </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> <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> <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> <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)> ✖</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> <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> <input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select> <input id=DeskToolsButton type=button value=Nástroje title="Přepnout zobrazení nástrojů"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()> <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> </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> <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> <input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <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> <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> <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Vybrat vše"> <input type=button id=p13RenameFileButton disabled value=Přejmenovat onclick=p13renamefile()> <input type=button id=p13DeleteFileButton disabled value=Smazat onclick=p13deletefile()> <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()> <input type=button id=p13NewFolderButton disabled value="Nový adresář"onclick=p13createfolder()> <input type=button id=p13UploadButton disabled value=Nahrát onclick=p13uploadFile()> <input type=button id=p13CutButton disabled value=Vyjmout onclick=p13copyFile(1)> <input type=button id=p13CopyButton disabled value=Kopírovat onclick=p13copyFile(0)> <input type=button id=p13PasteButton disabled value=Vložit onclick=p13pasteFile()> <input type=button id=p13RefreshButton disabled value=Obnovit onclick=p13folderup(9999)> </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> <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> <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="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> <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> <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> <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> <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> <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()> </div><div><input value=Obnovit type=button onclick=refreshServerTimelineStats()> <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()> </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>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=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><style>#p19headers{padding-right:7px;padding-bottom:10px;font-weight:700;border-bottom:1px dotted #00f}#p19headers>span:nth-child(n+2){border-left:1px solid #000}#p19headers>span{padding-left:4px;padding-right:4px}</style><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> <a href=terms>Terms & 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> </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';
2
3
// Process server-side web state
4
var webState = '{{{webstate}}}';
@@ -39,6 +39,7 @@
39
var domainUrl = '{{{domainurl}}}';
40
var authCookie = '{{{authCookie}}}';
41
var authRelayCookie = '{{{authRelayCookie}}}';
42
+ var logoutControls = {{{logoutControls}}};
43
var authCookieRenewTimer = null;
44
var multiDesktop = {};
45
var multiDesktopFilter = null;
@@ -75,6 +76,12 @@
76
if (top != self && (loc == null || top.active == false)) { top.location = self.location; return; }
77
}
78
79
+ // Setup logout control
80
+ var logoutControl = '';
81
+ if (logoutControls.name != null) { logoutControl = format("Welcome {0}.", logoutControls.name); }
82
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Odhlásit" + '</a>'); }
83
+ QH('logoutControlSpan', logoutControl);
84
+
85
// Check if we are in debug mode
86
args = parseUriArgs();
87
if (!args.locale) { var x = getstore('loctag', 0); if ((x != null) && (x != '*')) { args.locale = x; } }
@@ -4395,13 +4402,13 @@
4402
function deskToggleFull(e) {
4403
fullscreen = !fullscreen;
4404
if (fullscreen) {
4398
- QC('body').add("fulldesk");
4405
+ QC('body').add('fulldesk');
4406
QS('deskarea3x')['height'] = '100%';
4407
QS('deskarea3x')['max-height'] = '100%';
4408
// If shift is pressed, enter browser full screen.
4409
if (e.shiftKey == true) { enterBrowserFullscreen(Q('deskarea0')); browserfullscreen = true; }
4410
} else {
4404
- QC('body').remove("fulldesk");
4411
+ QC('body').remove('fulldesk');
4412
QS('deskarea3x')['height'] = null;
4413
QS('deskarea3x')['max-height'] = null;
4414
if (browserfullscreen == true) { exitBrowserFullscreen(); browserfullscreen = false; }
@@ -5247,7 +5254,7 @@
5254
function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
5255
function p13createfolder() { setDialogMode(2, "Nový adresář", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
5256
function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
5250
- 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)); }
5257
+ 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)); }
5258
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); }
5259
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(); }
5260
function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -6059,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>';
6062
- 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>'; }
6069
+ 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>'; }
6070
x += '</table>'
6071
if (passRequirements) {
6072
var r = [], rc = 0;
@@ -7073,7 +7080,7 @@
7080
function p5fileDragLeave(e) {
7081
if (xxdialogMode) return;
7082
haltEvent(e);
7076
- if (e.target.id != "p5filetable") {
7083
+ if (e.target.id != 'p5filetable') {
7084
QV('bigfail', false);
7085
QV('bigok', false);
7086
//QV('p5fileCatchAllInput', false);
@@ -7384,9 +7391,9 @@
7391
var multiFactor = false, factors = [];
7392
if ((users[i].otpsecret > 0) || (users[i].otphkeys > 0)) {
7393
multiFactor = true;
7387
- if (users[i].otpsecret > 0) { factors.push("AuthApp"); }
7388
- if (users[i].otphkeys > 0) { factors.push("SecurityKey"); }
7389
- if (users[i].otpkeys > 0) { factors.push("BackupCodes"); }
7394
+ if (users[i].otpsecret > 0) { factors.push('AuthApp'); }
7395
+ if (users[i].otphkeys > 0) { factors.push('SecurityKey'); }
7396
+ if (users[i].otpkeys > 0) { factors.push('BackupCodes'); }
7397
}
7398
csv += '\"' + users[i]._id + '\",\"' + users[i].name + '\",\"' + (users[i].email ? users[i].email : '') + '\",\"' + (users[i].creation ? new Date(users[i].creation * 1000) : '') + '\",\"' + (users[i].login ? new Date(users[i].login * 1000) : '') + '\",\"' + (users[i].groups ? users[i].groups.join(',') : '') + '\",\"' + (multiFactor ? factors.join(',') : '') + '\"\r\n';
7399
}
views/translations/default-min_fr.handlebars
+156
-149
@@ -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><script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script><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)>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>Normal Connect</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>PowerShell Connect</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>{{{logoutControl}}}<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="Fixed width interface"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"> </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® 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"> </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"> </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"> </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"> </table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3> </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=Carte><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> <input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Tout Sélectionner"> <input type=button id=GroupActionButton disabled value="Action de groupe"onclick=groupActionFunction()> <input id=SearchInput placeholder=Filter onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)> <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> <input type=button onclick=connectAllKvmFunction() value="Connect All"> <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All"> <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Connexion automatique">Automatique </label> <input type=button onclick=showMultiDesktopSettings() value=Settings> <td id=devMapToolbar class=style14 style=display:none> <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="Reset map view"value=Réinitialiser 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>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> </div><div style=display:none id=devListToolbarSize>Taille <select id=sizeselect onchange=onDeviceViewChange()><option value=0>Petit<option value=1>Medium<option value=2>Grand</select> </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()">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>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>Get started here!</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>Show <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> <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a> <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=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>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> <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Tout Sélectionner"> <input type=button id=p5RenameFileButton disabled value=Renommer onclick=p5renamefile()> <input type=button id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile()> <input type=button id=p5NewFolderButton disabled value="Nouveau Dossier"onclick=p5createfolder()> <input type=button id=p5UploadButton disabled value=Télécharger onclick=p5uploadFile()> <input type=button id=p5CutButton disabled value=Cut onclick=p5copyFile(1)> <input type=button id=p5CopyButton disabled value=Copy onclick=p5copyFile(0)> <input type=button id=p5PasteButton disabled value=Paste onclick=p5pasteFile()> </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> <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> <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>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=Retour 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=Retour 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>, 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> <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)> ✖</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> <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> <input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span> <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()>Rafraîchir</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="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="Session time"></span> <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select> <input id=DeskToolsButton type=button value=Outils title="Toggle tools view"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()> <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> </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>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="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> <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> <input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <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> <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=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=Retour 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="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>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> <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Tout Sélectionner"> <input type=button id=p13RenameFileButton disabled value=Renommer onclick=p13renamefile()> <input type=button id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile()> <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()> <input type=button id=p13NewFolderButton disabled value="Nouveau Dossier"onclick=p13createfolder()> <input type=button id=p13UploadButton disabled value=Télécharger onclick=p13uploadFile()> <input type=button id=p13CutButton disabled value=Cut onclick=p13copyFile(1)> <input type=button id=p13CopyButton disabled value=Copy onclick=p13copyFile(0)> <input type=button id=p13PasteButton disabled value=Paste onclick=p13pasteFile()> <input type=button id=p13RefreshButton disabled value=Rafraîchir onclick=p13folderup(9999)> </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> <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> <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="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=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="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> <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>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>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> <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>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=Retour 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=Retour 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>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> <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>Mémoire</select> <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> <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()> </div><div><input value=Rafraîchir type=button onclick=refreshServerTimelineStats()> <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>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()> </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>Nom<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>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>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><style>#p19headers{padding-right:7px;padding-bottom:10px;font-weight:700;border-bottom:1px dotted #00f}#p19headers>span:nth-child(n+2){border-left:1px solid #000}#p19headers>span{padding-left:4px;padding-right:4px}</style><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> <a href=terms>Terms & 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>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> </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>Fast<option value=100>Medium<option value=400>Lent<option value=1000>Very slow</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, 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=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><script keeplink=1 src=scripts/ol.js></script><script keeplink=1 src=scripts/ol3-contextmenu.js></script><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)>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>Connexion normale</b></div><div id=cxtermps class=cmtext onclick=cmtermaction(6,event)>PowerShell Connect</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"> </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"> </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"> </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"> </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"> </table></div><div id=UserDummyMenuSpan><table id=UserDummyMenu cellpadding=0 cellspacing=0 class=style1><tr><td class=style3> </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><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> <input type=button id=SelectAllButton onclick=selectallButtonFunction() value="Tout Sélectionner"> <input type=button id=GroupActionButton disabled value="Action de groupe"onclick=groupActionFunction()> <input id=SearchInput placeholder=Filtre onchange=masterUpdate(5) onkeyup=masterUpdate(5) autocomplete=off onfocus=onSearchFocus(1) onblur=onSearchFocus(0)> <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> <input type=button onclick=connectAllKvmFunction() value="Connect All"> <input type=button onclick=disconnectAllKvmFunction() value="Disconnect All"> <label><input type=checkbox id=autoConnectDesktopCheckbox onclick=autoConnectDesktops(event) title="Connexion automatique">Automatique </label> <input type=button onclick=showMultiDesktopSettings() value=Paramètres> <td id=devMapToolbar class=style14 style=display:none> <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>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> </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> </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> <a href=# onclick=p3showDownloadEventsDialog(2)><img src=images/link4.png height=10 width=10 title="Download Events"style=cursor:pointer></a> <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> <input type=button id=p5SelectAllButton disabled onclick=p5selectallfile() value="Tout Sélectionner"> <input type=button id=p5RenameFileButton disabled value=Renommer onclick=p5renamefile()> <input type=button id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile()> <input type=button id=p5NewFolderButton disabled value="Nouveau Dossier"onclick=p5createfolder()> <input type=button id=p5UploadButton disabled value=Télécharger onclick=p5uploadFile()> <input type=button id=p5CutButton disabled value=Cut onclick=p5copyFile(1)> <input type=button id=p5CopyButton disabled value=Copy onclick=p5copyFile(0)> <input type=button id=p5PasteButton disabled value=Coller onclick=p5pasteFile()> </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> <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> <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> <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)> ✖</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> <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> <input type=button id=disconnectbutton1 value=Disconnect onclick=connectDesktop(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <select id=termdisplays style=display:none onchange=deskSetDisplay(event) onkeypress=return!1 onkeydown=return!1></select> <input id=DeskToolsButton type=button value=Outils title="Toggle tools view"onkeypress=return!1 onkeydown=return!1 onclick=toggleDeskTools()> <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> </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> <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> <input type=button id=disconnectbutton2 value=Disconnect onclick=connectTerminal(event,0) onkeypress=return!1 onkeydown=return!1></span> <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> <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> <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> <input type=button id=p13SelectAllButton disabled onclick=p13selectallfile() value="Tout Sélectionner"> <input type=button id=p13RenameFileButton disabled value=Renommer onclick=p13renamefile()> <input type=button id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile()> <input type=button id=p13ViewFileButton disabled value=Edit onclick=p13viewfile()> <input type=button id=p13NewFolderButton disabled value="Nouveau Dossier"onclick=p13createfolder()> <input type=button id=p13UploadButton disabled value=Télécharger onclick=p13uploadFile()> <input type=button id=p13CutButton disabled value=Cut onclick=p13copyFile(1)> <input type=button id=p13CopyButton disabled value=Copy onclick=p13copyFile(0)> <input type=button id=p13PasteButton disabled value=Coller onclick=p13pasteFile()> <input type=button id=p13RefreshButton disabled value=Rafraîchir onclick=p13folderup(9999)> </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> <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> <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> <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> <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> <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> <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> <img src=images/link4.png height=10 width=10 title="Download data points (.csv)"style=cursor:pointer onclick=p40downloadEvents()> </div><div><input value=Rafraîchir type=button onclick=refreshServerTimelineStats()> <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()> </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><style>#p19headers{padding-right:7px;padding-bottom:10px;font-weight:700;border-bottom:1px dotted #00f}#p19headers>span:nth-child(n+2){border-left:1px solid #000}#p19headers>span{padding-left:4px;padding-right:4px}</style><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> <a href=terms>Terms & 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> </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}}}';
@@ -8,8 +8,8 @@
8
9
var args;
10
var autoReconnect = true;
11
- var powerStatetable = ['', "Alimenté", "Dormir", "Dormir", "Dormir", "Hibernating", "Éteindre", "Présent"];
12
- var StatusStrs = ["Disconnected", "Connecting...", "Setup...", "Connected", "Intel® AMT Connected"];
11
+ var powerStatetable = ['', "Alimenté", "Endormir", "Endormir", "Endormir", "Hibernation", "Éteindre", "Présent"];
12
+ var StatusStrs = ["Débranché", "Connecting...", "Traitement...", "Connected", "Intel® AMT Connected"];
13
var sort = 0;
14
var searchFocus = 0;
15
var mapSearchFocus = 0;
@@ -39,6 +39,7 @@
39
var domainUrl = '{{{domainurl}}}';
40
var authCookie = '{{{authCookie}}}';
41
var authRelayCookie = '{{{authRelayCookie}}}';
42
+ var logoutControls = {{{logoutControls}}};
43
var authCookieRenewTimer = null;
44
var multiDesktop = {};
45
var multiDesktopFilter = null;
@@ -75,6 +76,12 @@
76
if (top != self && (loc == null || top.active == false)) { top.location = self.location; return; }
77
}
78
79
+ // Setup logout control
80
+ var logoutControl = '';
81
+ if (logoutControls.name != null) { logoutControl = format("Bienvenue {0}.", logoutControls.name); }
82
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Déconnexion" + '</a>'); }
83
+ QH('logoutControlSpan', logoutControl);
84
+
85
// Check if we are in debug mode
86
args = parseUriArgs();
87
if (!args.locale) { var x = getstore('loctag', 0); if ((x != null) && (x != '*')) { args.locale = x; } }
@@ -423,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)))) {
426
- 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: "Veuillez ajouter un autre facteur. Si le facteur actuel est perdu, il n'y a pas moyen de récupérer ce compte.", title: "Two factor authentication" };
434
addNotification(n);
435
backupCodesWarningDone = true;
436
}
@@ -476,7 +483,7 @@
483
QH('p41traceStatus', EscapeHtml(message.traceSources.join(', ')));
484
} else {
485
serverTraceSources = [];
479
- QH('p41traceStatus', "None");
486
+ QH('p41traceStatus', "Aucun");
487
}
488
}
489
break;
@@ -488,7 +495,7 @@
495
case 'serverwarnings': {
496
if ((message.warnings != null) && (message.warnings.length > 0)) {
497
var x = '';
491
- for (var i in message.warnings) { x += '<div style=color:red;padding-bottom:6px><b>' + "WARNING: " + message.warnings[i] + '</b></div>'; }
498
+ for (var i in message.warnings) { x += '<div style=color:red;padding-bottom:6px><b>' + "ATTENTION:" + message.warnings[i] + '</b></div>'; }
499
QH('serverWarnings', x);
500
QV('serverWarningsDiv', true);
501
}
@@ -584,17 +591,17 @@
591
var ident = message.hardware.identifiers;
592
// BIOS
593
x += '<div class=DevSt style=margin-bottom:3px><b>' + "BIOS" + '</b></div>';
587
- if (ident.bios_vendor) { x += addDetailItem("Vendor", ident.bios_vendor, s); }
594
+ if (ident.bios_vendor) { x += addDetailItem("Vendeur", ident.bios_vendor, s); }
595
if (ident.bios_version) { x += addDetailItem("Version", ident.bios_version, s); }
596
x += '<br />';
597
598
// Motherboard
599
x += '<div class=DevSt style=margin-bottom:3px><b>' + "Carte mère" + '</b></div>';
593
- if (ident.board_vendor) { x += addDetailItem("Vendor", ident.board_vendor, s); }
600
+ if (ident.board_vendor) { x += addDetailItem("Vendeur", ident.board_vendor, s); }
601
if (ident.board_name) { x += addDetailItem("Nom", ident.board_name, s); }
602
if (ident.board_serial && (ident.board_serial != '')) { x += addDetailItem("Serial", ident.board_serial, s); }
603
if (ident.board_version) { x += addDetailItem("Version", ident.board_version, s); }
597
- if (ident.product_uuid) { x += addDetailItem("Identifier", ident.product_uuid, s); }
604
+ if (ident.product_uuid) { x += addDetailItem("Identifiant", ident.product_uuid, s); }
605
x += '<br />';
606
}
607
@@ -646,7 +653,7 @@
653
node.lastconnect = message.time;
654
node.lastaddr = message.addr;
655
if ((currentNode._id == node._id) && (Q('MainComputerState').innerHTML == '')) {
649
- QH('MainComputerState', '<span>' + "Last seen:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>');
656
+ QH('MainComputerState', '<span>' + "Dernière connexion:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>');
657
}
658
}
659
break;
@@ -675,7 +682,7 @@
682
Q('d2clipText').value = message.data;
683
} else if ((message.type == 'setclip') && (xxdialogTag == 'clipboard') && (currentNode != null) && (currentNode._id == message.nodeid)) {
684
// Display success/fail on the clipboard dialog box.
678
- QH('dlgClipStatus', message.success ? '<span style=color:green>' + "Succès" + '</span>' : '<span style=color:red>' + "Failed" + '</span>')
685
+ QH('dlgClipStatus', message.success ? '<span style=color:green>' + "Succès" + '</span>' : '<span style=color:red>' + "Échoué" + '</span>')
686
setTimeout(function () { try { QH('dlgClipStatus', ''); } catch (ex) { } }, 2000);
687
}
688
}
@@ -696,18 +703,18 @@
703
} else {
704
var x = '<div class=dialogText>';
705
699
- if (currentNode.lastconnect) { x += addHtmlValue2("Last agent connection", printDateTime(new Date(currentNode.lastconnect))); }
706
+ if (currentNode.lastconnect) { x += addHtmlValue2("Dernière connexion de l'agent", printDateTime(new Date(currentNode.lastconnect))); }
707
if (currentNode.lastaddr) {
708
var splitip = currentNode.lastaddr.split(':');
709
if (splitip.length > 2) {
710
// IPv6
704
- x += addHtmlValue2("Last agent address", currentNode.lastaddr + ' <img src="images/link4.png" title="Copy address to clipboard" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(currentNode.lastaddr) + '\") width=10 height=10>');
711
+ x += addHtmlValue2("Dernière adresse de l'agent", currentNode.lastaddr + ' <img src="images/link4.png" title="Copy address to clipboard" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(currentNode.lastaddr) + '\") width=10 height=10>');
712
} else {
713
// IPv4
714
if (isPrivateIP(currentNode.lastaddr)) {
708
- x += addHtmlValue2("Last agent address", 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("Dernière adresse de l'agent", splitip[0] + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
716
} else {
710
- x += addHtmlValue2("Last agent address", '<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("Dernière adresse de l'agent", '<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>');
718
}
719
}
720
}
@@ -719,11 +726,11 @@
726
if (net.name) { x += addHtmlValue2("Nom", '<b>' + EscapeHtml(net.name) + '</b>'); }
727
if (net.desc) { x += addHtmlValue2("Description", EscapeHtml(net.desc).replace('(R)', '®').replace('(r)', '®')); }
728
if (net.dnssuffix) { x += addHtmlValue2("DNS suffix", EscapeHtml(net.dnssuffix) + ' <img src="images/link4.png" title="' + "Copy name to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.dnssuffix) + '\") width=10 height=10>'); }
722
- if (net.mac) { x += addHtmlValue2("MAC address", '<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="' + "Copy MAC address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.mac.toLowerCase()) + '\") width=10 height=10>'); }
729
+ if (net.mac) { x += addHtmlValue2("Adresse MAC", '<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="' + "Copy MAC address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.mac.toLowerCase()) + '\") width=10 height=10>'); }
730
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>'); }
731
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>'); }
732
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>'); }
726
- if (net.gatewaymac) { x += addHtmlValue2("Gateway MAC", '<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="' + "Copy MAC address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.gatewaymac.toLowerCase()) + '\") width=10 height=10>'); }
733
+ if (net.gatewaymac) { x += addHtmlValue2("Passerelle MAC", '<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="' + "Copy MAC address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.gatewaymac.toLowerCase()) + '\") width=10 height=10>'); }
734
}
735
x += '</div>';
736
QH('d2netinfo', x);
@@ -737,7 +744,7 @@
744
if (!message.current) { message.current = "Inconnue"; }
745
if (!message.latest) { message.latest = "Inconnue"; }
746
x += addHtmlValue2("Current Version", '<b>' + EscapeHtml(message.current) + '</b>');
740
- x += addHtmlValue2("Latest Version", '<b>' + EscapeHtml(message.latest) + '</b>');
747
+ x += addHtmlValue2("Dernière version", '<b>' + EscapeHtml(message.latest) + '</b>');
748
x += '</div>';
749
if ((message.latest.indexOf('.') == -1) || (message.current == message.latest) || ((features & 2048) == 0)) {
750
setDialogMode(2, "MeshCentral Version", 1, null, x);
@@ -815,12 +822,12 @@
822
}
823
case 'otpauth-setup': {
824
if (xxdialogMode) return;
818
- 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>' + "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."));
825
+ setDialogMode(2, "Authenticator App", 1, null, message.success ? ('<b style=color:green>' + "Authenticator app activation successful." + '</b> ' + "Vous aurez maintenant besoin d'un jeton valide pour vous connecter à nouveau.") : ('<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."));
826
break;
827
}
828
case 'otpauth-clear': {
829
if (xxdialogMode) return;
823
- 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>' + "2-step login activation removal failed." + '</b> ' + "Try again."));
830
+ setDialogMode(2, "Authenticator App", 1, null, message.success ? ('<b>' + "Authenticator application removed." + '</b> ' + "Vous pouvez réactiver cette fonctionnalité à tout moment.") : ('<b style=color:red>' + "2-step login activation removal failed." + '</b> ' + "Try again."));
831
break;
832
}
833
case 'otpauth-getpasswords': {
@@ -846,7 +853,7 @@
853
}
854
x += '</table></div></div><br />';
855
x += '<div><input type=button value=' + "Close" + ' onclick=setDialogMode(0) style=float:right></input>';
849
- x += '<input type=button value="' + "Generate New Tokens" + '" onclick="account_manageOtp(1);"></input>';
856
+ x += '<input type=button value="' + "Générer de nouveaux jetons" + '" onclick="account_manageOtp(1);"></input>';
857
if (message.passwords != null) {
858
x += '<input type=button value="' + "Clear Tokens" + '" onclick="account_manageOtp(2);"></input>';
859
x += ' <img src=images/link4.png height=10 width=10 title="' + "Copy valid codes to clipboard" + '" style=cursor:pointer onclick=copyTextToClip2("' + encodeURIComponent(clipb) + '")>';
@@ -891,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 {
894
- setDialogMode(2, "Ajouter une clé de sécurité", 1, null, '<br />' + "ERROR: Unable to add key." + '<br /><br />', 'otpauth-hardware-manage');
901
+ setDialogMode(2, "Ajouter une clé de sécurité", 1, null, '<br />' + "ERREUR: Impossible d'ajouter la clé." + '<br /><br />', 'otpauth-hardware-manage');
902
}
903
break;
904
}
905
case 'webauthn-startregister': {
906
if (xxdialogMode && (xxdialogTag != 'otpauth-hardware-manage')) return;
900
- 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 = "Appuyez sur le bouton de la clé maintenant." + '<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, "Ajouter une clé de sécurité", 2, null, x);
909
910
var publicKey = message.request;
@@ -911,7 +918,7 @@
918
setDialogMode(0);
919
}, function(error) {
920
// Error
914
- setDialogMode(2, "Ajouter une clé de sécurité", 1, null, "ERROR: " + error);
921
+ setDialogMode(2, "Ajouter une clé de sécurité", 1, null, "ERREUR:" + error);
922
});
923
break;
924
}
@@ -1219,13 +1226,13 @@
1226
// Show the notification
1227
if (n & 2) {
1228
if (((node.conn & 1) == 0) && ((message.event.conn & 1) != 0)) { addNotification({ text: "Agent connected", title: node.name, icon: node.icon, nodeid: node._id }); }
1222
- if (((node.conn & 2) == 0) && ((message.event.conn & 2) != 0)) { addNotification({ text: "Intel AMT detected", title: node.name, icon: node.icon, nodeid: node._id }); }
1229
+ if (((node.conn & 2) == 0) && ((message.event.conn & 2) != 0)) { addNotification({ text: "Intel AMT détecté", 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 connected", title: node.name, icon: node.icon, nodeid: node._id }); }
1231
if (((node.conn & 16) == 0) && ((message.event.conn & 16) != 0)) { addNotification({ text: "MQTT connected", 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 disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
1228
- 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 }); }
1235
+ if (((node.conn & 2) != 0) && ((message.event.conn & 2) == 0)) { addNotification({ text: "Intel AMT non détecté", 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 disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
1237
if (((node.conn & 16) != 0) && ((message.event.conn & 16) == 0)) { addNotification({ text: "MQTT disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
1238
}
@@ -1298,7 +1305,7 @@
1305
QH('p41traceStatus', EscapeHtml(message.event.traceSources.join(', ')));
1306
} else {
1307
serverTraceSources = [];
1301
- QH('p41traceStatus', "None");
1308
+ QH('p41traceStatus', "Aucun");
1309
}
1310
}
1311
break;
@@ -1629,7 +1636,7 @@
1636
deviceBoxWidth = 301 + Math.floor((totalDeviceViewWidth - (deviceBoxWidth * 301)) / deviceBoxWidth);
1637
1638
if ((view == 2) && (sort != 3)) {
1632
- 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>' + "Address" + '<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>' + "Utilisateur" + '<th style=color:gray;width:120px>' + "Address" + '<th style=color:gray;width:100px>' + "Connectivity"; //<th style=color:gray;width:100px>State';
1640
}
1641
1642
// Go thru the list of nodes and display them
@@ -1677,11 +1684,11 @@
1684
1685
count++;
1686
var title = EscapeHtml(node.name);
1680
- if (title.length == 0) { title = '<i>' + "None" + '</i>'; }
1687
+ if (title.length == 0) { title = '<i>' + "Aucun" + '</i>'; }
1688
if ((node.rname != null) && (node.rname.length > 0)) { title += ' / ' + EscapeHtml(node.rname); }
1689
var name = EscapeHtml(node.name);
1690
if (showRealNames == true && node.rname != null) name = EscapeHtml(node.rname);
1684
- if (name.length == 0) { name = '<i>' + "None" + '</i>'; }
1691
+ if (name.length == 0) { name = '<i>' + "Aucun" + '</i>'; }
1692
1693
// Node
1694
var icon = node.icon;
@@ -1712,7 +1719,7 @@
1719
r += '<div id=devs style=display:inline-block;margin:1px;background-color:lightgray;border-radius:5px;position:relative><div tabindex=0 style=padding:3px;cursor:pointer onclick=gotoDevice(\'' + node._id + '\',11,null,event) onkeypress="if (event.key==\'Enter\') gotoDevice(\'' + node._id + '\',11,null,event)">';
1720
//r += '<input class="' + node.meshid + ' DeviceCheckbox" onclick=p1updateInfo() value=devid_' + node._id + ' type=checkbox style=float:left>';
1721
r += '<div class="j' + icon + '" style=width:16px;float:left></div> ' + name + '</div>';
1715
- r += '<span onclick=gotoDevice(\'' + node._id + '\',null,null,event)></span><div id=xkvmid_' + node._id.split('/')[2] + '><div id=skvmid_' + node._id.split('/')[2] + ' tabindex=0 style="position:absolute;color:white;left:5px;top:27px;text-shadow:0px 0px 5px #000;z-index:1000;cursor:default" onclick=toggleKvmDevice(\'' + node._id + '\') onkeypress="if (event.key==\'Enter\') toggleKvmDevice(\'' + node._id + '\')">' + "Disconnected" + '</div></div>';
1722
+ r += '<span onclick=gotoDevice(\'' + node._id + '\',null,null,event)></span><div id=xkvmid_' + node._id.split('/')[2] + '><div id=skvmid_' + node._id.split('/')[2] + ' tabindex=0 style="position:absolute;color:white;left:5px;top:27px;text-shadow:0px 0px 5px #000;z-index:1000;cursor:default" onclick=toggleKvmDevice(\'' + node._id + '\') onkeypress="if (event.key==\'Enter\') toggleKvmDevice(\'' + node._id + '\')">' + "Débranché" + '</div></div>';
1723
r += '</div>';
1724
kvmDivs.push(node._id);
1725
}
@@ -1740,7 +1747,7 @@
1747
1748
// If displaying devices by groups, sort the group names and display the devices.
1749
if (sort == 3) {
1743
- 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>' + "Address" + '<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>' + "Utilisateur" + '<th style=color:gray;width:120px>' + "Address" + '<th style=color:gray;width:100px>' + "Connectivity"; }
1751
1752
var groupNames = [];
1753
for (var i in groups) { groupNames.push(i); }
@@ -1834,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;
1837
- QH('skvmid_' + shortid, ["Disconnected", "Connecting...", "Setup...", '', ''][((desk.m.State == null)?desk.m.state:desk.m.State)]);
1844
+ QH('skvmid_' + shortid, ["Débranché", "Connecting...", "Traitement...", '', ''][((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.
@@ -1847,7 +1854,7 @@
1854
c.removeAttribute('onmouseup');
1855
c.removeAttribute('onmousemove');
1856
Q('xkvmid_' + shortid).appendChild(c);
1850
- QH('skvmid_' + shortid, ["Disconnected", "Connecting...", "Setup...", '', ''][((desktop.m.State == null)?desktop.m.state:desktop.m.State)]);
1857
+ QH('skvmid_' + shortid, ["Débranché", "Connecting...", "Traitement...", '', ''][((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;
@@ -1929,7 +1936,7 @@
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 = {}; }
1932
- function onMultiDesktopStateChange(desk, state) { try { QH('skvmid_' + desk.shortid, ["Disconnected", "Connecting...", "Setup...", '', ''][state]); } catch (ex) {} }
1939
+ function onMultiDesktopStateChange(desk, state) { try { QH('skvmid_' + desk.shortid, ["Débranché", "Connecting...", "Traitement...", '', ''][state]); } catch (ex) {} }
1940
1941
function showMultiDesktopSettings() {
1942
QV('d7amtkvm', false);
@@ -1937,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; }
1940
- setDialogMode(7, "Remote Desktop Settings", 3, showMultiDesktopSettingsChanged);
1947
+ setDialogMode(7, "Paramètres du bureau à distance", 3, showMultiDesktopSettingsChanged);
1948
}
1949
1950
function showMultiDesktopSettingsChanged() {
@@ -2003,7 +2010,7 @@
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=\"' + "Add a new Intel® AMT computer that is located on the local network." + '\" onclick=\'return addDeviceToMesh(\"' + mesh._id + '\")\'>' + "Add Local" + '</a>';
2006
- r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Add a new Intel® AMT computer by scanning the local network." + '\" onclick=\'return addAmtScanToMesh(\"' + mesh._id + '\")\'>' + "Scan Network" + '</a>';
2013
+ r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Add a new Intel® AMT computer by scanning the local network." + '\" onclick=\'return addAmtScanToMesh(\"' + mesh._id + '\")\'>' + "Scan réseau" + '</a>';
2014
}
2015
if (mesh.amt && (mesh.amt.type == 2)) { // CCM activation
2016
r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Perform Intel AMT client control mode (CCM) activation." + '\" onclick=\'return showCcmActivation(\"' + mesh._id + '\")\'>' + "Activation" + '</a>';
@@ -2026,7 +2033,7 @@
2033
x += addHtmlValue("Hostname", '<input id=dp1hostname style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "Identique au nom de l'appareil" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2034
x += addHtmlValue("Nom d'utilisateur", '<input id=dp1username style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "admin" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2035
x += addHtmlValue("Mot de passe", '<input id=dp1password type=password style=width:230px autocomplete=off maxlength=32 onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
2029
- x += addHtmlValue("Sécurité", '<select id=dp1tls style=width:236px><option value=0>' + "No TLS security" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
2036
+ x += addHtmlValue("Sécurité", '<select id=dp1tls style=width:236px><option value=0>' + "Pas de sécurité TLS" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
2037
setDialogMode(2, "Add Intel® AMT device", 3, addDeviceToMeshEx, x, meshid);
2038
validateDeviceToMesh();
2039
Q('dp1devicename').focus();
@@ -2082,7 +2089,7 @@
2089
var x = "Enter a range of IP addresses to scan for Intel AMT devices." + '<br /><br />';
2090
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=\"' + "Analyse" + '\" onclick=addAmtScanToMeshButton()></input>');
2091
x += '<div id=dp1results style="width:100%;height:200px;background-color:white;border:1px gray solid;overflow-y:scroll"></div>';
2085
- setDialogMode(2, "Scan for Intel® AMT devices", 3, addAmtScanToMeshEx, x, meshid);
2092
+ setDialogMode(2, "Rechercher des périphériques Intel® AMT", 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');
@@ -2144,18 +2151,18 @@
2151
// Setup CIRA with user/pass authentication (Somewhat difficult)
2152
x += '<div id=dlgAddCira1 style=display:none>' + format("To add a new Intel® AMT device to device group \"{0}\" with CIRA, load the following certificate as trusted root within Intel AMT", EscapeHtml(mesh.name));
2153
if (serverinfo.mpspass) { x += ("et authentifiez-vous sur le serveur en utilisant ce nom d'utilisateur et mot de passe." + '<br /><br />'); } else { x += ("et vous authentifier sur le serveur en utilisant ce nom d'utilisateur et n'importe quel mot de passe." + '<br /><br />'); }
2147
- x += addHtmlValue("Root Certificate", '<a href=\"' + "MeshServerRootCert.cer" + '\" download>' + "Root Certificate File" + '</a>');
2154
+ x += addHtmlValue("Certificat Racine", '<a href=\"' + "MeshServerRootCert.cer" + '\" download>' + "Fichier de Certificate Racine" + '</a>');
2155
x += addHtmlValue("Nom d'utilisateur", '<input style=width:230px readonly value="' + meshidx.substring(0, 16) + '" />');
2156
if (serverinfo.mpspass) { x += addHtmlValue("Mot de passe", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpspass) + '" />'); }
2150
- if (serverinfo != null) { x += addHtmlValue("MPS Server", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
2157
+ if (serverinfo != null) { x += addHtmlValue("Serveur MPS", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
2158
x += '</div>';
2159
2160
// Setup CIRA with certificate authentication (Really difficult, only if TLS offload is not used)
2161
if ((features & 16) == 0) {
2162
x += '<div id=dlgAddCira2 style=display:none>' + format("To add a new Intel® 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 />';
2156
- x += addHtmlValue("Root Certificate", '<a href="MeshServerRootCert.cer" download>' + "Root Certificate File" + '</a>');
2163
+ x += addHtmlValue("Certificat Racine", '<a href="MeshServerRootCert.cer" download>' + "Fichier de Certificate Racine" + '</a>');
2164
x += addHtmlValue("Organisation", '<input style=width:230px readonly value="' + meshidx + '" />');
2158
- if (serverinfo != null) { x += addHtmlValue("MPS Server", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
2165
+ if (serverinfo != null) { x += addHtmlValue("Serveur MPS", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
2166
x += '</div>';
2167
}
2168
@@ -2187,16 +2194,16 @@
2194
x += '<div id=emailInviteDiv style=display:none>' + format("Invitez quelqu'un à installer l'agent de maillage. Un email doit être envoyé avec le lien vers l’installation de l’agent de maillage pour le groupe de périphériques \"{0}\".", EscapeHtml(mesh.name)) + '<br /><br />';
2195
x += addHtmlValue("Nom: (optionnel)", '<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>');
2190
- x += addHtmlValue("Système opérateur", '<select id=agentInviteNameOs onchange=d2ChangedInviteType() style=width:236px><option value=4>' + "Send installation link" + '</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("Système opérateur", '<select id=agentInviteNameOs onchange=d2ChangedInviteType() style=width:236px><option value=4>' + "Envoyer le lien d'installation" + '</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>');
2198
x += '<div id=d2agentexpirediv>';
2192
- x += addHtmlValue("Link Expiration", '<select id=agentInviteExpire style=width:236px><option value=1>' + "1 heure" + '</option><option value=8>' + "8 heures" + '</option><option value=24>' + "1 jour" + '</option><option value=168>' + "1 semaine" + '</option><option value=5040>' + "1 mois" + '</option><option value=0>' + "Illimité" + '</option></select>');
2199
+ x += addHtmlValue("Expiration du lien", '<select id=agentInviteExpire style=width:236px><option value=1>' + "1 heure" + '</option><option value=8>' + "8 heures" + '</option><option value=24>' + "1 jour" + '</option><option value=168>' + "1 semaine" + '</option><option value=5040>' + "1 mois" + '</option><option value=0>' + "Illimité" + '</option></select>');
2200
x += '</div>';
2201
x += addHtmlValue("Installation Type", '<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>');
2202
x += addHtmlValue("Message" + '<br />' + "(optional)", '<textarea id=agentInviteMessage value="" style=width:230px;height:100px;resize:none maxlength=1024 /></textarea>');
2203
x += '</div>';
2204
}
2205
x += '<div id=urlInviteDiv>' + format("Invitez quelqu'un à installer l'agent de maillage en partageant un lien d'invitation. Ce lien renvoie l'utilisateur aux instructions d'installation du groupe de périphériques \"{0}\". Le lien est public et aucun compte n'est requis pour ce serveur.", EscapeHtml(mesh.name)) + '<br /><br />';
2199
- x += addHtmlValue("Link Expiration", '<select id=d2inviteExpire style=width:236px onchange=d2RequestInvitationLink()><option value=1>' + "1 heure" + '</option><option value=8>' + "8 heures" + '</option><option value=24>' + "1 jour" + '</option><option value=168>' + "1 semaine" + '</option><option value=5040>' + "1 mois" + '</option><option value=0>' + "Illimité" + '</option></select>');
2206
+ x += addHtmlValue("Expiration du lien", '<select id=d2inviteExpire style=width:236px onchange=d2RequestInvitationLink()><option value=1>' + "1 heure" + '</option><option value=8>' + "8 heures" + '</option><option value=24>' + "1 jour" + '</option><option value=168>' + "1 semaine" + '</option><option value=5040>' + "1 mois" + '</option><option value=0>' + "Illimité" + '</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=\"' + "Copy link to clipboard" + '\" style=cursor:pointer onclick=d2CopyInviteToClip()></div></div>';
2208
setDialogMode(2, "Inviter", 3, performAgentInvite, x, meshid);
2209
if (features & 64) { Q('d2InviteType').focus(); d2ChangedInviteType(); } else { Q('d2inviteExpire').focus(); validateAgentInvite(); }
@@ -2250,7 +2257,7 @@
2257
x += '<div id=agins_windows>' + format("To add a new computer to device group \"{0}\", download the mesh agent and install it the computer to manage. This agent has server and device group information embedded within it.", 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 version of the 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 version of the 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)>');
2253
- 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("Fichier de Paramètres", '<a id=aginswmshlnk href="meshsettings?id=' + meshid.split('/')[2] + '&installflags=0" rel="noreferrer noopener" target="_blank">' + format("{0} settings (.msh)", EscapeHtml(mesh.name)) + '</a>'); }
2261
x += '</div>';
2262
2263
// Linux agent install
@@ -2362,7 +2369,7 @@
2369
deviceHeaderTotal = 0;
2370
}
2371
2365
- var powerStateStrings = ['', '<span title=\"' + "Device is powered on." + '\">' + "Alimenté" + '</span>', '<span title=\"' + "Device is in sleep state (S1)." + '\">' + "Sleeping" + '</span>', '<span title=\"' + "Device is in sleep state (S2)." + '\">' + "Sleeping" + '</span>', '<span title=\"' + "Device is in deep sleep state (S3)." + '\">' + "Deep Sleep" + '</span>', '<span title=\"' + "Device is in hibernating state (S4)." + '\">' + "Hibernating" + '</span>', '<span title=\"' + "Device is in powered off state (S5)." + '\">' + "Soft-Off" + '</span>', '<span title=\"' + "Device is detected but power state could not be obtained." + '\">' + "Présent" + '</span>'];
2372
+ var powerStateStrings = ['', '<span title=\"' + "Device is powered on." + '\">' + "Alimenté" + '</span>', '<span title=\"' + "Device is in sleep state (S1)." + '\">' + "Dormir" + '</span>', '<span title=\"' + "Device is in sleep state (S2)." + '\">' + "Dormir" + '</span>', '<span title=\"' + "Device is in deep sleep state (S3)." + '\">' + "Deep Sleep" + '</span>', '<span title=\"' + "Device is in hibernating state (S4)." + '\">' + "Hibernation" + '</span>', '<span title=\"' + "Device is in powered off state (S5)." + '\">' + "Soft-Off" + '</span>', '<span title=\"' + "Device is detected but power state could not be obtained." + '\">' + "Présent" + '</span>'];
2373
var powerStateStrings2 = ['', "Device is powered", "Device is in sleep state (S1)", "Device is in sleep state (S2)", "Device is in deep sleep state (S3)", "Device is hibernating (S4)", "Device is in soft-off state (S5)", "Device is present, but power state cannot be determined"];
2374
var powerColorTable = ['pwsTransparent', 'pwsBlack', 'pwsBlue', 'pwsBlue2', 'pwsLightblue', 'pwsBlueviolet', 'pwsDarkgreen', 'pwsLightseagreen', 'pwsLightseagreen2'];
2375
function NodeStateStr(node) {
@@ -2429,7 +2436,7 @@
2436
}
2437
2438
var x = "Select an operation to perform on all selected devices. Actions will be performed only with proper rights." + '<br /><br />';
2432
- x += addHtmlValue("Opération", '<select id=d2groupop><option value=100>' + "Wake-up devices" + '</option><option value=4>' + "Sleep devices" + '</option><option value=3>' + "Réinitialiser les appareils" + '</option><option value=2>' + "Éteindre les appareils" + '</option><option value=102>' + "Move to device group" + '</option>' + addedOptions + '<option value=101>' + "Delete devices" + '</option></select>');
2439
+ x += addHtmlValue("Opération", '<select id=d2groupop><option value=100>' + "Wake-up devices" + '</option><option value=4>' + "Sleep devices" + '</option><option value=3>' + "Réinitialiser les appareils" + '</option><option value=2>' + "Éteindre les appareils" + '</option><option value=102>' + "Déplacer vers un groupe d'appareils" + '</option>' + addedOptions + '<option value=101>' + "Delete devices" + '</option></select>');
2440
setDialogMode(2, "Action de groupe", 3, groupActionFunctionEx, x);
2441
}
2442
@@ -2702,7 +2709,7 @@
2709
2710
// Build a context menu for a feature
2711
var map_cm_nodemenu_items = [
2705
- { text: "General information", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 10); } } },
2712
+ { text: "Informations générales", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 10); } } },
2713
{ text: "Desktop", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 11); } } },
2714
{ text: "Terminal", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 12); } } },
2715
{ text: "Intel® AMT", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 14); } } },
@@ -3297,7 +3304,7 @@
3304
3305
// Add node name
3306
var nname = EscapeHtml(node.name);
3300
- if (nname.length == 0) { nname = '<i>' + "None" + '</i>'; }
3307
+ if (nname.length == 0) { nname = '<i>' + "Aucun" + '</i>'; }
3308
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>'; }
3309
nname += '<span style=color:#AAA;font-size:small> - ' + EscapeHtml(mesh.name) + '</span>';
3310
QH('p10deviceName', nname);
@@ -3325,7 +3332,7 @@
3332
if (node.host) {
3333
x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer>' + EscapeHtml(node.host) + '</span>');
3334
} else {
3328
- x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer><i>' + "None" + '</i></span>');
3335
+ x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer><i>' + "Aucun" + '</i></span>');
3336
}
3337
} else {
3338
x += addDeviceAttribute("Hostname", EscapeHtml(node.host));
@@ -3333,7 +3340,7 @@
3340
}
3341
3342
// Attribute: Description
3336
- var description = node.desc?EscapeHtml(node.desc):('<i>' + "None" + '</i>');
3343
+ var description = node.desc?EscapeHtml(node.desc):('<i>' + "Aucun" + '</i>');
3344
if ((meshrights & 4) != 0) {
3345
x += addDeviceAttribute("Description", '<span onclick=showEditNodeValueDialog(2) style=cursor:pointer>' + description + ' <img class=hoverButton src="images/link5.png" /></span>');
3346
} else {
@@ -3439,7 +3446,7 @@
3446
}
3447
3448
// Node grouping tags
3442
- var groupingTags = '<i>' + "None" + '</i>';
3449
+ var groupingTags = '<i>' + "Aucun" + '</i>';
3450
if (node.tags != null) { groupingTags = ''; for (var i in node.tags) { groupingTags += '<span class="tagSpan">' + node.tags[i] + '</span>'; } }
3451
if ((meshrights & 4) != 0) {
3452
x += addDeviceAttribute('Tags', '<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>' + groupingTags + ' <img class=hoverButton src="images/link5.png" /></span>');
@@ -3450,7 +3457,7 @@
3457
x += '</table><br />';
3458
// Show action button, only show if we have permissions 4, 8, 64
3459
if ((meshrights & 76) != 0) { x += '<input type=button value=\"' + "Actions" + '\" title=\"' + "Effectuer des actions d'alimentation sur le périphérique" + '\" onclick=deviceActionFunction() />'; }
3453
- x += '<input type=button value=\"' + "Notes" + '\" title=\"' + "View notes about this device" + '\" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponent(node._id) + '") />';
3460
+ x += '<input type=button value=\"' + "Remarques" + '\" title=\"' + "View notes about this device" + '\" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponent(node._id) + '") />';
3461
x += '<input type=button value=\"' + "Log Event" + '\" title=\"' + "Écrire un événement pour ce périphérique" + '\" onclick=writeDeviceEvent("' + encodeURIComponent(node._id) + '") />';
3462
//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() />'; }
3463
QH('p10html', x);
@@ -3492,7 +3499,7 @@
3499
if ((connectivity & 2) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel® AMT connected" + '\">' + "Intel® AMT connected" + '</span>'; }
3500
else if ((connectivity & 4) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel® AMT detected" + '\">' + "Intel® AMT detected" + '</span>'; }
3501
if ((connectivity & 16) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "MQTT connected" + '\">' + "MQTT channel connected" + '</span>'; }
3495
- if ((powerstate == '') && node.lastconnect) { powerstate = '<span style=font-size:12px>' + "Last seen:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>'; }
3502
+ if ((powerstate == '') && node.lastconnect) { powerstate = '<span style=font-size:12px>' + "Dernière connexion:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>'; }
3503
QH('MainComputerState', powerstate);
3504
3505
// Set the node icon
@@ -3584,7 +3591,7 @@
3591
3592
function showNotes(readonly, noteid) {
3593
if (xxdialogMode) return;
3587
- setDialogMode(2, "Notes", 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);
3594
+ setDialogMode(2, "Remarques", 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);
3595
meshserver.send({ action: 'getNotes', id: decodeURIComponent(noteid) });
3596
}
3597
@@ -3633,7 +3640,7 @@
3640
var x = "Select an operation to perform on this device." + '<br /><br />';
3641
var y = '<select id=d2deviceop style=float:right;width:250px>';
3642
if ((meshrights & 64) != 0) { y += '<option value=100>' + "Wake-up" + '</option>'; } // Wake-up permission
3636
- if ((meshrights & 8) != 0) { y += '<option value=4>' + "Dormir" + '</option><option value=3>' + "Réinitialiser" + '</option><option value=2>' + "Éteindre" + '</option>'; } // Remote control permission
3643
+ if ((meshrights & 8) != 0) { y += '<option value=4>' + "Endormir" + '</option><option value=3>' + "Réinitialiser" + '</option><option value=2>' + "Éteindre" + '</option>'; } // Remote control permission
3644
if ((currentNode.conn & 16) != 0) { y += '<option value=103>' + "Envoyer un Message MQTT" + '</option>'; }
3645
if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += '<option value=104>' + "Uninstall Agent" + '</option>'; }
3646
y += '</select>';
@@ -3751,7 +3758,7 @@
3758
if ((meshrights & 4) == 0) return;
3759
x += addHtmlValue("Nom d'utilisateur", '<input id=dp10username style=width:230px maxlength=32 autocomplete=nope placeholder="admin" onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
3760
x += addHtmlValue("Mot de passe", '<input id=dp10password type=password style=width:230px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
3754
- x += addHtmlValue("Sécurité", '<select id=dp10tls style=width:236px><option value=0>' + "No TLS security" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
3761
+ x += addHtmlValue("Sécurité", '<select id=dp10tls style=width:236px><option value=0>' + "Pas de sécurité TLS" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
3762
if ((node.intelamt.user != null) && (node.intelamt.user != '')) { buttons = 7; }
3763
setDialogMode(2, "Edit Intel® AMT credentials", buttons, editDeviceAmtSettingsEx, x, { node: node, func: func, arg: arg });
3764
if ((node.intelamt.user != null) && (node.intelamt.user != '')) { Q('dp10username').value = node.intelamt.user; } else { Q('dp10username').value = 'admin'; }
@@ -3912,7 +3919,7 @@
3919
// Show network interfaces
3920
function p10showNodeNetInfoDialog() {
3921
if (xxdialogMode) return false;
3915
- setDialogMode(2, "Network Interfaces", 1, null, '<div id=d2netinfo>' + "Loading..." + '</div>', 'if' + currentNode._id );
3922
+ setDialogMode(2, "Interfaces réseau", 1, null, '<div id=d2netinfo>' + "Chargement..." + '</div>', 'if' + currentNode._id );
3923
meshserver.send({ action: 'getnetworkinfo', nodeid: currentNode._id });
3924
return false;
3925
}
@@ -3948,7 +3955,7 @@
3955
if (mode == 0) { x += addHtmlValue('Action File', '<a href="meshagents?meshaction=generic" download>MeshAction (.txt)</a>'); }
3956
if (mode == 1) { x += addHtmlValue('Action File', '<a href="meshagents?meshaction=route&nodeid=' + nodeid + '" download>MeshAction (.txt)</a>'); }
3957
x += '</div>';
3951
- setDialogMode(2, [ "Download MeshCmd", "Network Router" ][mode], 9, null, x, 'fileDownload');
3958
+ setDialogMode(2, [ "Download MeshCmd", "Routeur réseau" ][mode], 9, null, x, 'fileDownload');
3959
meshCmdOsClick();
3960
}
3961
@@ -3978,7 +3985,7 @@
3985
x += '<div tabindex=0 style=display:inline-block class=i4 onclick=p10setIcon(4) onkeypress="if (event.key==\'Enter\') p10setIcon(4)"></div>';
3986
x += '<div tabindex=0 style=display:inline-block class=i5 onclick=p10setIcon(5) onkeypress="if (event.key==\'Enter\') p10setIcon(5)"></div>';
3987
x += '<div tabindex=0 style=display:inline-block class=i6 onclick=p10setIcon(6) onkeypress="if (event.key==\'Enter\') p10setIcon(6)"></div><br><br>';
3981
- setDialogMode(2, "Icon Selection", 0, null, x);
3988
+ setDialogMode(2, "Sélection de l'icôn", 0, null, x);
3989
QV('id_dialogclose', true);
3990
}
3991
@@ -4328,7 +4335,7 @@
4335
if (xxdialogMode) return;
4336
applyDesktopSettings();
4337
updateDesktopButtons();
4331
- setDialogMode(7, "Remote Desktop Settings", 3, showDesktopSettingsChanged);
4338
+ setDialogMode(7, "Paramètres du bureau à distance", 3, showDesktopSettingsChanged);
4339
}
4340
4341
function showDesktopSettingsChanged() {
@@ -4395,13 +4402,13 @@
4402
function deskToggleFull(e) {
4403
fullscreen = !fullscreen;
4404
if (fullscreen) {
4398
- QC('body').add("fulldesk");
4405
+ QC('body').add('fulldesk');
4406
QS('deskarea3x')['height'] = '100%';
4407
QS('deskarea3x')['max-height'] = '100%';
4408
// If shift is pressed, enter browser full screen.
4409
if (e.shiftKey == true) { enterBrowserFullscreen(Q('deskarea0')); browserfullscreen = true; }
4410
} else {
4404
- QC('body').remove("fulldesk");
4411
+ QC('body').remove('fulldesk');
4412
QS('deskarea3x')['height'] = null;
4413
QS('deskarea3x')['max-height'] = null;
4414
if (browserfullscreen == true) { exitBrowserFullscreen(); browserfullscreen = false; }
@@ -4412,7 +4419,7 @@
4419
4420
function deskToggleFocus() {
4421
desktop.m.focusmode = (desktop.m.focusmode + 64) % 192;
4415
- Q('deskFocusBtn').value = ["All Focus", "Small Focus", "Large Focus"][desktop.m.focusmode / 64];
4422
+ Q('deskFocusBtn').value = ["All Focus", "Small Focus", "Grande mise au point"][desktop.m.focusmode / 64];
4423
}
4424
4425
function deskAdjust() {
@@ -4570,7 +4577,7 @@
4577
Q('DeskType').blur();
4578
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>';
4579
x += '<textarea id=d2typeText style="margin-top:5px;width:100%;height:184px;resize:none" maxlength=2000></textarea>';
4573
- setDialogMode(2, "Remote Keyboard Entry", 3, showDeskTypeEx, x);
4580
+ setDialogMode(2, "Entrée au clavier à distance", 3, showDeskTypeEx, x);
4581
Q('d2typeText').focus();
4582
}
4583
@@ -4621,8 +4628,8 @@
4628
x += '<input id=dlgClipSet type=button value="Set Clipboard" style=width:120px onclick=showDeskClipSet()>';
4629
x += '<div id=dlgClipStatus style="display:inline-block;margin-left:8px" ></div>';
4630
x += '<textarea id=d2clipText style="width:100%;height:184px;resize:none" maxlength=65535></textarea>';
4624
- 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>' + "Remote clipboard is valid for 60 seconds." + '</span> </div><div></div>';
4625
- setDialogMode(2, "Remote Clipboard", 8, null, x, 'clipboard');
4631
+ 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>' + "Le presse-papier à distance est valide pendant 60 secondes." + '</span> </div><div></div>';
4632
+ setDialogMode(2, "Presse-papier à distance", 8, null, x, 'clipboard');
4633
Q('d2clipText').focus();
4634
}
4635
@@ -4754,7 +4761,7 @@
4761
if (service.status.isSharedProcess === true) { serviceTypes.push("SharedProcess"); }
4762
if (serviceTypes.length > 0) { x += addHtmlValue("Type", serviceTypes.join(', ')); }
4763
}
4757
- 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=\"' + "Arrêtez" + '\" onclick=showServiceDetailsDialogEx(2,' + index + ')><input type=button value=\"' + "Redémarrer" + '\" onclick=showServiceDetailsDialogEx(3,' + index + ')></div>';
4764
+ 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=\"' + "Lancé" + '\" onclick=showServiceDetailsDialogEx(1,' + index + ')><input type=button value=\"' + "Arrêtez" + '\" onclick=showServiceDetailsDialogEx(2,' + index + ')><input type=button value=\"' + "Redémarrer" + '\" onclick=showServiceDetailsDialogEx(3,' + index + ')></div>';
4765
setDialogMode(2, "Service Details", 8, null, x, name);
4766
}
4767
}
@@ -4996,7 +5003,7 @@
5003
function showTermPasteDialog() {
5004
if (!terminal || xxdialogMode) return;
5005
Q('pastebutton').blur();
4999
- setDialogMode(2, "Paste", 3, showTermPasteDialogEx, '<textarea id=d2pasteText style="width:100%;height:184px;resize:none"></textarea>');
5006
+ setDialogMode(2, "Coller", 3, showTermPasteDialogEx, '<textarea id=d2pasteText style="width:100%;height:184px;resize:none"></textarea>');
5007
Q('d2pasteText').focus();
5008
}
5009
@@ -5130,7 +5137,7 @@
5137
}
5138
5139
function p13updateFiles(checkedNames) {
5133
- var html1 = '', html2 = '', displayPath = '<a href=# style=cursor:pointer onclick="return p13folderup(0)">' + "Root" + '</a>', fullPath = 'Root';
5140
+ var html1 = '', html2 = '', displayPath = '<a href=# style=cursor:pointer onclick="return p13folderup(0)">' + "Racine" + '</a>', fullPath = 'Root';
5141
5142
// Work on parsing the file path
5143
var x = p13filetree.path.split('\\');
@@ -5247,7 +5254,7 @@
5254
function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
5255
function p13createfolder() { setDialogMode(2, "Nouveau Dossier", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
5256
function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
5250
- 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
5257
+ function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Suppression récursive" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
5258
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); }
5259
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, "Renommer", 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(); }
5260
function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -5261,7 +5268,7 @@
5268
if (checkboxes[i].checked) {
5269
if (p13filetree.dir[checkboxes[i].value].s <= 204800) {
5270
p13downloadfile(encodeURIComponent(p13filetreelocation.join('/') + '/' + p13filetree.dir[checkboxes[i].value].n), encodeURIComponent(p13filetree.dir[checkboxes[i].value].n), p13filetree.dir[checkboxes[i].value].s, 'viewer');
5264
- } else { messagebox("File Editor", "Only files less than 200k can be edited."); }
5271
+ } else { messagebox("Éditeur de fichier", "Only files less than 200k can be edited."); }
5272
break;
5273
}
5274
}
@@ -5278,7 +5285,7 @@
5285
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?"); }
5286
}
5287
}
5281
- setDialogMode(2, "Paste", 3, p13pasteFileEx, x);
5288
+ setDialogMode(2, "Coller", 3, p13pasteFileEx, x);
5289
}
5290
function p13pasteFileEx() { files.sendText({ action: (p13clipboardCut == 0?'copy':'move'), reqid: 1, scpath: p13clipboardFolder, dspath: p13targetpath, names: p13clipboard }); p13folderup(999); if (p13clipboardCut == 1) { p13clipboard = null, p13clipboardFolder = null, p13clipboardCut = 0; p13updateClipview(); } }
5291
function p13updateClipview() {
@@ -5694,7 +5701,7 @@
5701
var samenode = (consoleNode == 'server');
5702
consoleNode = 'server';
5703
5697
- QH('p15deviceName', "My Server Console");
5704
+ QH('p15deviceName', "Console de mon serveur");
5705
QE('p15consoleText', true);
5706
QH('p15statetext', '');
5707
QH('p15coreName', '');
@@ -5813,7 +5820,7 @@
5820
if (e.shiftKey == true) { meshserver.send({ action: 'uploadagentcore', nodeid: consoleNode._id, type: 'default' }); } // Upload default core
5821
else if (e.altKey == true) { meshserver.send({ action: 'uploadagentcore', nodeid: consoleNode._id, type: 'clear' }); } // Clear the core
5822
else if (e.ctrlKey == true) { p15uploadCore2(); } // Upload the core from a file
5816
- else { setDialogMode(2, "Perform Agent Action", 3, p15uploadCoreEx, addHtmlValue("Action", '<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>')); }
5823
+ else { setDialogMode(2, "Effectuer une action sur l'agent", 3, p15uploadCoreEx, addHtmlValue("Action", '<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>' + "Déconnexion forcée de l'agent" + '</option></select>')); }
5824
}
5825
5826
function p15uploadCoreEx() {
@@ -5872,7 +5879,7 @@
5879
5880
function account_addOtp() {
5881
if (xxdialogMode || (userinfo.otpsecret == 1) || ((features & 4096) == 0)) return;
5875
- setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, ('<div id=d2optinfo>' + "Loading..." + '</div>'), 'otpauth-request');
5882
+ setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, ('<div id=d2optinfo>' + "Chargement..." + '</div>'), 'otpauth-request');
5883
meshserver.send({ action: 'otpauth-request' });
5884
}
5885
@@ -5904,10 +5911,10 @@
5911
function account_addhkey(type) {
5912
if (type == 3) {
5913
var x = "Type in the name of the key to add." + '<br /><br />';
5907
- x += addHtmlValue("Key Name", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,2) />');
5914
+ x += addHtmlValue("Nom de la clé", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MaClé" + '" onkeyup=account_addhkeyValidate(event,2) />');
5915
} else if (type == 2) {
5916
var x = "Type in a key name, select the OTP box and press the button on the YubiKey™." + '<br /><br />';
5910
- x += addHtmlValue("Key Name", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,1) />');
5917
+ x += addHtmlValue("Nom de la clé", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MaClé" + '" onkeyup=account_addhkeyValidate(event,1) />');
5918
x += addHtmlValue("YubiKey™ OTP", '<input id=dp1key style=width:230px autocomplete=off onkeyup=account_addhkeyValidate(event,2) />');
5919
}
5920
setDialogMode(2, "Ajouter une clé de sécurité", 3, account_addhkeyEx, x, type);
@@ -5934,7 +5941,7 @@
5941
meshserver.send({ action: 'otp-hkey-get' });
5942
}
5943
5937
- var loclist = { 'af': "Afrikaans", 'sq': "Albanian", 'ar': "Arabic (Standard)", 'ar-dz': "Arabic (Algeria)", 'ar-bh': "Arabic (Bahrain)", 'ar-eg': "Arabic (Egypt)", 'ar-iq': "Arabic (Iraq)", 'ar-jo': "Arabic (Jordan)", 'ar-kw': "Arabic (Kuwait)", 'ar-lb': "Arabic (Lebanon)", 'ar-ly': "Arabic (Libya)", 'ar-ma': "Arabic (Morocco)", 'ar-om': "Arabic (Oman)", 'ar-qa': "Arabic (Qatar)", 'ar-sa': "Arabic (Saudi Arabia)", 'ar-sy': "Arabic (Syria)", 'ar-tn': "Arabic (Tunisia)", 'ar-ae': "Arabic (U.A.E.)", 'ar-ye': "Arabic (Yemen)", 'an': "Aragonese", 'hy': "Armenian", 'as': "Assamese", 'ast': "Asturian", 'az': "Azerbaijani", 'eu': "Basque", 'bg': "Bulgarian", 'be': "Belarusian", 'bn': "Bengali", 'bs': "Bosnian", 'br': "Breton", 'my': "Burmese", 'ca': "Catalan", 'ch': "Chamorro", 'ce': "Chechen", 'zh': "Chinese", 'zh-hk': "Chinese (Hong Kong)", 'zh-cn': "Chinese (PRC)", 'zh-sg': "Chinese (Singapore)", 'zh-tw': "Chinese (Taiwan)", 'cv': "Chuvash", 'co': "Corsican", 'cr': "Cree", 'hr': "Croatian", 'cs': "Czech", 'da': "Danish", 'nl': "Dutch (Standard)", 'nl-be': "Dutch (Belgian)", 'en': "English", 'en-au': "English (Australia)", 'en-bz': "English (Belize)", 'en-ca': "English (Canada)", 'en-ie': "English (Ireland)", 'en-jm': "English (Jamaica)", 'en-nz': "English (New Zealand)", 'en-ph': "English (Philippines)", 'en-za': "English (South Africa)", 'en-tt': "English (Trinidad & Tobago)", 'en-gb': "English (United Kingdom)", 'en-us': "English (United States)", 'en-zw': "English (Zimbabwe)", 'eo': "Esperanto", 'et': "Estonian", 'fo': "Faeroese", 'fa': "Farsi (Persian)", 'fj': "Fijian", 'fi': "Finnish", 'fr': "French (Standard)", 'fr-be': "French (Belgium)", 'fr-ca': "French (Canada)", 'fr-fr': "French (France)", 'fr-lu': "French (Luxembourg)", 'fr-mc': "French (Monaco)", 'fr-ch': "French (Switzerland)", 'fy': "Frisian", 'fur': "Friulian", 'gd': "Gaelic (Scots)", 'gd-ie': "Gaelic (Irish)", 'gl': "Galacian", 'ka': "Georgian", 'de': "German (Standard)", 'de-at': "German (Austria)", 'de-de': "German (Germany)", 'de-li': "German (Liechtenstein)", 'de-lu': "German (Luxembourg)", 'de-ch': "German (Switzerland)", 'el': "Greek", 'gu': "Gujurati", 'ht': "Haitian", 'he': "Hebrew", 'hi': "Hindi", 'hu': "Hungarian", 'is': "Icelandic", 'id': "Indonesian", 'iu': "Inuktitut", 'ga': "Irish", 'it': "Italian (Standard)", 'it-ch': "Italian (Switzerland)", 'ja': "Japanese", 'kn': "Kannada", 'ks': "Kashmiri", 'kk': "Kazakh", 'km': "Khmer", 'ky': "Kirghiz", 'tlh': "Klingon", 'ko': "Korean", 'ko-kp': "Korean (North Korea)", 'ko-kr': "Korean (South Korea)", 'la': "Latin", 'lv': "Latvian", 'lt': "Lithuanian", 'lb': "Luxembourgish", 'mk': "FYRO Macedonian", 'ms': "Malay", 'ml': "Malayalam", 'mt': "Maltese", 'mi': "Maori", 'mr': "Marathi", 'mo': "Moldavian", 'nv': "Navajo", 'ng': "Ndonga", 'ne': "Nepali", 'no': "Norwegian", 'nb': "Norwegian (Bokmal)", 'nn': "Norwegian (Nynorsk)", 'oc': "Occitan", 'or': "Oriya", 'om': "Oromo", 'fa-ir': "Persian/Iran", 'pl': "Polish", 'pt': "Portuguese", 'pt-br': "Portuguese (Brazil)", 'pa': "Punjabi", 'pa-in': "Punjabi (India)", 'pa-pk': "Punjabi (Pakistan)", 'qu': "Quechua", 'rm': "Rhaeto-Romanic", 'ro': "Romanian", 'ro-mo': "Romanian (Moldavia)", 'ru': "Russian", 'ru-mo': "Russian (Moldavia)", 'sz': "Sami (Lappish)", 'sg': "Sango", 'sa': "Sanskrit", 'sc': "Sardinian", 'sd': "Sindhi", 'si': "Singhalese", 'sr': "Serbian", 'sk': "Slovak", 'sl': "Slovenian", 'so': "Somani", 'sb': "Sorbian", 'es': "Espagnol", 'es-ar': "Spanish (Argentina)", 'es-bo': "Spanish (Bolivia)", 'es-cl': "Spanish (Chile)", 'es-co': "Spanish (Colombia)", 'es-cr': "Spanish (Costa Rica)", 'es-do': "Spanish (Dominican Republic)", 'es-ec': "Spanish (Ecuador)", 'es-sv': "Spanish (El Salvador)", 'es-gt': "Spanish (Guatemala)", 'es-hn': "Spanish (Honduras)", 'es-mx': "Spanish (Mexico)", 'es-ni': "Spanish (Nicaragua)", 'es-pa': "Spanish (Panama)", 'es-py': "Spanish (Paraguay)", 'es-pe': "Spanish (Peru)", 'es-pr': "Spanish (Puerto Rico)", 'es-es': "Spanish (Spain)", 'es-uy': "Spanish (Uruguay)", 'es-ve': "Spanish (Venezuela)", 'sx': "Sutu", 'sw': "Swahili", 'sv': "Swedish", 'sv-fi': "Swedish (Finland)", 'sv-sv': "Swedish (Sweden)", 'ta': "Tamil", 'tt': "Tatar", 'te': "Teluga", 'th': "Thai", 'tig': "Tigre", 'ts': "Tsonga", 'tn': "Tswana", 'tr': "Turkish", 'tk': "Turkmen", 'uk': "Ukrainian", 'hsb': "Upper Sorbian", 'ur': "Urdu", 've': "Venda", 'vi': "Vietnamese", 'vo': "Volapuk", 'wa': "Walloon", 'cy': "Welsh", 'xh': "Xhosa", 'ji': "Yiddish", 'zu': "Zulu" };
5944
+ var loclist = { 'af': "Afrikaans", 'sq': "Albanian", 'ar': "Arabic (Standard)", 'ar-dz': "Arabic (Algeria)", 'ar-bh': "Arabic (Bahrain)", 'ar-eg': "Arabic (Egypt)", 'ar-iq': "Arabic (Iraq)", 'ar-jo': "Arabic (Jordan)", 'ar-kw': "Arabic (Kuwait)", 'ar-lb': "Arabic (Lebanon)", 'ar-ly': "Arabic (Libya)", 'ar-ma': "Arabic (Morocco)", 'ar-om': "Arabic (Oman)", 'ar-qa': "Arabic (Qatar)", 'ar-sa': "Arabic (Saudi Arabia)", 'ar-sy': "Arabic (Syria)", 'ar-tn': "Arabic (Tunisia)", 'ar-ae': "Arabic (U.A.E.)", 'ar-ye': "Arabic (Yemen)", 'an': "Aragonese", 'hy': "Armenian", 'as': "Assamese", 'ast': "Asturian", 'az': "Azerbaijani", 'eu': "Basque", 'bg': "Bulgarian", 'be': "Belarusian", 'bn': "Bengali", 'bs': "Bosnian", 'br': "Breton", 'my': "Burmese", 'ca': "Catalan", 'ch': "Chamorro", 'ce': "Chechen", 'zh': "Chinese", 'zh-hk': "Chinese (Hong Kong)", 'zh-cn': "Chinese (PRC)", 'zh-sg': "Chinese (Singapore)", 'zh-tw': "Chinese (Taiwan)", 'cv': "Chuvash", 'co': "Corsican", 'cr': "Cree", 'hr': "Croatian", 'cs': "Czech", 'da': "Danish", 'nl': "Dutch (Standard)", 'nl-be': "Dutch (Belgian)", 'en': "English", 'en-au': "English (Australia)", 'en-bz': "English (Belize)", 'en-ca': "English (Canada)", 'en-ie': "English (Ireland)", 'en-jm': "English (Jamaica)", 'en-nz': "English (New Zealand)", 'en-ph': "English (Philippines)", 'en-za': "English (South Africa)", 'en-tt': "English (Trinidad & Tobago)", 'en-gb': "Anglais (Royaume Uni)", 'en-us': "Anglais (États Unis)", 'en-zw': "Anglais (Zimbabwe)", 'eo': "Esperanto", 'et': "Estonian", 'fo': "Faeroese", 'fa': "Farsi (Persan)", 'fj': "Fijian", 'fi': "Finlandais", 'fr': "Français (standard)", 'fr-be': "Français (Belgique)", 'fr-ca': "Français (Canada)", 'fr-fr': "Français (France)", 'fr-lu': "Français (Luxembourg)", 'fr-mc': "Français (Monaco)", 'fr-ch': "Français (Suisse)", 'fy': "Frison", 'fur': "Frioulan", 'gd': "Gaélique (écossais)", 'gd-ie': "Gaélique (irlandais)", 'gl': "Galicien", 'ka': "Géorgien", 'de': "German (Standard)", 'de-at': "German (Austria)", 'de-de': "German (Germany)", 'de-li': "German (Liechtenstein)", 'de-lu': "German (Luxembourg)", 'de-ch': "German (Switzerland)", 'el': "Grec", 'gu': "Gujarati", 'ht': "Haïtien", 'he': "Hebrew", 'hi': "Hindi", 'hu': "Hungarian", 'is': "Islandais", 'id': "Indonesian", 'iu': "Inuktitut", 'ga': "Irlandais", 'it': "Italien (standard)", 'it-ch': "Italien (Suisse)", 'ja': "Japonais", 'kn': "Kannada", 'ks': "Kashmiri", 'kk': "Kazakh", 'km': "Khmer", 'ky': "Kirghiz", 'tlh': "Klingon", 'ko': "Coréen", 'ko-kp': "Coréen (Corée du Nord)", 'ko-kr': "Coréen (Corée du Sud)", 'la': "Latin", 'lv': "Latvian", 'lt': "Lituanien", 'lb': "Luxembourgeois", 'mk': "ARY Macédonien", 'ms': "Malay", 'ml': "Malayalam", 'mt': "Maltese", 'mi': "Maori", 'mr': "Marathi", 'mo': "Moldavian", 'nv': "Navajo", 'ng': "Ndonga", 'ne': "Népalais", 'no': "Norvégien", 'nb': "Norvégien (Bokmal)", 'nn': "Norvégien (Nynorsk)", 'oc': "Occitan", 'or': "Oriya", 'om': "Oromo", 'fa-ir': "Persian/Iran", 'pl': "Polish", 'pt': "Portuguese", 'pt-br': "Portuguese (Brazil)", 'pa': "Punjabi", 'pa-in': "Punjabi (India)", 'pa-pk': "Punjabi (Pakistan)", 'qu': "Quechua", 'rm': "Rhaeto-Romanic", 'ro': "Roumain", 'ro-mo': "Roumain (Moldavie)", 'ru': "Russe", 'ru-mo': "Russe (Moldavie)", 'sz': "Sami (Lappish)", 'sg': "Sango", 'sa': "Sanskrit", 'sc': "Sardinian", 'sd': "Sindhi", 'si': "Cingalais", 'sr': "Serbian", 'sk': "Slovaque", 'sl': "Slovène", 'so': "Somani", 'sb': "Sorbian", 'es': "Espagnol", 'es-ar': "Spanish (Argentina)", 'es-bo': "Spanish (Bolivia)", 'es-cl': "Spanish (Chile)", 'es-co': "Spanish (Colombia)", 'es-cr': "Spanish (Costa Rica)", 'es-do': "Spanish (Dominican Republic)", 'es-ec': "Spanish (Ecuador)", 'es-sv': "Spanish (El Salvador)", 'es-gt': "Spanish (Guatemala)", 'es-hn': "Spanish (Honduras)", 'es-mx': "Spanish (Mexico)", 'es-ni': "Spanish (Nicaragua)", 'es-pa': "Spanish (Panama)", 'es-py': "Spanish (Paraguay)", 'es-pe': "Spanish (Peru)", 'es-pr': "Spanish (Puerto Rico)", 'es-es': "Spanish (Spain)", 'es-uy': "Spanish (Uruguay)", 'es-ve': "Spanish (Venezuela)", 'sx': "Sutu", 'sw': "Swahili", 'sv': "Swedish", 'sv-fi': "Swedish (Finland)", 'sv-sv': "Swedish (Sweden)", 'ta': "Tamil", 'tt': "Tatar", 'te': "Teluga", 'th': "Thai", 'tig': "Tigre", 'ts': "Tsonga", 'tn': "Tswana", 'tr': "Turkish", 'tk': "Turkmen", 'uk': "Ukrainian", 'hsb': "Upper Sorbian", 'ur': "Urdu", 've': "Venda", 'vi': "Vietnamien", 'vo': "Volapuk", 'wa': "Walloon", 'cy': "Gallois", 'xh': "Xhosa", 'ji': "Yiddish", 'zu': "Zulu" };
5945
function account_showLocalizationSettings() {
5946
if (xxdialogMode) return false;
5947
var n = getstore('loctag', 0), y = '';
@@ -5949,7 +5956,7 @@
5956
z += '<option value="' + lang + '"' + ((userinfo.lang == lang)?' selected':'') + '>' + lang + ' - ' + loclist[lang] + '</option>';
5957
}
5958
z += '</select>';
5952
- y += addHtmlValue("Language", z);
5959
+ y += addHtmlValue("Langages", z);
5960
}
5961
y += addHtmlValue("Dates & Time", x);
5962
setDialogMode(2, "Localization Settings", 3, account_showLocalizationSettingsEx, y);
@@ -6056,7 +6063,7 @@
6063
x += '<br /><br />';
6064
//x += "<form action='" + domainUrl + "changepassword' method=post>";
6065
x += '<table style=margin-left:60px>';
6059
- x += '<tr><td align=right>' + nobreak("Old password:") + '</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>';
6066
+ x += '<tr><td align=right>' + nobreak("Ancien mot de passe:") + '</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("Nouveau mot de passe:") + '</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("Nouveau mot de passe:") + '</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>';
6069
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>'; }
@@ -6182,7 +6189,7 @@
6189
var meshrights = 0;
6190
if (meshes[i].links[userinfo._id]) { meshrights = meshes[i].links[userinfo._id].rights; }
6191
var rights = "Partial Rights";
6185
- if (meshrights == 0xFFFFFFFF) rights = "Full Administrator"; else if (meshrights == 0) rights = "No Rights";
6192
+ if (meshrights == 0xFFFFFFFF) rights = "Administrateur Complet"; else if (meshrights == 0) rights = "No Rights";
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>';
@@ -6220,7 +6227,7 @@
6227
6228
function server_showVersionDlg() {
6229
if (xxdialogMode) return false;
6223
- setDialogMode(2, "MeshCentral Version", 1, null, "Loading...", 'MeshCentralServerUpdate');
6230
+ setDialogMode(2, "MeshCentral Version", 1, null, "Chargement...", 'MeshCentralServerUpdate');
6231
meshserver.send({ action: 'serverversion' });
6232
return false;
6233
}
@@ -6230,7 +6237,7 @@
6237
6238
function server_showErrorsDlg() {
6239
if (xxdialogMode) return false;
6233
- setDialogMode(2, "MeshCentral Errors", 1, null, "Loading...", 'MeshCentralServerErrors');
6240
+ setDialogMode(2, "MeshCentral Errors", 1, null, "Chargement...", 'MeshCentralServerErrors');
6241
meshserver.send({ action: 'servererrors' });
6242
return false;
6243
}
@@ -6254,7 +6261,7 @@
6261
6262
var x = '';
6263
x += addHtmlValue("Nom", addLinkConditional(EscapeHtml(currentMesh.name), 'p20editmesh(1)', (meshrights & 1) != 0));
6257
- x += addHtmlValue("Description", addLinkConditional(((currentMesh.desc && currentMesh.desc != '')?EscapeHtml(currentMesh.desc):('<i>' + "None" + '</i>')), 'p20editmesh(2)', (meshrights & 1) != 0));
6264
+ x += addHtmlValue("Description", addLinkConditional(((currentMesh.desc && currentMesh.desc != '')?EscapeHtml(currentMesh.desc):('<i>' + "Aucun" + '</i>')), 'p20editmesh(2)', (meshrights & 1) != 0));
6265
6266
// Display group type
6267
x += addHtmlValue("Type", meshtype);
@@ -6268,7 +6275,7 @@
6275
if (currentMesh.flags & 2) { meshFeatures.push("Hostname Sync"); }
6276
}
6277
meshFeatures = meshFeatures.join(', ');
6271
- if (meshFeatures == '') { meshFeatures = '<i>' + "None" + '</i>'; }
6278
+ if (meshFeatures == '') { meshFeatures = '<i>' + "Aucun" + '</i>'; }
6279
x += addHtmlValue("Features", addLinkConditional(meshFeatures, 'p20editmeshfeatures()', meshrights & 1));
6280
}
6281
@@ -6285,8 +6292,8 @@
6292
if ((consent & 56) == 56) { meshFeatures = ["Always Prompt"]; }
6293
6294
meshFeatures = meshFeatures.join(', ');
6288
- if (meshFeatures == '') { meshFeatures = '<i>' + "None" + '</i>'; }
6289
- x += addHtmlValue("User Consent", addLinkConditional(meshFeatures, 'p20editmeshconsent()', meshrights & 1));
6295
+ if (meshFeatures == '') { meshFeatures = '<i>' + "Aucun" + '</i>'; }
6296
+ x += addHtmlValue("Consentement de l'utilisateur", addLinkConditional(meshFeatures, 'p20editmeshconsent()', meshrights & 1));
6297
}
6298
6299
// Display user consent
@@ -6295,7 +6302,7 @@
6302
if (meshNotify & 2) { meshNotifyStr.push("Connect"); }
6303
if (meshNotify & 4) { meshNotifyStr.push("Disconnect"); }
6304
if (meshNotify & 8) { meshNotifyStr.push("Intel® AMT"); }
6298
- if (meshNotifyStr.length == 0) { meshNotifyStr.push('<i>' + "None" + '</i>'); }
6305
+ if (meshNotifyStr.length == 0) { meshNotifyStr.push('<i>' + "Aucun" + '</i>'); }
6306
x += addHtmlValue("Notifications", addLink(meshNotifyStr.join(', '), 'p20editMeshNotify()'));
6307
6308
// Intel AMT setup
@@ -6313,7 +6320,7 @@
6320
x += addHtmlValue("Intel® AMT", addLinkConditional(intelAmtPolicy, 'p20editMeshAmt()', meshrights & 1));
6321
6322
// Display group note support
6316
- if (meshrights & 1) { x += '<br><input type=button value=' + "Notes" + ' title=\"' + "View notes about this device group" + '\" onclick=showNotes(false,"' + encodeURIComponent(currentMesh._id) + '") />'; }
6323
+ if (meshrights & 1) { x += '<br><input type=button value=' + "Remarques" + ' title=\"' + "View notes about this device group" + '\" onclick=showNotes(false,"' + encodeURIComponent(currentMesh._id) + '") />'; }
6324
6325
x += '<br style=clear:both><br>';
6326
var currentMeshLinks = currentMesh.links[userinfo._id];
@@ -6321,7 +6328,7 @@
6328
6329
if ((meshrights & 4) != 0) {
6330
if (currentMesh.mtype == 1) {
6324
- x += '<a href=# onclick=\'return addCiraDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new Intel® AMT computer that is located on the internet." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Install CIRA" + '</a>';
6331
+ x += '<a href=# onclick=\'return addCiraDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new Intel® AMT computer that is located on the internet." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Installer CIRA" + '</a>';
6332
x += '<a href=# onclick=\'return addDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new Intel® AMT computer that is located on the local network." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Install local" + '</a>';
6333
if (currentMesh.amt && (currentMesh.amt.type == 2)) { // CCM activation
6334
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> ' + "Activation" + '</a>';
@@ -6330,7 +6337,7 @@
6337
}
6338
}
6339
if (currentMesh.mtype == 2) {
6333
- x += '<a href=# onclick=\'return addAgentToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new computer to this mesh by installing the mesh agent." + '\"><img src=images/icon-addnew.png border=0 height=12 width=12> ' + "Install" + '</a>';
6340
+ x += '<a href=# onclick=\'return addAgentToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new computer to this mesh by installing the mesh agent." + '\"><img src=images/icon-addnew.png border=0 height=12 width=12> ' + "Installer" + '</a>';
6341
x += '<a href=# onclick=\'return inviteAgentToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Invitez quelqu'un à installer l'agent de maillage sur ce maillage." + '\"><img src=images/icon-addnew.png border=0 height=12 width=12> ' + "Inviter" + '</a>';
6342
}
6343
}
@@ -6350,9 +6357,9 @@
6357
// Display all users for this mesh
6358
for (var i in sortedusers) {
6359
var trash = '', rights = "Partial Rights", r = sortedusers[i].rights;
6353
- if (r == 0xFFFFFFFF) rights = "Full Administrator"; else if (r == 0) rights = "No Rights";
6360
+ if (r == 0xFFFFFFFF) rights = "Administrateur Complet"; else if (r == 0) rights = "No Rights";
6361
if ((sortedusers[i].id != userinfo._id) && (meshrights == 0xFFFFFFFF || (((meshrights & 2) != 0)))) { trash = '<a href=# onclick=\'return p20deleteUser(event,"' + encodeURIComponent(sortedusers[i].id) + '")\' title=\"' + "Supprimer les droits d'utilisateur sur ce groupe de périphériques" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
6355
- 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> ' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
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=\"' + "Utilisateur" + '\" class=m2></div><div> ' + 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
@@ -6478,15 +6485,15 @@
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>' + "Desktop" + '</b></div>';
6481
- x += '<div><label><input type=checkbox id=d20flag1 ' + ((consent & 0x0001) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
6482
- x += '<div><label><input type=checkbox id=d20flag2 ' + ((consent & 0x0008) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
6483
- 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' : '') + '>' + "Notifier l'utilisateur" + '</label></div>';
6489
+ x += '<div><label><input type=checkbox id=d20flag2 ' + ((consent & 0x0008) ? 'checked' : '') + '>' + "Demander le consentement de l'utilisateur" + '</label></div>';
6490
+ x += '<div><label><input type=checkbox id=d20flag7 ' + ((consent & 0x0040) ? 'checked' : '') + '>' + "Afficher la barre d'outils de connexion" + '</label></div>';
6491
x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Terminal" + '</b></div>';
6485
- x += '<div><label><input type=checkbox id=d20flag3 ' + ((consent & 0x0002) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
6486
- x += '<div><label><input type=checkbox id=d20flag4 ' + ((consent & 0x0010) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
6487
- x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Files" + '</b></div>';
6488
- x += '<div><label><input type=checkbox id=d20flag5 ' + ((consent & 0x0004) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
6489
- x += '<div><label><input type=checkbox id=d20flag6 ' + ((consent & 0x0020) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
6492
+ x += '<div><label><input type=checkbox id=d20flag3 ' + ((consent & 0x0002) ? 'checked' : '') + '>' + "Notifier l'utilisateur" + '</label></div>';
6493
+ x += '<div><label><input type=checkbox id=d20flag4 ' + ((consent & 0x0010) ? 'checked' : '') + '>' + "Demander le consentement de l'utilisateur" + '</label></div>';
6494
+ x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Dossiers" + '</b></div>';
6495
+ x += '<div><label><input type=checkbox id=d20flag5 ' + ((consent & 0x0004) ? 'checked' : '') + '>' + "Notifier l'utilisateur" + '</label></div>';
6496
+ x += '<div><label><input type=checkbox id=d20flag6 ' + ((consent & 0x0020) ? 'checked' : '') + '>' + "Demander le consentement de l'utilisateur" + '</label></div>';
6497
setDialogMode(2, "Edit Device Group User Consent", 3, p20editmeshconsentEx, x);
6498
if (serverinfo.consent) {
6499
if (serverinfo.consent & 0x0001) { Q('d20flag1').checked = true; }
@@ -6540,7 +6547,7 @@
6547
x += "Autoriser les utilisateurs à gérer ce groupe et les périphériques de ce groupe.";
6548
if (features & 0x00080000) { x += "Les utilisateurs doivent se connecter une fois sur ce serveur avant de pouvoir être ajoutés à un groupe de périphériques.." }
6549
x += '<br /><br /><div style=\'position:relative\'>';
6543
- x += addHtmlValue("User Names", '<input id=dp20username style=width:230px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() placeholder="user1, user2, user3" />');
6550
+ x += addHtmlValue("Noms", '<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 {
@@ -6548,14 +6555,14 @@
6555
var uname = userid.split('/')[2];
6556
if (users && users[userid]) { uname = users[userid].name; }
6557
if (userinfo._id == userid) { uname = userinfo.name; }
6551
- x += format("Group permissions for user {0}.", uname) + '<br /><br />';
6558
+ x += format("Autorisations de groupe pour l'utilisateur {0}.", uname) + '<br /><br />';
6559
}
6560
x += '<div style="height:120px;overflow-y:scroll;border:1px solid gray">';
6554
- x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>' + "Full Administrator" + '</label><br>';
6561
+ x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>' + "Administrateur Complet" + '</label><br>';
6562
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Edit Device Group" + '</label><br>';
6563
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>' + "Manage Device Group Users" + '</label><br>';
6564
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>' + "Manage Device Group Computers" + '</label><br>';
6558
- x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Remote Control" + '</label><br>';
6565
+ x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Télécommande" + '</label><br>';
6566
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>' + "Remote View Only" + '</label><br>';
6567
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>' + "Limited Input Only" + '</label><br>';
6568
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>' + "No Terminal Access" + '</label><br>';
@@ -6705,15 +6712,15 @@
6712
p20showAddMeshUserDialog(userid);
6713
} else {
6714
var r = [];
6708
- if (meshrights == 0xFFFFFFFF) r.push("Full Administrator (all rights)"); else {
6715
+ if (meshrights == 0xFFFFFFFF) r.push("Administrateur Complet (tous droits)"); else {
6716
if ((meshrights & 1) != 0) r.push("Edit Device Group");
6717
if ((meshrights & 2) != 0) r.push("Manage Device Group Users");
6718
if ((meshrights & 4) != 0) r.push("Manage Device Group Computers");
6712
- if ((meshrights & 8) != 0) r.push("Remote Control");
6719
+ if ((meshrights & 8) != 0) r.push("Télécommande");
6720
if ((meshrights & 16) != 0) r.push("Agent Console");
6721
if ((meshrights & 32) != 0) r.push("Server Files");
6722
if ((meshrights & 64) != 0) r.push("Wake Devices");
6716
- if ((meshrights & 128) != 0) r.push("Edit Notes");
6723
+ if ((meshrights & 128) != 0) r.push("Modifier les notes");
6724
if (((meshrights & 8) != 0) && (meshrights & 256) != 0) r.push("Remote View Only");
6725
if (((meshrights & 8) != 0) && (meshrights & 512) != 0) r.push("No Terminal");
6726
if (((meshrights & 8) != 0) && (meshrights & 1024) != 0) r.push("Aucun fichier");
@@ -6727,7 +6734,7 @@
6734
var uname = xuserid.split('/')[2];
6735
if (users && users[xuserid]) { uname = users[xuserid].name; }
6736
if (userinfo._id == xuserid) { uname = userinfo.name; }
6730
- var buttons = 1, x = addHtmlValue("User Name", EscapeHtml(decodeURIComponent(uname)));
6737
+ var buttons = 1, x = addHtmlValue("Nom", EscapeHtml(decodeURIComponent(uname)));
6738
if (xuserid.split('/')[2] != uname) { x += addHtmlValue("User Identifier", EscapeHtml(xuserid.split('/')[2])); }
6739
6740
x += addHtmlValue("Permissions", r.join(", "));
@@ -6779,7 +6786,7 @@
6786
function updateFiles() {
6787
QV('MainMenuMyFiles', ((features & 8) == 0));
6788
if ((features & 8) != 0) return; // If running on a server without files, exit now.
6782
- var html1 = '', html2 = '', displayPath = '<a href=# style=cursor:pointer onclick="return p5folderup(0)">' + "Root" + '</a>', fullPath = 'Root', publicPath, filetreex = filetree, folderdepth = 1;
6789
+ var html1 = '', html2 = '', displayPath = '<a href=# style=cursor:pointer onclick="return p5folderup(0)">' + "Racine" + '</a>', fullPath = 'Root', publicPath, filetreex = filetree, folderdepth = 1;
6790
6791
// Navigate to path location, build the paths at the same time
6792
var filetreelocation2 = [], oldlinkpath = filetreelinkpath, checkedBoxes = [], checkboxes = document.getElementsByName('fc');
@@ -6833,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 + '"> <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 = '';
6836
- 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 + '")\'>' + "Lien" + '</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 + '"> <span class=fsize>' + fdatestr + '</span><span style=float:right>' + fsize + '</span><span><div class=fileIcon' + f.t + '></div>' + link + '</span></div>';
6846
}
@@ -6867,7 +6874,7 @@
6874
}
6875
6876
function getNiceSize2(bytes) {
6870
- if (bytes <= 0) return "None";
6877
+ if (bytes <= 0) return "Aucun";
6878
if (bytes < 2048) return format("{0} b", bytes);
6879
if (bytes < 2097152) return format("{0} Kb", Math.round(bytes / 1024));
6880
if (bytes < 2147483648) return format("{0} Mb", Math.round(bytes / 1024 / 1024));
@@ -6883,7 +6890,7 @@
6890
return '<span title="' + title + '">' + getNiceSize(tq) + ' <progress style=height:10px;width:100px value=' + f.s + ' max=' + f.maxbytes + ' /></span>';
6891
}
6892
6886
- function p5showPublicLink(u) { setDialogMode(2, "Public Link", 1, null, '<input type=text style=width:100% value="' + u + '" readonly />'); return false; }
6893
+ function p5showPublicLink(u) { setDialogMode(2, "Lien public", 1, null, '<input type=text style=width:100% value="' + u + '" readonly />'); return false; }
6894
6895
var sortorder;
6896
function p5sort_filename(a, b) { if (a.ln > b.ln) return (1 * sortorder); if (a.ln < b.ln) return (-1 * sortorder); return 0; }
@@ -6925,7 +6932,7 @@
6932
function p5folderset(x) { filetreelocation.push(decodeURIComponent(x)); updateFiles(); return false; }
6933
function p5createfolder() { setDialogMode(2, "Nouveau Dossier", 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}); }
6928
- 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, "Delete", 3, p5deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
6935
+ function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Suppression récursive" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Delete", 3, p5deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + 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, "Renommer", 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); }
@@ -6983,7 +6990,7 @@
6990
}
6991
p5updateClipview();
6992
}
6986
- 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, "Paste", 3, p5pasteFileEx, x); }
6993
+ 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, "Coller", 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(); } }
6995
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(); }
6996
function p5clearClip() { p5clipboard = null; p5clipboardFolder = null; p5clipboardCut = 0; p5updateClipview(); return false; }
@@ -7073,7 +7080,7 @@
7080
function p5fileDragLeave(e) {
7081
if (xxdialogMode) return;
7082
haltEvent(e);
7076
- if (e.target.id != "p5filetable") {
7083
+ if (e.target.id != 'p5filetable') {
7084
QV('bigfail', false);
7085
QV('bigok', false);
7086
//QV('p5fileCatchAllInput', false);
@@ -7149,7 +7156,7 @@
7156
if (xxdialogMode) return;
7157
var x = "Download the list of events with one of the file formats below." + '<br /><br />';
7158
x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogCSV(' + mode + ')">' + "eventslist.csv" + '</a>');
7152
- x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
7159
+ x += addHtmlValue("Format JSON", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
7160
setDialogMode(2, "Event List Export", 1, null, x, mode);
7161
}
7162
@@ -7210,7 +7217,7 @@
7217
((emailSearch != null) && ((user.email != null) && (user.email.toLowerCase().indexOf(emailSearch) >= 0))))
7218
) {
7219
if (maxUsers > 0) {
7213
- if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Online Users"; addHeader = false; }
7220
+ if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Utilisateurs en ligne"; addHeader = false; }
7221
x += addUserHtml(user, sessions);
7222
maxUsers--;
7223
} else {
@@ -7228,7 +7235,7 @@
7235
((emailSearch != null) && ((user.email != null) && (user.email.toLowerCase().indexOf(emailSearch) >= 0))))
7236
) {
7237
if (maxUsers > 0) {
7231
- if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Offline Users"; addHeader = false; }
7238
+ if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Utilisateurs hors ligne"; addHeader = false; }
7239
x += addUserHtml(user, sessions);
7240
maxUsers--;
7241
} else {
@@ -7259,12 +7266,12 @@
7266
if (user.login) { lastAccess += '<span title=\"' + format("Last login: {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) + '\")\'>'; }
7262
- if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { permissions += "Locked" + ', '; }
7269
+ if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { permissions += "Verrouiller" + ', '; }
7270
permissions += '<span title=\'' + "Server Permissions" + '\'>';
7271
7272
var urights = user.siteadmin & (0xFFFFFFFF - 224);
7273
if ((user.siteadmin == null) || (urights == 0)) {
7267
- permissions += "User";
7274
+ permissions += "Utilisateur";
7275
} else if (urights == 8) {
7276
permissions += "User + Files";
7277
} else if (user.siteadmin == 0xFFFFFFFF) {
@@ -7326,7 +7333,7 @@
7333
function showUserAlertDialog(e, userid) {
7334
if (xxdialogMode) return;
7335
haltEvent(e);
7329
- 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("Notify {0}", EscapeHtml(users[decodeURIComponent(userid)].name)), 3, showUserAlertDialogEx, "Envoyez une notification à cet utilisateur." + '<textarea id=d2notifyText maxlength=2048 style="width:100%;height:184px;resize:none"></textarea>', userid);
7337
Q('d2notifyText').focus();
7338
return false;
7339
}
@@ -7374,7 +7381,7 @@
7381
if (xxdialogMode) return;
7382
var x = "Download the list of users with one of the file formats below." + '<br /><br />';
7383
x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoCSV()\'>' + "userlist.csv" + '</a>');
7377
- x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoJSON()\'>' + "userlist.json" + '</a>');
7384
+ x += addHtmlValue("Format JSON", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoJSON()\'>' + "userlist.json" + '</a>');
7385
setDialogMode(2, "User List Export", 1, null, x);
7386
}
7387
@@ -7384,9 +7391,9 @@
7391
var multiFactor = false, factors = [];
7392
if ((users[i].otpsecret > 0) || (users[i].otphkeys > 0)) {
7393
multiFactor = true;
7387
- if (users[i].otpsecret > 0) { factors.push("AuthApp"); }
7388
- if (users[i].otphkeys > 0) { factors.push("SecurityKey"); }
7389
- if (users[i].otpkeys > 0) { factors.push("BackupCodes"); }
7394
+ if (users[i].otpsecret > 0) { factors.push('AuthApp'); }
7395
+ if (users[i].otphkeys > 0) { factors.push('SecurityKey'); }
7396
+ if (users[i].otpkeys > 0) { factors.push('BackupCodes'); }
7397
}
7398
csv += '\"' + users[i]._id + '\",\"' + users[i].name + '\",\"' + (users[i].email ? users[i].email : '') + '\",\"' + (users[i].creation ? new Date(users[i].creation * 1000) : '') + '\",\"' + (users[i].login ? new Date(users[i].login * 1000) : '') + '\",\"' + (users[i].groups ? users[i].groups.join(',') : '') + '\",\"' + (multiFactor ? factors.join(',') : '') + '\"\r\n';
7399
}
@@ -7419,11 +7426,11 @@
7426
x += addHtmlValue("Email", '<input id=p4email maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
7427
x += addHtmlValue("Mot de passe", '<input id=p4pass1 type=password maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
7428
x += addHtmlValue("Mot de passe", '<input id=p4pass2 type=password maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
7422
- x += '<div><label><input id=p4randomPassword onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Randomize the password." + '</label></div>';
7429
+ x += '<div><label><input id=p4randomPassword onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Mot de passe aléatoire." + '</label></div>';
7430
x += '<div><label><input id=p4resetNextLogin onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Force password reset on next login." + '</label></div>';
7431
if (serverinfo.emailcheck) {
7432
x += '<div><label><input id=p4verifiedEmail onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Email is verified." + '</label></div>';
7426
- x += '<div><label><input id=p4invitationEmail type=checkbox />' + "Send invitation email." + '</label></div>';
7433
+ x += '<div><label><input id=p4invitationEmail type=checkbox />' + "Envoyer un email d'invitation." + '</label></div>';
7434
}
7435
7436
if (passRequirements) {
@@ -7474,7 +7481,7 @@
7481
var user = users[userid.toLowerCase()], groups = "";
7482
if (user.groups != null) { groups = user.groups.join(', ') }
7483
var x = "Enter a comma seperate list of administrative realms names." + '<br /><br />';
7477
- x += addHtmlValue("Realms", '<input id=dp4usergroups style=width:230px value="' + groups + '" placeholder=\"' + "Name1, Name2, Name3" + '\" maxlength=256 onchange=p4validateUserGroups() onkeyup=p4validateUserGroups() />');
7484
+ x += addHtmlValue("Realms", '<input id=dp4usergroups style=width:230px value="' + groups + '" placeholder=\"' + "Nom1, Nom2, Nom3" + '\" maxlength=256 onchange=p4validateUserGroups() onkeyup=p4validateUserGroups() />');
7485
setDialogMode(2, "Administrative Realms", 3, showUserGroupDialogEx, x, user);
7486
focusTextBox('dp4usergroups');
7487
p4validateUserGroups();
@@ -7501,12 +7508,12 @@
7508
userid = decodeURIComponent(userid);
7509
var x = '<div><div id=d2AdminPermissions>';
7510
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/>';
7504
- x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fulladmin>' + "Full Administrator" + '</label><br>';
7511
+ x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fulladmin>' + "Administrateur Complet" + '</label><br>';
7512
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverbackup>' + "Server Backup" + '</label><br>';
7513
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverrestore>' + "Server Restore" + '</label><br>';
7507
- x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverupdate>' + "Server Updates" + '</label><br>';
7514
+ x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverupdate>' + "Mises à jour du serveur" + '</label><br>';
7515
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_manageusers>' + "Gérer les utilisateurs" + '</label><br>';
7509
- x += '<hr/></div><label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_lockedaccount>' + "Lock Account" + '</label><br>';
7516
+ x += '<hr/></div><label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_lockedaccount>' + "Verrouiller le compte" + '</label><br>';
7517
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nonewgroups>' + "No New Device Groups" + '</label><br>';
7518
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nomeshcmd>' + "No Tools (MeshCmd/Router)" + '</label><br>';
7519
x += '</div>';
@@ -7592,8 +7599,8 @@
7599
7600
// Server permissions
7601
var msg = [], premsg = '';
7595
- 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"); }
7596
- if ((user.siteadmin == null) || ((user.siteadmin & (0xFFFFFFFF - 224)) == 0)) { msg.push("No server rights"); } else if (user.siteadmin == 8) { msg.push("Access to server files"); } else if (user.siteadmin == 0xFFFFFFFF) { msg.push("Full 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("Compte verrouillé"); }
7603
+ if ((user.siteadmin == null) || ((user.siteadmin & (0xFFFFFFFF - 224)) == 0)) { msg.push("No server rights"); } else if (user.siteadmin == 8) { msg.push("Access to server files"); } else if (user.siteadmin == 0xFFFFFFFF) { msg.push("Administrateur complet"); } else { msg.push("Partial rights"); }
7604
if ((user.siteadmin != null) && (user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & (64 + 128)) != 0)) { msg.push("Restrictions"); }
7605
7606
// Show user attributes
@@ -7606,7 +7613,7 @@
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
}
7609
- x += addDeviceAttribute("Server Rights", premsg + '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + userid + '\")\'>' + msg.join(', ') + '</a>');
7616
+ x += addDeviceAttribute("Droits du serveur", premsg + '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + userid + '\")\'>' + msg.join(', ') + '</a>');
7617
if (user.quota) x += addDeviceAttribute("Server Quota", EscapeHtml(parseInt(user.quota) / 1024) + ' k');
7618
x += addDeviceAttribute("Creation", printDateTime(new Date(user.creation * 1000)));
7619
if (user.login) x += addDeviceAttribute("Dernière connexion", printDateTime(new Date(user.login * 1000)));
@@ -7614,7 +7621,7 @@
7621
else if (user.passchange) { x += addDeviceAttribute("Mot de passe", format("Dernière modification: {0}", printDateTime(new Date(user.passchange * 1000)))); }
7622
7623
// Device Groups
7617
- var linkCount = 0, linkCountStr = '<i>' + "None" + '<i>';
7624
+ var linkCount = 0, linkCountStr = '<i>' + "Aucun" + '<i>';
7625
if (user.links) {
7626
for (var i in user.links) { linkCount++; }
7627
if (linkCount == 1) { linkCountStr = "1 groupe"; } else if (linkCount > 1) { linkCountStr = format("{0} groups", linkCount); }
@@ -7623,7 +7630,7 @@
7630
7631
// Administrative Realms
7632
if ((userinfo.siteadmin == 0xFFFFFFFF) || (userinfo.siteadmin & 2)) {
7626
- var userGroups = '<i>' + "None" + '</i>';
7633
+ var userGroups = '<i>' + "Aucun" + '</i>';
7634
if (user.groups) { userGroups = ''; for (var i in user.groups) { userGroups += '<span class="tagSpan">' + user.groups[i] + '</span>'; } }
7635
x += addDeviceAttribute("Admin Realms", addLinkConditional(userGroups, 'showUserGroupDialog(event,\"' + userid + '\")', (userinfo.siteadmin == 0xFFFFFFFF) || ((userinfo.groups == null) && (userinfo._id != user._id) && (user.siteadmin != 0xFFFFFFFF))));
7636
}
@@ -7633,7 +7640,7 @@
7640
multiFactor = 1;
7641
var factors = [];
7642
if (user.otpsecret > 0) { factors.push("Authentication App"); }
7636
- if (user.otphkeys > 0) { factors.push("Security Key"); }
7643
+ if (user.otphkeys > 0) { factors.push("Clef de sécurité"); }
7644
if (user.otpkeys > 0) { factors.push("Backup Codes"); }
7645
x += addDeviceAttribute("Sécurité", '<img src="images/key12.png" height=12 width=11 title=\"' + "Authentification 2e facteur activée" + '\" style="margin-top:2px" /> ' + factors.join(', '));
7646
}
@@ -7641,8 +7648,8 @@
7648
x += '</table></div><br />';
7649
7650
// Add action buttons
7644
- x += '<input type=button value=\"' + "Notes" + '\" title=\"' + "View notes about this user" + '\" onclick=showNotes(false,"' + userid + '") />';
7645
- if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Notify" + '\" title=\"' + "Send user notification" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
7651
+ x += '<input type=button value=\"' + "Remarques" + '\" title=\"' + "View notes about this user" + '\" onclick=showNotes(false,"' + userid + '") />';
7652
+ if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Notify" + '\" title=\"' + "Envoyer une notification utilisateur" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
7653
7654
// Setup the panel
7655
QH('p30html', x);
@@ -7980,7 +7987,7 @@
7987
if (node != null) { icon = node.icon; t = '<b>' + node.name + '</b>: ' }
7988
}
7989
7983
- 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("Survenu à {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
}
@@ -8087,12 +8094,12 @@
8094
function setupGeneralServerStats() {
8095
window.serverStatCpu = new Chart(document.getElementById('serverCpuChart').getContext('2d'), {
8096
type: 'doughnut',
8090
- data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Used", "Free"] },
8097
+ data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Used", "Libre"] },
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',
8095
- data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Used", "Free"] },
8102
+ data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Used", "Libre"] },
8103
options: { responsive: true, legend: { position: 'none', }, animation: { animateScale: true, animateRotate: true }, width: '60px' }
8104
});
8105
}
@@ -8112,7 +8119,7 @@
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];
8115
- QH('serverMemoryChartText', '<div style=margin-bottom:5px>' + "Mémoire" + '</div><div><b>' + getNiceSize2(message.freemem) + '</b> ' + "free" + ', <b>' + getNiceSize2(message.totalmem) + '</b> ' + "total" + '</div>');
8122
+ QH('serverMemoryChartText', '<div style=margin-bottom:5px>' + "Mémoire" + '</div><div><b>' + getNiceSize2(message.freemem) + '</b> ' + "libre" + ', <b>' + getNiceSize2(message.totalmem) + '</b> ' + "total" + '</div>');
8123
QS('serverMemoryChartView')['display'] = 'inline-block';
8124
window.serverStatMemory.update();
8125
}
@@ -8296,7 +8303,7 @@
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>";
8299
- setDialogMode(2, "Server Tracing", 7, setServerTracingEx, x);
8306
+ setDialogMode(2, "Suivi du serveur", 7, setServerTracingEx, x);
8307
}
8308
8309
function setServerTracingEx(b) {
@@ -8665,7 +8672,7 @@
8672
function AddButton(v, f) { return '<input type=button value="' + v + '" onclick="' + f + '" style=margin:4px>'; }
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':'') + '>'; }
8668
- function MoreStart() { return '<a href=# style=cursor:pointer;color:blue id=morexxx1 onclick=QV(\"morexxx1\",false);QV(\"morexxx2\",true)>▼ ' + "More" + '</a><div id=morexxx2 style=display:none><br><hr>'; };
8675
+ function MoreStart() { return '<a href=# style=cursor:pointer;color:blue id=morexxx1 onclick=QV(\"morexxx1\",false);QV(\"morexxx2\",true)>▼ ' + "Plus" + '</a><div id=morexxx2 style=display:none><br><hr>'; };
8676
function MoreEnd() { return '<a href=# style=cursor:pointer;color:blue onclick=QV(\"morexxx2\",false);QV(\"morexxx1\",true)>▲ ' + "Moins" + '</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; }
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>Account Security</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>Manage authenticator app</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>Account Actions</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>Verify email</a></span></div><div style=margin-top:5px><span id=changeEmailId style=display:none><a onclick=account_showChangeEmail() style=cursor:pointer>Change email address</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>Device Groups</strong> <span id=p3createMeshLink1>( <a onclick=account_createMesh() style=cursor:pointer><img src=images/icon-addnew.png width=12 height=12 border=0> New</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> <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> <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> <span id=DeskToastButton><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span> </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> <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>Other</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® 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 on next login.");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 on next login."):e<3600?QH("p2nextPasswordUpdateTime",format(" - Reset in {0} minute{1}.",Math.floor(e/60),addLetterS(Math.floor(e/60)))):e<86400?QH("p2nextPasswordUpdateTime",format(" - Reset in {0} hour{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-step login activation successful</b>. You will now need a valid token to login again.":"<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.");break;case"otpauth-clear":if(xxdialogMode)return;setDialogMode(2,"Authenticator App",1,null,t.success?"<b style=color:green>2-step login activation removed</b>. You can reactivate this feature at any time.":"<b style=color:red>2-step login activation removal failed</b>. Try again.");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)+" "+r.substring(4):a+="<td><strike style=color:#BBB>"+r.substring(0,4)+" "+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&¤tMesh==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&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2))}}updateMeshes(),updateDevices(),meshserver.send({action:"files"}),20==xxcurrentView&¤tMesh._id==t.event.meshid&&p20updateMesh();break;case"deletemesh":meshes[t.event.meshid]&&(delete meshes[t.event.meshid],updateMeshes(),meshserver.send({action:"files"}));u=[];for(var l in nodes)nodes[l].meshid!=t.event.meshid&&u.push(nodes[l]);nodes=u,updateDevices(),20<=xxcurrentView&&xxcurrentView<30&¤tMesh._id==t.event.meshid&&(setDialogMode(0),go(2)),10<=xxcurrentView&&xxcurrentView<20&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2));break;case"addnode":var m=t.event.node;if(!meshes[m.meshid])break;if(null!=getNodeFromId(m._id))break;m.namel=m.name.toLowerCase(),m.rname?m.rnamel=m.rname.toLowerCase():m.rnamel=m.namel,m.meshnamel=meshes[m.meshid].name.toLowerCase(),m.state=0,m.icon||(m.icon=1),m.ident=++nodeShortIdent,nodes.push(m),updateDevices();break;case"removenode":var 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>Loading...</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>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("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® 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,"Account Security",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,"Account Security",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>●<span>":"<span style=color:red>●<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="Full Administrator":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,g=h[c],v=g.n;f=40<(f=v).length?EscapeHtml(v.substring(0,40))+"...":EscapeHtml(v),v=EscapeHtml(v);var k="";null!=g.s&&(k=getFileSizeStr(g.s));var y="";if(g.t<3||4==g.t){y="<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+v+"'> <span style=float:right;padding-right:4px>"+(1==g.t||4==g.t?p5getQuotabar(g):"")+"</span><span><div class=fileIcon"+g.t+'></div><a style=cursor:pointer onclick=p5folderset("'+encodeURIComponent(g.nx)+'")>'+f+"</a></span></div>"}else{var b=f,x="";m&&(x=" (<a style=cursor:pointer onclick='p5showPublicLink(\""+e+"/"+g.nx+"\")'>Link</a>)"),0<g.s&&(b='<a rel="noreferrer noopener" target="_blank" href="downloadfile.ashx?link='+encodeURIComponent(filetreelinkpath+"/"+g.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='"+g.nx+"'> <span style=float:right;padding-right:4px>"+k+"</span><span><div class=fileIcon"+g.t+"></div>"+b+"</span></div>"}g.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® AMT only</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® 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® 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?" zařízení":" nodes");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&¤tNode._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("Activated")};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>Activated</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® ME";"number"==typeof n.intelamt.sku&&(0!=(8&n.intelamt.sku)?u="Intel® AMT":0!=(16&n.intelamt.sku)&&(u="Intel® 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® AMT CIRA</span>"):0!=(4&n.conn)&&f.push("<span>Intel® 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 g="<i>Nic</i>";if(null!=n.tags)for(var v in g="",n.tags)g+='<span style="background-color:lightgray;padding:3px;margin-right:4px;border-radius:5px">'+n.tags[v]+"</span>";l+=addDeviceAttribute("Tagy",0!=(4&a)?"<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>"+g+"</span>":g),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® AMT connected</span>"):0!=(4&h)&&(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Intel® 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,"Account Security",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,"Account Security",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¤tNode.intelamt.sku))||currentNode.agent&&1¤tNode.agent.caps)&&n.push({n:"Desktop",f:"setupDeviceMenu(1)"}),2!=currentDevicePanel&&null!=currentNode&&8&o&&(4294967295==o||0==(1024&o))&&2==currentNode.mtype&&4¤tNode.agent.caps&&n.push({n:"Files",f:"setupDeviceMenu(2)"}),updateFooterMenu(n)}function deviceActionFunction(){if(!xxdialogMode){var e=meshes[currentNode.meshid].links[userinfo._id].rights,t="Vyber operaci na tomto zařízení.<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&¤tNode._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 g=n[f];if(1==isTimeBlockInside(m,h,g[0],g[1])){var v=Math.max(m,g[0]),k=Math.min(Math.min(h,g[1]),t),y=Math.round((k-v)*c/864e5);0<y&&(u+="<div style=display:table-cell;width:"+y+"px;background-color:"+powerColor(g[2])+";height:16px></div>")}}r+="<tr style="+(d%2==0?"background-color:#DDD":"")+"><td><div> "+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® 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,"Delete Node",3,p10showDeleteNodeDialogEx,format("Delete {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¤tNode.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¤tNode.conn);QE("connectbutton1",n);var i=0!=(6¤tNode.conn);QE("connectbutton1h",i),QV("DeskToastButton",0!=(16384&o)&¤tNode.agent&¤tNode.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="All Displays"==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+"'> <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+"'> <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&¤tNode.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® 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> Add User</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="Full Administrator":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> "+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>Delete Group</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,"Delete Group",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>Full Administrator</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>Manage Device Group Users</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® 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,"Add User to Mesh",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("Full Administrator"):(0!=(1&n)&&t.push("Editovat skupinu zařízení"),0!=(2&n)&&t.push("Manage Device Group Users"),0!=(4&n)&&t.push("Správa skupin zařízení"),0!=(8&n)&&t.push("Remote Control"),0!=(16&n)&&t.push("Agent Console"),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® 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,"Device Group User",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+"'>♦ "+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(" ")}</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 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>Account Security</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>Manage authenticator app</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>Account Actions</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>Verify email</a></span></div><div style=margin-top:5px><span id=changeEmailId style=display:none><a onclick=account_showChangeEmail() style=cursor:pointer>Change email address</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>Device Groups</strong> <span id=p3createMeshLink1>( <a onclick=account_createMesh() style=cursor:pointer><img src=images/icon-addnew.png width=12 height=12 border=0> New</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> <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> <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> <span id=DeskToastButton><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span> </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> <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>Other</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® 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 on next login.");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 on next login."):e<3600?QH("p2nextPasswordUpdateTime",format(" - Reset in {0} minute{1}.",Math.floor(e/60),addLetterS(Math.floor(e/60)))):e<86400?QH("p2nextPasswordUpdateTime",format(" - Reset in {0} hour{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-step login activation successful</b>. You will now need a valid token to login again.":"<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.");break;case"otpauth-clear":if(xxdialogMode)return;setDialogMode(2,"Authenticator App",1,null,t.success?"<b style=color:green>2-step login activation removed</b>. You can reactivate this feature at any time.":"<b style=color:red>2-step login activation removal failed</b>. Try again.");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)+" "+r.substring(4):a+="<td><strike style=color:#BBB>"+r.substring(0,4)+" "+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&¤tMesh==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&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2))}}updateMeshes(),updateDevices(),meshserver.send({action:"files"}),20==xxcurrentView&¤tMesh._id==t.event.meshid&&p20updateMesh();break;case"deletemesh":meshes[t.event.meshid]&&(delete meshes[t.event.meshid],updateMeshes(),meshserver.send({action:"files"}));u=[];for(var l in nodes)nodes[l].meshid!=t.event.meshid&&u.push(nodes[l]);nodes=u,updateDevices(),20<=xxcurrentView&&xxcurrentView<30&¤tMesh._id==t.event.meshid&&(setDialogMode(0),go(2)),10<=xxcurrentView&&xxcurrentView<20&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2));break;case"addnode":var m=t.event.node;if(!meshes[m.meshid])break;if(null!=getNodeFromId(m._id))break;m.namel=m.name.toLowerCase(),m.rname?m.rnamel=m.rname.toLowerCase():m.rnamel=m.namel,m.meshnamel=meshes[m.meshid].name.toLowerCase(),m.state=0,m.icon||(m.icon=1),m.ident=++nodeShortIdent,nodes.push(m),updateDevices();break;case"removenode":var 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>Loading...</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® 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,"Account Security",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,"Account Security",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>●<span>":"<span style=color:red>●<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="Full Administrator":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,g=h[c],v=g.n;f=40<(f=v).length?EscapeHtml(v.substring(0,40))+"...":EscapeHtml(v),v=EscapeHtml(v);var k="";null!=g.s&&(k=getFileSizeStr(g.s));var y="";if(g.t<3||4==g.t){y="<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+v+"'> <span style=float:right;padding-right:4px>"+(1==g.t||4==g.t?p5getQuotabar(g):"")+"</span><span><div class=fileIcon"+g.t+'></div><a style=cursor:pointer onclick=p5folderset("'+encodeURIComponent(g.nx)+'")>'+f+"</a></span></div>"}else{var b=f,x="";m&&(x=" (<a style=cursor:pointer onclick='p5showPublicLink(\""+e+"/"+g.nx+"\")'>Link</a>)"),0<g.s&&(b='<a rel="noreferrer noopener" target="_blank" href="downloadfile.ashx?link='+encodeURIComponent(filetreelinkpath+"/"+g.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='"+g.nx+"'> <span style=float:right;padding-right:4px>"+k+"</span><span><div class=fileIcon"+g.t+"></div>"+b+"</span></div>"}g.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® AMT only</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® 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® 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?" zařízení":" nodes");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&¤tNode._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("Activated")};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>Activated</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® ME";"number"==typeof n.intelamt.sku&&(0!=(8&n.intelamt.sku)?u="Intel® AMT":0!=(16&n.intelamt.sku)&&(u="Intel® 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® AMT CIRA</span>"):0!=(4&n.conn)&&f.push("<span>Intel® 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 g="<i>Nic</i>";if(null!=n.tags)for(var v in g="",n.tags)g+='<span style="background-color:lightgray;padding:3px;margin-right:4px;border-radius:5px">'+n.tags[v]+"</span>";l+=addDeviceAttribute("Tagy",0!=(4&a)?"<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>"+g+"</span>":g),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® AMT connected</span>"):0!=(4&h)&&(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Intel® 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,"Account Security",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,"Account Security",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¤tNode.intelamt.sku))||currentNode.agent&&1¤tNode.agent.caps)&&n.push({n:"Desktop",f:"setupDeviceMenu(1)"}),2!=currentDevicePanel&&null!=currentNode&&8&o&&(4294967295==o||0==(1024&o))&&2==currentNode.mtype&&4¤tNode.agent.caps&&n.push({n:"Files",f:"setupDeviceMenu(2)"}),updateFooterMenu(n)}function deviceActionFunction(){if(!xxdialogMode){var e=meshes[currentNode.meshid].links[userinfo._id].rights,t="Vyber operaci na tomto zařízení.<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&¤tNode._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 g=n[f];if(1==isTimeBlockInside(m,h,g[0],g[1])){var v=Math.max(m,g[0]),k=Math.min(Math.min(h,g[1]),t),y=Math.round((k-v)*c/864e5);0<y&&(u+="<div style=display:table-cell;width:"+y+"px;background-color:"+powerColor(g[2])+";height:16px></div>")}}r+="<tr style="+(d%2==0?"background-color:#DDD":"")+"><td><div> "+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® 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,"Delete Node",3,p10showDeleteNodeDialogEx,format("Delete {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¤tNode.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¤tNode.conn);QE("connectbutton1",n);var i=0!=(6¤tNode.conn);QE("connectbutton1h",i),QV("DeskToastButton",0!=(16384&o)&¤tNode.agent&¤tNode.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="All Displays"==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+"'> <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+"'> <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&¤tNode.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® 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> Add User</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="Full Administrator":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> "+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>Delete Group</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,"Delete Group",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>Full Administrator</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>Manage Device Group Users</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® 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,"Add User to Mesh",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("Full Administrator"):(0!=(1&n)&&t.push("Editovat skupinu zařízení"),0!=(2&n)&&t.push("Manage Device Group Users"),0!=(4&n)&&t.push("Správa skupin zařízení"),0!=(8&n)&&t.push("Remote Control"),0!=(16&n)&&t.push("Agent Console"),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® 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,"Device Group User",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+"'>♦ "+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(" ")}</script>
\ No newline at end of file
views/translations/default-mobile-min_fr.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>click to reconnect</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>Account Security</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>Manage authenticator app</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>Account Actions</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>Verify email</a></span></div><div style=margin-top:5px><span id=changeEmailId style=display:none><a onclick=account_showChangeEmail() style=cursor:pointer>Change email address</a></span></div><div style=margin-top:5px><a onclick=account_showChangePassword() style=cursor:pointer>Change password</a><span id=p2nextPasswordUpdateTime></span></div><div style=margin-top:5px><a onclick=account_showDeleteAccount() style=cursor:pointer>Delete account</a></div></div><br style=clear:both></div><strong>Device Groups</strong> <span id=p3createMeshLink1>( <a onclick=account_createMesh() style=cursor:pointer><img src=images/icon-addnew.png width=12 height=12 border=0> Nouveau</a> )</span><br><br><div id=p3meshes></div><div id=p3noMeshFound style=margin-left:9px;display:none>Aucun groupe d'appareils.<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>Mes Dossiers</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=Up> <input type=button style="width:calc(100%/5 - 5px)"id=p5SelectAllButton disabled onclick=p5selectallfile() value=ToutSélectionner onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5RenameFileButton disabled value=Renommer onclick=p5renamefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5NewFolderButton disabled value=Folder 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=Télécharger onclick=p5uploadFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5CutButton disabled value=Cut onclick=p5copyFile(1) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5CopyButton disabled value=Copy onclick=p5copyFile(0) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5PasteButton disabled value=Paste onclick=p5pasteFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5RefreshButton value=Rafraîchir 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>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></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> <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> <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=Connect 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>Disconnected</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()>Rafraîchir</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">Processes</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)>Nom</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> <span id=DeskToastButton><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span> </div><div><input id=deskActionsBtn type=button style=margin-left:3px onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction()> <input type=button value=Settings onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings()> <input type=button onkeypress=return!1 onkeydown=return!1 value="Power Actions..."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=Clavier 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>Input</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=Actions 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=Connect onclick=connectFiles(event) onkeypress=return!1 onkeydown=return!1 type=button> <span id=p13Status>Disconnected</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=Up> <input type=button style="width:calc(100%/5 - 5px)"id=p13SelectAllButton disabled onclick=p13selectallfile() value=ToutSélectionner onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13RenameFileButton disabled value=Renommer onclick=p13renamefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13NewFolderButton disabled value=Folder 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=Télécharger onclick=p13uploadFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13CutButton disabled value=Cut onclick=p13copyFile(1) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13CopyButton disabled value=Copy onclick=p13copyFile(0) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13PasteButton disabled value=Paste onclick=p13pasteFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13RefreshButton disabled value=Rafraîchir 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>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></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> <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>Qualité</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>Mise à l'échelle</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>Fast<option value=100>Medium<option value=400>Lent<option value=1000>Very slow</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, le plus rapide<option value=2>RLE16, recommandé<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>Autre</div></div></div></div></div><div id=idx_dlgButtonBar style=padding:10px;margin-bottom:20px><input id=idx_dlgCancelButton type=button value=Annuler 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)>Mes Dossiers</div><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer"onclick=topMenu(1)>Mon Compte</div><div id=logoutMenuOption><a href=/logout><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer">Logout</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=["Disconnected","Connecting...","Setup...","Connected","Intel® 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","- Réinitialiser à la prochaine connexion.");else if(null!=passRequirements&&"number"==typeof passRequirements.reset){var e=userinfo.passchange+86400*passRequirements.reset-Math.floor(Date.now()/1e3);e<0?QH("p2nextPasswordUpdateTime","- Réinitialiser à la prochaine connexion."):e<3600?QH("p2nextPasswordUpdateTime",format("- Réinitialisation en {0} minute {1}.",Math.floor(e/60),addLetterS(Math.floor(e/60)))):e<86400?QH("p2nextPasswordUpdateTime",format("- Réinitialisation dans {0} heure {1}.",Math.floor(e/3600),addLetterS(Math.floor(e/3600)))):QH("p2nextPasswordUpdateTime",format("- Réinitialiser dans le {0} jour {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-step login activation successful</b>. You will now need a valid token to login again.":"<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.");break;case"otpauth-clear":if(xxdialogMode)return;setDialogMode(2,"Authenticator App",1,null,t.success?"<b style=color:green>2-step login activation removed</b>. You can reactivate this feature at any time.":"<b style=color:red>2-step login activation removal failed</b>. Try again.");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)+" "+r.substring(4):a+="<td><strike style=color:#BBB>"+r.substring(0,4)+" "+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='Nouveaux Jetons' 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&¤tMesh==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&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2))}}updateMeshes(),updateDevices(),meshserver.send({action:"files"}),20==xxcurrentView&¤tMesh._id==t.event.meshid&&p20updateMesh();break;case"deletemesh":meshes[t.event.meshid]&&(delete meshes[t.event.meshid],updateMeshes(),meshserver.send({action:"files"}));u=[];for(var l in nodes)nodes[l].meshid!=t.event.meshid&&u.push(nodes[l]);nodes=u,updateDevices(),20<=xxcurrentView&&xxcurrentView<30&¤tMesh._id==t.event.meshid&&(setDialogMode(0),go(2)),10<=xxcurrentView&&xxcurrentView<20&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2));break;case"addnode":var m=t.event.node;if(!meshes[m.meshid])break;if(null!=getNodeFromId(m._id))break;m.namel=m.name.toLowerCase(),m.rname?m.rnamel=m.rname.toLowerCase():m.rnamel=m.namel,m.meshnamel=meshes[m.meshid].name.toLowerCase(),m.state=0,m.icon||(m.icon=1),m.ident=++nodeShortIdent,nodes.push(m),updateDevices();break;case"removenode":var 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>Loading...</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,"Email Address Change",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>Mot de passe:</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>",e+="</tr><tr><td align=right>Mot de passe:</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="Annuler" 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,"Delete Account",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("Old password:")+"</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("Nouveau mot de passe:")+"</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("Nouveau mot de passe:")+"</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("Exigences: {0}.",t.join(", "))+"</span>")}return setDialogMode(2,"Change Password",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("Nom","<input id=dp3meshname style=width:170px maxlength=64 onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate() />");e+=addHtmlValue("Type","<div style=width:170px;margin:0;padding:0><select id=dp3meshtype style=width:100% onchange=account_validateMeshCreate() ><option value=2>Groupe d'agents logiciels</option><option value=1>Intel® AMT only</option></select></div>"),setDialogMode(2,"Create Device Group",3,account_createMeshEx,e+=addHtmlValue("Description","<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,"Account Security",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,"Account Security",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,"Nouveau Group",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>●<span>":"<span style=color:red>●<span>"}else{0==checkPasswordRequirements(Q("apassword1").value,passRequirements)&&(t=!1,e="<span style=color:red>Politique<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="Full Administrator":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,g=h[c],v=g.n;f=40<(f=v).length?EscapeHtml(v.substring(0,40))+"...":EscapeHtml(v),v=EscapeHtml(v);var k="";null!=g.s&&(k=getFileSizeStr(g.s));var y="";if(g.t<3||4==g.t){y="<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+v+"'> <span style=float:right;padding-right:4px>"+(1==g.t||4==g.t?p5getQuotabar(g):"")+"</span><span><div class=fileIcon"+g.t+'></div><a style=cursor:pointer onclick=p5folderset("'+encodeURIComponent(g.nx)+'")>'+f+"</a></span></div>"}else{var x=f,b="";m&&(b=" (<a style=cursor:pointer onclick='p5showPublicLink(\""+e+"/"+g.nx+"\")'>Link</a>)"),0<g.s&&(x='<a rel="noreferrer noopener" target="_blank" href="downloadfile.ashx?link='+encodeURIComponent(filetreelinkpath+"/"+g.nx)+'">'+f+"</a>"+b),y="<div class=filelist file=3><input file=3 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+g.nx+"'> <span style=float:right;padding-right:4px>"+k+"</span><span><div class=fileIcon"+g.t+"></div>"+x+"</span></div>"}g.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?"Storage exceed":e<2048?format("{0}b left",e):e<2097152?format("{0}k left",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,"Public Link",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?"None":"Tout",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 octet":format("{0} octets",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,"Nouveau Dossier",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,"Delete",3,p5deletefileEx,1<e?format("Delete {0} selected items?",e)+t:"Delete selected item?"+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,"Renommer",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,"Upload File",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,"Paste",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® AMT only</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>None</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>None</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® AMT devices in this group"),2==u.mtype&&(e+="<div style=padding:10px><i>Aucun appareil dans ce groupe"),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">Aucun appareil</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=["","Alimenté","Dormir","Dormir","Dormir","Hibernating","Éteindre","Présent"],powerStateStrings=["","Alimenté","Sleeping","Sleeping","Deep Sleep","Hibernating","Soft-Off","Présent"],powerStateStrings2=["","Device is powered","Device is in sleep state (S1)","Device is in sleep state (S2)","Device is in deep sleep state (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® 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]:"Inconnue"}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œud":"noeuds");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&¤tNode._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>None</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>Groupe</span>",'<a onclick=goForward("'+n.meshid+'") style=cursor:pointer>'+EscapeHtml(meshes[n.meshid].name)+"</a>"),null!=n.rname&&(l+=addDeviceAttribute("<span>Nom</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>None</i></span>"):l+=addDeviceAttribute("Hostname",EscapeHtml(n.host)));var r=n.desc?EscapeHtml(n.desc):"<i>None</i>";l+=addDeviceAttribute("Description",0!=(4&a)?"<span onclick=showEditNodeValueDialog(2) style=cursor:pointer>"+r+"</span>":r);var d=["Inconnue","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","Inconnue","Inconnue","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("Activé")};null!=n.intelamt.ver&&null==n.intelamt.state?p+="<i>"+nobreak("Etat inconnu")+"</i>, v"+n.intelamt.ver:null==n.intelamt.ver&&2==n.intelamt.state?p+="<i>Activé</i>":null==n.intelamt.ver||null==n.intelamt.state?p+="<i>Version et état inconnus</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("No Credentials")+"</i>":", <i style=color:#FF0000>No Credentials</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® ME";"number"==typeof n.intelamt.sku&&(0!=(8&n.intelamt.sku)?u="Intel® AMT":0!=(16&n.intelamt.sku)&&(u="Intel® 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® AMT CIRA</span>"):0!=(4&n.conn)&&f.push("<span>Intel® 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 g="<i>None</i>";if(null!=n.tags)for(var v in g="",n.tags)g+='<span style="background-color:lightgray;padding:3px;margin-right:4px;border-radius:5px">'+n.tags[v]+"</span>";l+=addDeviceAttribute("Tags",0!=(4&a)?"<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>"+g+"</span>":g),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+'")>Delete Device</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® AMT connected</span>"):0!=(4&h)&&(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Intel® 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,"Account Security",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,"Account Security",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¤tNode.intelamt.sku))||currentNode.agent&&1¤tNode.agent.caps)&&n.push({n:"Desktop",f:"setupDeviceMenu(1)"}),2!=currentDevicePanel&&null!=currentNode&&8&o&&(4294967295==o||0==(1024&o))&&2==currentNode.mtype&&4¤tNode.agent.caps&&n.push({n:"Files",f:"setupDeviceMenu(2)"}),updateFooterMenu(n)}function deviceActionFunction(){if(!xxdialogMode){var e=meshes[currentNode.meshid].links[userinfo._id].rights,t="Select an operation to perform on this device.<br /><br />",o="<select id=d2deviceop style=float:right;width:170px>";0!=(64&e)&&(o+="<option value=100>Wake-up</option>"),0!=(8&e)&&(o+="<option value=4>Dormir</option><option value=3>Réinitialiser</option><option value=2>Éteindre</option>"),setDialogMode(2,"Device Action",3,deviceActionFunctionEx,t+=addHtmlValue("Opération",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&¤tNode._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 g=n[f];if(1==isTimeBlockInside(m,h,g[0],g[1])){var v=Math.max(m,g[0]),k=Math.min(Math.min(h,g[1]),t),y=Math.round((k-v)*c/864e5);0<y&&(u+="<div style=display:table-cell;width:"+y+"px;background-color:"+powerColor(g[2])+";height:16px></div>")}}r+="<tr style="+(d%2==0?"background-color:#DDD":"")+"><td><div> "+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("Nom d'utilisateur",'<input id=dp10username style=width:170px maxlength=32 autocomplete=nope placeholder="admin" onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />'),o+=addHtmlValue("Mot de passe","<input id=dp10password type=password style=width:170px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />"),o+=addHtmlValue("Sécurité","<select id=dp10tls style=width:176px><option value=0>No TLS security</option><option value=1>Sécurité TLS requise</option></select>"),null!=n.intelamt.user&&""!=n.intelamt.user&&(i=7),setDialogMode(2,"Edit Intel® 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,"Delete Node",3,p10showDeleteNodeDialogEx,format("Delete {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","Description","Tags"],showEditNodeValueDialog_modes2=["name","host","desc","tags"],showEditNodeValueDialog_modes3=["","","","Group1, Group2, Group3"];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¤tNode.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¤tNode.conn);QE("connectbutton1",n);var i=0!=(6¤tNode.conn);QE("connectbutton1h",i),QV("DeskToastButton",0!=(16384&o)&¤tNode.agent&¤tNode.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="All Displays"==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?"Connect":"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+"'> <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+"'> <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="Tout",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&¤tNode.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?"None":"Tout",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,"Nouveau Dossier",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,"Delete",3,p13deletefileEx,1<e?format("Delete {0} selected items?",e)+t:"Delete selected item?"+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,"Renommer",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,"Upload File",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","Only files less than 200k can be edited.");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,"Paste",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,"Download File",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,"Upload File",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(" #{0} Inconnue",currentMesh.mtype),t=currentMesh.links[userinfo._id].rights;1==currentMesh.mtype&&(e="Intel® AMT only, no agent"),2==currentMesh.mtype&&(e="Géré à l'aide d'un agent logiciel");var o="";o+=addHtmlValue("Nom",addLinkConditional(EscapeHtml(currentMesh.name),"p20editmesh(1)",0!=(1&t))),o+=addHtmlValue("Description",addLinkConditional(currentMesh.desc&&""!=currentMesh.desc?EscapeHtml(currentMesh.desc):"<i>None</i>","p20editmesh(2)",0!=(1&t))),o+=addHtmlValue("Type",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>Ajouter un utilisateur</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="Full Administrator":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> "+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>Delete Group</a></span></div>"),QH("p20info",o)}}function p20showDeleteMeshDialog(){if(xxdialogMode)return!1;var e=format("Ê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.",EscapeHtml(currentMesh.name))+"<br /><br />";return setDialogMode(2,"Delete Group",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("Nom","<input id=dp20meshname style=width:170px maxlength=32 onchange=p20editmeshValidate() onkeyup=p20editmeshValidate() />");setDialogMode(2,"Edit Device Group",3,p20editmeshEx,t+=addHtmlValue("Description","<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>Full Administrator</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>Edit Device Group</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>Manage Device Group Users</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>Manage Device Group Computers</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>Pas d'accès au fichier</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>No Intel® AMT</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshagentconsole>Mesh Agent Console</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>Edit Device Notes</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,"Ajouter un utilisateur au groupe",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("Full Administrator"):(0!=(1&n)&&t.push("Edit Device Group"),0!=(2&n)&&t.push("Manage Device Group Users"),0!=(4&n)&&t.push("Manage Device Group Computers"),0!=(8&n)&&t.push("Remote Control"),0!=(16&n)&&t.push("Agent Console"),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("No Terminal"),0!=(1024&n)&&t.push("Aucun fichier"),0!=(2048&n)&&t.push("No Intel® 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("Permissions",t.join(", ")),userinfo._id!=e&&(4294967295==o||0!=(2&o)&&4294967295!=n)&&(i+=4),setDialogMode(2,"Device Group User",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+"'>♦ "+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 octet":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(" ")}</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 disconnected</span>,<href onclick=reload() style=cursor:pointer><u>click to reconnect</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>Account Security</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>Manage authenticator app</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>Account Actions</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>Vérifier le courriel</a></span></div><div style=margin-top:5px><span id=changeEmailId style=display:none><a onclick=account_showChangeEmail() style=cursor:pointer>Change email address</a></span></div><div style=margin-top:5px><a onclick=account_showChangePassword() style=cursor:pointer>Change password</a><span id=p2nextPasswordUpdateTime></span></div><div style=margin-top:5px><a onclick=account_showDeleteAccount() style=cursor:pointer>Delete account</a></div></div><br style=clear:both></div><strong>Device Groups</strong> <span id=p3createMeshLink1>( <a onclick=account_createMesh() style=cursor:pointer><img src=images/icon-addnew.png width=12 height=12 border=0> Nouveau</a> )</span><br><br><div id=p3meshes></div><div id=p3noMeshFound style=margin-left:9px;display:none>Aucun groupe d'appareils.<span id=p3createMeshLink2> <a onclick=account_createMesh() style=cursor:pointer><strong>Commencez ici!</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>Mes Dossiers</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=Up> <input type=button style="width:calc(100%/5 - 5px)"id=p5SelectAllButton disabled onclick=p5selectallfile() value=ToutSélectionner onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5RenameFileButton disabled value=Renommer onclick=p5renamefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5DeleteFileButton disabled value=Delete onclick=p5deletefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5NewFolderButton disabled value=Dossier 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=Télécharger onclick=p5uploadFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5CutButton disabled value=Cut onclick=p5copyFile(1) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5CopyButton disabled value=Copy onclick=p5copyFile(0) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5PasteButton disabled value=Coller onclick=p5pasteFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p5RefreshButton value=Rafraîchir 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>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></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> <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> <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=Connect onclick=connectDesktop(event,1) onkeypress=return!1 onkeydown=return!1 disabled> <input type=button id=connectbutton1h value="Connexion AMT"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>Débranché</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()>Rafraîchir</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">Processus</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)>Nom</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> <span id=DeskToastButton><img src=images/icon-notify.png onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px></span> </div><div><input id=deskActionsBtn type=button style=margin-left:3px onkeypress=return!1 onkeydown=return!1 value=Actions onclick=deviceActionFunction()> <input type=button value=Paramètres onkeypress=return!1 onkeydown=return!1 onclick=showDesktopSettings()> <input type=button onkeypress=return!1 onkeydown=return!1 value="Power Actions..."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=Clavier 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>Input</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=Actions 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=Connect onclick=connectFiles(event) onkeypress=return!1 onkeydown=return!1 type=button> <span id=p13Status>Débranché</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=Up> <input type=button style="width:calc(100%/5 - 5px)"id=p13SelectAllButton disabled onclick=p13selectallfile() value=ToutSélectionner onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13RenameFileButton disabled value=Renommer onclick=p13renamefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13DeleteFileButton disabled value=Delete onclick=p13deletefile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13NewFolderButton disabled value=Dossier 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=Télécharger onclick=p13uploadFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13CutButton disabled value=Cut onclick=p13copyFile(1) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13CopyButton disabled value=Copy onclick=p13copyFile(0) onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13PasteButton disabled value=Coller onclick=p13pasteFile() onkeypress=return!1 onkeydown=return!1> <input type=button style="width:calc(100%/5 - 5px)"id=p13RefreshButton disabled value=Rafraîchir 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>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></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> <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>Qualité</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>Mise à l'échelle</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>Vite<option value=100>Moyen<option value=400>Lent<option value=1000>Très lent</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, le plus rapide<option value=2>RLE16, recommandé<option value=3>RAW8, lent<option value=4>RAW16, très lent</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>Autre</div></div></div></div></div><div id=idx_dlgButtonBar style=padding:10px;margin-bottom:20px><input id=idx_dlgCancelButton type=button value=Annuler 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)>Mes Dossiers</div><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer"onclick=topMenu(1)>Mon Compte</div><div id=logoutMenuOption><a href=/logout><div style="padding:12px;border-top:1px solid gray;color:#000;cursor:pointer">Déconnexion</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=["Débranché","Connecting...","Traitement...","Connected","Intel® 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","- Réinitialiser à la prochaine connexion.");else if(null!=passRequirements&&"number"==typeof passRequirements.reset){var e=userinfo.passchange+86400*passRequirements.reset-Math.floor(Date.now()/1e3);e<0?QH("p2nextPasswordUpdateTime","- Réinitialiser à la prochaine connexion."):e<3600?QH("p2nextPasswordUpdateTime",format("- Réinitialisation en {0} minute {1}.",Math.floor(e/60),addLetterS(Math.floor(e/60)))):e<86400?QH("p2nextPasswordUpdateTime",format("- Réinitialisation dans {0} heure {1}.",Math.floor(e/3600),addLetterS(Math.floor(e/3600)))):QH("p2nextPasswordUpdateTime",format("- Réinitialiser dans le {0} jour {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-step login activation successful</b>. You will now need a valid token to login again.":"<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.");break;case"otpauth-clear":if(xxdialogMode)return;setDialogMode(2,"Authenticator App",1,null,t.success?"<b style=color:green>2-step login activation removed</b>. You can reactivate this feature at any time.":"<b style=color:red>2-step login activation removal failed</b>. Try again.");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)+" "+r.substring(4):a+="<td><strike style=color:#BBB>"+r.substring(0,4)+" "+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='Nouveaux Jetons' 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&¤tMesh==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&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2))}}updateMeshes(),updateDevices(),meshserver.send({action:"files"}),20==xxcurrentView&¤tMesh._id==t.event.meshid&&p20updateMesh();break;case"deletemesh":meshes[t.event.meshid]&&(delete meshes[t.event.meshid],updateMeshes(),meshserver.send({action:"files"}));u=[];for(var l in nodes)nodes[l].meshid!=t.event.meshid&&u.push(nodes[l]);nodes=u,updateDevices(),20<=xxcurrentView&&xxcurrentView<30&¤tMesh._id==t.event.meshid&&(setDialogMode(0),go(2)),10<=xxcurrentView&&xxcurrentView<20&¤tNode&¤tNode.meshid==t.event.meshid&&(setDialogMode(0),go(2));break;case"addnode":var m=t.event.node;if(!meshes[m.meshid])break;if(null!=getNodeFromId(m._id))break;m.namel=m.name.toLowerCase(),m.rname?m.rnamel=m.rname.toLowerCase():m.rnamel=m.namel,m.meshnamel=meshes[m.meshid].name.toLowerCase(),m.state=0,m.icon||(m.icon=1),m.ident=++nodeShortIdent,nodes.push(m),updateDevices();break;case"removenode":var 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>Chargement...</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,"Email Address Change",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>Mot de passe:</td><td><input id=apassword1 type=password name=apassword1 autocomplete=off onchange=account_validateDeleteAccount() onkeyup=account_validateDeleteAccount() /></td>",e+="</tr><tr><td align=right>Mot de passe:</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="Annuler" 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,"Delete Account",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("Ancien mot de passe:")+"</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("Nouveau mot de passe:")+"</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("Nouveau mot de passe:")+"</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("Exigences: {0}.",t.join(", "))+"</span>")}return setDialogMode(2,"Change Password",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("Nom","<input id=dp3meshname style=width:170px maxlength=64 onchange=account_validateMeshCreate() onkeyup=account_validateMeshCreate() />");e+=addHtmlValue("Type","<div style=width:170px;margin:0;padding:0><select id=dp3meshtype style=width:100% onchange=account_validateMeshCreate() ><option value=2>Groupe d'agents logiciels</option><option value=1>Intel® AMT only</option></select></div>"),setDialogMode(2,"Create Device Group",3,account_createMeshEx,e+=addHtmlValue("Description","<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,"Account Security",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,"Account Security",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,"Nouveau Group",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>●<span>":"<span style=color:red>●<span>"}else{0==checkPasswordRequirements(Q("apassword1").value,passRequirements)&&(t=!1,e="<span style=color:red>Politique<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="Administrateur Complet":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)>Racine</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,g=h[c],v=g.n;f=40<(f=v).length?EscapeHtml(v.substring(0,40))+"...":EscapeHtml(v),v=EscapeHtml(v);var k="";null!=g.s&&(k=getFileSizeStr(g.s));var y="";if(g.t<3||4==g.t){y="<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+v+"'> <span style=float:right;padding-right:4px>"+(1==g.t||4==g.t?p5getQuotabar(g):"")+"</span><span><div class=fileIcon"+g.t+'></div><a style=cursor:pointer onclick=p5folderset("'+encodeURIComponent(g.nx)+'")>'+f+"</a></span></div>"}else{var x=f,b="";m&&(b=" (<a style=cursor:pointer onclick='p5showPublicLink(\""+e+"/"+g.nx+"\")'>Lien</a>)"),0<g.s&&(x='<a rel="noreferrer noopener" target="_blank" href="downloadfile.ashx?link='+encodeURIComponent(filetreelinkpath+"/"+g.nx)+'">'+f+"</a>"+b),y="<div class=filelist file=3><input file=3 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value='"+g.nx+"'> <span style=float:right;padding-right:4px>"+k+"</span><span><div class=fileIcon"+g.t+"></div>"+x+"</span></div>"}g.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?"Stockage dépassent":e<2048?format("{0}b left",e):e<2097152?format("{0}k left",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,"Lien public",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?"Aucun":"Tout",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 octet":format("{0} octets",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,"Nouveau Dossier",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>Suppression récursive</label><br>":"<input type=checkbox id=p5recdeleteinput style='display:none'>";setDialogMode(2,"Delete",3,p5deletefileEx,1<e?format("Delete {0} selected items?",e)+t:"Delete selected item?"+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,"Renommer",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,"Upload File",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,"Coller",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® AMT only</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>Aucun</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>Aucun</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® AMT devices in this group"),2==u.mtype&&(e+="<div style=padding:10px><i>Aucun appareil dans ce groupe"),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">Aucun appareil</span><br /><br />Utilisez la version complète de ce site pour ajouter des appareils.</div>'):QH("xdevices",e),deviceHeaderSet(),deviceHeaders)QH(a,deviceHeaders[a]);for(var a in deviceHeadersTitles)Q(a).title=deviceHeadersTitles[a]}var powerStatetable=["","Alimenté","Endormir","Endormir","Endormir","Hibernation","Éteindre","Présent"],powerStateStrings=["","Alimenté","Dormir","Dormir","Deep Sleep","Hibernation","Soft-Off","Présent"],powerStateStrings2=["","Device is powered","Device is in sleep state (S1)","Device is in sleep state (S2)","Device is in deep sleep state (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® 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]:"Inconnue"}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œud":"noeuds");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&¤tNode._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>Aucun</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>Groupe</span>",'<a onclick=goForward("'+n.meshid+'") style=cursor:pointer>'+EscapeHtml(meshes[n.meshid].name)+"</a>"),null!=n.rname&&(l+=addDeviceAttribute("<span>Nom</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>Aucun</i></span>"):l+=addDeviceAttribute("Hostname",EscapeHtml(n.host)));var r=n.desc?EscapeHtml(n.desc):"<i>Aucun</i>";l+=addDeviceAttribute("Description",0!=(4&a)?"<span onclick=showEditNodeValueDialog(2) style=cursor:pointer>"+r+"</span>":r);var d=["Inconnue","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","Inconnue","Inconnue","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("Activé")};null!=n.intelamt.ver&&null==n.intelamt.state?p+="<i>"+nobreak("Etat inconnu")+"</i>, v"+n.intelamt.ver:null==n.intelamt.ver&&2==n.intelamt.state?p+="<i>Activé</i>":null==n.intelamt.ver||null==n.intelamt.state?p+="<i>Version et état inconnus</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("No Credentials")+"</i>":", <i style=color:#FF0000>No Credentials</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® ME";"number"==typeof n.intelamt.sku&&(0!=(8&n.intelamt.sku)?u="Intel® AMT":0!=(16&n.intelamt.sku)&&(u="Intel® 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® AMT CIRA</span>"):0!=(4&n.conn)&&f.push("<span>Intel® 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 g="<i>Aucun</i>";if(null!=n.tags)for(var v in g="",n.tags)g+='<span style="background-color:lightgray;padding:3px;margin-right:4px;border-radius:5px">'+n.tags[v]+"</span>";l+=addDeviceAttribute("Tags",0!=(4&a)?"<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>"+g+"</span>":g),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+'")>Delete Device</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® AMT connected</span>"):0!=(4&h)&&(0<k.length&&(k+=", "),k+="<span style=font-size:10px>Intel® 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,"Account Security",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,"Account Security",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¤tNode.intelamt.sku))||currentNode.agent&&1¤tNode.agent.caps)&&n.push({n:"Desktop",f:"setupDeviceMenu(1)"}),2!=currentDevicePanel&&null!=currentNode&&8&o&&(4294967295==o||0==(1024&o))&&2==currentNode.mtype&&4¤tNode.agent.caps&&n.push({n:"Files",f:"setupDeviceMenu(2)"}),updateFooterMenu(n)}function deviceActionFunction(){if(!xxdialogMode){var e=meshes[currentNode.meshid].links[userinfo._id].rights,t="Select an operation to perform on this device.<br /><br />",o="<select id=d2deviceop style=float:right;width:170px>";0!=(64&e)&&(o+="<option value=100>Wake-up</option>"),0!=(8&e)&&(o+="<option value=4>Endormir</option><option value=3>Réinitialiser</option><option value=2>Éteindre</option>"),setDialogMode(2,"Device Action",3,deviceActionFunctionEx,t+=addHtmlValue("Opération",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&¤tNode._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 g=n[f];if(1==isTimeBlockInside(m,h,g[0],g[1])){var v=Math.max(m,g[0]),k=Math.min(Math.min(h,g[1]),t),y=Math.round((k-v)*c/864e5);0<y&&(u+="<div style=display:table-cell;width:"+y+"px;background-color:"+powerColor(g[2])+";height:16px></div>")}}r+="<tr style="+(d%2==0?"background-color:#DDD":"")+"><td><div> "+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("Nom d'utilisateur",'<input id=dp10username style=width:170px maxlength=32 autocomplete=nope placeholder="admin" onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />'),o+=addHtmlValue("Mot de passe","<input id=dp10password type=password style=width:170px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />"),o+=addHtmlValue("Sécurité","<select id=dp10tls style=width:176px><option value=0>Pas de sécurité TLS</option><option value=1>Sécurité TLS requise</option></select>"),null!=n.intelamt.user&&""!=n.intelamt.user&&(i=7),setDialogMode(2,"Edit Intel® 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,"Delete Node",3,p10showDeleteNodeDialogEx,format("Delete {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,"Sélection de l'icôn",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","Description","Tags"],showEditNodeValueDialog_modes2=["name","host","desc","tags"],showEditNodeValueDialog_modes3=["","","","Groupe1, Groupe2, Groupe3"];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¤tNode.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¤tNode.conn);QE("connectbutton1",n);var i=0!=(6¤tNode.conn);QE("connectbutton1h",i),QV("DeskToastButton",0!=(16384&o)&¤tNode.agent&¤tNode.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,"Paramètres du bureau à distance",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="All Displays"==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?"Connect":"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)>Racine</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+"'> <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+"'> <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="Tout",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&¤tNode.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?"Aucun":"Tout",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,"Nouveau Dossier",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>Suppression récursive</label><br>":"<input type=checkbox id=p13recdeleteinput style='display:none'>";setDialogMode(2,"Delete",3,p13deletefileEx,1<e?format("Delete {0} selected items?",e)+t:"Delete selected item?"+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,"Renommer",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,"Upload File",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("Éditeur de fichier","Only files less than 200k can be edited.");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,"Coller",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,"Download File",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,"Upload File",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(" #{0} Inconnue",currentMesh.mtype),t=currentMesh.links[userinfo._id].rights;1==currentMesh.mtype&&(e="Intel® AMT only, no agent"),2==currentMesh.mtype&&(e="Géré à l'aide d'un agent logiciel");var o="";o+=addHtmlValue("Nom",addLinkConditional(EscapeHtml(currentMesh.name),"p20editmesh(1)",0!=(1&t))),o+=addHtmlValue("Description",addLinkConditional(currentMesh.desc&&""!=currentMesh.desc?EscapeHtml(currentMesh.desc):"<i>Aucun</i>","p20editmesh(2)",0!=(1&t))),o+=addHtmlValue("Type",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>Ajouter un utilisateur</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="Administrateur Complet":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> "+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>Delete Group</a></span></div>"),QH("p20info",o)}}function p20showDeleteMeshDialog(){if(xxdialogMode)return!1;var e=format("Ê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.",EscapeHtml(currentMesh.name))+"<br /><br />";return setDialogMode(2,"Delete Group",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("Nom","<input id=dp20meshname style=width:170px maxlength=32 onchange=p20editmeshValidate() onkeyup=p20editmeshValidate() />");setDialogMode(2,"Edit Device Group",3,p20editmeshEx,t+=addHtmlValue("Description","<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>Administrateur Complet</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>Edit Device Group</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>Manage Device Group Users</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>Manage Device Group Computers</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>Télécommande</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>Pas d'accès au fichier</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noamt style=margin-left:12px>No Intel® AMT</label><br>",e+="<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20meshagentconsole>Mesh Agent Console</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>Edit Device Notes</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,"Ajouter un utilisateur au groupe",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("Administrateur Complet"):(0!=(1&n)&&t.push("Edit Device Group"),0!=(2&n)&&t.push("Manage Device Group Users"),0!=(4&n)&&t.push("Manage Device Group Computers"),0!=(8&n)&&t.push("Télécommande"),0!=(16&n)&&t.push("Agent Console"),0!=(32&n)&&t.push("Server Files"),0!=(64&n)&&t.push("Wake Devices"),0!=(128&n)&&t.push("Modifier les notes"),0!=(256&n)&&t.push("Remote View Only"),0!=(512&n)&&t.push("No Terminal"),0!=(1024&n)&&t.push("Aucun fichier"),0!=(2048&n)&&t.push("No Intel® 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("Utilisateur",EscapeHtml(decodeURIComponent(e.split("/")[2])));a+=addHtmlValue("Permissions",t.join(", ")),userinfo._id!=e&&(4294967295==o||0!=(2&o)&&4294967295!=n)&&(i+=4),setDialogMode(2,"Device Group User",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+"'>♦ "+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 octet":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(" ")}</script>
\ No newline at end of file
views/translations/default-mobile_cs.handlebars
+2
-2
@@ -1217,7 +1217,7 @@
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>' + "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>'; }
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>'; }
1221
x += '</table>'
1222
if (passRequirements) {
1223
var r = [], rc = 0;
@@ -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>' + "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)); }
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); }
views/translations/default-mobile_fr.handlebars
+55
-55
@@ -240,7 +240,7 @@
240
</div>
241
<p><strong>Account Actions</strong></p>
242
<div style="margin-left:9px;margin-bottom:8px">
243
- <div style="margin-top:5px"><span id="verifyEmailId" style="display:none"><a onclick="account_showVerifyEmail()" style="cursor:pointer">Verify email</a></span></div>
243
+ <div style="margin-top:5px"><span id="verifyEmailId" style="display:none"><a onclick="account_showVerifyEmail()" style="cursor:pointer">Vérifier le courriel</a></span></div>
244
<div style="margin-top:5px"><span id="changeEmailId" style="display:none"><a onclick="account_showChangeEmail()" style="cursor:pointer">Change email address</a></span></div>
245
<div style="margin-top:5px"><a onclick="account_showChangePassword()" style="cursor:pointer">Change password</a><span id="p2nextPasswordUpdateTime"></span></div>
246
<div style="margin-top:5px"><a onclick="account_showDeleteAccount()" style="cursor:pointer">Delete account</a></div>
@@ -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"> Nouveau</a> )</span>
252
<br><br>
253
<div id="p3meshes"></div>
254
- <div id="p3noMeshFound" style="margin-left:9px;display:none">Aucun groupe d'appareils.<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">Aucun groupe d'appareils.<span id="p3createMeshLink2"> <a onclick="account_createMesh()" style="cursor:pointer"><strong>Commencez ici!</strong></a></span></div>
255
<br style="clear:both">
256
</div>
257
</div>
@@ -284,13 +284,13 @@
284
<input type="button" style="width:calc(100%/5 - 5px)" id="p5SelectAllButton" disabled="disabled" onclick="p5selectallfile()" value="ToutSélectionner" onkeypress="return false" onkeydown="return false">
285
<input type="button" style="width:calc(100%/5 - 5px)" id="p5RenameFileButton" disabled="disabled" value="Renommer" onclick="p5renamefile()" onkeypress="return false" onkeydown="return false">
286
<input type="button" style="width:calc(100%/5 - 5px)" id="p5DeleteFileButton" disabled="disabled" value="Delete" onclick="p5deletefile()" onkeypress="return false" onkeydown="return false">
287
- <input type="button" style="width:calc(100%/5 - 5px)" id="p5NewFolderButton" disabled="disabled" value="Folder" onclick="p5createfolder()" onkeypress="return false" onkeydown="return false">
287
+ <input type="button" style="width:calc(100%/5 - 5px)" id="p5NewFolderButton" disabled="disabled" value="Dossier" onclick="p5createfolder()" onkeypress="return false" onkeydown="return false">
288
</div>
289
<div style="width:100%;text-align:center">
290
<input type="button" style="width:calc(100%/5 - 5px)" id="p5UploadButton" disabled="disabled" value="Télécharger" onclick="p5uploadFile()" onkeypress="return false" onkeydown="return false">
291
<input type="button" style="width:calc(100%/5 - 5px)" id="p5CutButton" disabled="disabled" value="Cut" onclick="p5copyFile(1)" onkeypress="return false" onkeydown="return false">
292
<input type="button" style="width:calc(100%/5 - 5px)" id="p5CopyButton" disabled="disabled" value="Copy" onclick="p5copyFile(0)" onkeypress="return false" onkeydown="return false">
293
- <input type="button" style="width:calc(100%/5 - 5px)" id="p5PasteButton" disabled="disabled" value="Paste" onclick="p5pasteFile()" onkeypress="return false" onkeydown="return false">
293
+ <input type="button" style="width:calc(100%/5 - 5px)" id="p5PasteButton" disabled="disabled" value="Coller" onclick="p5pasteFile()" onkeypress="return false" onkeydown="return false">
294
<input type="button" style="width:calc(100%/5 - 5px)" id="p5RefreshButton" value="Rafraîchir" onclick="p5refreshFiles()" onkeypress="return false" onkeydown="return false">
295
</div>
296
</td>
@@ -364,9 +364,9 @@
364
</div>
365
<div style="margin-left:3px">
366
<input type="button" id="connectbutton1" value="Connect" 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">
367
+ <input type="button" id="connectbutton1h" value="Connexion AMT" 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">
369
- <span id="deskstatus">Disconnected</span>
369
+ <span id="deskstatus">Débranché</span>
370
</div>
371
</div>
372
</div>
@@ -377,7 +377,7 @@
377
</div>
378
<div id="DeskTools" style="position:absolute;width:400px;height:100%;background-color:gray;top:0;right:0;border-left:2px solid lightgray;display:none">
379
<a id="DeskToolsRefreshButton" style="float:right;padding:3px;cursor:pointer" onclick="refreshDeskTools()">Rafraîchir</a>
380
- <div id="DeskToolsBar" style="position:absolute;padding:3px;border-radius: 3px 3px 0px 0px;top:5px;left:4px;bottom:26px;background-color:lightgray;cursor:pointer">Processes</div>
380
+ <div id="DeskToolsBar" style="position:absolute;padding:3px;border-radius: 3px 3px 0px 0px;top:5px;left:4px;bottom:26px;background-color:lightgray;cursor:pointer">Processus</div>
381
<div style="position:absolute;top:26px;left:4px;right:4px;bottom:4px;background-color:lightgray;text-align:left">
382
<div style="border-bottom:1px solid darkgray;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)">Nom</a></div>
383
<div id="DeskToolsProcesses" style="overflow-y:scroll;position:absolute;top:24px;bottom:0px;width:100%"></div>
@@ -394,7 +394,7 @@
394
</div>
395
<div>
396
<input id="deskActionsBtn" type="button" style="margin-left:3px" onkeypress="return false" onkeydown="return false" value="Actions" onclick="deviceActionFunction()">
397
- <input type="button" value="Settings" onkeypress="return false" onkeydown="return false" onclick="showDesktopSettings()">
397
+ <input type="button" value="Paramètres" onkeypress="return false" onkeydown="return false" onclick="showDesktopSettings()">
398
<input type="button" onkeypress="return false" onkeydown="return false" value="Power Actions..." onclick="showPowerActionDlg()" style="display:none">
399
<input id="DeskSpecialKeys" type="button" value="Special Keys" onkeypress="return false" onkeydown="return false" onclick="sendSpecialKeys()">
400
<input id="DeskSoftKeys" type="button" value="Clavier" onkeypress="return false" onkeydown="return false" onclick="toggleSoftKeys(1)">
@@ -413,7 +413,7 @@
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">
415
<input id="p13Connect" value="Connect" onclick="connectFiles(event)" onkeypress="return false" onkeydown="return false" type="button">
416
- <span id="p13Status">Disconnected</span>
416
+ <span id="p13Status">Débranché</span>
417
</div>
418
</td>
419
</tr>
@@ -424,13 +424,13 @@
424
<input type="button" style="width:calc(100%/5 - 5px)" id="p13SelectAllButton" disabled="disabled" onclick="p13selectallfile()" value="ToutSélectionner" onkeypress="return false" onkeydown="return false">
425
<input type="button" style="width:calc(100%/5 - 5px)" id="p13RenameFileButton" disabled="disabled" value="Renommer" onclick="p13renamefile()" onkeypress="return false" onkeydown="return false">
426
<input type="button" style="width:calc(100%/5 - 5px)" id="p13DeleteFileButton" disabled="disabled" value="Delete" onclick="p13deletefile()" onkeypress="return false" onkeydown="return false">
427
- <input type="button" style="width:calc(100%/5 - 5px)" id="p13NewFolderButton" disabled="disabled" value="Folder" onclick="p13createfolder()" onkeypress="return false" onkeydown="return false">
427
+ <input type="button" style="width:calc(100%/5 - 5px)" id="p13NewFolderButton" disabled="disabled" value="Dossier" onclick="p13createfolder()" onkeypress="return false" onkeydown="return false">
428
</div>
429
<div style="width:100%;text-align:center">
430
<input type="button" style="width:calc(100%/5 - 5px)" id="p13UploadButton" disabled="disabled" value="Télécharger" onclick="p13uploadFile()" onkeypress="return false" onkeydown="return false">
431
<input type="button" style="width:calc(100%/5 - 5px)" id="p13CutButton" disabled="disabled" value="Cut" onclick="p13copyFile(1)" onkeypress="return false" onkeydown="return false">
432
<input type="button" style="width:calc(100%/5 - 5px)" id="p13CopyButton" disabled="disabled" value="Copy" onclick="p13copyFile(0)" onkeypress="return false" onkeydown="return false">
433
- <input type="button" style="width:calc(100%/5 - 5px)" id="p13PasteButton" disabled="disabled" value="Paste" onclick="p13pasteFile()" onkeypress="return false" onkeydown="return false">
433
+ <input type="button" style="width:calc(100%/5 - 5px)" id="p13PasteButton" disabled="disabled" value="Coller" onclick="p13pasteFile()" onkeypress="return false" onkeydown="return false">
434
<input type="button" style="width:calc(100%/5 - 5px)" id="p13RefreshButton" disabled="disabled" value="Rafraîchir" onclick="p13folderup(9999)" onkeypress="return false" onkeydown="return false">
435
</div>
436
</td>
@@ -545,10 +545,10 @@
545
</div>
546
<div style="margin:3px 0 3px 0">
547
<select id="d7framelimiter" style="float:right;width:200px;height:20px" dir="rtl">
548
- <option selected="selected" value="50">Fast</option>
549
- <option value="100">Medium</option>
548
+ <option selected="selected" value="50">Vite</option>
549
+ <option value="100">Moyen</option>
550
<option value="400">Lent</option>
551
- <option value="1000">Very slow</option>
551
+ <option value="1000">Très lent</option>
552
</select>
553
<div style="height:20px">Rate</div>
554
</div>
@@ -559,8 +559,8 @@
559
<select id="d7desktopmode" style="float:right;width:200px">
560
<option value="1">RLE8, le plus rapide</option>
561
<option value="2">RLE16, recommandé</option>
562
- <option value="3">RAW8, Slow</option>
563
- <option value="4">RAW16, Very Slow</option>
562
+ <option value="3">RAW8, lent</option>
563
+ <option value="4">RAW16, très lent</option>
564
</select>
565
<div>Encoding</div>
566
</div>
@@ -582,7 +582,7 @@
582
<div id="topMenu" style="z-index:1000;background-color:#EEE;box-shadow:0px 0px 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:0px 0px 5px 5px;position:fixed;top:50px;right:5px;width:170px;display:none">
583
<div style="padding:12px;border-top:1px solid gray;color:black;cursor:pointer" onclick="topMenu(2)">Mes Dossiers</div>
584
<div style="padding:12px;border-top:1px solid gray;color:black;cursor:pointer" onclick="topMenu(1)">Mon Compte</div>
585
- <div id="logoutMenuOption"><a href="/logout"><div style="padding:12px;border-top:1px solid gray;color:black;cursor:pointer">Logout</div></a></div>
585
+ <div id="logoutMenuOption"><a href="/logout"><div style="padding:12px;border-top:1px solid gray;color:black;cursor:pointer">Déconnexion</div></a></div>
586
</div>
587
<iframe name="fileUploadFrame" style="display:none"></iframe>
588
<script>
@@ -616,7 +616,7 @@
616
var serverPublicNamePort = '{{{serverDnsName}}}:{{{serverPublicPort}}}';
617
var debugmode = false;
618
var attemptWebRTC = ((features & 128) != 0);
619
- var StatusStrs = ["Disconnected", "Connecting...", "Setup...", "Connected", "Intel® AMT Connected"];
619
+ var StatusStrs = ["Débranché", "Connecting...", "Traitement...", "Connected", "Intel® AMT Connected"];
620
var files;
621
var passRequirements = '{{{passRequirements}}}';
622
if (passRequirements != '') { passRequirements = JSON.parse(decodeURIComponent(passRequirements)); }
@@ -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>' + "Loading..." + '</div>', 'otpauth-request');
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>' + "Chargement..." + '</div>', 'otpauth-request');
1151
meshserver.send({ action: 'otpauth-request' });
1152
}
1153
@@ -1214,7 +1214,7 @@
1214
function account_showChangePassword() {
1215
if (xxdialogMode) return false;
1216
var x = '<table style=margin-left:10px>';
1217
- x += '<tr><td align=right>' + nobreak("Old password:") + '</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>';
1217
+ x += '<tr><td align=right>' + nobreak("Ancien mot de passe:") + '</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("Nouveau mot de passe:") + '</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("Nouveau mot de passe:") + '</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>'; }
@@ -1327,7 +1327,7 @@
1327
// Mesh rights
1328
var meshrights = meshes[i].links[userinfo._id].rights;
1329
var rights = "Partial Rights";
1330
- if (meshrights == 0xFFFFFFFF) rights = "Full Administrator"; else if (meshrights == 0) rights = "No Rights";
1330
+ if (meshrights == 0xFFFFFFFF) rights = "Administrateur Complet"; else if (meshrights == 0) rights = "No Rights";
1331
1332
// Print the mesh information
1333
r += '<div style=cursor:pointer onclick=goForward(\'' + i + '\')>';
@@ -1360,7 +1360,7 @@
1360
function updateFiles() {
1361
QV('MainMenuMyFiles', ((features & 8) == 0));
1362
if ((features & 8) != 0) return; // If running on a server without files, exit now.
1363
- var html1 = '', html2 = '', displayPath = '<a style=cursor:pointer onclick=p5folderup(0)>' + "Root" + '</a>', fullPath = 'Root', publicPath, filetreex = filetree, folderdepth = 1;
1363
+ var html1 = '', html2 = '', displayPath = '<a style=cursor:pointer onclick=p5folderup(0)>' + "Racine" + '</a>', fullPath = 'Root', publicPath, filetreex = filetree, folderdepth = 1;
1364
1365
// Navigate to path location, build the paths at the same time
1366
var filetreelocation2 = [], oldlinkpath = filetreelinkpath, checkedBoxes = [], checkboxes = document.getElementsByName('fc');
@@ -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 + '\")\'>' + "Lien" + '</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 + '\'> <span style=float:right;padding-right:4px>' + fsize + '</span><span><div class=fileIcon' + f.t + '></div>' + link + '</span></div>';
1421
}
@@ -1443,7 +1443,7 @@
1443
}
1444
1445
function getNiceSize(bytes) {
1446
- if (bytes <= 0) return "Storage exceed";
1446
+ if (bytes <= 0) return "Stockage dépassent";
1447
if (bytes < 2048) return format("{0}b left", bytes);
1448
if (bytes < 2097152) return format("{0}k left", Math.round(bytes / 1024));
1449
if (bytes < 2147483648) return format("{0}m left", Math.round(bytes / 1024 / 1024));
@@ -1456,7 +1456,7 @@
1456
return getNiceSize(f.maxbytes - f.s) + ' <progress style=height:10px;width:100px value=' + f.s + ' max=' + f.maxbytes + ' />';
1457
}
1458
1459
- function p5showPublicLink(u) { setDialogMode(2, "Public Link", 1, null, '<input type=text style=width:100% value="' + u + '" readonly />'); }
1459
+ function p5showPublicLink(u) { setDialogMode(2, "Lien public", 1, null, '<input type=text style=width:100% value="' + u + '" readonly />'); }
1460
1461
var sortorder;
1462
function p5sort_filename(a, b) { if (a.ln > b.ln) return (1 * sortorder); if (a.ln < b.ln) return (-1 * sortorder); return 0; }
@@ -1481,7 +1481,7 @@
1481
QE('p5UploadButton', filetreelocation.length > 0);
1482
QE('p5RenameFileButton', (cc == 1) && (filetreelocation.length > 0));
1483
QE('p5SelectAllButton', tc > 0);
1484
- Q('p5SelectAllButton').value = (cc > 0 ? "None" : "Tout");
1484
+ Q('p5SelectAllButton').value = (cc > 0 ? "Aucun" : "Tout");
1485
QE('p5CutButton', (sfc > 0) && (cc == sfc));
1486
QE('p5CopyButton', (sfc > 0) && (cc == sfc));
1487
QE('p5PasteButton', (p5clipboard != null) && (p5clipboard.length > 0) && (filetreelocation.length > 0));
@@ -1497,7 +1497,7 @@
1497
function p5folderset(x) { filetreelocation.push(decodeURIComponent(x)); updateFiles(); return false; }
1498
function p5createfolder() { setDialogMode(2, "Nouveau Dossier", 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, "Delete", 3, p5deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
1500
+ function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Suppression récursive" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Delete", 3, p5deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + 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, "Renommer", 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,7 +1509,7 @@
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, "Paste", 3, p5pasteFileEx, x); }
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, "Coller", 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(); }
1515
function p5clearClip() { p5clipboard = null; p5clipboardFolder = null; p5clipboardCut = 0; p5updateClipview(); return false; }
@@ -1688,11 +1688,11 @@
1688
1689
count++;
1690
var title = EscapeHtml(nodes[i].name);
1691
- if (title.length == 0) { title = '<i>' + "None" + '</i>'; }
1691
+ if (title.length == 0) { title = '<i>' + "Aucun" + '</i>'; }
1692
if ((nodes[i].rname != null) && (nodes[i].rname.length > 0)) { title += " / " + EscapeHtml(nodes[i].rname); }
1693
var name = EscapeHtml(nodes[i].name);
1694
if (showRealNames == true && nodes[i].rname != null) name = EscapeHtml(nodes[i].rname);
1695
- if (name.length == 0) { name = '<i>' + "None" + '</i>'; }
1695
+ if (name.length == 0) { name = '<i>' + "Aucun" + '</i>'; }
1696
1697
// Node
1698
var icon = nodes[i].icon, nodestate = NodeStateStr(nodes[i]);
@@ -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">' + "Aucun appareil" + '</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">' + "Aucun appareil" + '</span><br /><br />' + "Utilisez la version complète de ce site pour ajouter des appareils." + '</div>');
1747
} else {
1748
QH('xdevices', r);
1749
}
@@ -1752,8 +1752,8 @@
1752
for (var i in deviceHeadersTitles) { Q(i).title = deviceHeadersTitles[i]; }
1753
}
1754
1755
- var powerStatetable = ['', "Alimenté", "Dormir", "Dormir", "Dormir", "Hibernating", "Éteindre", "Présent"];
1756
- var powerStateStrings = ['', "Alimenté", "Sleeping", "Sleeping", "Deep Sleep", "Hibernating", "Soft-Off", "Présent"];
1755
+ var powerStatetable = ['', "Alimenté", "Endormir", "Endormir", "Endormir", "Hibernation", "Éteindre", "Présent"];
1756
+ var powerStateStrings = ['', "Alimenté", "Dormir", "Dormir", "Deep Sleep", "Hibernation", "Soft-Off", "Présent"];
1757
var powerStateStrings2 = ['', "Device is powered", "Device is in sleep state (S1)", "Device is in sleep state (S2)", "Device is in deep sleep state (S3)", "Device is hibernating (S4)", "Device is in soft-off state (S5)", "Device is present, but power state cannot be determined"];
1758
var powerColorTable = ['#00000000', 'black', 'blue', 'blue', 'lightblue', 'blueviolet', 'darkgreen', 'lightseagreen', 'lightseagreen'];
1759
function NodeStateStr(node) {
@@ -1841,7 +1841,7 @@
1841
1842
// Add node name
1843
var nname = EscapeHtml(node.name);
1844
- if (nname.length == 0) { nname = '<i>' + "None" + '</i>'; }
1844
+ if (nname.length == 0) { nname = '<i>' + "Aucun" + '</i>'; }
1845
if ((meshrights & 4) != 0) { nname = '<span onclick=showEditNodeValueDialog(0) style=cursor:pointer>' + nname + '</span>'; }
1846
QH('p10deviceName', nname);
1847
@@ -1860,7 +1860,7 @@
1860
if (node.host) {
1861
x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer>' + EscapeHtml(node.host) + '</span>');
1862
} else {
1863
- x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer><i>' + "None" + '</i></span>');
1863
+ x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer><i>' + "Aucun" + '</i></span>');
1864
}
1865
} else {
1866
x += addDeviceAttribute("Hostname", EscapeHtml(node.host));
@@ -1868,7 +1868,7 @@
1868
}
1869
1870
// Attribute: Description
1871
- var description = node.desc ? EscapeHtml(node.desc) : '<i>' + "None" + '</i>';
1871
+ var description = node.desc ? EscapeHtml(node.desc) : '<i>' + "Aucun" + '</i>';
1872
if ((meshrights & 4) != 0) {
1873
x += addDeviceAttribute("Description", '<span onclick=showEditNodeValueDialog(2) style=cursor:pointer>' + description + '</span>');
1874
} else {
@@ -1944,7 +1944,7 @@
1944
}
1945
1946
// Node tags
1947
- var groupingTags = '<i>' + "None" + '</i>';
1947
+ var groupingTags = '<i>' + "Aucun" + '</i>';
1948
if (node.tags != null) { groupingTags = ''; for (var i in node.tags) { groupingTags += '<span style="background-color:lightgray;padding:3px;margin-right:4px;border-radius:5px">' + node.tags[i] + '</span>'; } }
1949
if ((meshrights & 4) != 0) {
1950
x += addDeviceAttribute("Tags", '<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>' + groupingTags + '</span>');
@@ -2029,7 +2029,7 @@
2029
var x = "Select an operation to perform on this device." + '<br /><br />';
2030
var y = '<select id=d2deviceop style=float:right;width:170px>';
2031
if ((meshrights & 64) != 0) { y += '<option value=100>' + "Wake-up" + '</option>'; } // Wake-up permission
2032
- if ((meshrights & 8) != 0) { y += '<option value=4>' + "Dormir" + '</option><option value=3>' + "Réinitialiser" + '</option><option value=2>' + "Éteindre" + '</option>'; } // Remote control permission
2032
+ if ((meshrights & 8) != 0) { y += '<option value=4>' + "Endormir" + '</option><option value=3>' + "Réinitialiser" + '</option><option value=2>' + "Éteindre" + '</option>'; } // Remote control permission
2033
y += '</select>';
2034
x += addHtmlValue("Opération", y);
2035
setDialogMode(2, "Device Action", 3, deviceActionFunctionEx, x);
@@ -2119,7 +2119,7 @@
2119
if ((meshrights & 4) == 0) return;
2120
x += addHtmlValue("Nom d'utilisateur", '<input id=dp10username style=width:170px maxlength=32 autocomplete=nope placeholder="admin" onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
2121
x += addHtmlValue("Mot de passe", '<input id=dp10password type=password style=width:170px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
2122
- x += addHtmlValue("Sécurité", '<select id=dp10tls style=width:176px><option value=0>' + "No TLS security" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
2122
+ x += addHtmlValue("Sécurité", '<select id=dp10tls style=width:176px><option value=0>' + "Pas de sécurité TLS" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
2123
if ((node.intelamt.user != null) && (node.intelamt.user != '')) { buttons = 7; }
2124
setDialogMode(2, "Edit Intel® AMT credentials", 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'; }
@@ -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, "Sélection de l'icôn", 0, null, x);
2179
QV('id_dialogclose', true);
2180
}
2181
@@ -2186,7 +2186,7 @@
2186
2187
var showEditNodeValueDialog_modes = ["Device Name", "Hostname", "Description", "Tags"];
2188
var showEditNodeValueDialog_modes2 = ['name', 'host', 'desc', 'tags'];
2189
- var showEditNodeValueDialog_modes3 = ['', '', '', "Group1, Group2, Group3"];
2189
+ var showEditNodeValueDialog_modes3 = ['', '', '', "Groupe1, Groupe2, Groupe3"];
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) />');
@@ -2352,7 +2352,7 @@
2352
if (xxdialogMode) return;
2353
applyDesktopSettings();
2354
updateDesktopButtons();
2355
- setDialogMode(7, "Remote Desktop Settings", 3, showDesktopSettingsChanged);
2355
+ setDialogMode(7, "Paramètres du bureau à distance", 3, showDesktopSettingsChanged);
2356
}
2357
2358
function showDesktopSettingsChanged() {
@@ -2712,7 +2712,7 @@
2712
}
2713
2714
function p13updateFiles(checkedNames) {
2715
- var html1 = '', html2 = '', displayPath = '<a style=cursor:pointer onclick=p13folderup(0)>' + "Root" + '</a>', fullPath = 'Root';
2715
+ var html1 = '', html2 = '', displayPath = '<a style=cursor:pointer onclick=p13folderup(0)>' + "Racine" + '</a>', fullPath = 'Root';
2716
2717
// Work on parsing the file path
2718
var x = p13filetree.path.split('\\');
@@ -2808,7 +2808,7 @@
2808
QE('p13UploadButton', ((p13filetreelocation.length > 0) || (winAgent == false)));
2809
QE('p13RenameFileButton', (cc == 1) && ((p13filetreelocation.length > 0) || (winAgent == false)));
2810
QE('p13SelectAllButton', tc > 0);
2811
- Q('p13SelectAllButton').value = (cc > 0 ? "None" : "Tout");
2811
+ Q('p13SelectAllButton').value = (cc > 0 ? "Aucun" : "Tout");
2812
QE('p13RefreshButton', true);
2813
QE('p13CutButton', (cc > 0) && (cc == sfc) && ((p13filetreelocation.length > 0) || (winAgent == false)));
2814
QE('p13CopyButton', (cc > 0) && (cc == sfc) && ((p13filetreelocation.length > 0) || (winAgent == false)));
@@ -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, "Nouveau Dossier", 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
2825
+ function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Suppression récursive" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + 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, "Renommer", 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", "Only files less than 200k can be edited."); }
2838
+ } else { messagebox("Éditeur de fichier", "Only files less than 200k can be edited."); }
2839
break;
2840
}
2841
}
@@ -2852,7 +2852,7 @@
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?"); }
2853
}
2854
}
2855
- setDialogMode(2, "Paste", 3, p13pasteFileEx, x);
2855
+ setDialogMode(2, "Coller", 3, p13pasteFileEx, x);
2856
}
2857
function p13pasteFileEx() { files.sendText({ action: (p13clipboardCut == 0 ? 'copy' : 'move'), reqid: 1, scpath: p13clipboardFolder, dspath: p13targetpath, names: p13clipboard }); p13folderup(999); if (p13clipboardCut == 1) { p13clipboard = null, p13clipboardFolder = null, p13clipboardCut = 0; p13updateClipview(); } }
2858
function p13updateClipview() {
@@ -3100,7 +3100,7 @@
3100
3101
var x = '';
3102
x += addHtmlValue("Nom", addLinkConditional(EscapeHtml(currentMesh.name), 'p20editmesh(1)', (meshrights & 1) != 0));
3103
- x += addHtmlValue("Description", addLinkConditional(((currentMesh.desc && currentMesh.desc != '') ? EscapeHtml(currentMesh.desc) : ('<i>' + "None" + '</i>')), 'p20editmesh(2)', (meshrights & 1) != 0));
3103
+ x += addHtmlValue("Description", addLinkConditional(((currentMesh.desc && currentMesh.desc != '') ? EscapeHtml(currentMesh.desc) : ('<i>' + "Aucun" + '</i>')), 'p20editmesh(2)', (meshrights & 1) != 0));
3104
x += addHtmlValue("Type", meshtype);
3105
//x += addHtmlValue('Identifier', currentMesh._id.split('/')[2]);
3106
@@ -3147,7 +3147,7 @@
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 = "Full Administrator"; else if (r == 0) rights = "No Rights";
3150
+ if (r == 0xFFFFFFFF) rights = "Administrateur Complet"; else if (r == 0) rights = "No Rights";
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> ' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div>';
@@ -3203,11 +3203,11 @@
3203
if (xxdialogMode) return;
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>' + "Full Administrator" + '</label><br>';
3206
+ x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>' + "Administrateur Complet" + '</label><br>';
3207
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Edit Device Group" + '</label><br>';
3208
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>' + "Manage Device Group Users" + '</label><br>';
3209
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>' + "Manage Device Group Computers" + '</label><br>';
3210
- x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Remote Control" + '</label><br>';
3210
+ x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Télécommande" + '</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>';
@@ -3277,15 +3277,15 @@
3277
if (xxdialogMode) return;
3278
userid = decodeURIComponent(userid);
3279
var r = [], cmeshrights = currentMesh.links[userinfo._id].rights, meshrights = currentMesh.links[userid].rights;
3280
- if (meshrights == 0xFFFFFFFF) r.push("Full Administrator"); else {
3280
+ if (meshrights == 0xFFFFFFFF) r.push("Administrateur Complet"); else {
3281
if ((meshrights & 1) != 0) r.push("Edit Device Group");
3282
if ((meshrights & 2) != 0) r.push("Manage Device Group Users");
3283
if ((meshrights & 4) != 0) r.push("Manage Device Group Computers");
3284
- if ((meshrights & 8) != 0) r.push("Remote Control");
3284
+ if ((meshrights & 8) != 0) r.push("Télécommande");
3285
if ((meshrights & 16) != 0) r.push("Agent Console");
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");
3288
+ if ((meshrights & 128) != 0) r.push("Modifier les notes");
3289
if ((meshrights & 256) != 0) r.push("Remote View Only");
3290
if ((meshrights & 512) != 0) r.push("No Terminal");
3291
if ((meshrights & 1024) != 0) r.push("Aucun fichier");
@@ -3296,7 +3296,7 @@
3296
if ((meshrights & 32768) != 0) r.push("Uninstall");
3297
}
3298
if (r.length == 0) { r.push("No Rights"); }
3299
- var buttons = 1, x = addHtmlValue("User", EscapeHtml(decodeURIComponent(userid.split('/')[2])));
3299
+ var buttons = 1, x = addHtmlValue("Utilisateur", EscapeHtml(decodeURIComponent(userid.split('/')[2])));
3300
x += addHtmlValue("Permissions", r.join(", "));
3301
if (((userinfo._id) != userid) && (cmeshrights == 0xFFFFFFFF || (((cmeshrights & 2) != 0) && (meshrights != 0xFFFFFFFF)))) buttons += 4;
3302
setDialogMode(2, "Device Group User", buttons, p20viewuserEx, x, userid);
views/translations/default_cs.handlebars
+16
-9
@@ -73,7 +73,7 @@
73
<div style="float:right">
74
<div id="notificationCount" onclick="clickNotificationIcon()" class="unselectable" style="display: none;" title="Click to view current notifications">0</div>
75
</div>
76
- <p id="logoutControl">{{{logoutControl}}}<span id="idleTimeoutNotify" style="color:yellow"></span></p>
76
+ <p id="logoutControl"><span id="logoutControlSpan" style="color:white"></span><span id="idleTimeoutNotify" style="color:yellow"></span></p>
77
</div>
78
<div id="page_leftbar">
79
<div style="height:16px"></div>
@@ -1061,6 +1061,7 @@
1061
var domainUrl = '{{{domainurl}}}';
1062
var authCookie = '{{{authCookie}}}';
1063
var authRelayCookie = '{{{authRelayCookie}}}';
1064
+ var logoutControls = {{{logoutControls}}};
1065
var authCookieRenewTimer = null;
1066
var multiDesktop = {};
1067
var multiDesktopFilter = null;
@@ -1097,6 +1098,12 @@
1098
if (top != self && (loc == null || top.active == false)) { top.location = self.location; return; }
1099
}
1100
1101
+ // Setup logout control
1102
+ var logoutControl = '';
1103
+ if (logoutControls.name != null) { logoutControl = format("Welcome {0}.", logoutControls.name); }
1104
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Odhlásit" + '</a>'); }
1105
+ QH('logoutControlSpan', logoutControl);
1106
+
1107
// Check if we are in debug mode
1108
args = parseUriArgs();
1109
if (!args.locale) { var x = getstore('loctag', 0); if ((x != null) && (x != '*')) { args.locale = x; } }
@@ -5417,13 +5424,13 @@
5424
function deskToggleFull(e) {
5425
fullscreen = !fullscreen;
5426
if (fullscreen) {
5420
- QC('body').add("fulldesk");
5427
+ QC('body').add('fulldesk');
5428
QS('deskarea3x')['height'] = '100%';
5429
QS('deskarea3x')['max-height'] = '100%';
5430
// If shift is pressed, enter browser full screen.
5431
if (e.shiftKey == true) { enterBrowserFullscreen(Q('deskarea0')); browserfullscreen = true; }
5432
} else {
5426
- QC('body').remove("fulldesk");
5433
+ QC('body').remove('fulldesk');
5434
QS('deskarea3x')['height'] = null;
5435
QS('deskarea3x')['max-height'] = null;
5436
if (browserfullscreen == true) { exitBrowserFullscreen(); browserfullscreen = false; }
@@ -6269,7 +6276,7 @@
6276
function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
6277
function p13createfolder() { setDialogMode(2, "Nový adresář", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
6278
function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
6272
- 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)); }
6279
+ 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)); }
6280
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); }
6281
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(); }
6282
function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -7081,7 +7088,7 @@
7088
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>';
7089
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>';
7090
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>';
7084
- 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>'; }
7091
+ 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>'; }
7092
x += '</table>'
7093
if (passRequirements) {
7094
var r = [], rc = 0;
@@ -8095,7 +8102,7 @@
8102
function p5fileDragLeave(e) {
8103
if (xxdialogMode) return;
8104
haltEvent(e);
8098
- if (e.target.id != "p5filetable") {
8105
+ if (e.target.id != 'p5filetable') {
8106
QV('bigfail', false);
8107
QV('bigok', false);
8108
//QV('p5fileCatchAllInput', false);
@@ -8406,9 +8413,9 @@
8413
var multiFactor = false, factors = [];
8414
if ((users[i].otpsecret > 0) || (users[i].otphkeys > 0)) {
8415
multiFactor = true;
8409
- if (users[i].otpsecret > 0) { factors.push("AuthApp"); }
8410
- if (users[i].otphkeys > 0) { factors.push("SecurityKey"); }
8411
- if (users[i].otpkeys > 0) { factors.push("BackupCodes"); }
8416
+ if (users[i].otpsecret > 0) { factors.push('AuthApp'); }
8417
+ if (users[i].otphkeys > 0) { factors.push('SecurityKey'); }
8418
+ if (users[i].otpkeys > 0) { factors.push('BackupCodes'); }
8419
}
8420
csv += '\"' + users[i]._id + '\",\"' + users[i].name + '\",\"' + (users[i].email ? users[i].email : '') + '\",\"' + (users[i].creation ? new Date(users[i].creation * 1000) : '') + '\",\"' + (users[i].login ? new Date(users[i].login * 1000) : '') + '\",\"' + (users[i].groups ? users[i].groups.join(',') : '') + '\",\"' + (multiFactor ? factors.join(',') : '') + '\"\r\n';
8421
}
views/translations/default_fr.handlebars
+221
-214
@@ -37,11 +37,11 @@
37
<div id="cxinfo" class="cmtext" onclick="cmaction(1,event)"><b>Information</b></div>
38
<div id="cxdesktop" class="cmtext" onclick="cmaction(3,event)">Desktop</div>
39
<div id="cxterminal" class="cmtext" onclick="cmaction(2,event)">Terminal</div>
40
- <div id="cxfiles" class="cmtext" onclick="cmaction(4,event)">Files</div>
41
- <div id="cxevents" class="cmtext" onclick="cmaction(5,event)">Events</div>
40
+ <div id="cxfiles" class="cmtext" onclick="cmaction(4,event)">Dossiers</div>
41
+ <div id="cxevents" class="cmtext" onclick="cmaction(5,event)">Événements</div>
42
<div id="cxconsole" class="cmtext" onclick="cmaction(6,event)">Console</div>
43
<hr id="cxmgroupsplit">
44
- <div id="cxmdesktop" class="cmtext" onclick="cmaction(7,event)" style="display:none">Multi-Desktop</div>
44
+ <div id="cxmdesktop" class="cmtext" onclick="cmaction(7,event)" style="display:none">Multi-bureau</div>
45
</div>
46
<div id="meshContextMenu" class="contextMenu noselect" style="display:none;min-width:0px">
47
<div id="cxselectall" class="cmtext" onclick="cmmeshaction(1,event)">Tout Sélectionner</div>
@@ -52,12 +52,12 @@
52
-->
53
</div>
54
<div id="termShellContextMenu" class="contextMenu noselect" style="display:none;min-width:0px">
55
- <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Normal Connect</b></div>
55
+ <div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Connexion normale</b></div>
56
<div id="cxtermps" class="cmtext" onclick="cmtermaction(6,event)">PowerShell Connect</div>
57
</div>
58
<div id="termShellContextMenuLinux" class="contextMenu noselect" style="display:none;min-width:0px">
59
<div id="cxtermnorm" class="cmtext" onclick="cmtermaction(1,event)"><b>Root Shell</b></div>
60
- <div id="cxtermps" class="cmtext" onclick="cmtermaction(8,event)">User Shell</div>
60
+ <div id="cxtermps" class="cmtext" onclick="cmtermaction(8,event)">Shell utilisateur</div>
61
</div>
62
<!--
63
<div id="pluginTabContextMenu" class="contextMenu noselect" style="display:none;min-width:0px">
@@ -73,7 +73,7 @@
73
<div style="float:right">
74
<div id="notificationCount" onclick="clickNotificationIcon()" class="unselectable" style="display: none;" title="Click to view current notifications">0</div>
75
</div>
76
- <p id="logoutControl">{{{logoutControl}}}<span id="idleTimeoutNotify" style="color:yellow"></span></p>
76
+ <p id="logoutControl"><span id="logoutControlSpan" style="color:white"></span><span id="idleTimeoutNotify" style="color:yellow"></span></p>
77
</div>
78
<div id="page_leftbar">
79
<div style="height:16px"></div>
@@ -104,7 +104,7 @@
104
<div id="uiMenu" style="display:none">
105
<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>
106
<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>
107
- <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>
107
+ <div tabindex="0" id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Interface à largeur fixe" onkeypress="if (event.key == 'Enter') userInterfaceSelectMenu(3)"><div class="uiSelector3"></div></div>
108
<div tabindex="0" id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Basculer mode nuit" onkeypress="if (event.key == 'Enter') toggleNightMode()"><div class="uiSelector4"></div></div>
109
</div>
110
</div>
@@ -122,11 +122,11 @@
122
<div id="MainSubMenuSpan" style="display:none">
123
<table id="MainSubMenu" cellpadding="0" cellspacing="0" class="style1">
124
<tbody><tr>
125
- <td tabindex="0" id="MainDev" class="topbar_td style3x" onclick="go(10,event)" onkeypress="if (event.key == 'Enter') go(10)">General</td>
125
+ <td tabindex="0" id="MainDev" class="topbar_td style3x" onclick="go(10,event)" onkeypress="if (event.key == 'Enter') go(10)">Général</td>
126
<td tabindex="0" id="MainDevDesktop" class="topbar_td style3x" onclick="go(11,event)" onkeypress="if (event.key == 'Enter') go(11)">Desktop</td>
127
<td tabindex="0" id="MainDevTerminal" class="topbar_td style3x" onclick="go(12,event)" onkeypress="if (event.key == 'Enter') go(12)">Terminal</td>
128
- <td tabindex="0" id="MainDevFiles" class="topbar_td style3x" onclick="go(13,event)" onkeypress="if (event.key == 'Enter') go(13)">Files</td>
129
- <td tabindex="0" id="MainDevEvents" class="topbar_td style3x" onclick="go(16,event)" onkeypress="if (event.key == 'Enter') go(16)">Events</td>
128
+ <td tabindex="0" id="MainDevFiles" class="topbar_td style3x" onclick="go(13,event)" onkeypress="if (event.key == 'Enter') go(13)">Dossiers</td>
129
+ <td tabindex="0" id="MainDevEvents" class="topbar_td style3x" onclick="go(16,event)" onkeypress="if (event.key == 'Enter') go(16)">Événements</td>
130
<td tabindex="0" id="MainDevInfo" class="topbar_td style3x" onclick="go(17,event)" onkeypress="if (event.key == 'Enter') go(17)">Details</td>
131
<td tabindex="0" id="MainDevAmt" class="topbar_td style3x" onclick="go(14,event)" onkeypress="if (event.key == 'Enter') go(14)">Intel® AMT</td>
132
<td tabindex="0" id="MainDevConsole" class="topbar_td style3x" onclick="go(15,event)" onkeypress="if (event.key == 'Enter') go(15)">Console</td>
@@ -138,7 +138,7 @@
138
<div id="MeshSubMenuSpan" style="display:none">
139
<table id="MeshSubMenu" cellpadding="0" cellspacing="0" class="style1">
140
<tbody><tr>
141
- <td tabindex="0" id="MeshGeneral" class="topbar_td style3x" onclick="go(20,event)" onkeypress="if (event.key == 'Enter') go(20)">General</td>
141
+ <td tabindex="0" id="MeshGeneral" class="topbar_td style3x" onclick="go(20,event)" onkeypress="if (event.key == 'Enter') go(20)">Général</td>
142
<td class="topbar_td_end style3"> </td>
143
</tr>
144
</tbody></table>
@@ -146,8 +146,8 @@
146
<div id="UserSubMenuSpan" style="display:none">
147
<table id="UserSubMenu" cellpadding="0" cellspacing="0" class="style1">
148
<tbody><tr>
149
- <td tabindex="0" id="UserGeneral" class="topbar_td style3x" onclick="go(30,event)" onkeypress="if (event.key == 'Enter') go(30)">General</td>
150
- <td tabindex="0" id="UserEvents" class="topbar_td style3x" onclick="go(31,event)" onkeypress="if (event.key == 'Enter') go(31)">Events</td>
149
+ <td tabindex="0" id="UserGeneral" class="topbar_td style3x" onclick="go(30,event)" onkeypress="if (event.key == 'Enter') go(30)">Général</td>
150
+ <td tabindex="0" id="UserEvents" class="topbar_td style3x" onclick="go(31,event)" onkeypress="if (event.key == 'Enter') go(31)">Événements</td>
151
<td class="topbar_td_end style3"> </td>
152
</tr>
153
</tbody></table>
@@ -155,7 +155,7 @@
155
<div id="ServerSubMenuSpan" style="display:none">
156
<table id="ServerSubMenu" cellpadding="0" cellspacing="0" class="style1">
157
<tbody><tr>
158
- <td tabindex="0" id="ServerGeneral" class="topbar_td style3x" onclick="go(6,event)" onkeypress="if (event.key == 'Enter') go(6)">General</td>
158
+ <td tabindex="0" id="ServerGeneral" class="topbar_td style3x" onclick="go(6,event)" onkeypress="if (event.key == 'Enter') go(6)">Général</td>
159
<td tabindex="0" id="ServerStats" class="topbar_td style3x" onclick="go(40,event)" onkeypress="if (event.key == 'Enter') go(40)">Stats</td>
160
<td tabindex="0" id="ServerConsole" class="topbar_td style3x" onclick="go(115,event)" onkeypress="if (event.key == 'Enter') go(115)">Console</td>
161
<td tabindex="0" id="ServerTrace" class="topbar_td style3x" onclick="go(41,event)" onkeypress="if (event.key == 'Enter') go(41)">Trace</td>
@@ -179,7 +179,7 @@
179
<div id="p1" style="display:none">
180
<div style="display:none" id="devListToolbarViewIcons">
181
<div tabindex="0" id="devViewButton1" class="viewSelector" onclick="onDeviceViewChange(1)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(1); }" title="Columns"><div class="viewSelector2"></div></div>
182
- <div tabindex="0" id="devViewButton2" class="viewSelector" onclick="onDeviceViewChange(2)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(2); }" title="List"><div class="viewSelector1"></div></div>
182
+ <div tabindex="0" id="devViewButton2" class="viewSelector" onclick="onDeviceViewChange(2)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(2); }" title="Liste"><div class="viewSelector1"></div></div>
183
<div tabindex="0" id="devViewButton3" class="viewSelector" onclick="onDeviceViewChange(3)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(3); }" title="Desktops"><div class="viewSelector3"></div></div>
184
<div tabindex="0" id="devViewButton4" class="viewSelector" onclick="onDeviceViewChange(4)" onkeypress="if (event.key == 'Enter') { onDeviceViewChange(4); }" title="Carte"><div class="viewSelector4"></div></div>
185
</div><div><h1>Mes Appareils</h1></div>
@@ -189,26 +189,26 @@
189
<td id="devListToolbar" class="style14" style="display:none">
190
<input type="button" id="SelectAllButton" onclick="selectallButtonFunction();" value="Tout Sélectionner">
191
<input type="button" id="GroupActionButton" disabled="disabled" value="Action de groupe" onclick="groupActionFunction()">
192
- <input id="SearchInput" type="text" placeholder="Filter" onchange="masterUpdate(5)" onkeyup="masterUpdate(5)" autocomplete="off" onfocus="onSearchFocus(1)" onblur="onSearchFocus(0)">
192
+ <input id="SearchInput" type="text" placeholder="Filtre" onchange="masterUpdate(5)" onkeyup="masterUpdate(5)" autocomplete="off" onfocus="onSearchFocus(1)" onblur="onSearchFocus(0)">
193
<label><input type="checkbox" id="RealNameCheckBox" onclick="onRealNameCheckBox()"><span title="Show devices operating system name">Nom du système</span></label>
194
</td>
195
<td id="kvmListToolbar" class="style14" style="display:none">
196
<input type="button" onclick="connectAllKvmFunction()" value="Connect All">
197
<input type="button" onclick="disconnectAllKvmFunction()" value="Disconnect All">
198
<label><input type="checkbox" id="autoConnectDesktopCheckbox" onclick="autoConnectDesktops(event)" title="Connexion automatique">Automatique </label>
199
- <input type="button" onclick="showMultiDesktopSettings()" value="Settings">
199
+ <input type="button" onclick="showMultiDesktopSettings()" value="Paramètres">
200
</td>
201
<td id="devMapToolbar" class="style14" style="display:none">
202
<input type="text" id="mapSearchLocation" placeholder="Recherche de lieu" onfocus="onMapSearchFocus(1)" onblur="onMapSearchFocus(0)">
203
<input type="button" value="Chercher" title="Recherche de lieu" onclick="getSearchLocation()">
204
- <input type="button" id="refreshmap" title="Reset map view" value="Réinitialiser" onclick="refreshMap(false,true)">
204
+ <input type="button" id="refreshmap" title="Réinitialiser l'affichage de la carte" value="Réinitialiser" onclick="refreshMap(false,true)">
205
</td>
206
<td class="auto-style1" style="height:100%">
207
<div style="display:none" id="devListToolbarView">
208
- View
208
+ Vue
209
<select id="viewselect" onchange="onDeviceViewChange()">
210
<option value="1">Columns</option>
211
- <option value="2">List</option>
211
+ <option value="2">Liste</option>
212
<option value="3">Desktops</option>
213
<option id="viewselectmapoption" value="4">Carte</option>
214
</select>
@@ -227,7 +227,7 @@
227
Taille
228
<select id="sizeselect" onchange="onDeviceViewChange()">
229
<option value="0">Petit</option>
230
- <option value="1">Medium</option>
230
+ <option value="1">Moyen</option>
231
<option value="2">Grand</option>
232
</select>
233
@@ -276,7 +276,7 @@
276
<div id="p2AccountActions">
277
<p><strong>Account actions</strong></p>
278
<p class="mL">
279
- <span id="verifyEmailId" style="display:none"><a href="#" onclick="return account_showVerifyEmail()">Verify email</a><br></span>
279
+ <span id="verifyEmailId" style="display:none"><a href="#" onclick="return account_showVerifyEmail()">Vérifier le courriel</a><br></span>
280
<span id="accountEnableNotificationsSpan" style="display:none"><a href="#" onclick="return account_enableNotifications()">Enable web notifications</a><br></span>
281
<a href="#" onclick="return account_showLocalizationSettings()">Localization Settings</a><br>
282
<a href="#" onclick="return account_showAccountNotifySettings()">Notification Settings</a><br>
@@ -290,7 +290,7 @@
290
<span id="p2createMeshLink1">( <a href="#" onclick="return account_createMesh()" class="newMeshBtn"> Nouveau</a> )</span>
291
<br><br>
292
<div id="p2meshes"></div>
293
- <div id="p2noMeshFound" style="display:none">Aucun groupe d'appareils.<span id="p2createMeshLink2"> <a href="#" onclick="return account_createMesh()"><strong>Get started here!</strong></a></span></div>
293
+ <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>
294
<br style="clear:both">
295
</div>
296
<div id="p3" style="display:none">
@@ -299,7 +299,7 @@
299
<tbody><tr>
300
<td class="h1"></td>
301
<td class="auto-style1">
302
- Show
302
+ Afficher
303
<select id="p3limitdropdown" onchange="refreshEvents()">
304
<option value="60">60 dernières</option>
305
<option value="120">120 dernières</option>
@@ -327,7 +327,7 @@
327
</div>
328
<div>
329
<input id="UserNewAccountButton" type="button" style="margin-left:6px" onclick="showCreateNewAccountDialog()" value="Nouveau Compte...">
330
- <input id="UserSearchInput" type="text" style="width:120px;margin-left:6px" placeholder="Filter" onchange="onUserSearchInputChanged()" onkeyup="onUserSearchInputChanged()" autocomplete="off" onfocus="onUserSearchFocus(1)" onblur="onUserSearchFocus(0)">
330
+ <input id="UserSearchInput" type="text" style="width:120px;margin-left:6px" placeholder="Filtre" onchange="onUserSearchInputChanged()" onkeyup="onUserSearchInputChanged()" autocomplete="off" onfocus="onUserSearchFocus(1)" onblur="onUserSearchFocus(0)">
331
</div>
332
</td>
333
<td class="h2"></td>
@@ -351,7 +351,7 @@
351
<input type="button" id="p5UploadButton" disabled="disabled" value="Télécharger" onclick="p5uploadFile()">
352
<input type="button" id="p5CutButton" disabled="disabled" value="Cut" onclick="p5copyFile(1)">
353
<input type="button" id="p5CopyButton" disabled="disabled" value="Copy" onclick="p5copyFile(0)">
354
- <input type="button" id="p5PasteButton" disabled="disabled" value="Paste" onclick="p5pasteFile()">
354
+ <input type="button" id="p5PasteButton" disabled="disabled" value="Coller" onclick="p5pasteFile()">
355
</div>
356
</td>
357
</tr>
@@ -400,7 +400,7 @@
400
<div id="p2ServerActionsErrors"><a href="#" onclick="return server_showErrorsDlg()">Afficher le journal des erreurs du serveur</a></div>
401
</div>
402
</div>
403
- <br><strong>Server Statistics</strong><br><br>
403
+ <br><strong>Statistiques du serveur</strong><br><br>
404
<div id="serverStats">
405
<div id="serverCpuChartView" style="display:none">
406
<div class="chartViewCanvas"><canvas id="serverCpuChart"></canvas></div>
@@ -413,7 +413,7 @@
413
<div id="serverStatsTable"></div>
414
</div>
415
<div id="serverWarningsDiv" style="display:none">
416
- <br><strong>Server Warnings</strong><br><br>
416
+ <br><strong>Avertissements du serveur</strong><br><br>
417
<div id="serverWarnings"></div>
418
</div>
419
</div>
@@ -423,7 +423,7 @@
423
<td style="width:auto" valign="top">
424
<div id="p10title">
425
<div id="p10BackButton"><div class="backButton" tabindex="0" onclick="goBack()" title="Retour" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
426
- <h1>General - <span id="p10deviceName"></span></h1>
426
+ <h1>Général - <span id="p10deviceName"></span></h1>
427
</div>
428
<div id="p10html"></div>
429
</td>
@@ -441,7 +441,7 @@
441
<div id="p11title">
442
<div id="p11deviceNameHeader">
443
<div id="p11BackButton"><div class="backButton" tabindex="0" onclick="goBack()" title="Retour" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
444
- <div id="devListToolbarViewIcons"><div class="viewSelector" onclick="deskToggleFull(event)" title="Full Screen. Hold shift to browser full screen."><div class="viewSelector5"></div></div></div>
444
+ <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>
445
<h1>Desktop - <span id="p11deviceName"></span></h1>
446
</div>
447
</div>
@@ -451,7 +451,7 @@
451
</div>
452
<div id="p11warning2" onclick="showPowerActionDlg()">
453
<div class="icon2"></div>
454
- <div class="warningbox">Remote computer is not powered on, click here to issue a power command.</div>
454
+ <div class="warningbox">L'ordinateur distant n'est pas sous tension, cliquez ici pour émettre une commande d'alimentation.</div>
455
</div>
456
<div id="deskarea0" cellpadding="0" cellspacing="0">
457
<div id="deskarea1" class="areaHead">
@@ -471,9 +471,9 @@
471
<div id="idx_deskFullBtn2" onclick="deskToggleFull(event)"> ✖</div>
472
<input type="button" id="autoconnectbutton1" value="AutoConnect" onclick="autoConnectDesktop(event)" onkeypress="return false" onkeydown="return false" style="display:none">
473
<span id="connectbutton1span"><input type="button" id="connectbutton1" value="Connect" onclick="connectDesktop(event,1)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
474
- <span id="connectbutton1hspan"> <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>
474
+ <span id="connectbutton1hspan"> <input type="button" id="connectbutton1h" value="Connexion AMT" title="Connect using Intel AMT hardware KVM" onclick="connectDesktop(event,2)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
475
<span id="disconnectbutton1span"> <input type="button" id="disconnectbutton1" value="Disconnect" onclick="connectDesktop(event,0)" onkeypress="return false" onkeydown="return false"></span>
476
- <span id="deskstatus">Disconnected</span>
476
+ <span id="deskstatus">Débranché</span>
477
</div>
478
</div>
479
<div id="deskarea2" style="">
@@ -487,7 +487,7 @@
487
<div id="DeskTools">
488
<div id="deskToolsAreaTop">
489
<a id="DeskToolsRefreshButton" style="right:2px" onclick="refreshDeskTools()">Rafraîchir</a>
490
- <div id="deskToolsTopTabProcess" class="deskToolsTopTab" onclick="changeDeskToolTab(0)" style="left:0px;bottom:0px">Processes</div>
490
+ <div id="deskToolsTopTabProcess" class="deskToolsTopTab" onclick="changeDeskToolTab(0)" style="left:0px;bottom:0px">Processus</div>
491
<div id="deskToolsTopTabService" class="deskToolsTopTab" onclick="changeDeskToolTab(1)" style="display:none;left:90px;color:gray">Services</div>
492
</div>
493
<div id="deskToolsArea">
@@ -511,7 +511,7 @@
511
</div>
512
<div id="deskarea4" class="areaFoot">
513
<div class="toright2">
514
- <span id="DeskTimer" title="Session time"></span>
514
+ <span id="DeskTimer" title="Temps de session"></span>
515
<select id="termdisplays" style="display:none" onchange="deskSetDisplay(event)" onkeypress="return false" onkeydown="return false"></select>
516
<input id="DeskToolsButton" type="button" value="Outils" title="Toggle tools view" onkeypress="return false" onkeydown="return false" onclick="toggleDeskTools()">
517
<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>
@@ -554,7 +554,7 @@
554
</div>
555
<div id="p12warning2" onclick="showPowerActionDlg()">
556
<div class="icon2"></div>
557
- <div class="warningbox">Remote computer is not powered on, click here to issue a power command.</div>
557
+ <div class="warningbox">L'ordinateur distant n'est pas sous tension, cliquez ici pour émettre une commande d'alimentation.</div>
558
</div>
559
<div id="termTable" style="position:relative">
560
<table style="width:100%" cellpadding="0" cellspacing="0">
@@ -567,9 +567,9 @@
567
<div>
568
<input type="button" id="autoconnectbutton2" value="AutoConnect" onclick="autoConnectTerminal(event)" onkeypress="return false" onkeydown="return false" style="display:none">
569
<span id="connectbutton2span"><input type="button" id="connectbutton2" value="Connect" onclick="connectTerminal(event,1)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
570
- <span id="connectbutton2hspan"> <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>
570
+ <span id="connectbutton2hspan"> <input type="button" id="connectbutton2h" value="Connexion AMT" title="Connect using Intel AMT hardware KVM" onclick="connectTerminal(event,2)" onkeypress="return false" onkeydown="return false" disabled="disabled"></span>
571
<span id="disconnectbutton2span"> <input type="button" id="disconnectbutton2" value="Disconnect" onclick="connectTerminal(event,0)" onkeypress="return false" onkeydown="return false"></span>
572
- <span id="termstatus">Disconnected</span><span id="termtitle"></span>
572
+ <span id="termstatus">Débranché</span><span id="termtitle"></span>
573
</div>
574
</td>
575
</tr>
@@ -586,7 +586,7 @@
586
<tr>
587
<td class="areaFoot">
588
<div class="toright2">
589
- <span id="TermTimer" title="Session time"></span>
589
+ <span id="TermTimer" title="Temps de session"></span>
590
<span id="terminalSettingsButtons" style="display:none">
591
<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()">
592
<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()">
@@ -604,7 +604,7 @@
604
<input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="ctrlxbutton" value="Ctl-X" onclick="termSendKey(24,'ctrlxbutton')">
605
<input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="escbutton" value="ESC" onclick="termSendKey(27,'escbutton')">
606
<input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="bsbutton" value="Retour arrière" onclick="termSendKey(8,'bsbutton')">
607
- <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="pastebutton" value="Paste" title="Paste text into the terminal" onclick="showTermPasteDialog()">
607
+ <input type="button" onkeypress="return false" onkeydown="return false" class="bottombutton" id="pastebutton" value="Coller" title="Coller du texte dans le terminal" onclick="showTermPasteDialog()">
608
</div>
609
</td>
610
</tr>
@@ -615,7 +615,7 @@
615
<div id="p13" style="display:none">
616
<div id="p13title">
617
<div id="p13BackButton" style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Retour" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
618
- <h1>Files - <span id="p13deviceName"></span></h1>
618
+ <h1>Dossiers - <span id="p13deviceName"></span></h1>
619
</div>
620
<table id="p13toolbar" cellpadding="0" cellspacing="0">
621
<tbody><tr>
@@ -627,7 +627,7 @@
627
<div>
628
<input id="p13AutoConnect" value="AutoConnect" onclick="autoConnectFiles(event)" type="button" style="display:none">
629
<input id="p13Connect" value="Connect" onclick="connectFiles(event)" type="button">
630
- <span id="p13Status">Disconnected</span>
630
+ <span id="p13Status">Débranché</span>
631
</div>
632
</td>
633
</tr>
@@ -644,7 +644,7 @@
644
<input type="button" id="p13UploadButton" disabled="disabled" value="Télécharger" onclick="p13uploadFile()">
645
<input type="button" id="p13CutButton" disabled="disabled" value="Cut" onclick="p13copyFile(1)">
646
<input type="button" id="p13CopyButton" disabled="disabled" value="Copy" onclick="p13copyFile(0)">
647
- <input type="button" id="p13PasteButton" disabled="disabled" value="Paste" onclick="p13pasteFile()">
647
+ <input type="button" id="p13PasteButton" disabled="disabled" value="Coller" onclick="p13pasteFile()">
648
<input type="button" id="p13RefreshButton" disabled="disabled" value="Rafraîchir" onclick="p13folderup(9999)">
649
</div>
650
</td>
@@ -678,7 +678,7 @@
678
<div id="p14" style="display:none">
679
<div id="p14title">
680
<div id="p14BackButton" style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Retour" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
681
- <div id="devListToolbarViewIcons"><div class="viewSelector" onclick="deskToggleFull(event)" title="Full Screen. Hold shift to browser full screen."><div class="viewSelector5"></div></div></div>
681
+ <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>
682
<h1>Intel® AMT - <span id="p14deviceName"></span></h1>
683
</div>
684
<iframe id="p14iframe" src="{{{domainurl}}}commander.htm"></iframe>
@@ -692,7 +692,7 @@
692
<tbody><tr>
693
<td class="areaHead">
694
<div class="toright2">
695
- <div id="p15coreName" title="Information about current core running on this agent"></div>
695
+ <div id="p15coreName" title="Informations sur le noyau en cours d'exécution sur cet agent"></div>
696
<input type="button" id="p15uploadCore" value="Agent Action" onclick="p15uploadCore(event)" title="Change the agent Java Script code module">
697
<img onclick="p15downloadConsoleText()" style="cursor:pointer;margin-top:6px" title="Download console text" src="images/link4.png">
698
</div>
@@ -733,14 +733,14 @@
733
<div id="p16" style="display:none">
734
<div id="p16title">
735
<div id="p16BackButton" style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Retour" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
736
- <h1>Events - <span id="p16deviceName"></span></h1>
736
+ <h1>Événements - <span id="p16deviceName"></span></h1>
737
</div>
738
<table class="pTable">
739
<tbody><tr>
740
<td class="h1"></td>
741
<!--<td> <input type=button onclick=refreshDeviceEvents() value="Refresh" /></td>-->
742
<td class="auto-style1">
743
- Show
743
+ Afficher
744
<select id="p16limitdropdown" onchange="refreshDeviceEvents()">
745
<option value="60">60 dernières</option>
746
<option value="120">120 dernières</option>
@@ -768,7 +768,7 @@
768
<img alt="" width="200" height="200" src="images/mesh-256.png">
769
</picture>
770
<div style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Retour" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
771
- <h1>General - <span id="p20meshName"></span></h1>
771
+ <h1>Général - <span id="p20meshName"></span></h1>
772
<p id="p20info"></p>
773
</div>
774
<div id="p30" style="display:none">
@@ -777,7 +777,7 @@
777
<td style="width:auto" valign="top">
778
<div id="p30title">
779
<div style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Retour" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
780
- <h1>General - <span id="p30userName"></span></h1>
780
+ <h1>Général - <span id="p30userName"></span></h1>
781
</div>
782
<div id="p30html"></div>
783
</td>
@@ -796,13 +796,13 @@
796
</div>
797
<div id="p31" style="display:none">
798
<div style="float:left"><div class="backButton" tabindex="0" onclick="goBack()" title="Retour" onkeypress="if (event.key == 'Enter') goBack()"><div class="backButtonEx"></div></div></div>
799
- <h1>Events - <span id="p31userName"></span></h1>
799
+ <h1>Événements - <span id="p31userName"></span></h1>
800
<table class="pTable">
801
<tbody><tr>
802
<td class="h1"></td>
803
<!--<td> <input type=button onclick=refreshUsersEvents() value="Refresh" /></td>-->
804
<td class="auto-style1">
805
- Show
805
+ Afficher
806
<select id="p31limitdropdown" onchange="refreshUsersEvents()">
807
<option value="60">60 dernières</option>
808
<option value="120">120 dernières</option>
@@ -818,7 +818,7 @@
818
<div id="p31events" style=""></div>
819
</div>
820
<div id="p40" style="display:none">
821
- <h1>My Server Stats</h1>
821
+ <h1>Statistiques de mon serveur</h1>
822
<div class="areaHead">
823
<div class="toright2">
824
<select id="p40type" onchange="updateServerTimelineStats()">
@@ -842,10 +842,10 @@
842
<canvas id="serverMainStats" style=""></canvas>
843
</div>
844
<div id="p41" style="display:none">
845
- <h1>My Server Tracing</h1>
845
+ <h1>Suivi de mon serveur</h1>
846
<div class="areaHead">
847
<div class="toright2">
848
- Show
848
+ Afficher
849
<select id="p41limitdropdown" onchange="displayServerTrace()">
850
<option value="100">100 dernières</option>
851
<option value="250">250 dernières</option>
@@ -857,13 +857,13 @@
857
</div>
858
<div>
859
<input value="Tracing" type="button" onclick="setServerTracing()">
860
- <span id="p41traceStatus">None</span>
860
+ <span id="p41traceStatus">Aucun</span>
861
</div>
862
</div>
863
<div id="p41events" style=""></div>
864
</div>
865
<div id="p42" style="display:none">
866
- <h1>My Server Plugins</h1>
866
+ <h1>Mes plugins serveur</h1>
867
<div class="areaHead">
868
<div class="toright2">
869
</div>
@@ -880,13 +880,13 @@
880
</div>
881
</div>
882
<table id="p42tbl">
883
- <tbody><tr class="DevSt"><th style="width:26px"></th><th style="width:10px"></th><th class="chName">Nom</th><th class="chDescription">Description</th><th class="chSite" style="text-align:center">Link</th><th class="chVersion" style="text-align:center">Version</th><th class="chUpgradeAvail" style="text-align:center">Latest</th><th class="chStatus" style="text-align:center">Statut</th><th class="chAction" style="text-align:center">Action</th><th style="width:10px"></th></tr>
883
+ <tbody><tr class="DevSt"><th style="width:26px"></th><th style="width:10px"></th><th class="chName">Nom</th><th class="chDescription">Description</th><th class="chSite" style="text-align:center">Lien</th><th class="chVersion" style="text-align:center">Version</th><th class="chUpgradeAvail" style="text-align:center">Dernier</th><th class="chStatus" style="text-align:center">Statut</th><th class="chAction" style="text-align:center">Action</th><th style="width:10px"></th></tr>
884
</tbody></table>
885
<div id="pluginNoneNotice" style="width:100%;text-align:center;padding-top:10px;display:none"><i>No plugins on server.</i></div>
886
</div>
887
<div id="p43" style="display:none">
888
<div id="p43BackButton"><div class="backButton" tabindex="0" onclick="go(42)" title="Retour" onkeypress="if (event.key == 'Enter') go(42)"><div class="backButtonEx"></div></div></div>
889
- <h1>My Server Plugins - <span id="p43title"></span></h1>
889
+ <h1>Mes plugins serveur - <span id="p43title"></span></h1>
890
<iframe id="p43iframe" frameborder="0" style="width:100%;height:calc(100vh - 245px);max-height:calc(100vh - 245px)"></iframe>
891
</div>
892
<div id="p19" style="display:none">
@@ -916,7 +916,7 @@
916
<div id="footer">
917
<div class="footer1">{{{footer}}}</div>
918
<div class="footer2">
919
- <a id="verifyEmailId2" style="display:none" href="#" onclick="account_showVerifyEmail()">Verify Email</a>
919
+ <a id="verifyEmailId2" style="display:none" href="#" onclick="account_showVerifyEmail()">Vérifier le Courriel</a>
920
<a href="terms">Terms & Privacy</a>
921
</div>
922
</div>
@@ -934,7 +934,7 @@
934
</div>
935
<div id="dialog3" style="">
936
<div id="d3upload">
937
- <div>File Selection</div>
937
+ <div>Sélection de fichier</div>
938
<select id="d3uploadMode" onchange="d3modechange()">
939
<option value="1">Local file upload</option>
940
<option value="2">Server file selection</option>
@@ -979,10 +979,10 @@
979
<div>
980
<div>Frame rate</div>
981
<select id="d7framelimiter" dir="rtl">
982
- <option selected="selected" value="50">Fast</option>
983
- <option value="100">Medium</option>
982
+ <option selected="selected" value="50">Vite</option>
983
+ <option value="100">Moyen</option>
984
<option value="400">Lent</option>
985
- <option value="1000">Very slow</option>
985
+ <option value="1000">Très lent</option>
986
</select>
987
</div>
988
</div>
@@ -993,12 +993,12 @@
993
<select id="d7desktopmode">
994
<option value="1">RLE8, le plus rapide</option>
995
<option value="2">RLE16, recommandé</option>
996
- <option value="3">RAW8, Slow</option>
997
- <option value="4">RAW16, Very Slow</option>
996
+ <option value="3">RAW8, lent</option>
997
+ <option value="4">RAW16, très lent</option>
998
</select>
999
</div>
1000
<div>
1001
- <div>Other Settings</div>
1001
+ <div>Autres réglages</div>
1002
<div id="d7otherset" style="display:block">
1003
<label style="display:block"><input type="checkbox" id="d7showfocus">Show Focus Tool</label>
1004
<label style="display:block"><input type="checkbox" id="d7showcursor">Show Local Mouse Cursor</label>
@@ -1030,8 +1030,8 @@
1030
1031
var args;
1032
var autoReconnect = true;
1033
- var powerStatetable = ['', "Alimenté", "Dormir", "Dormir", "Dormir", "Hibernating", "Éteindre", "Présent"];
1034
- var StatusStrs = ["Disconnected", "Connecting...", "Setup...", "Connected", "Intel® AMT Connected"];
1033
+ var powerStatetable = ['', "Alimenté", "Endormir", "Endormir", "Endormir", "Hibernation", "Éteindre", "Présent"];
1034
+ var StatusStrs = ["Débranché", "Connecting...", "Traitement...", "Connected", "Intel® AMT Connected"];
1035
var sort = 0;
1036
var searchFocus = 0;
1037
var mapSearchFocus = 0;
@@ -1061,6 +1061,7 @@
1061
var domainUrl = '{{{domainurl}}}';
1062
var authCookie = '{{{authCookie}}}';
1063
var authRelayCookie = '{{{authRelayCookie}}}';
1064
+ var logoutControls = {{{logoutControls}}};
1065
var authCookieRenewTimer = null;
1066
var multiDesktop = {};
1067
var multiDesktopFilter = null;
@@ -1097,6 +1098,12 @@
1098
if (top != self && (loc == null || top.active == false)) { top.location = self.location; return; }
1099
}
1100
1101
+ // Setup logout control
1102
+ var logoutControl = '';
1103
+ if (logoutControls.name != null) { logoutControl = format("Bienvenue {0}.", logoutControls.name); }
1104
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Déconnexion" + '</a>'); }
1105
+ QH('logoutControlSpan', logoutControl);
1106
+
1107
// Check if we are in debug mode
1108
args = parseUriArgs();
1109
if (!args.locale) { var x = getstore('loctag', 0); if ((x != null) && (x != '*')) { args.locale = x; } }
@@ -1445,7 +1452,7 @@
1452
1453
// Check if backup codes should really be enabled
1454
if ((backupCodesWarningDone == false) && !(userinfo.otpkeys > 0) && (((userinfo.otpsecret == 1) && !(userinfo.otphkeys > 0)) || ((userinfo.otpsecret != 1) && (userinfo.otphkeys == 1)))) {
1448
- 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" };
1455
+ var n = { text: "Veuillez ajouter un autre facteur. Si le facteur actuel est perdu, il n'y a pas moyen de récupérer ce compte.", title: "Two factor authentication" };
1456
addNotification(n);
1457
backupCodesWarningDone = true;
1458
}
@@ -1498,7 +1505,7 @@
1505
QH('p41traceStatus', EscapeHtml(message.traceSources.join(', ')));
1506
} else {
1507
serverTraceSources = [];
1501
- QH('p41traceStatus', "None");
1508
+ QH('p41traceStatus', "Aucun");
1509
}
1510
}
1511
break;
@@ -1510,7 +1517,7 @@
1517
case 'serverwarnings': {
1518
if ((message.warnings != null) && (message.warnings.length > 0)) {
1519
var x = '';
1513
- for (var i in message.warnings) { x += '<div style=color:red;padding-bottom:6px><b>' + "WARNING: " + message.warnings[i] + '</b></div>'; }
1520
+ for (var i in message.warnings) { x += '<div style=color:red;padding-bottom:6px><b>' + "ATTENTION:" + message.warnings[i] + '</b></div>'; }
1521
QH('serverWarnings', x);
1522
QV('serverWarningsDiv', true);
1523
}
@@ -1606,17 +1613,17 @@
1613
var ident = message.hardware.identifiers;
1614
// BIOS
1615
x += '<div class=DevSt style=margin-bottom:3px><b>' + "BIOS" + '</b></div>';
1609
- if (ident.bios_vendor) { x += addDetailItem("Vendor", ident.bios_vendor, s); }
1616
+ if (ident.bios_vendor) { x += addDetailItem("Vendeur", ident.bios_vendor, s); }
1617
if (ident.bios_version) { x += addDetailItem("Version", ident.bios_version, s); }
1618
x += '<br />';
1619
1620
// Motherboard
1621
x += '<div class=DevSt style=margin-bottom:3px><b>' + "Carte mère" + '</b></div>';
1615
- if (ident.board_vendor) { x += addDetailItem("Vendor", ident.board_vendor, s); }
1622
+ if (ident.board_vendor) { x += addDetailItem("Vendeur", ident.board_vendor, s); }
1623
if (ident.board_name) { x += addDetailItem("Nom", ident.board_name, s); }
1624
if (ident.board_serial && (ident.board_serial != '')) { x += addDetailItem("Serial", ident.board_serial, s); }
1625
if (ident.board_version) { x += addDetailItem("Version", ident.board_version, s); }
1619
- if (ident.product_uuid) { x += addDetailItem("Identifier", ident.product_uuid, s); }
1626
+ if (ident.product_uuid) { x += addDetailItem("Identifiant", ident.product_uuid, s); }
1627
x += '<br />';
1628
}
1629
@@ -1668,7 +1675,7 @@
1675
node.lastconnect = message.time;
1676
node.lastaddr = message.addr;
1677
if ((currentNode._id == node._id) && (Q('MainComputerState').innerHTML == '')) {
1671
- QH('MainComputerState', '<span>' + "Last seen:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>');
1678
+ QH('MainComputerState', '<span>' + "Dernière connexion:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>');
1679
}
1680
}
1681
break;
@@ -1697,7 +1704,7 @@
1704
Q('d2clipText').value = message.data;
1705
} else if ((message.type == 'setclip') && (xxdialogTag == 'clipboard') && (currentNode != null) && (currentNode._id == message.nodeid)) {
1706
// Display success/fail on the clipboard dialog box.
1700
- QH('dlgClipStatus', message.success ? '<span style=color:green>' + "Succès" + '</span>' : '<span style=color:red>' + "Failed" + '</span>')
1707
+ QH('dlgClipStatus', message.success ? '<span style=color:green>' + "Succès" + '</span>' : '<span style=color:red>' + "Échoué" + '</span>')
1708
setTimeout(function () { try { QH('dlgClipStatus', ''); } catch (ex) { } }, 2000);
1709
}
1710
}
@@ -1718,18 +1725,18 @@
1725
} else {
1726
var x = '<div class=dialogText>';
1727
1721
- if (currentNode.lastconnect) { x += addHtmlValue2("Last agent connection", printDateTime(new Date(currentNode.lastconnect))); }
1728
+ if (currentNode.lastconnect) { x += addHtmlValue2("Dernière connexion de l'agent", printDateTime(new Date(currentNode.lastconnect))); }
1729
if (currentNode.lastaddr) {
1730
var splitip = currentNode.lastaddr.split(':');
1731
if (splitip.length > 2) {
1732
// IPv6
1726
- x += addHtmlValue2("Last agent address", currentNode.lastaddr + ' <img src="images/link4.png" title="Copy address to clipboard" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(currentNode.lastaddr) + '\") width=10 height=10>');
1733
+ x += addHtmlValue2("Dernière adresse de l'agent", currentNode.lastaddr + ' <img src="images/link4.png" title="Copy address to clipboard" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(currentNode.lastaddr) + '\") width=10 height=10>');
1734
} else {
1735
// IPv4
1736
if (isPrivateIP(currentNode.lastaddr)) {
1730
- x += addHtmlValue2("Last agent address", splitip[0] + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
1737
+ x += addHtmlValue2("Dernière adresse de l'agent", splitip[0] + ' <img src="images/link4.png" title="' + "Copy address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(splitip[0]) + '\") width=10 height=10>');
1738
} else {
1732
- x += addHtmlValue2("Last agent address", '<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>');
1739
+ x += addHtmlValue2("Dernière adresse de l'agent", '<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>');
1740
}
1741
}
1742
}
@@ -1741,11 +1748,11 @@
1748
if (net.name) { x += addHtmlValue2("Nom", '<b>' + EscapeHtml(net.name) + '</b>'); }
1749
if (net.desc) { x += addHtmlValue2("Description", EscapeHtml(net.desc).replace('(R)', '®').replace('(r)', '®')); }
1750
if (net.dnssuffix) { x += addHtmlValue2("DNS suffix", EscapeHtml(net.dnssuffix) + ' <img src="images/link4.png" title="' + "Copy name to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.dnssuffix) + '\") width=10 height=10>'); }
1744
- if (net.mac) { x += addHtmlValue2("MAC address", '<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="' + "Copy MAC address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.mac.toLowerCase()) + '\") width=10 height=10>'); }
1751
+ if (net.mac) { x += addHtmlValue2("Adresse MAC", '<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="' + "Copy MAC address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.mac.toLowerCase()) + '\") width=10 height=10>'); }
1752
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>'); }
1753
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>'); }
1754
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>'); }
1748
- if (net.gatewaymac) { x += addHtmlValue2("Gateway MAC", '<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="' + "Copy MAC address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.gatewaymac.toLowerCase()) + '\") width=10 height=10>'); }
1755
+ if (net.gatewaymac) { x += addHtmlValue2("Passerelle MAC", '<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="' + "Copy MAC address to clipboard" + '" style="cursor:pointer" onclick=copyTextToClip2(\"' + encodeURIComponent(net.gatewaymac.toLowerCase()) + '\") width=10 height=10>'); }
1756
}
1757
x += '</div>';
1758
QH('d2netinfo', x);
@@ -1759,7 +1766,7 @@
1766
if (!message.current) { message.current = "Inconnue"; }
1767
if (!message.latest) { message.latest = "Inconnue"; }
1768
x += addHtmlValue2("Current Version", '<b>' + EscapeHtml(message.current) + '</b>');
1762
- x += addHtmlValue2("Latest Version", '<b>' + EscapeHtml(message.latest) + '</b>');
1769
+ x += addHtmlValue2("Dernière version", '<b>' + EscapeHtml(message.latest) + '</b>');
1770
x += '</div>';
1771
if ((message.latest.indexOf('.') == -1) || (message.current == message.latest) || ((features & 2048) == 0)) {
1772
setDialogMode(2, "MeshCentral Version", 1, null, x);
@@ -1837,12 +1844,12 @@
1844
}
1845
case 'otpauth-setup': {
1846
if (xxdialogMode) return;
1840
- 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>' + "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."));
1847
+ setDialogMode(2, "Authenticator App", 1, null, message.success ? ('<b style=color:green>' + "Authenticator app activation successful." + '</b> ' + "Vous aurez maintenant besoin d'un jeton valide pour vous connecter à nouveau.") : ('<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."));
1848
break;
1849
}
1850
case 'otpauth-clear': {
1851
if (xxdialogMode) return;
1845
- 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>' + "2-step login activation removal failed." + '</b> ' + "Try again."));
1852
+ setDialogMode(2, "Authenticator App", 1, null, message.success ? ('<b>' + "Authenticator application removed." + '</b> ' + "Vous pouvez réactiver cette fonctionnalité à tout moment.") : ('<b style=color:red>' + "2-step login activation removal failed." + '</b> ' + "Try again."));
1853
break;
1854
}
1855
case 'otpauth-getpasswords': {
@@ -1868,7 +1875,7 @@
1875
}
1876
x += '</table></div></div><br />';
1877
x += '<div><input type=button value=' + "Close" + ' onclick=setDialogMode(0) style=float:right></input>';
1871
- x += '<input type=button value="' + "Generate New Tokens" + '" onclick="account_manageOtp(1);"></input>';
1878
+ x += '<input type=button value="' + "Générer de nouveaux jetons" + '" onclick="account_manageOtp(1);"></input>';
1879
if (message.passwords != null) {
1880
x += '<input type=button value="' + "Clear Tokens" + '" onclick="account_manageOtp(2);"></input>';
1881
x += ' <img src=images/link4.png height=10 width=10 title="' + "Copy valid codes to clipboard" + '" style=cursor:pointer onclick=copyTextToClip2("' + encodeURIComponent(clipb) + '")>';
@@ -1913,13 +1920,13 @@
1920
if (message.result == true) {
1921
meshserver.send({ action: 'otp-hkey-get' }); // Success, ask for the full list of keys.
1922
} else {
1916
- setDialogMode(2, "Ajouter une clé de sécurité", 1, null, '<br />' + "ERROR: Unable to add key." + '<br /><br />', 'otpauth-hardware-manage');
1923
+ setDialogMode(2, "Ajouter une clé de sécurité", 1, null, '<br />' + "ERREUR: Impossible d'ajouter la clé." + '<br /><br />', 'otpauth-hardware-manage');
1924
}
1925
break;
1926
}
1927
case 'webauthn-startregister': {
1928
if (xxdialogMode && (xxdialogTag != 'otpauth-hardware-manage')) return;
1922
- 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 + ' />';
1929
+ var x = "Appuyez sur le bouton de la clé maintenant." + '<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 + ' />';
1930
setDialogMode(2, "Ajouter une clé de sécurité", 2, null, x);
1931
1932
var publicKey = message.request;
@@ -1933,7 +1940,7 @@
1940
setDialogMode(0);
1941
}, function(error) {
1942
// Error
1936
- setDialogMode(2, "Ajouter une clé de sécurité", 1, null, "ERROR: " + error);
1943
+ setDialogMode(2, "Ajouter une clé de sécurité", 1, null, "ERREUR:" + error);
1944
});
1945
break;
1946
}
@@ -2241,13 +2248,13 @@
2248
// Show the notification
2249
if (n & 2) {
2250
if (((node.conn & 1) == 0) && ((message.event.conn & 1) != 0)) { addNotification({ text: "Agent connected", title: node.name, icon: node.icon, nodeid: node._id }); }
2244
- if (((node.conn & 2) == 0) && ((message.event.conn & 2) != 0)) { addNotification({ text: "Intel AMT detected", title: node.name, icon: node.icon, nodeid: node._id }); }
2251
+ if (((node.conn & 2) == 0) && ((message.event.conn & 2) != 0)) { addNotification({ text: "Intel AMT détecté", title: node.name, icon: node.icon, nodeid: node._id }); }
2252
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 }); }
2253
if (((node.conn & 16) == 0) && ((message.event.conn & 16) != 0)) { addNotification({ text: "MQTT connected", title: node.name, icon: node.icon, nodeid: node._id }); }
2254
}
2255
if (n & 4) {
2256
if (((node.conn & 1) != 0) && ((message.event.conn & 1) == 0)) { addNotification({ text: "Agent disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
2250
- 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 }); }
2257
+ if (((node.conn & 2) != 0) && ((message.event.conn & 2) == 0)) { addNotification({ text: "Intel AMT non détecté", title: node.name, icon: node.icon, nodeid: node._id }); }
2258
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 }); }
2259
if (((node.conn & 16) != 0) && ((message.event.conn & 16) == 0)) { addNotification({ text: "MQTT disconnected", title: node.name, icon: node.icon, nodeid: node._id }); }
2260
}
@@ -2320,7 +2327,7 @@
2327
QH('p41traceStatus', EscapeHtml(message.event.traceSources.join(', ')));
2328
} else {
2329
serverTraceSources = [];
2323
- QH('p41traceStatus', "None");
2330
+ QH('p41traceStatus', "Aucun");
2331
}
2332
}
2333
break;
@@ -2651,7 +2658,7 @@
2658
deviceBoxWidth = 301 + Math.floor((totalDeviceViewWidth - (deviceBoxWidth * 301)) / deviceBoxWidth);
2659
2660
if ((view == 2) && (sort != 3)) {
2654
- 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>' + "Address" + '<th style=color:gray;width:100px>' + "Connectivity"; //<th style=color:gray;width:100px>State';
2661
+ r += '<table style=width:100%;margin-top:4px cellpadding=0 cellspacing=0><th style=color:gray><th style=color:gray;width:120px>' + "Utilisateur" + '<th style=color:gray;width:120px>' + "Address" + '<th style=color:gray;width:100px>' + "Connectivity"; //<th style=color:gray;width:100px>State';
2662
}
2663
2664
// Go thru the list of nodes and display them
@@ -2699,11 +2706,11 @@
2706
2707
count++;
2708
var title = EscapeHtml(node.name);
2702
- if (title.length == 0) { title = '<i>' + "None" + '</i>'; }
2709
+ if (title.length == 0) { title = '<i>' + "Aucun" + '</i>'; }
2710
if ((node.rname != null) && (node.rname.length > 0)) { title += ' / ' + EscapeHtml(node.rname); }
2711
var name = EscapeHtml(node.name);
2712
if (showRealNames == true && node.rname != null) name = EscapeHtml(node.rname);
2706
- if (name.length == 0) { name = '<i>' + "None" + '</i>'; }
2713
+ if (name.length == 0) { name = '<i>' + "Aucun" + '</i>'; }
2714
2715
// Node
2716
var icon = node.icon;
@@ -2734,7 +2741,7 @@
2741
r += '<div id=devs style=display:inline-block;margin:1px;background-color:lightgray;border-radius:5px;position:relative><div tabindex=0 style=padding:3px;cursor:pointer onclick=gotoDevice(\'' + node._id + '\',11,null,event) onkeypress="if (event.key==\'Enter\') gotoDevice(\'' + node._id + '\',11,null,event)">';
2742
//r += '<input class="' + node.meshid + ' DeviceCheckbox" onclick=p1updateInfo() value=devid_' + node._id + ' type=checkbox style=float:left>';
2743
r += '<div class="j' + icon + '" style=width:16px;float:left></div> ' + name + '</div>';
2737
- r += '<span onclick=gotoDevice(\'' + node._id + '\',null,null,event)></span><div id=xkvmid_' + node._id.split('/')[2] + '><div id=skvmid_' + node._id.split('/')[2] + ' tabindex=0 style="position:absolute;color:white;left:5px;top:27px;text-shadow:0px 0px 5px #000;z-index:1000;cursor:default" onclick=toggleKvmDevice(\'' + node._id + '\') onkeypress="if (event.key==\'Enter\') toggleKvmDevice(\'' + node._id + '\')">' + "Disconnected" + '</div></div>';
2744
+ r += '<span onclick=gotoDevice(\'' + node._id + '\',null,null,event)></span><div id=xkvmid_' + node._id.split('/')[2] + '><div id=skvmid_' + node._id.split('/')[2] + ' tabindex=0 style="position:absolute;color:white;left:5px;top:27px;text-shadow:0px 0px 5px #000;z-index:1000;cursor:default" onclick=toggleKvmDevice(\'' + node._id + '\') onkeypress="if (event.key==\'Enter\') toggleKvmDevice(\'' + node._id + '\')">' + "Débranché" + '</div></div>';
2745
r += '</div>';
2746
kvmDivs.push(node._id);
2747
}
@@ -2762,7 +2769,7 @@
2769
2770
// If displaying devices by groups, sort the group names and display the devices.
2771
if (sort == 3) {
2765
- 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>' + "Address" + '<th style=color:gray;width:100px>' + "Connectivity"; }
2772
+ 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>' + "Utilisateur" + '<th style=color:gray;width:120px>' + "Address" + '<th style=color:gray;width:100px>' + "Connectivity"; }
2773
2774
var groupNames = [];
2775
for (var i in groups) { groupNames.push(i); }
@@ -2856,7 +2863,7 @@
2863
desk.m.CanvasId.setAttribute('style', 'background-color:black;width:' + vsize.x + 'px;height:' + vsize.y + 'px');
2864
Q('xkvmid_' + shortid).appendChild(desk.m.CanvasId);
2865
delete desk.xxdelete;
2859
- QH('skvmid_' + shortid, ["Disconnected", "Connecting...", "Setup...", '', ''][((desk.m.State == null)?desk.m.state:desk.m.State)]);
2866
+ QH('skvmid_' + shortid, ["Débranché", "Connecting...", "Traitement...", '', ''][((desk.m.State == null)?desk.m.state:desk.m.State)]);
2867
} else {
2868
var node = getNodeFromId(id);
2869
if ((desktopNode == node) && (desktop != null)) { // Check if the main desktop is this device, if it is, use that.
@@ -2869,7 +2876,7 @@
2876
c.removeAttribute('onmouseup');
2877
c.removeAttribute('onmousemove');
2878
Q('xkvmid_' + shortid).appendChild(c);
2872
- QH('skvmid_' + shortid, ["Disconnected", "Connecting...", "Setup...", '', ''][((desktop.m.State == null)?desktop.m.state:desktop.m.State)]);
2879
+ QH('skvmid_' + shortid, ["Débranché", "Connecting...", "Traitement...", '', ''][((desktop.m.State == null)?desktop.m.state:desktop.m.State)]);
2880
if (desktop.m.SendCompressionLevel) { desktop.m.SendCompressionLevel(1, multidesktopsettings.quality, multidesktopsettings.scaling, multidesktopsettings.framerate); }
2881
desktop.shortid = shortid;
2882
desktop.onStateChanged = onMultiDesktopStateChange;
@@ -2951,7 +2958,7 @@
2958
for (var i in nodes) { if (multiDesktop[nodes[i]._id] == null) { toggleKvmDevice(nodes[i]._id); } }
2959
}
2960
function disconnectAllKvmFunction() { if (xxdialogMode) return false; for (var nodeid in multiDesktop) { multiDesktop[nodeid].Stop(); } multiDesktop = {}; }
2954
- function onMultiDesktopStateChange(desk, state) { try { QH('skvmid_' + desk.shortid, ["Disconnected", "Connecting...", "Setup...", '', ''][state]); } catch (ex) {} }
2961
+ function onMultiDesktopStateChange(desk, state) { try { QH('skvmid_' + desk.shortid, ["Débranché", "Connecting...", "Traitement...", '', ''][state]); } catch (ex) {} }
2962
2963
function showMultiDesktopSettings() {
2964
QV('d7amtkvm', false);
@@ -2959,7 +2966,7 @@
2966
d7bitmapquality.value = multidesktopsettings.quality;
2967
d7bitmapscaling.value = multidesktopsettings.scaling;
2968
if (multidesktopsettings.framerate) { d7framelimiter.value = multidesktopsettings.framerate; } else { d7framelimiter.value = 1000; }
2962
- setDialogMode(7, "Remote Desktop Settings", 3, showMultiDesktopSettingsChanged);
2969
+ setDialogMode(7, "Paramètres du bureau à distance", 3, showMultiDesktopSettingsChanged);
2970
}
2971
2972
function showMultiDesktopSettingsChanged() {
@@ -3025,7 +3032,7 @@
3032
if (mesh.mtype == 1) {
3033
if ((features & 1) == 0) { // If not WAN-Only
3034
r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Add a new Intel® AMT computer that is located on the local network." + '\" onclick=\'return addDeviceToMesh(\"' + mesh._id + '\")\'>' + "Add Local" + '</a>';
3028
- r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Add a new Intel® AMT computer by scanning the local network." + '\" onclick=\'return addAmtScanToMesh(\"' + mesh._id + '\")\'>' + "Scan Network" + '</a>';
3035
+ r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Add a new Intel® AMT computer by scanning the local network." + '\" onclick=\'return addAmtScanToMesh(\"' + mesh._id + '\")\'>' + "Scan réseau" + '</a>';
3036
}
3037
if (mesh.amt && (mesh.amt.type == 2)) { // CCM activation
3038
r += ' <a href=# style=cursor:pointer;font-size:10px title=\"' + "Perform Intel AMT client control mode (CCM) activation." + '\" onclick=\'return showCcmActivation(\"' + mesh._id + '\")\'>' + "Activation" + '</a>';
@@ -3048,7 +3055,7 @@
3055
x += addHtmlValue("Hostname", '<input id=dp1hostname style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "Identique au nom de l'appareil" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3056
x += addHtmlValue("Nom d'utilisateur", '<input id=dp1username style=width:230px maxlength=32 autocomplete=off placeholder=\"' + "admin" + '\" onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3057
x += addHtmlValue("Mot de passe", '<input id=dp1password type=password style=width:230px autocomplete=off maxlength=32 onchange=validateDeviceToMesh() onkeyup=validateDeviceToMesh() />');
3051
- x += addHtmlValue("Sécurité", '<select id=dp1tls style=width:236px><option value=0>' + "No TLS security" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
3058
+ x += addHtmlValue("Sécurité", '<select id=dp1tls style=width:236px><option value=0>' + "Pas de sécurité TLS" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
3059
setDialogMode(2, "Add Intel® AMT device", 3, addDeviceToMeshEx, x, meshid);
3060
validateDeviceToMesh();
3061
Q('dp1devicename').focus();
@@ -3104,7 +3111,7 @@
3111
var x = "Enter a range of IP addresses to scan for Intel AMT devices." + '<br /><br />';
3112
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=\"' + "Analyse" + '\" onclick=addAmtScanToMeshButton()></input>');
3113
x += '<div id=dp1results style="width:100%;height:200px;background-color:white;border:1px gray solid;overflow-y:scroll"></div>';
3107
- setDialogMode(2, "Scan for Intel® AMT devices", 3, addAmtScanToMeshEx, x, meshid);
3114
+ setDialogMode(2, "Rechercher des périphériques Intel® AMT", 3, addAmtScanToMeshEx, x, meshid);
3115
QE('idx_dlgOkButton', false);
3116
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>');
3117
focusTextBox('dp1range');
@@ -3166,18 +3173,18 @@
3173
// Setup CIRA with user/pass authentication (Somewhat difficult)
3174
x += '<div id=dlgAddCira1 style=display:none>' + format("To add a new Intel® AMT device to device group \"{0}\" with CIRA, load the following certificate as trusted root within Intel AMT", EscapeHtml(mesh.name));
3175
if (serverinfo.mpspass) { x += ("et authentifiez-vous sur le serveur en utilisant ce nom d'utilisateur et mot de passe." + '<br /><br />'); } else { x += ("et vous authentifier sur le serveur en utilisant ce nom d'utilisateur et n'importe quel mot de passe." + '<br /><br />'); }
3169
- x += addHtmlValue("Root Certificate", '<a href=\"' + "MeshServerRootCert.cer" + '\" download>' + "Root Certificate File" + '</a>');
3176
+ x += addHtmlValue("Certificat Racine", '<a href=\"' + "MeshServerRootCert.cer" + '\" download>' + "Fichier de Certificate Racine" + '</a>');
3177
x += addHtmlValue("Nom d'utilisateur", '<input style=width:230px readonly value="' + meshidx.substring(0, 16) + '" />');
3178
if (serverinfo.mpspass) { x += addHtmlValue("Mot de passe", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpspass) + '" />'); }
3172
- if (serverinfo != null) { x += addHtmlValue("MPS Server", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
3179
+ if (serverinfo != null) { x += addHtmlValue("Serveur MPS", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
3180
x += '</div>';
3181
3182
// Setup CIRA with certificate authentication (Really difficult, only if TLS offload is not used)
3183
if ((features & 16) == 0) {
3184
x += '<div id=dlgAddCira2 style=display:none>' + format("To add a new Intel® 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 />';
3178
- x += addHtmlValue("Root Certificate", '<a href="MeshServerRootCert.cer" download>' + "Root Certificate File" + '</a>');
3185
+ x += addHtmlValue("Certificat Racine", '<a href="MeshServerRootCert.cer" download>' + "Fichier de Certificate Racine" + '</a>');
3186
x += addHtmlValue("Organisation", '<input style=width:230px readonly value="' + meshidx + '" />');
3180
- if (serverinfo != null) { x += addHtmlValue("MPS Server", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
3187
+ if (serverinfo != null) { x += addHtmlValue("Serveur MPS", '<input style=width:230px readonly value="' + EscapeHtml(serverinfo.mpsname) + ':' + serverinfo.mpsport + '" />'); }
3188
x += '</div>';
3189
}
3190
@@ -3209,16 +3216,16 @@
3216
x += '<div id=emailInviteDiv style=display:none>' + format("Invitez quelqu'un à installer l'agent de maillage. Un email doit être envoyé avec le lien vers l’installation de l’agent de maillage pour le groupe de périphériques \"{0}\".", EscapeHtml(mesh.name)) + '<br /><br />';
3217
x += addHtmlValue("Nom: (optionnel)", '<input id=agentInviteName value="" style=width:230px maxlength=64 />');
3218
x += addHtmlValue("Email", '<input id=agentInviteEmail style=width:230px placeholder=\"' + "example@email.com" + '\" onkeyup=validateAgentInvite()></input>');
3212
- x += addHtmlValue("Système opérateur", '<select id=agentInviteNameOs onchange=d2ChangedInviteType() style=width:236px><option value=4>' + "Send installation link" + '</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>');
3219
+ x += addHtmlValue("Système opérateur", '<select id=agentInviteNameOs onchange=d2ChangedInviteType() style=width:236px><option value=4>' + "Envoyer le lien d'installation" + '</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>');
3220
x += '<div id=d2agentexpirediv>';
3214
- x += addHtmlValue("Link Expiration", '<select id=agentInviteExpire style=width:236px><option value=1>' + "1 heure" + '</option><option value=8>' + "8 heures" + '</option><option value=24>' + "1 jour" + '</option><option value=168>' + "1 semaine" + '</option><option value=5040>' + "1 mois" + '</option><option value=0>' + "Illimité" + '</option></select>');
3221
+ x += addHtmlValue("Expiration du lien", '<select id=agentInviteExpire style=width:236px><option value=1>' + "1 heure" + '</option><option value=8>' + "8 heures" + '</option><option value=24>' + "1 jour" + '</option><option value=168>' + "1 semaine" + '</option><option value=5040>' + "1 mois" + '</option><option value=0>' + "Illimité" + '</option></select>');
3222
x += '</div>';
3223
x += addHtmlValue("Installation Type", '<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>');
3224
x += addHtmlValue("Message" + '<br />' + "(optional)", '<textarea id=agentInviteMessage value="" style=width:230px;height:100px;resize:none maxlength=1024 /></textarea>');
3225
x += '</div>';
3226
}
3227
x += '<div id=urlInviteDiv>' + format("Invitez quelqu'un à installer l'agent de maillage en partageant un lien d'invitation. Ce lien renvoie l'utilisateur aux instructions d'installation du groupe de périphériques \"{0}\". Le lien est public et aucun compte n'est requis pour ce serveur.", EscapeHtml(mesh.name)) + '<br /><br />';
3221
- x += addHtmlValue("Link Expiration", '<select id=d2inviteExpire style=width:236px onchange=d2RequestInvitationLink()><option value=1>' + "1 heure" + '</option><option value=8>' + "8 heures" + '</option><option value=24>' + "1 jour" + '</option><option value=168>' + "1 semaine" + '</option><option value=5040>' + "1 mois" + '</option><option value=0>' + "Illimité" + '</option></select>');
3228
+ x += addHtmlValue("Expiration du lien", '<select id=d2inviteExpire style=width:236px onchange=d2RequestInvitationLink()><option value=1>' + "1 heure" + '</option><option value=8>' + "8 heures" + '</option><option value=24>' + "1 jour" + '</option><option value=168>' + "1 semaine" + '</option><option value=5040>' + "1 mois" + '</option><option value=0>' + "Illimité" + '</option></select>');
3229
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>';
3230
setDialogMode(2, "Inviter", 3, performAgentInvite, x, meshid);
3231
if (features & 64) { Q('d2InviteType').focus(); d2ChangedInviteType(); } else { Q('d2inviteExpire').focus(); validateAgentInvite(); }
@@ -3272,7 +3279,7 @@
3279
x += '<div id=agins_windows>' + format("To add a new computer to device group \"{0}\", download the mesh agent and install it the computer to manage. This agent has server and device group information embedded within it.", EscapeHtml(mesh.name)) + '<br /><br />';
3280
x += addHtmlValue("Mesh Agent", '<a id=aginsw32lnk href="meshagents?id=3&meshid=' + meshid.split('/')[2] + '&installflags=0" download onclick="setDialogMode(0)" title=\"' + "32bit version of the 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)>');
3281
x += addHtmlValue("Mesh Agent", '<a id=aginsw64lnk href="meshagents?id=4&meshid=' + meshid.split('/')[2] + '&installflags=0" download onclick="setDialogMode(0)" title=\"' + "64bit version of the 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)>');
3275
- 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>'); }
3282
+ if (debugmode > 0) { x += addHtmlValue("Fichier de Paramètres", '<a id=aginswmshlnk href="meshsettings?id=' + meshid.split('/')[2] + '&installflags=0" rel="noreferrer noopener" target="_blank">' + format("{0} settings (.msh)", EscapeHtml(mesh.name)) + '</a>'); }
3283
x += '</div>';
3284
3285
// Linux agent install
@@ -3384,7 +3391,7 @@
3391
deviceHeaderTotal = 0;
3392
}
3393
3387
- var powerStateStrings = ['', '<span title=\"' + "Device is powered on." + '\">' + "Alimenté" + '</span>', '<span title=\"' + "Device is in sleep state (S1)." + '\">' + "Sleeping" + '</span>', '<span title=\"' + "Device is in sleep state (S2)." + '\">' + "Sleeping" + '</span>', '<span title=\"' + "Device is in deep sleep state (S3)." + '\">' + "Deep Sleep" + '</span>', '<span title=\"' + "Device is in hibernating state (S4)." + '\">' + "Hibernating" + '</span>', '<span title=\"' + "Device is in powered off state (S5)." + '\">' + "Soft-Off" + '</span>', '<span title=\"' + "Device is detected but power state could not be obtained." + '\">' + "Présent" + '</span>'];
3394
+ var powerStateStrings = ['', '<span title=\"' + "Device is powered on." + '\">' + "Alimenté" + '</span>', '<span title=\"' + "Device is in sleep state (S1)." + '\">' + "Dormir" + '</span>', '<span title=\"' + "Device is in sleep state (S2)." + '\">' + "Dormir" + '</span>', '<span title=\"' + "Device is in deep sleep state (S3)." + '\">' + "Deep Sleep" + '</span>', '<span title=\"' + "Device is in hibernating state (S4)." + '\">' + "Hibernation" + '</span>', '<span title=\"' + "Device is in powered off state (S5)." + '\">' + "Soft-Off" + '</span>', '<span title=\"' + "Device is detected but power state could not be obtained." + '\">' + "Présent" + '</span>'];
3395
var powerStateStrings2 = ['', "Device is powered", "Device is in sleep state (S1)", "Device is in sleep state (S2)", "Device is in deep sleep state (S3)", "Device is hibernating (S4)", "Device is in soft-off state (S5)", "Device is present, but power state cannot be determined"];
3396
var powerColorTable = ['pwsTransparent', 'pwsBlack', 'pwsBlue', 'pwsBlue2', 'pwsLightblue', 'pwsBlueviolet', 'pwsDarkgreen', 'pwsLightseagreen', 'pwsLightseagreen2'];
3397
function NodeStateStr(node) {
@@ -3451,7 +3458,7 @@
3458
}
3459
3460
var x = "Select an operation to perform on all selected devices. Actions will be performed only with proper rights." + '<br /><br />';
3454
- x += addHtmlValue("Opération", '<select id=d2groupop><option value=100>' + "Wake-up devices" + '</option><option value=4>' + "Sleep devices" + '</option><option value=3>' + "Réinitialiser les appareils" + '</option><option value=2>' + "Éteindre les appareils" + '</option><option value=102>' + "Move to device group" + '</option>' + addedOptions + '<option value=101>' + "Delete devices" + '</option></select>');
3461
+ x += addHtmlValue("Opération", '<select id=d2groupop><option value=100>' + "Wake-up devices" + '</option><option value=4>' + "Sleep devices" + '</option><option value=3>' + "Réinitialiser les appareils" + '</option><option value=2>' + "Éteindre les appareils" + '</option><option value=102>' + "Déplacer vers un groupe d'appareils" + '</option>' + addedOptions + '<option value=101>' + "Delete devices" + '</option></select>');
3462
setDialogMode(2, "Action de groupe", 3, groupActionFunctionEx, x);
3463
}
3464
@@ -3724,7 +3731,7 @@
3731
3732
// Build a context menu for a feature
3733
var map_cm_nodemenu_items = [
3727
- { text: "General information", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 10); } } },
3734
+ { text: "Informations générales", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 10); } } },
3735
{ text: "Desktop", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 11); } } },
3736
{ text: "Terminal", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 12); } } },
3737
{ text: "Intel® AMT", callback: function (obj) { if (obj.data !=null) { gotoDevice(obj.data, 14); } } },
@@ -4319,7 +4326,7 @@
4326
4327
// Add node name
4328
var nname = EscapeHtml(node.name);
4322
- if (nname.length == 0) { nname = '<i>' + "None" + '</i>'; }
4329
+ if (nname.length == 0) { nname = '<i>' + "Aucun" + '</i>'; }
4330
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>'; }
4331
nname += '<span style=color:#AAA;font-size:small> - ' + EscapeHtml(mesh.name) + '</span>';
4332
QH('p10deviceName', nname);
@@ -4347,7 +4354,7 @@
4354
if (node.host) {
4355
x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer>' + EscapeHtml(node.host) + '</span>');
4356
} else {
4350
- x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer><i>' + "None" + '</i></span>');
4357
+ x += addDeviceAttribute("Hostname", '<span onclick=showEditNodeValueDialog(1) style=cursor:pointer><i>' + "Aucun" + '</i></span>');
4358
}
4359
} else {
4360
x += addDeviceAttribute("Hostname", EscapeHtml(node.host));
@@ -4355,7 +4362,7 @@
4362
}
4363
4364
// Attribute: Description
4358
- var description = node.desc?EscapeHtml(node.desc):('<i>' + "None" + '</i>');
4365
+ var description = node.desc?EscapeHtml(node.desc):('<i>' + "Aucun" + '</i>');
4366
if ((meshrights & 4) != 0) {
4367
x += addDeviceAttribute("Description", '<span onclick=showEditNodeValueDialog(2) style=cursor:pointer>' + description + ' <img class=hoverButton src="images/link5.png" /></span>');
4368
} else {
@@ -4461,7 +4468,7 @@
4468
}
4469
4470
// Node grouping tags
4464
- var groupingTags = '<i>' + "None" + '</i>';
4471
+ var groupingTags = '<i>' + "Aucun" + '</i>';
4472
if (node.tags != null) { groupingTags = ''; for (var i in node.tags) { groupingTags += '<span class="tagSpan">' + node.tags[i] + '</span>'; } }
4473
if ((meshrights & 4) != 0) {
4474
x += addDeviceAttribute('Tags', '<span onclick=showEditNodeValueDialog(3) style=cursor:pointer>' + groupingTags + ' <img class=hoverButton src="images/link5.png" /></span>');
@@ -4472,7 +4479,7 @@
4479
x += '</table><br />';
4480
// Show action button, only show if we have permissions 4, 8, 64
4481
if ((meshrights & 76) != 0) { x += '<input type=button value=\"' + "Actions" + '\" title=\"' + "Effectuer des actions d'alimentation sur le périphérique" + '\" onclick=deviceActionFunction() />'; }
4475
- x += '<input type=button value=\"' + "Notes" + '\" title=\"' + "View notes about this device" + '\" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponent(node._id) + '") />';
4482
+ x += '<input type=button value=\"' + "Remarques" + '\" title=\"' + "View notes about this device" + '\" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponent(node._id) + '") />';
4483
x += '<input type=button value=\"' + "Log Event" + '\" title=\"' + "Écrire un événement pour ce périphérique" + '\" onclick=writeDeviceEvent("' + encodeURIComponent(node._id) + '") />';
4484
//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() />'; }
4485
QH('p10html', x);
@@ -4514,7 +4521,7 @@
4521
if ((connectivity & 2) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel® AMT connected" + '\">' + "Intel® AMT connected" + '</span>'; }
4522
else if ((connectivity & 4) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "Intel® AMT detected" + '\">' + "Intel® AMT detected" + '</span>'; }
4523
if ((connectivity & 16) != 0) { if (powerstate.length > 0) { powerstate += '<br/>'; } powerstate += '<span style=font-size:12px title=\"' + "MQTT connected" + '\">' + "MQTT channel connected" + '</span>'; }
4517
- if ((powerstate == '') && node.lastconnect) { powerstate = '<span style=font-size:12px>' + "Last seen:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>'; }
4524
+ if ((powerstate == '') && node.lastconnect) { powerstate = '<span style=font-size:12px>' + "Dernière connexion:" + '<br />' + printDateTime(new Date(node.lastconnect)) + '</span>'; }
4525
QH('MainComputerState', powerstate);
4526
4527
// Set the node icon
@@ -4606,7 +4613,7 @@
4613
4614
function showNotes(readonly, noteid) {
4615
if (xxdialogMode) return;
4609
- setDialogMode(2, "Notes", 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);
4616
+ setDialogMode(2, "Remarques", 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);
4617
meshserver.send({ action: 'getNotes', id: decodeURIComponent(noteid) });
4618
}
4619
@@ -4655,7 +4662,7 @@
4662
var x = "Select an operation to perform on this device." + '<br /><br />';
4663
var y = '<select id=d2deviceop style=float:right;width:250px>';
4664
if ((meshrights & 64) != 0) { y += '<option value=100>' + "Wake-up" + '</option>'; } // Wake-up permission
4658
- if ((meshrights & 8) != 0) { y += '<option value=4>' + "Dormir" + '</option><option value=3>' + "Réinitialiser" + '</option><option value=2>' + "Éteindre" + '</option>'; } // Remote control permission
4665
+ if ((meshrights & 8) != 0) { y += '<option value=4>' + "Endormir" + '</option><option value=3>' + "Réinitialiser" + '</option><option value=2>' + "Éteindre" + '</option>'; } // Remote control permission
4666
if ((currentNode.conn & 16) != 0) { y += '<option value=103>' + "Envoyer un Message MQTT" + '</option>'; }
4667
if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += '<option value=104>' + "Uninstall Agent" + '</option>'; }
4668
y += '</select>';
@@ -4773,7 +4780,7 @@
4780
if ((meshrights & 4) == 0) return;
4781
x += addHtmlValue("Nom d'utilisateur", '<input id=dp10username style=width:230px maxlength=32 autocomplete=nope placeholder="admin" onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
4782
x += addHtmlValue("Mot de passe", '<input id=dp10password type=password style=width:230px autocomplete=nope maxlength=32 onchange=validateDeviceAmtSettings() onkeyup=validateDeviceAmtSettings() />');
4776
- x += addHtmlValue("Sécurité", '<select id=dp10tls style=width:236px><option value=0>' + "No TLS security" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
4783
+ x += addHtmlValue("Sécurité", '<select id=dp10tls style=width:236px><option value=0>' + "Pas de sécurité TLS" + '</option><option value=1>' + "Sécurité TLS requise" + '</option></select>');
4784
if ((node.intelamt.user != null) && (node.intelamt.user != '')) { buttons = 7; }
4785
setDialogMode(2, "Edit Intel® AMT credentials", buttons, editDeviceAmtSettingsEx, x, { node: node, func: func, arg: arg });
4786
if ((node.intelamt.user != null) && (node.intelamt.user != '')) { Q('dp10username').value = node.intelamt.user; } else { Q('dp10username').value = 'admin'; }
@@ -4934,7 +4941,7 @@
4941
// Show network interfaces
4942
function p10showNodeNetInfoDialog() {
4943
if (xxdialogMode) return false;
4937
- setDialogMode(2, "Network Interfaces", 1, null, '<div id=d2netinfo>' + "Loading..." + '</div>', 'if' + currentNode._id );
4944
+ setDialogMode(2, "Interfaces réseau", 1, null, '<div id=d2netinfo>' + "Chargement..." + '</div>', 'if' + currentNode._id );
4945
meshserver.send({ action: 'getnetworkinfo', nodeid: currentNode._id });
4946
return false;
4947
}
@@ -4970,7 +4977,7 @@
4977
if (mode == 0) { x += addHtmlValue('Action File', '<a href="meshagents?meshaction=generic" download>MeshAction (.txt)</a>'); }
4978
if (mode == 1) { x += addHtmlValue('Action File', '<a href="meshagents?meshaction=route&nodeid=' + nodeid + '" download>MeshAction (.txt)</a>'); }
4979
x += '</div>';
4973
- setDialogMode(2, [ "Download MeshCmd", "Network Router" ][mode], 9, null, x, 'fileDownload');
4980
+ setDialogMode(2, [ "Download MeshCmd", "Routeur réseau" ][mode], 9, null, x, 'fileDownload');
4981
meshCmdOsClick();
4982
}
4983
@@ -5000,7 +5007,7 @@
5007
x += '<div tabindex=0 style=display:inline-block class=i4 onclick=p10setIcon(4) onkeypress="if (event.key==\'Enter\') p10setIcon(4)"></div>';
5008
x += '<div tabindex=0 style=display:inline-block class=i5 onclick=p10setIcon(5) onkeypress="if (event.key==\'Enter\') p10setIcon(5)"></div>';
5009
x += '<div tabindex=0 style=display:inline-block class=i6 onclick=p10setIcon(6) onkeypress="if (event.key==\'Enter\') p10setIcon(6)"></div><br><br>';
5003
- setDialogMode(2, "Icon Selection", 0, null, x);
5010
+ setDialogMode(2, "Sélection de l'icôn", 0, null, x);
5011
QV('id_dialogclose', true);
5012
}
5013
@@ -5350,7 +5357,7 @@
5357
if (xxdialogMode) return;
5358
applyDesktopSettings();
5359
updateDesktopButtons();
5353
- setDialogMode(7, "Remote Desktop Settings", 3, showDesktopSettingsChanged);
5360
+ setDialogMode(7, "Paramètres du bureau à distance", 3, showDesktopSettingsChanged);
5361
}
5362
5363
function showDesktopSettingsChanged() {
@@ -5417,13 +5424,13 @@
5424
function deskToggleFull(e) {
5425
fullscreen = !fullscreen;
5426
if (fullscreen) {
5420
- QC('body').add("fulldesk");
5427
+ QC('body').add('fulldesk');
5428
QS('deskarea3x')['height'] = '100%';
5429
QS('deskarea3x')['max-height'] = '100%';
5430
// If shift is pressed, enter browser full screen.
5431
if (e.shiftKey == true) { enterBrowserFullscreen(Q('deskarea0')); browserfullscreen = true; }
5432
} else {
5426
- QC('body').remove("fulldesk");
5433
+ QC('body').remove('fulldesk');
5434
QS('deskarea3x')['height'] = null;
5435
QS('deskarea3x')['max-height'] = null;
5436
if (browserfullscreen == true) { exitBrowserFullscreen(); browserfullscreen = false; }
@@ -5434,7 +5441,7 @@
5441
5442
function deskToggleFocus() {
5443
desktop.m.focusmode = (desktop.m.focusmode + 64) % 192;
5437
- Q('deskFocusBtn').value = ["All Focus", "Small Focus", "Large Focus"][desktop.m.focusmode / 64];
5444
+ Q('deskFocusBtn').value = ["All Focus", "Small Focus", "Grande mise au point"][desktop.m.focusmode / 64];
5445
}
5446
5447
function deskAdjust() {
@@ -5592,7 +5599,7 @@
5599
Q('DeskType').blur();
5600
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>';
5601
x += '<textarea id=d2typeText style="margin-top:5px;width:100%;height:184px;resize:none" maxlength=2000></textarea>';
5595
- setDialogMode(2, "Remote Keyboard Entry", 3, showDeskTypeEx, x);
5602
+ setDialogMode(2, "Entrée au clavier à distance", 3, showDeskTypeEx, x);
5603
Q('d2typeText').focus();
5604
}
5605
@@ -5643,8 +5650,8 @@
5650
x += '<input id=dlgClipSet type=button value="Set Clipboard" style=width:120px onclick=showDeskClipSet()>';
5651
x += '<div id=dlgClipStatus style="display:inline-block;margin-left:8px" ></div>';
5652
x += '<textarea id=d2clipText style="width:100%;height:184px;resize:none" maxlength=65535></textarea>';
5646
- 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>' + "Remote clipboard is valid for 60 seconds." + '</span> </div><div></div>';
5647
- setDialogMode(2, "Remote Clipboard", 8, null, x, 'clipboard');
5653
+ 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>' + "Le presse-papier à distance est valide pendant 60 secondes." + '</span> </div><div></div>';
5654
+ setDialogMode(2, "Presse-papier à distance", 8, null, x, 'clipboard');
5655
Q('d2clipText').focus();
5656
}
5657
@@ -5776,7 +5783,7 @@
5783
if (service.status.isSharedProcess === true) { serviceTypes.push("SharedProcess"); }
5784
if (serviceTypes.length > 0) { x += addHtmlValue("Type", serviceTypes.join(', ')); }
5785
}
5779
- 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=\"' + "Arrêtez" + '\" onclick=showServiceDetailsDialogEx(2,' + index + ')><input type=button value=\"' + "Redémarrer" + '\" onclick=showServiceDetailsDialogEx(3,' + index + ')></div>';
5786
+ 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=\"' + "Lancé" + '\" onclick=showServiceDetailsDialogEx(1,' + index + ')><input type=button value=\"' + "Arrêtez" + '\" onclick=showServiceDetailsDialogEx(2,' + index + ')><input type=button value=\"' + "Redémarrer" + '\" onclick=showServiceDetailsDialogEx(3,' + index + ')></div>';
5787
setDialogMode(2, "Service Details", 8, null, x, name);
5788
}
5789
}
@@ -6018,7 +6025,7 @@
6025
function showTermPasteDialog() {
6026
if (!terminal || xxdialogMode) return;
6027
Q('pastebutton').blur();
6021
- setDialogMode(2, "Paste", 3, showTermPasteDialogEx, '<textarea id=d2pasteText style="width:100%;height:184px;resize:none"></textarea>');
6028
+ setDialogMode(2, "Coller", 3, showTermPasteDialogEx, '<textarea id=d2pasteText style="width:100%;height:184px;resize:none"></textarea>');
6029
Q('d2pasteText').focus();
6030
}
6031
@@ -6152,7 +6159,7 @@
6159
}
6160
6161
function p13updateFiles(checkedNames) {
6155
- var html1 = '', html2 = '', displayPath = '<a href=# style=cursor:pointer onclick="return p13folderup(0)">' + "Root" + '</a>', fullPath = 'Root';
6162
+ var html1 = '', html2 = '', displayPath = '<a href=# style=cursor:pointer onclick="return p13folderup(0)">' + "Racine" + '</a>', fullPath = 'Root';
6163
6164
// Work on parsing the file path
6165
var x = p13filetree.path.split('\\');
@@ -6269,7 +6276,7 @@
6276
function p13selectallfile() { var nv = (p13getFileSelCount() == 0), checkboxes = document.getElementsByName('fd'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = nv; } p13setActions(); }
6277
function p13createfolder() { setDialogMode(2, "Nouveau Dossier", 3, p13createfolderEx, '<input type=text id=p13renameinput maxlength=64 onkeyup=p13fileNameCheck(event) style=width:100% />'); focusTextBox('p13renameinput'); p13fileNameCheck(); }
6278
function p13createfolderEx() { files.sendText({ action: 'mkdir', reqid: 1, path: p13filetreelocation.join('/') + '/' + Q('p13renameinput').value }); p13folderup(999); }
6272
- 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, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
6279
+ function p13deletefile() { var cc = p13getFileSelCount(), rec = (p13getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p13recdeleteinput>' + "Suppression récursive" + '</label><br>' : '<input type=checkbox id=p13recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Delete", 3, p13deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
6280
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); }
6281
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, "Renommer", 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(); }
6282
function p13renamefileEx(b, t) { t.newname = Q('p13renameinput').value; files.sendText(t); p13folderup(999); }
@@ -6283,7 +6290,7 @@
6290
if (checkboxes[i].checked) {
6291
if (p13filetree.dir[checkboxes[i].value].s <= 204800) {
6292
p13downloadfile(encodeURIComponent(p13filetreelocation.join('/') + '/' + p13filetree.dir[checkboxes[i].value].n), encodeURIComponent(p13filetree.dir[checkboxes[i].value].n), p13filetree.dir[checkboxes[i].value].s, 'viewer');
6286
- } else { messagebox("File Editor", "Only files less than 200k can be edited."); }
6293
+ } else { messagebox("Éditeur de fichier", "Only files less than 200k can be edited."); }
6294
break;
6295
}
6296
}
@@ -6300,7 +6307,7 @@
6307
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?"); }
6308
}
6309
}
6303
- setDialogMode(2, "Paste", 3, p13pasteFileEx, x);
6310
+ setDialogMode(2, "Coller", 3, p13pasteFileEx, x);
6311
}
6312
function p13pasteFileEx() { files.sendText({ action: (p13clipboardCut == 0?'copy':'move'), reqid: 1, scpath: p13clipboardFolder, dspath: p13targetpath, names: p13clipboard }); p13folderup(999); if (p13clipboardCut == 1) { p13clipboard = null, p13clipboardFolder = null, p13clipboardCut = 0; p13updateClipview(); } }
6313
function p13updateClipview() {
@@ -6716,7 +6723,7 @@
6723
var samenode = (consoleNode == 'server');
6724
consoleNode = 'server';
6725
6719
- QH('p15deviceName', "My Server Console");
6726
+ QH('p15deviceName', "Console de mon serveur");
6727
QE('p15consoleText', true);
6728
QH('p15statetext', '');
6729
QH('p15coreName', '');
@@ -6835,7 +6842,7 @@
6842
if (e.shiftKey == true) { meshserver.send({ action: 'uploadagentcore', nodeid: consoleNode._id, type: 'default' }); } // Upload default core
6843
else if (e.altKey == true) { meshserver.send({ action: 'uploadagentcore', nodeid: consoleNode._id, type: 'clear' }); } // Clear the core
6844
else if (e.ctrlKey == true) { p15uploadCore2(); } // Upload the core from a file
6838
- else { setDialogMode(2, "Perform Agent Action", 3, p15uploadCoreEx, addHtmlValue("Action", '<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>')); }
6845
+ else { setDialogMode(2, "Effectuer une action sur l'agent", 3, p15uploadCoreEx, addHtmlValue("Action", '<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>' + "Déconnexion forcée de l'agent" + '</option></select>')); }
6846
}
6847
6848
function p15uploadCoreEx() {
@@ -6894,7 +6901,7 @@
6901
6902
function account_addOtp() {
6903
if (xxdialogMode || (userinfo.otpsecret == 1) || ((features & 4096) == 0)) return;
6897
- setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, ('<div id=d2optinfo>' + "Loading..." + '</div>'), 'otpauth-request');
6904
+ setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, ('<div id=d2optinfo>' + "Chargement..." + '</div>'), 'otpauth-request');
6905
meshserver.send({ action: 'otpauth-request' });
6906
}
6907
@@ -6926,10 +6933,10 @@
6933
function account_addhkey(type) {
6934
if (type == 3) {
6935
var x = "Type in the name of the key to add." + '<br /><br />';
6929
- x += addHtmlValue("Key Name", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,2) />');
6936
+ x += addHtmlValue("Nom de la clé", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MaClé" + '" onkeyup=account_addhkeyValidate(event,2) />');
6937
} else if (type == 2) {
6938
var x = "Type in a key name, select the OTP box and press the button on the YubiKey™." + '<br /><br />';
6932
- x += addHtmlValue("Key Name", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MyKey" + '" onkeyup=account_addhkeyValidate(event,1) />');
6939
+ x += addHtmlValue("Nom de la clé", '<input id=dp1keyname style=width:230px maxlength=20 autocomplete=off placeholder="' + "MaClé" + '" onkeyup=account_addhkeyValidate(event,1) />');
6940
x += addHtmlValue("YubiKey™ OTP", '<input id=dp1key style=width:230px autocomplete=off onkeyup=account_addhkeyValidate(event,2) />');
6941
}
6942
setDialogMode(2, "Ajouter une clé de sécurité", 3, account_addhkeyEx, x, type);
@@ -6956,7 +6963,7 @@
6963
meshserver.send({ action: 'otp-hkey-get' });
6964
}
6965
6959
- var loclist = { 'af': "Afrikaans", 'sq': "Albanian", 'ar': "Arabic (Standard)", 'ar-dz': "Arabic (Algeria)", 'ar-bh': "Arabic (Bahrain)", 'ar-eg': "Arabic (Egypt)", 'ar-iq': "Arabic (Iraq)", 'ar-jo': "Arabic (Jordan)", 'ar-kw': "Arabic (Kuwait)", 'ar-lb': "Arabic (Lebanon)", 'ar-ly': "Arabic (Libya)", 'ar-ma': "Arabic (Morocco)", 'ar-om': "Arabic (Oman)", 'ar-qa': "Arabic (Qatar)", 'ar-sa': "Arabic (Saudi Arabia)", 'ar-sy': "Arabic (Syria)", 'ar-tn': "Arabic (Tunisia)", 'ar-ae': "Arabic (U.A.E.)", 'ar-ye': "Arabic (Yemen)", 'an': "Aragonese", 'hy': "Armenian", 'as': "Assamese", 'ast': "Asturian", 'az': "Azerbaijani", 'eu': "Basque", 'bg': "Bulgarian", 'be': "Belarusian", 'bn': "Bengali", 'bs': "Bosnian", 'br': "Breton", 'my': "Burmese", 'ca': "Catalan", 'ch': "Chamorro", 'ce': "Chechen", 'zh': "Chinese", 'zh-hk': "Chinese (Hong Kong)", 'zh-cn': "Chinese (PRC)", 'zh-sg': "Chinese (Singapore)", 'zh-tw': "Chinese (Taiwan)", 'cv': "Chuvash", 'co': "Corsican", 'cr': "Cree", 'hr': "Croatian", 'cs': "Czech", 'da': "Danish", 'nl': "Dutch (Standard)", 'nl-be': "Dutch (Belgian)", 'en': "English", 'en-au': "English (Australia)", 'en-bz': "English (Belize)", 'en-ca': "English (Canada)", 'en-ie': "English (Ireland)", 'en-jm': "English (Jamaica)", 'en-nz': "English (New Zealand)", 'en-ph': "English (Philippines)", 'en-za': "English (South Africa)", 'en-tt': "English (Trinidad & Tobago)", 'en-gb': "English (United Kingdom)", 'en-us': "English (United States)", 'en-zw': "English (Zimbabwe)", 'eo': "Esperanto", 'et': "Estonian", 'fo': "Faeroese", 'fa': "Farsi (Persian)", 'fj': "Fijian", 'fi': "Finnish", 'fr': "French (Standard)", 'fr-be': "French (Belgium)", 'fr-ca': "French (Canada)", 'fr-fr': "French (France)", 'fr-lu': "French (Luxembourg)", 'fr-mc': "French (Monaco)", 'fr-ch': "French (Switzerland)", 'fy': "Frisian", 'fur': "Friulian", 'gd': "Gaelic (Scots)", 'gd-ie': "Gaelic (Irish)", 'gl': "Galacian", 'ka': "Georgian", 'de': "German (Standard)", 'de-at': "German (Austria)", 'de-de': "German (Germany)", 'de-li': "German (Liechtenstein)", 'de-lu': "German (Luxembourg)", 'de-ch': "German (Switzerland)", 'el': "Greek", 'gu': "Gujurati", 'ht': "Haitian", 'he': "Hebrew", 'hi': "Hindi", 'hu': "Hungarian", 'is': "Icelandic", 'id': "Indonesian", 'iu': "Inuktitut", 'ga': "Irish", 'it': "Italian (Standard)", 'it-ch': "Italian (Switzerland)", 'ja': "Japanese", 'kn': "Kannada", 'ks': "Kashmiri", 'kk': "Kazakh", 'km': "Khmer", 'ky': "Kirghiz", 'tlh': "Klingon", 'ko': "Korean", 'ko-kp': "Korean (North Korea)", 'ko-kr': "Korean (South Korea)", 'la': "Latin", 'lv': "Latvian", 'lt': "Lithuanian", 'lb': "Luxembourgish", 'mk': "FYRO Macedonian", 'ms': "Malay", 'ml': "Malayalam", 'mt': "Maltese", 'mi': "Maori", 'mr': "Marathi", 'mo': "Moldavian", 'nv': "Navajo", 'ng': "Ndonga", 'ne': "Nepali", 'no': "Norwegian", 'nb': "Norwegian (Bokmal)", 'nn': "Norwegian (Nynorsk)", 'oc': "Occitan", 'or': "Oriya", 'om': "Oromo", 'fa-ir': "Persian/Iran", 'pl': "Polish", 'pt': "Portuguese", 'pt-br': "Portuguese (Brazil)", 'pa': "Punjabi", 'pa-in': "Punjabi (India)", 'pa-pk': "Punjabi (Pakistan)", 'qu': "Quechua", 'rm': "Rhaeto-Romanic", 'ro': "Romanian", 'ro-mo': "Romanian (Moldavia)", 'ru': "Russian", 'ru-mo': "Russian (Moldavia)", 'sz': "Sami (Lappish)", 'sg': "Sango", 'sa': "Sanskrit", 'sc': "Sardinian", 'sd': "Sindhi", 'si': "Singhalese", 'sr': "Serbian", 'sk': "Slovak", 'sl': "Slovenian", 'so': "Somani", 'sb': "Sorbian", 'es': "Espagnol", 'es-ar': "Spanish (Argentina)", 'es-bo': "Spanish (Bolivia)", 'es-cl': "Spanish (Chile)", 'es-co': "Spanish (Colombia)", 'es-cr': "Spanish (Costa Rica)", 'es-do': "Spanish (Dominican Republic)", 'es-ec': "Spanish (Ecuador)", 'es-sv': "Spanish (El Salvador)", 'es-gt': "Spanish (Guatemala)", 'es-hn': "Spanish (Honduras)", 'es-mx': "Spanish (Mexico)", 'es-ni': "Spanish (Nicaragua)", 'es-pa': "Spanish (Panama)", 'es-py': "Spanish (Paraguay)", 'es-pe': "Spanish (Peru)", 'es-pr': "Spanish (Puerto Rico)", 'es-es': "Spanish (Spain)", 'es-uy': "Spanish (Uruguay)", 'es-ve': "Spanish (Venezuela)", 'sx': "Sutu", 'sw': "Swahili", 'sv': "Swedish", 'sv-fi': "Swedish (Finland)", 'sv-sv': "Swedish (Sweden)", 'ta': "Tamil", 'tt': "Tatar", 'te': "Teluga", 'th': "Thai", 'tig': "Tigre", 'ts': "Tsonga", 'tn': "Tswana", 'tr': "Turkish", 'tk': "Turkmen", 'uk': "Ukrainian", 'hsb': "Upper Sorbian", 'ur': "Urdu", 've': "Venda", 'vi': "Vietnamese", 'vo': "Volapuk", 'wa': "Walloon", 'cy': "Welsh", 'xh': "Xhosa", 'ji': "Yiddish", 'zu': "Zulu" };
6966
+ var loclist = { 'af': "Afrikaans", 'sq': "Albanian", 'ar': "Arabic (Standard)", 'ar-dz': "Arabic (Algeria)", 'ar-bh': "Arabic (Bahrain)", 'ar-eg': "Arabic (Egypt)", 'ar-iq': "Arabic (Iraq)", 'ar-jo': "Arabic (Jordan)", 'ar-kw': "Arabic (Kuwait)", 'ar-lb': "Arabic (Lebanon)", 'ar-ly': "Arabic (Libya)", 'ar-ma': "Arabic (Morocco)", 'ar-om': "Arabic (Oman)", 'ar-qa': "Arabic (Qatar)", 'ar-sa': "Arabic (Saudi Arabia)", 'ar-sy': "Arabic (Syria)", 'ar-tn': "Arabic (Tunisia)", 'ar-ae': "Arabic (U.A.E.)", 'ar-ye': "Arabic (Yemen)", 'an': "Aragonese", 'hy': "Armenian", 'as': "Assamese", 'ast': "Asturian", 'az': "Azerbaijani", 'eu': "Basque", 'bg': "Bulgarian", 'be': "Belarusian", 'bn': "Bengali", 'bs': "Bosnian", 'br': "Breton", 'my': "Burmese", 'ca': "Catalan", 'ch': "Chamorro", 'ce': "Chechen", 'zh': "Chinese", 'zh-hk': "Chinese (Hong Kong)", 'zh-cn': "Chinese (PRC)", 'zh-sg': "Chinese (Singapore)", 'zh-tw': "Chinese (Taiwan)", 'cv': "Chuvash", 'co': "Corsican", 'cr': "Cree", 'hr': "Croatian", 'cs': "Czech", 'da': "Danish", 'nl': "Dutch (Standard)", 'nl-be': "Dutch (Belgian)", 'en': "English", 'en-au': "English (Australia)", 'en-bz': "English (Belize)", 'en-ca': "English (Canada)", 'en-ie': "English (Ireland)", 'en-jm': "English (Jamaica)", 'en-nz': "English (New Zealand)", 'en-ph': "English (Philippines)", 'en-za': "English (South Africa)", 'en-tt': "English (Trinidad & Tobago)", 'en-gb': "Anglais (Royaume Uni)", 'en-us': "Anglais (États Unis)", 'en-zw': "Anglais (Zimbabwe)", 'eo': "Esperanto", 'et': "Estonian", 'fo': "Faeroese", 'fa': "Farsi (Persan)", 'fj': "Fijian", 'fi': "Finlandais", 'fr': "Français (standard)", 'fr-be': "Français (Belgique)", 'fr-ca': "Français (Canada)", 'fr-fr': "Français (France)", 'fr-lu': "Français (Luxembourg)", 'fr-mc': "Français (Monaco)", 'fr-ch': "Français (Suisse)", 'fy': "Frison", 'fur': "Frioulan", 'gd': "Gaélique (écossais)", 'gd-ie': "Gaélique (irlandais)", 'gl': "Galicien", 'ka': "Géorgien", 'de': "German (Standard)", 'de-at': "German (Austria)", 'de-de': "German (Germany)", 'de-li': "German (Liechtenstein)", 'de-lu': "German (Luxembourg)", 'de-ch': "German (Switzerland)", 'el': "Grec", 'gu': "Gujarati", 'ht': "Haïtien", 'he': "Hebrew", 'hi': "Hindi", 'hu': "Hungarian", 'is': "Islandais", 'id': "Indonesian", 'iu': "Inuktitut", 'ga': "Irlandais", 'it': "Italien (standard)", 'it-ch': "Italien (Suisse)", 'ja': "Japonais", 'kn': "Kannada", 'ks': "Kashmiri", 'kk': "Kazakh", 'km': "Khmer", 'ky': "Kirghiz", 'tlh': "Klingon", 'ko': "Coréen", 'ko-kp': "Coréen (Corée du Nord)", 'ko-kr': "Coréen (Corée du Sud)", 'la': "Latin", 'lv': "Latvian", 'lt': "Lituanien", 'lb': "Luxembourgeois", 'mk': "ARY Macédonien", 'ms': "Malay", 'ml': "Malayalam", 'mt': "Maltese", 'mi': "Maori", 'mr': "Marathi", 'mo': "Moldavian", 'nv': "Navajo", 'ng': "Ndonga", 'ne': "Népalais", 'no': "Norvégien", 'nb': "Norvégien (Bokmal)", 'nn': "Norvégien (Nynorsk)", 'oc': "Occitan", 'or': "Oriya", 'om': "Oromo", 'fa-ir': "Persian/Iran", 'pl': "Polish", 'pt': "Portuguese", 'pt-br': "Portuguese (Brazil)", 'pa': "Punjabi", 'pa-in': "Punjabi (India)", 'pa-pk': "Punjabi (Pakistan)", 'qu': "Quechua", 'rm': "Rhaeto-Romanic", 'ro': "Roumain", 'ro-mo': "Roumain (Moldavie)", 'ru': "Russe", 'ru-mo': "Russe (Moldavie)", 'sz': "Sami (Lappish)", 'sg': "Sango", 'sa': "Sanskrit", 'sc': "Sardinian", 'sd': "Sindhi", 'si': "Cingalais", 'sr': "Serbian", 'sk': "Slovaque", 'sl': "Slovène", 'so': "Somani", 'sb': "Sorbian", 'es': "Espagnol", 'es-ar': "Spanish (Argentina)", 'es-bo': "Spanish (Bolivia)", 'es-cl': "Spanish (Chile)", 'es-co': "Spanish (Colombia)", 'es-cr': "Spanish (Costa Rica)", 'es-do': "Spanish (Dominican Republic)", 'es-ec': "Spanish (Ecuador)", 'es-sv': "Spanish (El Salvador)", 'es-gt': "Spanish (Guatemala)", 'es-hn': "Spanish (Honduras)", 'es-mx': "Spanish (Mexico)", 'es-ni': "Spanish (Nicaragua)", 'es-pa': "Spanish (Panama)", 'es-py': "Spanish (Paraguay)", 'es-pe': "Spanish (Peru)", 'es-pr': "Spanish (Puerto Rico)", 'es-es': "Spanish (Spain)", 'es-uy': "Spanish (Uruguay)", 'es-ve': "Spanish (Venezuela)", 'sx': "Sutu", 'sw': "Swahili", 'sv': "Swedish", 'sv-fi': "Swedish (Finland)", 'sv-sv': "Swedish (Sweden)", 'ta': "Tamil", 'tt': "Tatar", 'te': "Teluga", 'th': "Thai", 'tig': "Tigre", 'ts': "Tsonga", 'tn': "Tswana", 'tr': "Turkish", 'tk': "Turkmen", 'uk': "Ukrainian", 'hsb': "Upper Sorbian", 'ur': "Urdu", 've': "Venda", 'vi': "Vietnamien", 'vo': "Volapuk", 'wa': "Walloon", 'cy': "Gallois", 'xh': "Xhosa", 'ji': "Yiddish", 'zu': "Zulu" };
6967
function account_showLocalizationSettings() {
6968
if (xxdialogMode) return false;
6969
var n = getstore('loctag', 0), y = '';
@@ -6971,7 +6978,7 @@
6978
z += '<option value="' + lang + '"' + ((userinfo.lang == lang)?' selected':'') + '>' + lang + ' - ' + loclist[lang] + '</option>';
6979
}
6980
z += '</select>';
6974
- y += addHtmlValue("Language", z);
6981
+ y += addHtmlValue("Langages", z);
6982
}
6983
y += addHtmlValue("Dates & Time", x);
6984
setDialogMode(2, "Localization Settings", 3, account_showLocalizationSettingsEx, y);
@@ -7078,7 +7085,7 @@
7085
x += '<br /><br />';
7086
//x += "<form action='" + domainUrl + "changepassword' method=post>";
7087
x += '<table style=margin-left:60px>';
7081
- x += '<tr><td align=right>' + nobreak("Old password:") + '</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>';
7088
+ x += '<tr><td align=right>' + nobreak("Ancien mot de passe:") + '</td><td><input id=apassword0 type=password name=apassword0 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /> <b></b></td></tr>';
7089
x += '<tr><td align=right>' + nobreak("Nouveau mot de passe:") + '</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>';
7090
x += '<tr><td align=right>' + nobreak("Nouveau mot de passe:") + '</td><td><input id=apassword2 type=password name=apassword2 autocomplete=off onchange=account_validateNewPassword() onkeyup=account_validateNewPassword() onkeydown=account_validateNewPassword() /></td></tr>';
7091
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>'; }
@@ -7204,7 +7211,7 @@
7211
var meshrights = 0;
7212
if (meshes[i].links[userinfo._id]) { meshrights = meshes[i].links[userinfo._id].rights; }
7213
var rights = "Partial Rights";
7207
- if (meshrights == 0xFFFFFFFF) rights = "Full Administrator"; else if (meshrights == 0) rights = "No Rights";
7214
+ if (meshrights == 0xFFFFFFFF) rights = "Administrateur Complet"; else if (meshrights == 0) rights = "No Rights";
7215
7216
// Print the mesh information
7217
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>';
@@ -7242,7 +7249,7 @@
7249
7250
function server_showVersionDlg() {
7251
if (xxdialogMode) return false;
7245
- setDialogMode(2, "MeshCentral Version", 1, null, "Loading...", 'MeshCentralServerUpdate');
7252
+ setDialogMode(2, "MeshCentral Version", 1, null, "Chargement...", 'MeshCentralServerUpdate');
7253
meshserver.send({ action: 'serverversion' });
7254
return false;
7255
}
@@ -7252,7 +7259,7 @@
7259
7260
function server_showErrorsDlg() {
7261
if (xxdialogMode) return false;
7255
- setDialogMode(2, "MeshCentral Errors", 1, null, "Loading...", 'MeshCentralServerErrors');
7262
+ setDialogMode(2, "MeshCentral Errors", 1, null, "Chargement...", 'MeshCentralServerErrors');
7263
meshserver.send({ action: 'servererrors' });
7264
return false;
7265
}
@@ -7276,7 +7283,7 @@
7283
7284
var x = '';
7285
x += addHtmlValue("Nom", addLinkConditional(EscapeHtml(currentMesh.name), 'p20editmesh(1)', (meshrights & 1) != 0));
7279
- x += addHtmlValue("Description", addLinkConditional(((currentMesh.desc && currentMesh.desc != '')?EscapeHtml(currentMesh.desc):('<i>' + "None" + '</i>')), 'p20editmesh(2)', (meshrights & 1) != 0));
7286
+ x += addHtmlValue("Description", addLinkConditional(((currentMesh.desc && currentMesh.desc != '')?EscapeHtml(currentMesh.desc):('<i>' + "Aucun" + '</i>')), 'p20editmesh(2)', (meshrights & 1) != 0));
7287
7288
// Display group type
7289
x += addHtmlValue("Type", meshtype);
@@ -7290,7 +7297,7 @@
7297
if (currentMesh.flags & 2) { meshFeatures.push("Hostname Sync"); }
7298
}
7299
meshFeatures = meshFeatures.join(', ');
7293
- if (meshFeatures == '') { meshFeatures = '<i>' + "None" + '</i>'; }
7300
+ if (meshFeatures == '') { meshFeatures = '<i>' + "Aucun" + '</i>'; }
7301
x += addHtmlValue("Features", addLinkConditional(meshFeatures, 'p20editmeshfeatures()', meshrights & 1));
7302
}
7303
@@ -7307,8 +7314,8 @@
7314
if ((consent & 56) == 56) { meshFeatures = ["Always Prompt"]; }
7315
7316
meshFeatures = meshFeatures.join(', ');
7310
- if (meshFeatures == '') { meshFeatures = '<i>' + "None" + '</i>'; }
7311
- x += addHtmlValue("User Consent", addLinkConditional(meshFeatures, 'p20editmeshconsent()', meshrights & 1));
7317
+ if (meshFeatures == '') { meshFeatures = '<i>' + "Aucun" + '</i>'; }
7318
+ x += addHtmlValue("Consentement de l'utilisateur", addLinkConditional(meshFeatures, 'p20editmeshconsent()', meshrights & 1));
7319
}
7320
7321
// Display user consent
@@ -7317,7 +7324,7 @@
7324
if (meshNotify & 2) { meshNotifyStr.push("Connect"); }
7325
if (meshNotify & 4) { meshNotifyStr.push("Disconnect"); }
7326
if (meshNotify & 8) { meshNotifyStr.push("Intel® AMT"); }
7320
- if (meshNotifyStr.length == 0) { meshNotifyStr.push('<i>' + "None" + '</i>'); }
7327
+ if (meshNotifyStr.length == 0) { meshNotifyStr.push('<i>' + "Aucun" + '</i>'); }
7328
x += addHtmlValue("Notifications", addLink(meshNotifyStr.join(', '), 'p20editMeshNotify()'));
7329
7330
// Intel AMT setup
@@ -7335,7 +7342,7 @@
7342
x += addHtmlValue("Intel® AMT", addLinkConditional(intelAmtPolicy, 'p20editMeshAmt()', meshrights & 1));
7343
7344
// Display group note support
7338
- if (meshrights & 1) { x += '<br><input type=button value=' + "Notes" + ' title=\"' + "View notes about this device group" + '\" onclick=showNotes(false,"' + encodeURIComponent(currentMesh._id) + '") />'; }
7345
+ if (meshrights & 1) { x += '<br><input type=button value=' + "Remarques" + ' title=\"' + "View notes about this device group" + '\" onclick=showNotes(false,"' + encodeURIComponent(currentMesh._id) + '") />'; }
7346
7347
x += '<br style=clear:both><br>';
7348
var currentMeshLinks = currentMesh.links[userinfo._id];
@@ -7343,7 +7350,7 @@
7350
7351
if ((meshrights & 4) != 0) {
7352
if (currentMesh.mtype == 1) {
7346
- x += '<a href=# onclick=\'return addCiraDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new Intel® AMT computer that is located on the internet." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Install CIRA" + '</a>';
7353
+ x += '<a href=# onclick=\'return addCiraDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new Intel® AMT computer that is located on the internet." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Installer CIRA" + '</a>';
7354
x += '<a href=# onclick=\'return addDeviceToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new Intel® AMT computer that is located on the local network." + '\"><img src=images/icon-installmesh.png border=0 height=12 width=12> ' + "Install local" + '</a>';
7355
if (currentMesh.amt && (currentMesh.amt.type == 2)) { // CCM activation
7356
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> ' + "Activation" + '</a>';
@@ -7352,7 +7359,7 @@
7359
}
7360
}
7361
if (currentMesh.mtype == 2) {
7355
- x += '<a href=# onclick=\'return addAgentToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new computer to this mesh by installing the mesh agent." + '\"><img src=images/icon-addnew.png border=0 height=12 width=12> ' + "Install" + '</a>';
7362
+ x += '<a href=# onclick=\'return addAgentToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Add a new computer to this mesh by installing the mesh agent." + '\"><img src=images/icon-addnew.png border=0 height=12 width=12> ' + "Installer" + '</a>';
7363
x += '<a href=# onclick=\'return inviteAgentToMesh(\"' + currentMesh._id + '\")\' style=cursor:pointer;margin-right:10px title=\"' + "Invitez quelqu'un à installer l'agent de maillage sur ce maillage." + '\"><img src=images/icon-addnew.png border=0 height=12 width=12> ' + "Inviter" + '</a>';
7364
}
7365
}
@@ -7372,9 +7379,9 @@
7379
// Display all users for this mesh
7380
for (var i in sortedusers) {
7381
var trash = '', rights = "Partial Rights", r = sortedusers[i].rights;
7375
- if (r == 0xFFFFFFFF) rights = "Full Administrator"; else if (r == 0) rights = "No Rights";
7382
+ if (r == 0xFFFFFFFF) rights = "Administrateur Complet"; else if (r == 0) rights = "No Rights";
7383
if ((sortedusers[i].id != userinfo._id) && (meshrights == 0xFFFFFFFF || (((meshrights & 2) != 0)))) { trash = '<a href=# onclick=\'return p20deleteUser(event,"' + encodeURIComponent(sortedusers[i].id) + '")\' title=\"' + "Supprimer les droits d'utilisateur sur ce groupe de périphériques" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
7377
- 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> ' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
7384
+ 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=\"' + "Utilisateur" + '\" class=m2></div><div> ' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
7385
++count;
7386
}
7387
@@ -7500,15 +7507,15 @@
7507
if (xxdialogMode) return;
7508
var x = '', consent = (currentMesh.consent) ? currentMesh.consent : 0;
7509
x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px"><b>' + "Desktop" + '</b></div>';
7503
- x += '<div><label><input type=checkbox id=d20flag1 ' + ((consent & 0x0001) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
7504
- x += '<div><label><input type=checkbox id=d20flag2 ' + ((consent & 0x0008) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
7505
- x += '<div><label><input type=checkbox id=d20flag7 ' + ((consent & 0x0040) ? 'checked' : '') + '>' + "Show connection toolbar" + '</label></div>';
7510
+ x += '<div><label><input type=checkbox id=d20flag1 ' + ((consent & 0x0001) ? 'checked' : '') + '>' + "Notifier l'utilisateur" + '</label></div>';
7511
+ x += '<div><label><input type=checkbox id=d20flag2 ' + ((consent & 0x0008) ? 'checked' : '') + '>' + "Demander le consentement de l'utilisateur" + '</label></div>';
7512
+ x += '<div><label><input type=checkbox id=d20flag7 ' + ((consent & 0x0040) ? 'checked' : '') + '>' + "Afficher la barre d'outils de connexion" + '</label></div>';
7513
x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Terminal" + '</b></div>';
7507
- x += '<div><label><input type=checkbox id=d20flag3 ' + ((consent & 0x0002) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
7508
- x += '<div><label><input type=checkbox id=d20flag4 ' + ((consent & 0x0010) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
7509
- x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Files" + '</b></div>';
7510
- x += '<div><label><input type=checkbox id=d20flag5 ' + ((consent & 0x0004) ? 'checked' : '') + '>' + "Notify user" + '</label></div>';
7511
- x += '<div><label><input type=checkbox id=d20flag6 ' + ((consent & 0x0020) ? 'checked' : '') + '>' + "Prompt for user consent" + '</label></div>';
7514
+ x += '<div><label><input type=checkbox id=d20flag3 ' + ((consent & 0x0002) ? 'checked' : '') + '>' + "Notifier l'utilisateur" + '</label></div>';
7515
+ x += '<div><label><input type=checkbox id=d20flag4 ' + ((consent & 0x0010) ? 'checked' : '') + '>' + "Demander le consentement de l'utilisateur" + '</label></div>';
7516
+ x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:8px"><b>' + "Dossiers" + '</b></div>';
7517
+ x += '<div><label><input type=checkbox id=d20flag5 ' + ((consent & 0x0004) ? 'checked' : '') + '>' + "Notifier l'utilisateur" + '</label></div>';
7518
+ x += '<div><label><input type=checkbox id=d20flag6 ' + ((consent & 0x0020) ? 'checked' : '') + '>' + "Demander le consentement de l'utilisateur" + '</label></div>';
7519
setDialogMode(2, "Edit Device Group User Consent", 3, p20editmeshconsentEx, x);
7520
if (serverinfo.consent) {
7521
if (serverinfo.consent & 0x0001) { Q('d20flag1').checked = true; }
@@ -7562,7 +7569,7 @@
7569
x += "Autoriser les utilisateurs à gérer ce groupe et les périphériques de ce groupe.";
7570
if (features & 0x00080000) { x += "Les utilisateurs doivent se connecter une fois sur ce serveur avant de pouvoir être ajoutés à un groupe de périphériques.." }
7571
x += '<br /><br /><div style=\'position:relative\'>';
7565
- x += addHtmlValue("User Names", '<input id=dp20username style=width:230px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() placeholder="user1, user2, user3" />');
7572
+ x += addHtmlValue("Noms", '<input id=dp20username style=width:230px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() placeholder="user1, user2, user3" />');
7573
x += '<div id=dp20usersuggest class=suggestionBox style=\'top:30px;left:130px;display:none\'></div>';
7574
x += '</div><br>';
7575
} else {
@@ -7570,14 +7577,14 @@
7577
var uname = userid.split('/')[2];
7578
if (users && users[userid]) { uname = users[userid].name; }
7579
if (userinfo._id == userid) { uname = userinfo.name; }
7573
- x += format("Group permissions for user {0}.", uname) + '<br /><br />';
7580
+ x += format("Autorisations de groupe pour l'utilisateur {0}.", uname) + '<br /><br />';
7581
}
7582
x += '<div style="height:120px;overflow-y:scroll;border:1px solid gray">';
7576
- x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>' + "Full Administrator" + '</label><br>';
7583
+ x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20fulladmin>' + "Administrateur Complet" + '</label><br>';
7584
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20editmesh>' + "Edit Device Group" + '</label><br>';
7585
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20manageusers>' + "Manage Device Group Users" + '</label><br>';
7586
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20managecomputers>' + "Manage Device Group Computers" + '</label><br>';
7580
- x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Remote Control" + '</label><br>';
7587
+ x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotecontrol>' + "Télécommande" + '</label><br>';
7588
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remoteview style=margin-left:12px>' + "Remote View Only" + '</label><br>';
7589
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20remotelimitedinput style=margin-left:12px>' + "Limited Input Only" + '</label><br>';
7590
x += '<label><input type=checkbox onchange=p20validateAddMeshUserDialog() id=p20noterminal style=margin-left:12px>' + "No Terminal Access" + '</label><br>';
@@ -7727,15 +7734,15 @@
7734
p20showAddMeshUserDialog(userid);
7735
} else {
7736
var r = [];
7730
- if (meshrights == 0xFFFFFFFF) r.push("Full Administrator (all rights)"); else {
7737
+ if (meshrights == 0xFFFFFFFF) r.push("Administrateur Complet (tous droits)"); else {
7738
if ((meshrights & 1) != 0) r.push("Edit Device Group");
7739
if ((meshrights & 2) != 0) r.push("Manage Device Group Users");
7740
if ((meshrights & 4) != 0) r.push("Manage Device Group Computers");
7734
- if ((meshrights & 8) != 0) r.push("Remote Control");
7741
+ if ((meshrights & 8) != 0) r.push("Télécommande");
7742
if ((meshrights & 16) != 0) r.push("Agent Console");
7743
if ((meshrights & 32) != 0) r.push("Server Files");
7744
if ((meshrights & 64) != 0) r.push("Wake Devices");
7738
- if ((meshrights & 128) != 0) r.push("Edit Notes");
7745
+ if ((meshrights & 128) != 0) r.push("Modifier les notes");
7746
if (((meshrights & 8) != 0) && (meshrights & 256) != 0) r.push("Remote View Only");
7747
if (((meshrights & 8) != 0) && (meshrights & 512) != 0) r.push("No Terminal");
7748
if (((meshrights & 8) != 0) && (meshrights & 1024) != 0) r.push("Aucun fichier");
@@ -7749,7 +7756,7 @@
7756
var uname = xuserid.split('/')[2];
7757
if (users && users[xuserid]) { uname = users[xuserid].name; }
7758
if (userinfo._id == xuserid) { uname = userinfo.name; }
7752
- var buttons = 1, x = addHtmlValue("User Name", EscapeHtml(decodeURIComponent(uname)));
7759
+ var buttons = 1, x = addHtmlValue("Nom", EscapeHtml(decodeURIComponent(uname)));
7760
if (xuserid.split('/')[2] != uname) { x += addHtmlValue("User Identifier", EscapeHtml(xuserid.split('/')[2])); }
7761
7762
x += addHtmlValue("Permissions", r.join(", "));
@@ -7801,7 +7808,7 @@
7808
function updateFiles() {
7809
QV('MainMenuMyFiles', ((features & 8) == 0));
7810
if ((features & 8) != 0) return; // If running on a server without files, exit now.
7804
- var html1 = '', html2 = '', displayPath = '<a href=# style=cursor:pointer onclick="return p5folderup(0)">' + "Root" + '</a>', fullPath = 'Root', publicPath, filetreex = filetree, folderdepth = 1;
7811
+ var html1 = '', html2 = '', displayPath = '<a href=# style=cursor:pointer onclick="return p5folderup(0)">' + "Racine" + '</a>', fullPath = 'Root', publicPath, filetreex = filetree, folderdepth = 1;
7812
7813
// Navigate to path location, build the paths at the same time
7814
var filetreelocation2 = [], oldlinkpath = filetreelinkpath, checkedBoxes = [], checkboxes = document.getElementsByName('fc');
@@ -7855,7 +7862,7 @@
7862
h = '<div class=filelist file=999><input file=999 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value="' + name + '"> <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>';
7863
} else {
7864
var link = shortname, publiclink = '';
7858
- if (publicfolder) { publiclink = ' (<a style=cursor:pointer title="Display public link" onclick=\'return p5showPublicLink("' + publicPath + '/' + f.nx + '")\'>' + "Link" + '</a>)'; }
7865
+ if (publicfolder) { publiclink = ' (<a style=cursor:pointer title="Display public link" onclick=\'return p5showPublicLink("' + publicPath + '/' + f.nx + '")\'>' + "Lien" + '</a>)'; }
7866
if (f.s > 0) { link = '<a rel="noreferrer noopener" target="_blank" download href="downloadfile.ashx?link=' + encodeURIComponent(filetreelinkpath + '/' + f.nx) + '">' + shortname + '</a>' + publiclink; }
7867
h = '<div class=filelist file=3><input file=3 style=float:left name=fc class=fcb type=checkbox onchange=p5setActions() value="' + f.nx + '"> <span class=fsize>' + fdatestr + '</span><span style=float:right>' + fsize + '</span><span><div class=fileIcon' + f.t + '></div>' + link + '</span></div>';
7868
}
@@ -7889,7 +7896,7 @@
7896
}
7897
7898
function getNiceSize2(bytes) {
7892
- if (bytes <= 0) return "None";
7899
+ if (bytes <= 0) return "Aucun";
7900
if (bytes < 2048) return format("{0} b", bytes);
7901
if (bytes < 2097152) return format("{0} Kb", Math.round(bytes / 1024));
7902
if (bytes < 2147483648) return format("{0} Mb", Math.round(bytes / 1024 / 1024));
@@ -7905,7 +7912,7 @@
7912
return '<span title="' + title + '">' + getNiceSize(tq) + ' <progress style=height:10px;width:100px value=' + f.s + ' max=' + f.maxbytes + ' /></span>';
7913
}
7914
7908
- function p5showPublicLink(u) { setDialogMode(2, "Public Link", 1, null, '<input type=text style=width:100% value="' + u + '" readonly />'); return false; }
7915
+ function p5showPublicLink(u) { setDialogMode(2, "Lien public", 1, null, '<input type=text style=width:100% value="' + u + '" readonly />'); return false; }
7916
7917
var sortorder;
7918
function p5sort_filename(a, b) { if (a.ln > b.ln) return (1 * sortorder); if (a.ln < b.ln) return (-1 * sortorder); return 0; }
@@ -7947,7 +7954,7 @@
7954
function p5folderset(x) { filetreelocation.push(decodeURIComponent(x)); updateFiles(); return false; }
7955
function p5createfolder() { setDialogMode(2, "Nouveau Dossier", 3, p5createfolderEx, '<input type=text id=p5renameinput maxlength=64 onkeyup=p5fileNameCheck(event) style=width:100% />'); focusTextBox('p5renameinput'); p5fileNameCheck(); }
7956
function p5createfolderEx() { meshserver.send({ action: 'fileoperation', fileop: 'createfolder', path: filetreelocation, newfolder: Q('p5renameinput').value}); }
7950
- 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, "Delete", 3, p5deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
7957
+ function p5deletefile() { var cc = getFileSelCount(), rec = (getFileSelDirCount() > 0) ? '<br /><br /><label><input type=checkbox id=p5recdeleteinput>' + "Suppression récursive" + '</label><br>' : '<input type=checkbox id=p5recdeleteinput style=\'display:none\'>'; setDialogMode(2, "Delete", 3, p5deletefileEx, (cc > 1) ? (format("Delete {0} selected items?", cc) + rec) : ("Delete selected item?" + rec)); }
7958
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 }); }
7959
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, "Renommer", 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(); }
7960
function p5renamefileEx(b, t) { t.newname = Q('p5renameinput').value; meshserver.send(t); }
@@ -8005,7 +8012,7 @@
8012
}
8013
p5updateClipview();
8014
}
8008
- 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, "Paste", 3, p5pasteFileEx, x); }
8015
+ 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, "Coller", 3, p5pasteFileEx, x); }
8016
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(); } }
8017
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(); }
8018
function p5clearClip() { p5clipboard = null; p5clipboardFolder = null; p5clipboardCut = 0; p5updateClipview(); return false; }
@@ -8095,7 +8102,7 @@
8102
function p5fileDragLeave(e) {
8103
if (xxdialogMode) return;
8104
haltEvent(e);
8098
- if (e.target.id != "p5filetable") {
8105
+ if (e.target.id != 'p5filetable') {
8106
QV('bigfail', false);
8107
QV('bigok', false);
8108
//QV('p5fileCatchAllInput', false);
@@ -8171,7 +8178,7 @@
8178
if (xxdialogMode) return;
8179
var x = "Download the list of events with one of the file formats below." + '<br /><br />';
8180
x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogCSV(' + mode + ')">' + "eventslist.csv" + '</a>');
8174
- x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
8181
+ x += addHtmlValue("Format JSON", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
8182
setDialogMode(2, "Event List Export", 1, null, x, mode);
8183
}
8184
@@ -8232,7 +8239,7 @@
8239
((emailSearch != null) && ((user.email != null) && (user.email.toLowerCase().indexOf(emailSearch) >= 0))))
8240
) {
8241
if (maxUsers > 0) {
8235
- if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Online Users"; addHeader = false; }
8242
+ if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Utilisateurs en ligne"; addHeader = false; }
8243
x += addUserHtml(user, sessions);
8244
maxUsers--;
8245
} else {
@@ -8250,7 +8257,7 @@
8257
((emailSearch != null) && ((user.email != null) && (user.email.toLowerCase().indexOf(emailSearch) >= 0))))
8258
) {
8259
if (maxUsers > 0) {
8253
- if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Offline Users"; addHeader = false; }
8260
+ if (addHeader) { x += '<tr><td class=userTableHeader colspan=4>' + "Utilisateurs hors ligne"; addHeader = false; }
8261
x += addUserHtml(user, sessions);
8262
maxUsers--;
8263
} else {
@@ -8281,12 +8288,12 @@
8288
if (user.login) { lastAccess += '<span title=\"' + format("Last login: {0}", printDateTime(new Date(user.login * 1000))) + '\">' + printDate(new Date(user.login * 1000)) + '</span>'; }
8289
}
8290
if (self) { permissions += '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + encodeURIComponent(user._id) + '\")\'>'; }
8284
- if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { permissions += "Locked" + ', '; }
8291
+ if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { permissions += "Verrouiller" + ', '; }
8292
permissions += '<span title=\'' + "Server Permissions" + '\'>';
8293
8294
var urights = user.siteadmin & (0xFFFFFFFF - 224);
8295
if ((user.siteadmin == null) || (urights == 0)) {
8289
- permissions += "User";
8296
+ permissions += "Utilisateur";
8297
} else if (urights == 8) {
8298
permissions += "User + Files";
8299
} else if (user.siteadmin == 0xFFFFFFFF) {
@@ -8348,7 +8355,7 @@
8355
function showUserAlertDialog(e, userid) {
8356
if (xxdialogMode) return;
8357
haltEvent(e);
8351
- 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);
8358
+ setDialogMode(2, format("Notify {0}", EscapeHtml(users[decodeURIComponent(userid)].name)), 3, showUserAlertDialogEx, "Envoyez une notification à cet utilisateur." + '<textarea id=d2notifyText maxlength=2048 style="width:100%;height:184px;resize:none"></textarea>', userid);
8359
Q('d2notifyText').focus();
8360
return false;
8361
}
@@ -8396,7 +8403,7 @@
8403
if (xxdialogMode) return;
8404
var x = "Download the list of users with one of the file formats below." + '<br /><br />';
8405
x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoCSV()\'>' + "userlist.csv" + '</a>');
8399
- x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoJSON()\'>' + "userlist.json" + '</a>');
8406
+ x += addHtmlValue("Format JSON", '<a href=# style=cursor:pointer onclick=\'return p4downloadUserInfoJSON()\'>' + "userlist.json" + '</a>');
8407
setDialogMode(2, "User List Export", 1, null, x);
8408
}
8409
@@ -8406,9 +8413,9 @@
8413
var multiFactor = false, factors = [];
8414
if ((users[i].otpsecret > 0) || (users[i].otphkeys > 0)) {
8415
multiFactor = true;
8409
- if (users[i].otpsecret > 0) { factors.push("AuthApp"); }
8410
- if (users[i].otphkeys > 0) { factors.push("SecurityKey"); }
8411
- if (users[i].otpkeys > 0) { factors.push("BackupCodes"); }
8416
+ if (users[i].otpsecret > 0) { factors.push('AuthApp'); }
8417
+ if (users[i].otphkeys > 0) { factors.push('SecurityKey'); }
8418
+ if (users[i].otpkeys > 0) { factors.push('BackupCodes'); }
8419
}
8420
csv += '\"' + users[i]._id + '\",\"' + users[i].name + '\",\"' + (users[i].email ? users[i].email : '') + '\",\"' + (users[i].creation ? new Date(users[i].creation * 1000) : '') + '\",\"' + (users[i].login ? new Date(users[i].login * 1000) : '') + '\",\"' + (users[i].groups ? users[i].groups.join(',') : '') + '\",\"' + (multiFactor ? factors.join(',') : '') + '\"\r\n';
8421
}
@@ -8441,11 +8448,11 @@
8448
x += addHtmlValue("Email", '<input id=p4email maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
8449
x += addHtmlValue("Mot de passe", '<input id=p4pass1 type=password maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
8450
x += addHtmlValue("Mot de passe", '<input id=p4pass2 type=password maxlength=256 onchange=showCreateNewAccountDialogValidate() onkeyup=showCreateNewAccountDialogValidate() />');
8444
- x += '<div><label><input id=p4randomPassword onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Randomize the password." + '</label></div>';
8451
+ x += '<div><label><input id=p4randomPassword onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Mot de passe aléatoire." + '</label></div>';
8452
x += '<div><label><input id=p4resetNextLogin onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Force password reset on next login." + '</label></div>';
8453
if (serverinfo.emailcheck) {
8454
x += '<div><label><input id=p4verifiedEmail onchange=showCreateNewAccountDialogValidate() type=checkbox />' + "Email is verified." + '</label></div>';
8448
- x += '<div><label><input id=p4invitationEmail type=checkbox />' + "Send invitation email." + '</label></div>';
8455
+ x += '<div><label><input id=p4invitationEmail type=checkbox />' + "Envoyer un email d'invitation." + '</label></div>';
8456
}
8457
8458
if (passRequirements) {
@@ -8496,7 +8503,7 @@
8503
var user = users[userid.toLowerCase()], groups = "";
8504
if (user.groups != null) { groups = user.groups.join(', ') }
8505
var x = "Enter a comma seperate list of administrative realms names." + '<br /><br />';
8499
- x += addHtmlValue("Realms", '<input id=dp4usergroups style=width:230px value="' + groups + '" placeholder=\"' + "Name1, Name2, Name3" + '\" maxlength=256 onchange=p4validateUserGroups() onkeyup=p4validateUserGroups() />');
8506
+ x += addHtmlValue("Realms", '<input id=dp4usergroups style=width:230px value="' + groups + '" placeholder=\"' + "Nom1, Nom2, Nom3" + '\" maxlength=256 onchange=p4validateUserGroups() onkeyup=p4validateUserGroups() />');
8507
setDialogMode(2, "Administrative Realms", 3, showUserGroupDialogEx, x, user);
8508
focusTextBox('dp4usergroups');
8509
p4validateUserGroups();
@@ -8523,12 +8530,12 @@
8530
userid = decodeURIComponent(userid);
8531
var x = '<div><div id=d2AdminPermissions>';
8532
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/>';
8526
- x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fulladmin>' + "Full Administrator" + '</label><br>';
8533
+ x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_fulladmin>' + "Administrateur Complet" + '</label><br>';
8534
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverbackup>' + "Server Backup" + '</label><br>';
8535
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverrestore>' + "Server Restore" + '</label><br>';
8529
- x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverupdate>' + "Server Updates" + '</label><br>';
8536
+ x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_serverupdate>' + "Mises à jour du serveur" + '</label><br>';
8537
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_manageusers>' + "Gérer les utilisateurs" + '</label><br>';
8531
- x += '<hr/></div><label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_lockedaccount>' + "Lock Account" + '</label><br>';
8538
+ x += '<hr/></div><label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_lockedaccount>' + "Verrouiller le compte" + '</label><br>';
8539
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nonewgroups>' + "No New Device Groups" + '</label><br>';
8540
x += '<label><input type=checkbox onchange=showUserAdminDialogValidate() id=ua_nomeshcmd>' + "No Tools (MeshCmd/Router)" + '</label><br>';
8541
x += '</div>';
@@ -8614,8 +8621,8 @@
8621
8622
// Server permissions
8623
var msg = [], premsg = '';
8617
- 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"); }
8618
- if ((user.siteadmin == null) || ((user.siteadmin & (0xFFFFFFFF - 224)) == 0)) { msg.push("No server rights"); } else if (user.siteadmin == 8) { msg.push("Access to server files"); } else if (user.siteadmin == 0xFFFFFFFF) { msg.push("Full administrator"); } else { msg.push("Partial rights"); }
8624
+ 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("Compte verrouillé"); }
8625
+ if ((user.siteadmin == null) || ((user.siteadmin & (0xFFFFFFFF - 224)) == 0)) { msg.push("No server rights"); } else if (user.siteadmin == 8) { msg.push("Access to server files"); } else if (user.siteadmin == 0xFFFFFFFF) { msg.push("Administrateur complet"); } else { msg.push("Partial rights"); }
8626
if ((user.siteadmin != null) && (user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & (64 + 128)) != 0)) { msg.push("Restrictions"); }
8627
8628
// Show user attributes
@@ -8628,7 +8635,7 @@
8635
} else {
8636
x += addDeviceAttribute("Email", everify + email + ' <a href=# style=cursor:pointer onclick=\'return doemail(event,\"' + user.email + '\")\'><img class=hoverButton src="images/link1.png" /></a>');
8637
}
8631
- x += addDeviceAttribute("Server Rights", premsg + '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + userid + '\")\'>' + msg.join(', ') + '</a>');
8638
+ x += addDeviceAttribute("Droits du serveur", premsg + '<a href=# style=cursor:pointer onclick=\'return showUserAdminDialog(event,\"' + userid + '\")\'>' + msg.join(', ') + '</a>');
8639
if (user.quota) x += addDeviceAttribute("Server Quota", EscapeHtml(parseInt(user.quota) / 1024) + ' k');
8640
x += addDeviceAttribute("Creation", printDateTime(new Date(user.creation * 1000)));
8641
if (user.login) x += addDeviceAttribute("Dernière connexion", printDateTime(new Date(user.login * 1000)));
@@ -8636,7 +8643,7 @@
8643
else if (user.passchange) { x += addDeviceAttribute("Mot de passe", format("Dernière modification: {0}", printDateTime(new Date(user.passchange * 1000)))); }
8644
8645
// Device Groups
8639
- var linkCount = 0, linkCountStr = '<i>' + "None" + '<i>';
8646
+ var linkCount = 0, linkCountStr = '<i>' + "Aucun" + '<i>';
8647
if (user.links) {
8648
for (var i in user.links) { linkCount++; }
8649
if (linkCount == 1) { linkCountStr = "1 groupe"; } else if (linkCount > 1) { linkCountStr = format("{0} groups", linkCount); }
@@ -8645,7 +8652,7 @@
8652
8653
// Administrative Realms
8654
if ((userinfo.siteadmin == 0xFFFFFFFF) || (userinfo.siteadmin & 2)) {
8648
- var userGroups = '<i>' + "None" + '</i>';
8655
+ var userGroups = '<i>' + "Aucun" + '</i>';
8656
if (user.groups) { userGroups = ''; for (var i in user.groups) { userGroups += '<span class="tagSpan">' + user.groups[i] + '</span>'; } }
8657
x += addDeviceAttribute("Admin Realms", addLinkConditional(userGroups, 'showUserGroupDialog(event,\"' + userid + '\")', (userinfo.siteadmin == 0xFFFFFFFF) || ((userinfo.groups == null) && (userinfo._id != user._id) && (user.siteadmin != 0xFFFFFFFF))));
8658
}
@@ -8655,7 +8662,7 @@
8662
multiFactor = 1;
8663
var factors = [];
8664
if (user.otpsecret > 0) { factors.push("Authentication App"); }
8658
- if (user.otphkeys > 0) { factors.push("Security Key"); }
8665
+ if (user.otphkeys > 0) { factors.push("Clef de sécurité"); }
8666
if (user.otpkeys > 0) { factors.push("Backup Codes"); }
8667
x += addDeviceAttribute("Sécurité", '<img src="images/key12.png" height=12 width=11 title=\"' + "Authentification 2e facteur activée" + '\" style="margin-top:2px" /> ' + factors.join(', '));
8668
}
@@ -8663,8 +8670,8 @@
8670
x += '</table></div><br />';
8671
8672
// Add action buttons
8666
- x += '<input type=button value=\"' + "Notes" + '\" title=\"' + "View notes about this user" + '\" onclick=showNotes(false,"' + userid + '") />';
8667
- if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Notify" + '\" title=\"' + "Send user notification" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
8673
+ x += '<input type=button value=\"' + "Remarques" + '\" title=\"' + "View notes about this user" + '\" onclick=showNotes(false,"' + userid + '") />';
8674
+ if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Notify" + '\" title=\"' + "Envoyer une notification utilisateur" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
8675
8676
// Setup the panel
8677
QH('p30html', x);
@@ -9002,7 +9009,7 @@
9009
if (node != null) { icon = node.icon; t = '<b>' + node.name + '</b>: ' }
9010
}
9011
9005
- 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') + '">';
9012
+ r += '<div title="' + format("Survenu à {0}", printDateTime(d)) + '" id="notifyx' + n.id + '" class=notification style="cursor:pointer;border-top:1px solid ' + ((r == '') ? 'transparent' : 'orange') + '">';
9013
if (icon) { r += '<div class=j' + icon + ' onclick="notificationSelected(' + n.id + ')" style=margin:5px;float:left></div>'; }
9014
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>';
9015
}
@@ -9109,12 +9116,12 @@
9116
function setupGeneralServerStats() {
9117
window.serverStatCpu = new Chart(document.getElementById('serverCpuChart').getContext('2d'), {
9118
type: 'doughnut',
9112
- data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Used", "Free"] },
9119
+ data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Used", "Libre"] },
9120
options: { responsive: true, legend: { position: 'none', }, animation: { animateScale: true, animateRotate: true }, width: '60px' }
9121
});
9122
window.serverStatMemory = new Chart(document.getElementById('serverMemoryChart').getContext('2d'), {
9123
type: 'doughnut',
9117
- data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Used", "Free"] },
9124
+ data: { datasets: [{ data: [0, 0], backgroundColor: ['#AAAAAA', '#00AA00'] }], labels: ["Used", "Libre"] },
9125
options: { responsive: true, legend: { position: 'none', }, animation: { animateScale: true, animateRotate: true }, width: '60px' }
9126
});
9127
}
@@ -9134,7 +9141,7 @@
9141
}
9142
if ((typeof message.totalmem == 'number') && (typeof message.freemem == 'number')) {
9143
window.serverStatMemory.config.data.datasets[0].data = [message.totalmem - message.freemem, message.freemem];
9137
- QH('serverMemoryChartText', '<div style=margin-bottom:5px>' + "Mémoire" + '</div><div><b>' + getNiceSize2(message.freemem) + '</b> ' + "free" + ', <b>' + getNiceSize2(message.totalmem) + '</b> ' + "total" + '</div>');
9144
+ QH('serverMemoryChartText', '<div style=margin-bottom:5px>' + "Mémoire" + '</div><div><b>' + getNiceSize2(message.freemem) + '</b> ' + "libre" + ', <b>' + getNiceSize2(message.totalmem) + '</b> ' + "total" + '</div>');
9145
QS('serverMemoryChartView')['display'] = 'inline-block';
9146
window.serverStatMemory.update();
9147
}
@@ -9318,7 +9325,7 @@
9325
//x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>Legacy</b></div>';
9326
//x += '<div><label><input type=checkbox id=p41c12 ' + ((serverTraceSources.indexOf('swarm') >= 0) ? 'checked' : '') + ">' + "Legacy Swarm Server" + '</label></div>";
9327
//x += '<div><label><input type=checkbox id=p41c13 ' + ((serverTraceSources.indexOf('swarmcmd') >= 0) ? 'checked' : '') + ">' + "Legacy Swarm Server Commands" + '</label></div>";
9321
- setDialogMode(2, "Server Tracing", 7, setServerTracingEx, x);
9328
+ setDialogMode(2, "Suivi du serveur", 7, setServerTracingEx, x);
9329
}
9330
9331
function setServerTracingEx(b) {
@@ -9687,7 +9694,7 @@
9694
function AddButton(v, f) { return '<input type=button value="' + v + '" onclick="' + f + '" style=margin:4px>'; }
9695
function AddButton2(v, f) { return '<input type=button value="' + v + '" onclick="' + f + '">'; }
9696
function AddRefreshButton(f) { return '<input type=button name=refreshbtn value=Refresh onclick="refreshButtons(false);' + f + '" style=margin:4px ' + (refreshButtonsState==false?'disabled':'') + '>'; }
9690
- function MoreStart() { return '<a href=# style=cursor:pointer;color:blue id=morexxx1 onclick=QV(\"morexxx1\",false);QV(\"morexxx2\",true)>▼ ' + "More" + '</a><div id=morexxx2 style=display:none><br><hr>'; };
9697
+ function MoreStart() { return '<a href=# style=cursor:pointer;color:blue id=morexxx1 onclick=QV(\"morexxx1\",false);QV(\"morexxx2\",true)>▼ ' + "Plus" + '</a><div id=morexxx2 style=display:none><br><hr>'; };
9698
function MoreEnd() { return '<a href=# style=cursor:pointer;color:blue onclick=QV(\"morexxx2\",false);QV(\"morexxx1\",true)>▲ ' + "Moins" + '</a></div>'; };
9699
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; }
9700
function getInstance(x, y) { for (var i in x) { if (x[i]['InstanceID'] == y) return x[i]; } return null; }
views/translations/download-min_fr.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>Download</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}}} <a href=terms>Terms & 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>Télécharger</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}}} <a href=terms>Terms & Privacy</a></table></div></div></div>
\ No newline at end of file
views/translations/download_fr.handlebars
+1
-1
@@ -20,7 +20,7 @@
20
</div>
21
<div id="page_content" style="max-height:calc(100vh-138px)">
22
<div id="column_l">
23
- <h1>Download</h1>
23
+ <h1>Télécharger</h1>
24
<p style="margin-left:20px">{{{message}}}</p>
25
<br>
26
</div>
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 - 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">{{{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"><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="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
views/translations/error404-min_fr.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 - 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">{{{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="Basculer mode nuit"><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>This page does not exist</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=/ >Retour</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="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="Interface à largeur fixe"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Basculer mode nuit"><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>This page does not exist</div><div style=text-align:center;padding-top:20px;font-size:20px;font-family:Arial;color:#999><a href=/ style=text-decoration:none><b>Aller sur le site principal</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=/ >Retour</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 - 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><p>{{{logoutControl}}}</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}}} <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>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}}} <a href=/ >Zpět</a></table></div></div>
\ No newline at end of file
views/translations/error404-mobile-min_fr.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><p>{{{logoutControl}}}</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>This page does not exist</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}}} <a href=/ >Retour</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>This page does not exist</div><div style=text-align:center;padding-top:16px;font-size:20px;font-family:Arial;color:#999><a href=/ style=text-decoration:none><b>Aller sur le site principal</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}}} <a href=/ >Retour</a></table></div></div>
\ No newline at end of file
views/translations/error404-mobile_cs.handlebars
+1
-2
@@ -4,7 +4,7 @@
4
<meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
5
<meta name="apple-mobile-web-app-capable" content="yes">
6
<meta name="format-detection" content="telephone=no">
7
- <title>MeshCentral - Terms of use</title>
7
+ <title>MeshCentral</title>
8
<style type="text/css">
9
a {
10
color: #036;
@@ -32,7 +32,6 @@
32
<div style="float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px">
33
<strong><font style="font-size:12px;font-family:Arial,Helvetica,sans-serif">{{{title2}}}</font></strong>
34
</div>
35
- <p>{{{logoutControl}}}</p>
35
</div>
36
<div id="page_content" style="overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%">
37
<div id="column_l" style="padding-left:10px;padding-right:10px">
views/translations/error404-mobile_fr.handlebars
+2
-3
@@ -4,7 +4,7 @@
4
<meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
5
<meta name="apple-mobile-web-app-capable" content="yes">
6
<meta name="format-detection" content="telephone=no">
7
- <title>MeshCentral - Terms of use</title>
7
+ <title>MeshCentral</title>
8
<style type="text/css">
9
a {
10
color: #036;
@@ -32,13 +32,12 @@
32
<div style="float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px">
33
<strong><font style="font-size:12px;font-family:Arial,Helvetica,sans-serif">{{{title2}}}</font></strong>
34
</div>
35
- <p>{{{logoutControl}}}</p>
35
</div>
36
<div id="page_content" style="overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%">
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">This page does not exist</div>
41
- <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>Aller sur le site principal</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
+1
-2
@@ -6,7 +6,7 @@
6
<meta name="format-detection" content="telephone=no">
7
<link type="text/css" href="styles/style.css" media="screen" rel="stylesheet" title="CSS">
8
<script type="text/javascript" src="scripts/common-0.0.1.js"></script>
9
- <title>MeshCentral - Terms of use</title>
9
+ <title>MeshCentral</title>
10
</head>
11
<body id="body" onload="if (typeof(startup) !== 'undefined') startup();" style="display:none;overflow:hidden">
12
<div id="container">
@@ -18,7 +18,6 @@
18
<div style="float:left; height: 66px; color:#c8c8c8; padding-left:5px; padding-top:14px">
19
<strong><font style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">{{{title2}}}</font></strong>
20
</div>
21
- <p id="logoutControl" style="color:white;font-size:11px;margin: 10px 10px 0;">{{{logoutControl}}}</p>
21
</div>
22
<div id="page_leftbar">
23
<div style="height:16px"></div>
views/translations/error404_fr.handlebars
+3
-4
@@ -6,7 +6,7 @@
6
<meta name="format-detection" content="telephone=no">
7
<link type="text/css" href="styles/style.css" media="screen" rel="stylesheet" title="CSS">
8
<script type="text/javascript" src="scripts/common-0.0.1.js"></script>
9
- <title>MeshCentral - Terms of use</title>
9
+ <title>MeshCentral</title>
10
</head>
11
<body id="body" onload="if (typeof(startup) !== 'undefined') startup();" style="display:none;overflow:hidden">
12
<div id="container">
@@ -18,7 +18,6 @@
18
<div style="float:left; height: 66px; color:#c8c8c8; padding-left:5px; padding-top:14px">
19
<strong><font style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">{{{title2}}}</font></strong>
20
</div>
21
- <p id="logoutControl" style="color:white;font-size:11px;margin: 10px 10px 0;">{{{logoutControl}}}</p>
21
</div>
22
<div id="page_leftbar">
23
<div style="height:16px"></div>
@@ -29,7 +28,7 @@
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>
32
- <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Fixed width interface"><div class="uiSelector3"></div></div>
31
+ <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Interface à largeur fixe"><div class="uiSelector3"></div></div>
32
<div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Basculer mode nuit"><div class="uiSelector4"></div></div>
33
</div>
34
</div>
@@ -37,7 +36,7 @@
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">This page does not exist</div>
40
- <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>Aller sur le site principal</b></a></div>
40
</div>
41
<div id="footer">
42
<table cellpadding="0" cellspacing="10" style="width: 100%">
views/translations/login-min_fr.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="Basculer mode nuit"><div class=uiSelector4></div></div></div></div></div><div id=column_l><h1>Bienvenue</h1><div id=welcomeText style=display:none>Connect to your home or office devices from anywhere in the world using <a href=http://www.meshcommander.com/meshcentral2>MeshCentral</a>, the real time, open source remote monitoring and management web site. You will need to download and install a management agent on your computers. Once installed, computers will show up in the "My Devices" section of this web site and you will be able to monitor them and take control of them.</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>Log In</b></div><table><tr><td id=loginusername align=right width=100>Nom d'utilisateur:<td><input id=username maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>Mot de passe:<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>Dévoiler indice</a></div><td align=right><input id=loginButton type=submit value="Log In"disabled></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Forgot username/password?</span> <a onclick="return xgo(3,event)"href=# style=cursor:pointer>Réinitialiser le compte</a>.</div><div id=newAccountDiv style=display:none;padding:2px>Don't have an account? <a onclick="return xgo(2,event)"href=# style=cursor:pointer>Create one</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>Account Creation</b></div><div id=passwordPolicyCallout style=display:none></div><table><tr id=nuUserRow><td id=nuUser align=right width=100>Nom d'utilisateur:<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>Mot de passe:<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>Mot de passe:<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>Account Reset</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="Réinitialiser le Compte"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>Mot de passe:<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>Mot de passe:<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="Réinitialiser le mot de passe"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}}} <a href=terms>Terms & 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=Annuler 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.","Account limit reached.","Existing account with this email address.","Invalid account creation token.","Username already exists.","Password rejected, use a different one.","Invalid email.","Account not found.","Invalid token, try again.","Unable to sent email.","Account locked.","Access denied.","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","Forgot password?"),QV("nuUserRow",!1)),nightMode&&QC("body").add("night"),QV("createPanelHint",!0===passRequirements.hint),QV("resetpasswordpanelHint",!0===passRequirements.hint),welcomeText&&QH("welcomeText",welcomeText),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),s=0<Q("apassword1").value.length,r=0<Q("apassword2").value.length&&Q("apassword2").value==Q("apassword1").value,o=0==newAccountPass||0<Q("anewaccountpass").value.length,l=n&&t&&s&&r&&o;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=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>Mot de passe fort</b><span>"):60<=i?QH("passWarning","<span style=color:blue><b>Bon mot de passe</b><span>"):QH("passWarning","<span style=color:red><b>Mot de passe faible</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",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,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>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>Mot de passe fort</b><span>"):60<=r?QH("rpassWarning","<span style=color:blue><b>Bon mot de passe</b><span>"):QH("rpassWarning","<span style=color:red><b>Mot de passe faible</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("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,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 o in s)t+=1==s[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,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 o=1;o<24;o++)QV("dialog"+o,o==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})}</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="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="Interface à largeur fixe"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Basculer mode nuit"><div class=uiSelector4></div></div></div></div></div><div id=column_l><h1>Bienvenue</h1><div id=welcomeText style=display:none>Connect to your home or office devices from anywhere in the world using <a href=http://www.meshcommander.com/meshcentral2>MeshCentral</a>, the real time, open source remote monitoring and management web site. You will need to download and install a management agent on your computers. Once installed, computers will show up in the "My Devices" section of this web site and you will be able to monitor them and take control of them.</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>Log In</b></div><table><tr><td id=loginusername align=right width=100>Nom d'utilisateur:<td><input id=username maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>Mot de passe:<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>Dévoiler indice</a></div><td align=right><input id=loginButton type=submit value="Log In"disabled></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Forgot username/password?</span> <a onclick="return xgo(3,event)"href=# style=cursor:pointer>Réinitialiser le compte</a>.</div><div id=newAccountDiv style=display:none;padding:2px>Don't have an account? <a onclick="return xgo(2,event)"href=# style=cursor:pointer>Create one</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>Account Creation</b></div><div id=passwordPolicyCallout style=display:none></div><table><tr id=nuUserRow><td id=nuUser align=right width=100>Nom d'utilisateur:<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>Mot de passe:<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>Mot de passe:<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>Account Reset</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="Réinitialiser le Compte"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>Rappelez cet appareil pour 30 jours.</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="Utiliser clé de sécurité"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>Mot de passe:<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>Mot de passe:<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="Réinitialiser le mot de passe"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}}} <a href=terms>Terms & 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=Annuler 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=["","Attends, le courrier est envoyé."],failmessages=["Unable to create account.","Account limit reached.","Existing account with this email address.","Invalid account creation token.","Ce nom d'utilisateur existe déjà.","Mot de passe rejeté, utilisez-en un autre.","Invalid email.","Account not found.","Invalid token, try again.","Unable to sent email.","Account locked.","Access denied.","Login failed, check username and password.","Changement de mot de passe demandé.","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","Mot de passe oublié?"),QV("nuUserRow",!1)),nightMode&&QC("body").add("night"),QV("createPanelHint",!0===passRequirements.hint),QV("resetpasswordpanelHint",!0===passRequirements.hint),welcomeText&&QH("welcomeText",welcomeText),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),s=0<Q("apassword1").value.length,r=0<Q("apassword2").value.length&&Q("apassword2").value==Q("apassword1").value,o=0==newAccountPass||0<Q("anewaccountpass").value.length,l=n&&t&&s&&r&&o;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=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>Mot de passe fort</b><span>"):60<=i?QH("passWarning","<span style=color:blue><b>Bon mot de passe</b><span>"):QH("passWarning","<span style=color:red><b>Mot de passe faible</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",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,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>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>Mot de passe fort</b><span>"):60<=r?QH("rpassWarning","<span style=color:blue><b>Bon mot de passe</b><span>"):QH("rpassWarning","<span style=color:red><b>Mot de passe faible</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("Minimum length of {0}",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(a+=format("Longueur maximale de {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,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 o in s)t+=1==s[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,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 o=1;o<24;o++)QV("dialog"+o,o==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})}</script>
\ No newline at end of file
views/translations/login-mobile-min_fr.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>Log In</b></div><table><tr><td id=loginusername align=right width=100>Nom d'utilisateur:<td><input id=username maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>Mot de passe:<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>Dévoiler indice</a></div><td align=right><input id=loginButton type=submit value="Log In"disabled></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Forgot user/password?</span> <a onclick=xgo(3) style=cursor:pointer>Réinitialiser le compte</a>.</div><div id=newAccountDiv style=display:none;padding:2px>Don't have an account? <a onclick=xgo(2) style=cursor:pointer>Create one</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>Account Creation</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>Nom d'utilisateur:<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>Mot de passe:<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>Mot de passe:<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>Pass Hint:<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>Account Reset</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="Réinitialiser le Compte"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>Mot de passe:<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>Mot de passe:<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="Réinitialiser le mot de passe"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}}} <a href=terms>Terms & 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=Annuler 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.","Account limit reached.","Existing account with this email address.","Invalid account creation token.","Username already exists.","Password rejected, use a different one.","Invalid email.","Account not found.","Invalid token, try again.","Unable to sent email.","Account locked.","Access denied.","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","Forgot password?"),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>Mot de passe fort</b><span>"):60<=s?QH("passWarning","<span style=color:blue><b>Bon mot de passe</b><span>"):QH("passWarning","<span style=color:red><b>Mot de passe faible</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>Mot de passe fort</b><span>"):60<=r?QH("rpassWarning","<span style=color:blue><b>Bon mot de passe</b><span>"):QH("rpassWarning","<span style=color:red><b>Mot de passe faible</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>Log In</b></div><table><tr><td id=loginusername align=right width=100>Nom d'utilisateur:<td><input id=username maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>Mot de passe:<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>Dévoiler indice</a></div><td align=right><input id=loginButton type=submit value="Log In"disabled></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Forgot user/password?</span> <a onclick=xgo(3) style=cursor:pointer>Réinitialiser le compte</a>.</div><div id=newAccountDiv style=display:none;padding:2px>Don't have an account? <a onclick=xgo(2) style=cursor:pointer>Create one</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>Account Creation</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>Nom d'utilisateur:<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>Mot de passe:<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>Mot de passe:<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>Pass Hint:<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>Account Reset</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="Réinitialiser le Compte"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>Rappelez cet appareil pour 30 jours.</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="Utiliser clé de sécurité"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>Mot de passe:<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>Mot de passe:<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="Réinitialiser le mot de passe"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}}} <a href=terms>Terms & 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=Annuler 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=["","Attends, le courrier est envoyé."],failmessages=["Unable to create account.","Account limit reached.","Existing account with this email address.","Invalid account creation token.","Ce nom d'utilisateur existe déjà.","Mot de passe rejeté, utilisez-en un autre.","Invalid email.","Account not found.","Invalid token, try again.","Unable to sent email.","Account locked.","Access denied.","Login failed, check username and password.","Changement de mot de passe demandé.","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","Mot de passe oublié?"),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 t=checkPasswordStrength(Q("apassword1").value);80<=t?QH("passWarning","<span style=color:green><b>Mot de passe fort</b><span>"):60<=t?QH("passWarning","<span style=color:blue><b>Bon mot de passe</b><span>"):QH("passWarning","<span style=color:red><b>Mot de passe faible</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>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>Mot de passe fort</b><span>"):60<=r?QH("rpassWarning","<span style=color:blue><b>Bon mot de passe</b><span>"):QH("rpassWarning","<span style=color:red><b>Mot de passe faible</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("Minimum length of {0}",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(a+=format("Longueur maximale de {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={},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_fr.handlebars
+6
-6
@@ -156,13 +156,13 @@
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">Rappelez cet appareil pour 30 jours.</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>
165
+ <div style="float:right"><input style="display:none;float:right" id="securityKeyButton" type="button" value="Utiliser clé de sécurité" onclick="useSecurityKey()"></div>
166
</td>
167
</tr>
168
</tbody></table>
@@ -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.", "Account limit reached.", "Existing account with this email address.", "Invalid account creation token.", "Username already exists.", "Password rejected, use a different one.", "Invalid email.", "Account not found.", "Invalid token, try again.", "Unable to sent email.", "Account locked.", "Access denied.", "Login failed, check username and password.", "Password change requested.", "IP address blocked, try again later."];
277
+ var okmessages = ['', "Attends, le courrier est envoyé."];
278
+ var failmessages = ["Unable to create account.", "Account limit reached.", "Existing account with this email address.", "Invalid account creation token.", "Ce nom d'utilisateur existe déjà.", "Mot de passe rejeté, utilisez-en un autre.", "Invalid email.", "Account not found.", "Invalid token, try again.", "Unable to sent email.", "Account locked.", "Access denied.", "Login failed, check username and password.", "Changement de mot de passe demandé.", "IP address blocked, try again later."];
279
if (messageid > 0) {
280
var msg = '';
281
if ((messageid < 100) && (messageid < okmessages.length)) { msg = okmessages[messageid]; }
@@ -307,7 +307,7 @@
307
308
if (features & 0x200000) { // Email is username
309
QH('loginusername', "Email:");
310
- QH('resetAccountSpan', "Forgot password?");
310
+ QH('resetAccountSpan', "Mot de passe oublié?");
311
QV('nuUserRow', false);
312
}
313
@@ -535,7 +535,7 @@
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 />'; }
538
+ if (passRequirements.max && ((pass == null) || (pass.length > passRequirements.max))) { policy += format("Longueur maximale de {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 />'; }
views/translations/login_fr.handlebars
+7
-7
@@ -22,7 +22,7 @@
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>
25
+ <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Interface à largeur fixe"><div class="uiSelector3"></div></div>
26
<div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Basculer mode nuit"><div class="uiSelector4"></div></div>
27
</div>
28
</div>
@@ -151,13 +151,13 @@
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">Rappelez cet appareil pour 30 jours.</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>
160
+ <div style="float:right"><input style="display:none;float:right" id="securityKeyButton" type="button" value="Utiliser clé de sécurité" onclick="useSecurityKey()"></div>
161
</td>
162
</tr>
163
</tbody></table>
@@ -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.", "Account limit reached.", "Existing account with this email address.", "Invalid account creation token.", "Username already exists.", "Password rejected, use a different one.", "Invalid email.", "Account not found.", "Invalid token, try again.", "Unable to sent email.", "Account locked.", "Access denied.", "Login failed, check username and password.", "Password change requested.", "IP address blocked, try again later."];
273
+ var okmessages = ['', "Attends, le courrier est envoyé."];
274
+ var failmessages = ["Unable to create account.", "Account limit reached.", "Existing account with this email address.", "Invalid account creation token.", "Ce nom d'utilisateur existe déjà.", "Mot de passe rejeté, utilisez-en un autre.", "Invalid email.", "Account not found.", "Invalid token, try again.", "Unable to sent email.", "Account locked.", "Access denied.", "Login failed, check username and password.", "Changement de mot de passe demandé.", "IP address blocked, try again later."];
275
if (messageid > 0) {
276
var msg = '';
277
if ((messageid < 100) && (messageid < okmessages.length)) { msg = okmessages[messageid]; }
@@ -308,7 +308,7 @@
308
309
if (features & 0x200000) { // Email is username
310
QH('loginusername', "Email:");
311
- QH('resetAccountSpan', "Forgot password?");
311
+ QH('resetAccountSpan', "Mot de passe oublié?");
312
QV('nuUserRow', false);
313
}
314
@@ -554,7 +554,7 @@
554
var policy = '<div style=text-align:left>';
555
var counts = strCount(pass);
556
if (passRequirements.min && ((pass == null) || (pass.length < passRequirements.min))) { policy += format("Minimum length of {0}", passRequirements.min) + '<br />'; }
557
- if (passRequirements.max && ((pass == null) || (pass.length > passRequirements.max))) { policy += format("Maximum length of {0}", passRequirements.max) + '<br />'; }
557
+ if (passRequirements.max && ((pass == null) || (pass.length > passRequirements.max))) { policy += format("Longueur maximale de {0}", passRequirements.max) + '<br />'; }
558
if (passRequirements.upper && ((pass == null) || (counts.upper < passRequirements.upper))) { policy += format("{0} upper case", passRequirements.upper) + '<br />'; }
559
if (passRequirements.lower && ((pass == null) || (counts.lower < passRequirements.lower))) { policy += format("{0} lower case", passRequirements.lower) + '<br />'; }
560
if (passRequirements.numeric && ((pass == null) || (counts.numeric < passRequirements.numeric))) { policy += format("{0} numeric", passRequirements.numeric) + '<br />'; }
views/translations/messenger-min_fr.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="Enable browser notification"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="Activer caméra et microphone"style=display:none onclick=camButtonClick()></div><div id=micButton class="icon6 topButton"title="Activer le microphone"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=Envoyer 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>Remote</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>Local</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&¤tFileDownload.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&¤tFileDownload.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("Limit of 10 file uploads at the same time.");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("Limit of 10 file uploads at the same time.");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"> </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"> </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&¤tFileUpload.id==e&&(currentFileUpload=null),null!=currentFileDownload&¤tFileDownload.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("Waiting for other user...")},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("Connected."),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(" ")),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="Enable browser notification"onclick=enableNotificationsButtonClick()></div><div id=fileButton class="icon4 topButton"title="Partager un fichier"style=display:none onclick=fileButtonClick()></div><div id=camButton class="icon2 topButton"title="Activer caméra et microphone"style=display:none onclick=camButtonClick()></div><div id=micButton class="icon6 topButton"title="Activer le microphone"style=display:none onclick=micButtonClick()></div><div id=hangupButton class="icon11 topRedButton"title=Raccrocher 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=Envoyer 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>Remote</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>Local</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&¤tFileDownload.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&¤tFileDownload.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("Limit of 10 file uploads at the same time.");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("Limit of 10 file uploads at the same time.");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"> </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"> </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&¤tFileUpload.id==e&&(currentFileUpload=null),null!=currentFileDownload&¤tFileDownload.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("Waiting for other user...")},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("Connected."),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(" ")),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_fr.handlebars
+2
-2
@@ -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="Enable browser notification" 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="Partager un fichier" style="display:none" onclick="fileButtonClick()"></div>
16
<div id="camButton" class="icon2 topButton" title="Activer caméra et microphone" style="display:none" onclick="camButtonClick()"></div>
17
<div id="micButton" class="icon6 topButton" title="Activer le microphone" 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="Raccrocher" 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>
views/translations/terms-min_cs.handlebars
new
+84
@@ -0,0 +1,84 @@
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 - New BSD License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<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 and SSLeay License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)"<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)".<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 License</span></b><span style=font-size:10pt;font-family:"><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 License</span></b><span style=font-size:10pt;font-family:"><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 License 2.0</span></b><span style=font-size:10pt;font-family:"><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:"><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 License</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';
2
+ var uiMode = parseInt(getstore('uiMode', 1));
3
+ var webPageStackMenu = false;
4
+ var webPageFullScreen = true;
5
+ var nightMode = (getstore('_nightMode', '0') == '1');
6
+ var logoutControls = {{{logoutControls}}};
7
+
8
+ var terms = '{{{terms}}}';
9
+ if (terms != '') { QH('column_l', decodeURIComponent(terms)); }
10
+ QV('column_l', true);
11
+ userInterfaceSelectMenu();
12
+
13
+ // Setup logout control
14
+ var logoutControl = '';
15
+ if (logoutControls.name != null) { logoutControl = format("Welcome {0}.", logoutControls.name); }
16
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Odhlásit" + '</a>'); }
17
+ QH('logoutControl', logoutControl);
18
+
19
+ // Toggle user interface menu
20
+ function showUserInterfaceSelectMenu() {
21
+ Q('uiViewButton1').classList.remove('uiSelectorSel');
22
+ Q('uiViewButton2').classList.remove('uiSelectorSel');
23
+ Q('uiViewButton3').classList.remove('uiSelectorSel');
24
+ Q('uiViewButton4').classList.remove('uiSelectorSel');
25
+ try { Q('uiViewButton' + uiMode).classList.add('uiSelectorSel'); } catch (ex) { }
26
+ QV('uiMenu', (QS('uiMenu').display == 'none'));
27
+ if (nightMode) { Q('uiViewButton4').classList.add('uiSelectorSel'); }
28
+ }
29
+
30
+ function userInterfaceSelectMenu(s) {
31
+ if (s) { uiMode = s; putstore('uiMode', uiMode); }
32
+ webPageFullScreen = (uiMode < 3);
33
+ webPageStackMenu = true;//(uiMode > 1);
34
+ toggleFullScreen(0);
35
+ toggleStackMenu(0);
36
+ QC('column_l').add('room4submenu');
37
+ }
38
+
39
+ function toggleNightMode() {
40
+ nightMode = !nightMode;
41
+ if (nightMode) { QC('body').add('night'); } else { QC('body').remove('night'); }
42
+ putstore('_nightMode', nightMode ? '1' : '0');
43
+ }
44
+
45
+ // Toggle the web page to full screen
46
+ function toggleFullScreen(toggle) {
47
+ if (toggle === 1) { webPageFullScreen = !webPageFullScreen; putstore('webPageFullScreen', webPageFullScreen); }
48
+ var hide = 0;
49
+ //if (args.hide) { hide = parseInt(args.hide); }
50
+ if (webPageFullScreen == false) {
51
+ QC('body').remove('menu_stack');
52
+ QC('body').remove('fullscreen');
53
+ QC('body').remove('arg_hide');
54
+ //if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
55
+ //QV('UserDummyMenuSpan', false);
56
+ //QV('page_leftbar', false);
57
+ } else {
58
+ QC('body').add('fullscreen');
59
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
60
+ //QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
61
+ //QV('page_leftbar', true);
62
+ }
63
+ QV('body', true);
64
+ }
65
+
66
+ // If FullScreen, toggle menu to be horisontal or vertical
67
+ function toggleStackMenu(toggle) {
68
+ if (webPageFullScreen == true) {
69
+ if (toggle === 1) {
70
+ webPageStackMenu = !webPageStackMenu;
71
+ putstore('webPageStackMenu', webPageStackMenu);
72
+ }
73
+ if (webPageStackMenu == false) {
74
+ QC('body').remove('menu_stack');
75
+ } else {
76
+ QC('body').add('menu_stack');
77
+ //if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
78
+ }
79
+ }
80
+ }
81
+
82
+ function putstore(name, val) { try { if (typeof (localStorage) === 'undefined') return; localStorage.setItem(name, val); } catch (e) { } }
83
+ function getstore(name, val) { try { if (typeof (localStorage) === 'undefined') return val; var v = localStorage.getItem(name); if ((v == null) || (v == null)) return val; return v; } catch (e) { return val; } }
84
+ function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };</script>
\ No newline at end of file
views/translations/terms-min_fr.handlebars
new
+84
@@ -0,0 +1,84 @@
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="Interface à largeur fixe"><div class=uiSelector3></div></div><div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Basculer mode nuit"><div class=uiSelector4></div></div></div></div></div><div id=column_l style="max-height:calc(100vh - 135px);overflow-y:auto"><h1>Conditions d'utilisation</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 - New BSD License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<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 and SSLeay License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)"<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)".<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 License</span></b><span style=font-size:10pt;font-family:"><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 License</span></b><span style=font-size:10pt;font-family:"><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 License 2.0</span></b><span style=font-size:10pt;font-family:"><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:"><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 License</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=/ >Retour</a></table></div></div><script>'use strict';
2
+ var uiMode = parseInt(getstore('uiMode', 1));
3
+ var webPageStackMenu = false;
4
+ var webPageFullScreen = true;
5
+ var nightMode = (getstore('_nightMode', '0') == '1');
6
+ var logoutControls = {{{logoutControls}}};
7
+
8
+ var terms = '{{{terms}}}';
9
+ if (terms != '') { QH('column_l', decodeURIComponent(terms)); }
10
+ QV('column_l', true);
11
+ userInterfaceSelectMenu();
12
+
13
+ // Setup logout control
14
+ var logoutControl = '';
15
+ if (logoutControls.name != null) { logoutControl = format("Bienvenue {0}.", logoutControls.name); }
16
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Déconnexion" + '</a>'); }
17
+ QH('logoutControl', logoutControl);
18
+
19
+ // Toggle user interface menu
20
+ function showUserInterfaceSelectMenu() {
21
+ Q('uiViewButton1').classList.remove('uiSelectorSel');
22
+ Q('uiViewButton2').classList.remove('uiSelectorSel');
23
+ Q('uiViewButton3').classList.remove('uiSelectorSel');
24
+ Q('uiViewButton4').classList.remove('uiSelectorSel');
25
+ try { Q('uiViewButton' + uiMode).classList.add('uiSelectorSel'); } catch (ex) { }
26
+ QV('uiMenu', (QS('uiMenu').display == 'none'));
27
+ if (nightMode) { Q('uiViewButton4').classList.add('uiSelectorSel'); }
28
+ }
29
+
30
+ function userInterfaceSelectMenu(s) {
31
+ if (s) { uiMode = s; putstore('uiMode', uiMode); }
32
+ webPageFullScreen = (uiMode < 3);
33
+ webPageStackMenu = true;//(uiMode > 1);
34
+ toggleFullScreen(0);
35
+ toggleStackMenu(0);
36
+ QC('column_l').add('room4submenu');
37
+ }
38
+
39
+ function toggleNightMode() {
40
+ nightMode = !nightMode;
41
+ if (nightMode) { QC('body').add('night'); } else { QC('body').remove('night'); }
42
+ putstore('_nightMode', nightMode ? '1' : '0');
43
+ }
44
+
45
+ // Toggle the web page to full screen
46
+ function toggleFullScreen(toggle) {
47
+ if (toggle === 1) { webPageFullScreen = !webPageFullScreen; putstore('webPageFullScreen', webPageFullScreen); }
48
+ var hide = 0;
49
+ //if (args.hide) { hide = parseInt(args.hide); }
50
+ if (webPageFullScreen == false) {
51
+ QC('body').remove('menu_stack');
52
+ QC('body').remove('fullscreen');
53
+ QC('body').remove('arg_hide');
54
+ //if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
55
+ //QV('UserDummyMenuSpan', false);
56
+ //QV('page_leftbar', false);
57
+ } else {
58
+ QC('body').add('fullscreen');
59
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
60
+ //QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
61
+ //QV('page_leftbar', true);
62
+ }
63
+ QV('body', true);
64
+ }
65
+
66
+ // If FullScreen, toggle menu to be horisontal or vertical
67
+ function toggleStackMenu(toggle) {
68
+ if (webPageFullScreen == true) {
69
+ if (toggle === 1) {
70
+ webPageStackMenu = !webPageStackMenu;
71
+ putstore('webPageStackMenu', webPageStackMenu);
72
+ }
73
+ if (webPageStackMenu == false) {
74
+ QC('body').remove('menu_stack');
75
+ } else {
76
+ QC('body').add('menu_stack');
77
+ //if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
78
+ }
79
+ }
80
+ }
81
+
82
+ function putstore(name, val) { try { if (typeof (localStorage) === 'undefined') return; localStorage.setItem(name, val); } catch (e) { } }
83
+ function getstore(name, val) { try { if (typeof (localStorage) === 'undefined') return val; var v = localStorage.getItem(name); if ((v == null) || (v == null)) return val; return v; } catch (e) { return val; } }
84
+ function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };</script>
\ No newline at end of file
views/translations/terms-mobile-min_cs.handlebars
new
+1
@@ -0,0 +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 - New BSD License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<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 and SSLeay License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)"<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)".<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 License</span></b><span style=font-size:10pt;font-family:"><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 License</span></b><span style=font-size:10pt;font-family:"><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 License 2.0</span></b><span style=font-size:10pt;font-family:"><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:"><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 License</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}}} <a href=/ >Zpět</a></table></div></div>
\ No newline at end of file
views/translations/terms-mobile-min_fr.handlebars
new
+1
@@ -0,0 +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>Conditions d'utilisation</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 - New BSD License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<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 and SSLeay License</span></b><span style=font-size:10pt;font-family:"><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.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)"<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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.<o:p></o:p></span><p class=MsoNormal><span>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/)".<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 License</span></b><span style=font-size:10pt;font-family:"><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 License</span></b><span style=font-size:10pt;font-family:"><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 License 2.0</span></b><span style=font-size:10pt;font-family:"><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:"><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 License</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}}} <a href=/ >Retour</a></table></div></div>
\ No newline at end of file
views/translations/terms-mobile_cs.handlebars
new
+160
@@ -0,0 +1,160 @@
1
+<!DOCTYPE html><html><head>
2
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
3
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
4
+ <meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
5
+ <meta name="apple-mobile-web-app-capable" content="yes">
6
+ <meta name="format-detection" content="telephone=no">
7
+ <title>MeshCentral - Terms of use</title>
8
+ <style type="text/css">
9
+ a {
10
+ color: #036;
11
+ text-decoration: underline;
12
+ }
13
+
14
+ #footer a {
15
+ color: #fff;
16
+ text-decoration: underline;
17
+ }
18
+
19
+ #footer a:hover {
20
+ color: #fff;
21
+ text-decoration: none;
22
+ }
23
+ </style>
24
+</head>
25
+<body onload="if (typeof(startup) !== 'undefined') startup();" style="overflow-y:hidden;max-width:100%;margin:0;padding:0;border:0;color:black;font-size:13px;font-family:\'Trebuchet MS\', Arial, Helvetica, sans-serif">
26
+ <div id="container">
27
+ <!-- Begin Masthead -->
28
+ <div id="masthead" style="background:url(logo.png) 0px 0px;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden">
29
+ <div style="float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:4px">
30
+ <strong><font style="font-size:36px;font-family:Arial,Helvetica,sans-serif">{{{title}}}</font></strong>
31
+ </div>
32
+ <div style="float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px">
33
+ <strong><font style="font-size:12px;font-family:Arial,Helvetica,sans-serif">{{{title2}}}</font></strong>
34
+ </div>
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>
40
+ <hr>
41
+ <p class="MsoNormal">
42
+ The following are the required disclosures of open source components and software incorporated into this software.
43
+ </p>
44
+ <p class="MsoNormal">
45
+ <b><span>1.AJAX Control Toolkit - New BSD License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
52
+ </p>
53
+ <p class="MsoNormal">
54
+ <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
55
+ </p>
56
+ <p class="MsoNormal">
57
+ <span>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.<o:p></o:p></span>
58
+ </p>
59
+ <p class="MsoNormal">
60
+ <span>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.<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>
64
+ </p>
65
+ <p class="MsoNormal">
66
+ <b><span>2.OpenSSL – OpenSSL and SSLeay License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
67
+ </p>
68
+ <p class="MsoNormal">
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>
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>
76
+ </p>
77
+ <p class="MsoNormal">
78
+ <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
79
+ </p>
80
+ <p class="MsoNormal">
81
+ <span>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. <o:p></o:p></span>
82
+ </p>
83
+ <p class="MsoNormal">
84
+ <span>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/)" <o:p></o:p></span>
85
+ </p>
86
+ <p class="MsoNormal">
87
+ <span>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.<o:p></o:p></span>
88
+ </p>
89
+ <p class="MsoNormal">
90
+ <span>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.<o:p></o:p></span>
91
+ </p>
92
+ <p class="MsoNormal">
93
+ <span>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/)". <o:p></o:p></span>
94
+ </p>
95
+ <p class="MsoNormal">
96
+ <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>
97
+ </p>
98
+ <p class="MsoNormal">
99
+ <b><span>3.jQuery Foundation - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
106
+ </p>
107
+ <p class="MsoNormal">
108
+ <b><span>4.jQuery User Interface - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
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>
118
+ </p>
119
+ <p class="MsoNormal">
120
+ <b><span>5.noVNC - Mozilla Public License 2.0</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
121
+ </p>
122
+ <p class="MsoNormal">
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>
127
+ </p>
128
+ <p class="MsoNormal">
129
+ <b><span>6.Rcarousel - MIT LIcense</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
130
+ </p>
131
+ <p class="MsoNormal">
132
+ <span><a href="https://github.com/ryrych/rcarousel/blob/master/widget/license">https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span>
133
+ </p>
134
+ <p class="MsoNormal">
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>
139
+ </p>
140
+ <p class="MsoNormal">
141
+ <b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License</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>
145
+ </p>
146
+ <br>
147
+ </div>
148
+ </div>
149
+ <div id="footer" style="height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0px">
150
+ <table cellpadding="0" cellspacing="6" style="width:100%">
151
+ <tbody><tr>
152
+ <td style="text-align:left;color:white">{{{footer}}}</td>
153
+ <td style="text-align:right">{{{rootCertLink}}} <a href="/">Zpět</a></td>
154
+ </tr>
155
+ </tbody></table>
156
+ </div>
157
+ </div>
158
+
159
+
160
+</body></html>
\ No newline at end of file
views/translations/terms-mobile_fr.handlebars
new
+160
@@ -0,0 +1,160 @@
1
+<!DOCTYPE html><html><head>
2
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
3
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
4
+ <meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
5
+ <meta name="apple-mobile-web-app-capable" content="yes">
6
+ <meta name="format-detection" content="telephone=no">
7
+ <title>MeshCentral - Terms of use</title>
8
+ <style type="text/css">
9
+ a {
10
+ color: #036;
11
+ text-decoration: underline;
12
+ }
13
+
14
+ #footer a {
15
+ color: #fff;
16
+ text-decoration: underline;
17
+ }
18
+
19
+ #footer a:hover {
20
+ color: #fff;
21
+ text-decoration: none;
22
+ }
23
+ </style>
24
+</head>
25
+<body onload="if (typeof(startup) !== 'undefined') startup();" style="overflow-y:hidden;max-width:100%;margin:0;padding:0;border:0;color:black;font-size:13px;font-family:\'Trebuchet MS\', Arial, Helvetica, sans-serif">
26
+ <div id="container">
27
+ <!-- Begin Masthead -->
28
+ <div id="masthead" style="background:url(logo.png) 0px 0px;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden">
29
+ <div style="float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:4px">
30
+ <strong><font style="font-size:36px;font-family:Arial,Helvetica,sans-serif">{{{title}}}</font></strong>
31
+ </div>
32
+ <div style="float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:7px">
33
+ <strong><font style="font-size:12px;font-family:Arial,Helvetica,sans-serif">{{{title2}}}</font></strong>
34
+ </div>
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>Conditions d'utilisation</h1>
39
+ <p>Please contact the site administrator for terms of use.</p>
40
+ <hr>
41
+ <p class="MsoNormal">
42
+ The following are the required disclosures of open source components and software incorporated into this software.
43
+ </p>
44
+ <p class="MsoNormal">
45
+ <b><span>1.AJAX Control Toolkit - New BSD License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
52
+ </p>
53
+ <p class="MsoNormal">
54
+ <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
55
+ </p>
56
+ <p class="MsoNormal">
57
+ <span>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.<o:p></o:p></span>
58
+ </p>
59
+ <p class="MsoNormal">
60
+ <span>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.<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>
64
+ </p>
65
+ <p class="MsoNormal">
66
+ <b><span>2.OpenSSL – OpenSSL and SSLeay License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
67
+ </p>
68
+ <p class="MsoNormal">
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>
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>
76
+ </p>
77
+ <p class="MsoNormal">
78
+ <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
79
+ </p>
80
+ <p class="MsoNormal">
81
+ <span>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. <o:p></o:p></span>
82
+ </p>
83
+ <p class="MsoNormal">
84
+ <span>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/)" <o:p></o:p></span>
85
+ </p>
86
+ <p class="MsoNormal">
87
+ <span>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.<o:p></o:p></span>
88
+ </p>
89
+ <p class="MsoNormal">
90
+ <span>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.<o:p></o:p></span>
91
+ </p>
92
+ <p class="MsoNormal">
93
+ <span>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/)". <o:p></o:p></span>
94
+ </p>
95
+ <p class="MsoNormal">
96
+ <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>
97
+ </p>
98
+ <p class="MsoNormal">
99
+ <b><span>3.jQuery Foundation - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
106
+ </p>
107
+ <p class="MsoNormal">
108
+ <b><span>4.jQuery User Interface - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
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>
118
+ </p>
119
+ <p class="MsoNormal">
120
+ <b><span>5.noVNC - Mozilla Public License 2.0</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
121
+ </p>
122
+ <p class="MsoNormal">
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>
127
+ </p>
128
+ <p class="MsoNormal">
129
+ <b><span>6.Rcarousel - MIT LIcense</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
130
+ </p>
131
+ <p class="MsoNormal">
132
+ <span><a href="https://github.com/ryrych/rcarousel/blob/master/widget/license">https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span>
133
+ </p>
134
+ <p class="MsoNormal">
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>
139
+ </p>
140
+ <p class="MsoNormal">
141
+ <b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License</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>
145
+ </p>
146
+ <br>
147
+ </div>
148
+ </div>
149
+ <div id="footer" style="height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0px">
150
+ <table cellpadding="0" cellspacing="6" style="width:100%">
151
+ <tbody><tr>
152
+ <td style="text-align:left;color:white">{{{footer}}}</td>
153
+ <td style="text-align:right">{{{rootCertLink}}} <a href="/">Retour</a></td>
154
+ </tr>
155
+ </tbody></table>
156
+ </div>
157
+ </div>
158
+
159
+
160
+</body></html>
\ No newline at end of file
views/translations/terms_cs.handlebars
new
+246
@@ -0,0 +1,246 @@
1
+<!DOCTYPE html><html><head>
2
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
3
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
4
+ <meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
5
+ <meta name="apple-mobile-web-app-capable" content="yes">
6
+ <meta name="format-detection" content="telephone=no">
7
+ <link type="text/css" href="styles/style.css" media="screen" rel="stylesheet" title="CSS">
8
+ <script type="text/javascript" src="scripts/common-0.0.1.js"></script>
9
+ <title>MeshCentral - Terms of use</title>
10
+</head>
11
+<body id="body" onload="if (typeof(startup) !== 'undefined') startup();" style="display:none;overflow:hidden">
12
+ <div id="container">
13
+ <!-- Begin Masthead -->
14
+ <div id="masthead" class="noselect" style="background:url(logo.png) 0px 0px;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden;">
15
+ <div style="float:left; height: 66px; color:#c8c8c8; padding-left:20px; padding-top:8px">
16
+ <strong><font style="font-size:46px; font-family: Arial, Helvetica, sans-serif;">{{{title}}}</font></strong>
17
+ </div>
18
+ <div style="float:left; height: 66px; color:#c8c8c8; padding-left:5px; padding-top:14px">
19
+ <strong><font style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">{{{title2}}}</font></strong>
20
+ </div>
21
+ <p id="logoutControl" style="color:white;font-size:11px;margin: 10px 10px 0;"></p>
22
+ </div>
23
+ <div id="page_leftbar">
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()">
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>
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>
40
+ <hr>
41
+ <p class="MsoNormal">
42
+ The following are the required disclosures of open source components and software incorporated into this software.
43
+ </p>
44
+ <p class="MsoNormal">
45
+ <b><span>1.AJAX Control Toolkit - New BSD License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
52
+ </p>
53
+ <p class="MsoNormal">
54
+ <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
55
+ </p>
56
+ <p class="MsoNormal">
57
+ <span>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.<o:p></o:p></span>
58
+ </p>
59
+ <p class="MsoNormal">
60
+ <span>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.<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>
64
+ </p>
65
+ <p class="MsoNormal">
66
+ <b><span>2.OpenSSL – OpenSSL and SSLeay License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
67
+ </p>
68
+ <p class="MsoNormal">
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>
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>
76
+ </p>
77
+ <p class="MsoNormal">
78
+ <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
79
+ </p>
80
+ <p class="MsoNormal">
81
+ <span>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. <o:p></o:p></span>
82
+ </p>
83
+ <p class="MsoNormal">
84
+ <span>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/)" <o:p></o:p></span>
85
+ </p>
86
+ <p class="MsoNormal">
87
+ <span>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.<o:p></o:p></span>
88
+ </p>
89
+ <p class="MsoNormal">
90
+ <span>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.<o:p></o:p></span>
91
+ </p>
92
+ <p class="MsoNormal">
93
+ <span>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/)". <o:p></o:p></span>
94
+ </p>
95
+ <p class="MsoNormal">
96
+ <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>
97
+ </p>
98
+ <p class="MsoNormal">
99
+ <b><span>3.jQuery Foundation - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
106
+ </p>
107
+ <p class="MsoNormal">
108
+ <b><span>4.jQuery User Interface - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
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>
118
+ </p>
119
+ <p class="MsoNormal">
120
+ <b><span>5.noVNC - Mozilla Public License 2.0</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
121
+ </p>
122
+ <p class="MsoNormal">
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>
127
+ </p>
128
+ <p class="MsoNormal">
129
+ <b><span>6.Rcarousel - MIT LIcense</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
130
+ </p>
131
+ <p class="MsoNormal">
132
+ <span><a href="https://github.com/ryrych/rcarousel/blob/master/widget/license">https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span>
133
+ </p>
134
+ <p class="MsoNormal">
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>
139
+ </p>
140
+ <p class="MsoNormal">
141
+ <b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License</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>
145
+ </p>
146
+ <br>
147
+ </div>
148
+ <div id="footer">
149
+ <table cellpadding="0" cellspacing="10" style="width: 100%">
150
+ <tbody><tr>
151
+ <td style="text-align:left"></td>
152
+ <td style="text-align:right"><a href="/">Zpět</a></td>
153
+ </tr>
154
+ </tbody></table>
155
+ </div>
156
+ </div>
157
+ <script>
158
+ 'use strict';
159
+ var uiMode = parseInt(getstore('uiMode', 1));
160
+ var webPageStackMenu = false;
161
+ var webPageFullScreen = true;
162
+ var nightMode = (getstore('_nightMode', '0') == '1');
163
+ var logoutControls = {{{logoutControls}}};
164
+
165
+ var terms = '{{{terms}}}';
166
+ if (terms != '') { QH('column_l', decodeURIComponent(terms)); }
167
+ QV('column_l', true);
168
+ userInterfaceSelectMenu();
169
+
170
+ // Setup logout control
171
+ var logoutControl = '';
172
+ if (logoutControls.name != null) { logoutControl = format("Welcome {0}.", logoutControls.name); }
173
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Odhlásit" + '</a>'); }
174
+ QH('logoutControl', logoutControl);
175
+
176
+ // Toggle user interface menu
177
+ function showUserInterfaceSelectMenu() {
178
+ Q('uiViewButton1').classList.remove('uiSelectorSel');
179
+ Q('uiViewButton2').classList.remove('uiSelectorSel');
180
+ Q('uiViewButton3').classList.remove('uiSelectorSel');
181
+ Q('uiViewButton4').classList.remove('uiSelectorSel');
182
+ try { Q('uiViewButton' + uiMode).classList.add('uiSelectorSel'); } catch (ex) { }
183
+ QV('uiMenu', (QS('uiMenu').display == 'none'));
184
+ if (nightMode) { Q('uiViewButton4').classList.add('uiSelectorSel'); }
185
+ }
186
+
187
+ function userInterfaceSelectMenu(s) {
188
+ if (s) { uiMode = s; putstore('uiMode', uiMode); }
189
+ webPageFullScreen = (uiMode < 3);
190
+ webPageStackMenu = true;//(uiMode > 1);
191
+ toggleFullScreen(0);
192
+ toggleStackMenu(0);
193
+ QC('column_l').add('room4submenu');
194
+ }
195
+
196
+ function toggleNightMode() {
197
+ nightMode = !nightMode;
198
+ if (nightMode) { QC('body').add('night'); } else { QC('body').remove('night'); }
199
+ putstore('_nightMode', nightMode ? '1' : '0');
200
+ }
201
+
202
+ // Toggle the web page to full screen
203
+ function toggleFullScreen(toggle) {
204
+ if (toggle === 1) { webPageFullScreen = !webPageFullScreen; putstore('webPageFullScreen', webPageFullScreen); }
205
+ var hide = 0;
206
+ //if (args.hide) { hide = parseInt(args.hide); }
207
+ if (webPageFullScreen == false) {
208
+ QC('body').remove('menu_stack');
209
+ QC('body').remove('fullscreen');
210
+ QC('body').remove('arg_hide');
211
+ //if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
212
+ //QV('UserDummyMenuSpan', false);
213
+ //QV('page_leftbar', false);
214
+ } else {
215
+ QC('body').add('fullscreen');
216
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
217
+ //QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
218
+ //QV('page_leftbar', true);
219
+ }
220
+ QV('body', true);
221
+ }
222
+
223
+ // If FullScreen, toggle menu to be horisontal or vertical
224
+ function toggleStackMenu(toggle) {
225
+ if (webPageFullScreen == true) {
226
+ if (toggle === 1) {
227
+ webPageStackMenu = !webPageStackMenu;
228
+ putstore('webPageStackMenu', webPageStackMenu);
229
+ }
230
+ if (webPageStackMenu == false) {
231
+ QC('body').remove('menu_stack');
232
+ } else {
233
+ QC('body').add('menu_stack');
234
+ //if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
235
+ }
236
+ }
237
+ }
238
+
239
+ function putstore(name, val) { try { if (typeof (localStorage) === 'undefined') return; localStorage.setItem(name, val); } catch (e) { } }
240
+ function getstore(name, val) { try { if (typeof (localStorage) === 'undefined') return val; var v = localStorage.getItem(name); if ((v == null) || (v == null)) return val; return v; } catch (e) { return val; } }
241
+ function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };
242
+
243
+ </script>
244
+
245
+
246
+</body></html>
\ No newline at end of file
views/translations/terms_fr.handlebars
new
+246
@@ -0,0 +1,246 @@
1
+<!DOCTYPE html><html><head>
2
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
3
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
4
+ <meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
5
+ <meta name="apple-mobile-web-app-capable" content="yes">
6
+ <meta name="format-detection" content="telephone=no">
7
+ <link type="text/css" href="styles/style.css" media="screen" rel="stylesheet" title="CSS">
8
+ <script type="text/javascript" src="scripts/common-0.0.1.js"></script>
9
+ <title>MeshCentral - Terms of use</title>
10
+</head>
11
+<body id="body" onload="if (typeof(startup) !== 'undefined') startup();" style="display:none;overflow:hidden">
12
+ <div id="container">
13
+ <!-- Begin Masthead -->
14
+ <div id="masthead" class="noselect" style="background:url(logo.png) 0px 0px;background-color:#036;background-repeat:no-repeat;height:66px;width:100%;overflow:hidden;">
15
+ <div style="float:left; height: 66px; color:#c8c8c8; padding-left:20px; padding-top:8px">
16
+ <strong><font style="font-size:46px; font-family: Arial, Helvetica, sans-serif;">{{{title}}}</font></strong>
17
+ </div>
18
+ <div style="float:left; height: 66px; color:#c8c8c8; padding-left:5px; padding-top:14px">
19
+ <strong><font style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">{{{title2}}}</font></strong>
20
+ </div>
21
+ <p id="logoutControl" style="color:white;font-size:11px;margin: 10px 10px 0;"></p>
22
+ </div>
23
+ <div id="page_leftbar">
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()">
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="Interface à largeur fixe"><div class="uiSelector3"></div></div>
33
+ <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Basculer mode nuit"><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>Conditions d'utilisation</h1>
39
+ <p>Please contact the site administrator for terms of use.</p>
40
+ <hr>
41
+ <p class="MsoNormal">
42
+ The following are the required disclosures of open source components and software incorporated into this software.
43
+ </p>
44
+ <p class="MsoNormal">
45
+ <b><span>1.AJAX Control Toolkit - New BSD License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
52
+ </p>
53
+ <p class="MsoNormal">
54
+ <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
55
+ </p>
56
+ <p class="MsoNormal">
57
+ <span>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.<o:p></o:p></span>
58
+ </p>
59
+ <p class="MsoNormal">
60
+ <span>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.<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>
64
+ </p>
65
+ <p class="MsoNormal">
66
+ <b><span>2.OpenSSL – OpenSSL and SSLeay License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
67
+ </p>
68
+ <p class="MsoNormal">
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>
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>
76
+ </p>
77
+ <p class="MsoNormal">
78
+ <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
79
+ </p>
80
+ <p class="MsoNormal">
81
+ <span>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. <o:p></o:p></span>
82
+ </p>
83
+ <p class="MsoNormal">
84
+ <span>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/)" <o:p></o:p></span>
85
+ </p>
86
+ <p class="MsoNormal">
87
+ <span>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.<o:p></o:p></span>
88
+ </p>
89
+ <p class="MsoNormal">
90
+ <span>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.<o:p></o:p></span>
91
+ </p>
92
+ <p class="MsoNormal">
93
+ <span>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/)". <o:p></o:p></span>
94
+ </p>
95
+ <p class="MsoNormal">
96
+ <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>
97
+ </p>
98
+ <p class="MsoNormal">
99
+ <b><span>3.jQuery Foundation - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
106
+ </p>
107
+ <p class="MsoNormal">
108
+ <b><span>4.jQuery User Interface - MIT License</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><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>
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>
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>
118
+ </p>
119
+ <p class="MsoNormal">
120
+ <b><span>5.noVNC - Mozilla Public License 2.0</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
121
+ </p>
122
+ <p class="MsoNormal">
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>
127
+ </p>
128
+ <p class="MsoNormal">
129
+ <b><span>6.Rcarousel - MIT LIcense</span></b><span style="font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman""><o:p></o:p></span>
130
+ </p>
131
+ <p class="MsoNormal">
132
+ <span><a href="https://github.com/ryrych/rcarousel/blob/master/widget/license">https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span>
133
+ </p>
134
+ <p class="MsoNormal">
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>
139
+ </p>
140
+ <p class="MsoNormal">
141
+ <b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License</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>
145
+ </p>
146
+ <br>
147
+ </div>
148
+ <div id="footer">
149
+ <table cellpadding="0" cellspacing="10" style="width: 100%">
150
+ <tbody><tr>
151
+ <td style="text-align:left"></td>
152
+ <td style="text-align:right"><a href="/">Retour</a></td>
153
+ </tr>
154
+ </tbody></table>
155
+ </div>
156
+ </div>
157
+ <script>
158
+ 'use strict';
159
+ var uiMode = parseInt(getstore('uiMode', 1));
160
+ var webPageStackMenu = false;
161
+ var webPageFullScreen = true;
162
+ var nightMode = (getstore('_nightMode', '0') == '1');
163
+ var logoutControls = {{{logoutControls}}};
164
+
165
+ var terms = '{{{terms}}}';
166
+ if (terms != '') { QH('column_l', decodeURIComponent(terms)); }
167
+ QV('column_l', true);
168
+ userInterfaceSelectMenu();
169
+
170
+ // Setup logout control
171
+ var logoutControl = '';
172
+ if (logoutControls.name != null) { logoutControl = format("Bienvenue {0}.", logoutControls.name); }
173
+ if (logoutControls.logoutUrl != null) { logoutControl += format(' <a href=\"' + logoutControls.logoutUrl + '\" style="color:white">' + "Déconnexion" + '</a>'); }
174
+ QH('logoutControl', logoutControl);
175
+
176
+ // Toggle user interface menu
177
+ function showUserInterfaceSelectMenu() {
178
+ Q('uiViewButton1').classList.remove('uiSelectorSel');
179
+ Q('uiViewButton2').classList.remove('uiSelectorSel');
180
+ Q('uiViewButton3').classList.remove('uiSelectorSel');
181
+ Q('uiViewButton4').classList.remove('uiSelectorSel');
182
+ try { Q('uiViewButton' + uiMode).classList.add('uiSelectorSel'); } catch (ex) { }
183
+ QV('uiMenu', (QS('uiMenu').display == 'none'));
184
+ if (nightMode) { Q('uiViewButton4').classList.add('uiSelectorSel'); }
185
+ }
186
+
187
+ function userInterfaceSelectMenu(s) {
188
+ if (s) { uiMode = s; putstore('uiMode', uiMode); }
189
+ webPageFullScreen = (uiMode < 3);
190
+ webPageStackMenu = true;//(uiMode > 1);
191
+ toggleFullScreen(0);
192
+ toggleStackMenu(0);
193
+ QC('column_l').add('room4submenu');
194
+ }
195
+
196
+ function toggleNightMode() {
197
+ nightMode = !nightMode;
198
+ if (nightMode) { QC('body').add('night'); } else { QC('body').remove('night'); }
199
+ putstore('_nightMode', nightMode ? '1' : '0');
200
+ }
201
+
202
+ // Toggle the web page to full screen
203
+ function toggleFullScreen(toggle) {
204
+ if (toggle === 1) { webPageFullScreen = !webPageFullScreen; putstore('webPageFullScreen', webPageFullScreen); }
205
+ var hide = 0;
206
+ //if (args.hide) { hide = parseInt(args.hide); }
207
+ if (webPageFullScreen == false) {
208
+ QC('body').remove('menu_stack');
209
+ QC('body').remove('fullscreen');
210
+ QC('body').remove('arg_hide');
211
+ //if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
212
+ //QV('UserDummyMenuSpan', false);
213
+ //QV('page_leftbar', false);
214
+ } else {
215
+ QC('body').add('fullscreen');
216
+ if (hide & 16) QC('body').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
217
+ //QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
218
+ //QV('page_leftbar', true);
219
+ }
220
+ QV('body', true);
221
+ }
222
+
223
+ // If FullScreen, toggle menu to be horisontal or vertical
224
+ function toggleStackMenu(toggle) {
225
+ if (webPageFullScreen == true) {
226
+ if (toggle === 1) {
227
+ webPageStackMenu = !webPageStackMenu;
228
+ putstore('webPageStackMenu', webPageStackMenu);
229
+ }
230
+ if (webPageStackMenu == false) {
231
+ QC('body').remove('menu_stack');
232
+ } else {
233
+ QC('body').add('menu_stack');
234
+ //if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
235
+ }
236
+ }
237
+ }
238
+
239
+ function putstore(name, val) { try { if (typeof (localStorage) === 'undefined') return; localStorage.setItem(name, val); } catch (e) { } }
240
+ function getstore(name, val) { try { if (typeof (localStorage) === 'undefined') return val; var v = localStorage.getItem(name); if ((v == null) || (v == null)) return val; return v; } catch (e) { return val; } }
241
+ function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };
242
+
243
+ </script>
244
+
245
+
246
+</body></html>
\ No newline at end of file
webserver.js
+16
-16
@@ -1511,8 +1511,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1511
} else if (req.query.node) {
1512
currentNode = 'node/' + domain.id + '/' + req.query.node;
1513
}
1514
- var logoutcontrol = '';
1515
- if (obj.args.nousers != true) { logoutcontrol = 'Welcome ' + user.name + '.'; }
1514
+ var logoutcontrols = {};
1515
+ if (obj.args.nousers != true) { logoutcontrols.name = user.name; }
1516
1517
// Give the web page a list of supported server features
1518
features = 0;
@@ -1546,7 +1546,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1546
1547
// Send the master web application
1548
var extras = (req.query.key != null) ? ('&key=' + req.query.key) : '';
1549
- if ((!obj.args.user) && (obj.args.nousers != true) && (nologout == false)) { logoutcontrol += ' <a href=' + domain.url + 'logout?' + Math.random() + extras + ' style=color:white>Logout</a>'; } // If a default user is in use or no user mode, don't display the logout button
1549
+ if ((!obj.args.user) && (obj.args.nousers != true) && (nologout == false)) { logoutcontrols.logoutUrl = (domain.url + 'logout?' + Math.random() + extras); } // If a default user is in use or no user mode, don't display the logout button
1550
var httpsPort = ((obj.args.aliasport == null) ? obj.args.port : obj.args.aliasport); // Use HTTPS alias port is specified
1551
1552
// Clean up the U2F challenge if needed
@@ -1556,7 +1556,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1556
parent.debug('web', 'handleRootRequestEx: success.');
1557
obj.db.Get('ws' + user._id, function (err, states) {
1558
var webstate = (states.length == 1) ? obj.filterUserWebState(states[0].state) : '';
1559
- render(req, res, getRenderPage('default', req), { authCookie: authCookie, authRelayCookie: authRelayCookie, viewmode: viewmode, currentNode: currentNode, logoutControl: logoutcontrol, title: domain.title, title2: domain.title2, extitle: encodeURIComponent(domain.title), extitle2: encodeURIComponent(domain.title2), domainurl: domain.url, domain: domain.id, debuglevel: parent.debugLevel, serverDnsName: obj.getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, noServerBackup: (args.noserverbackup == 1 ? 1 : 0), features: features, sessiontime: args.sessiontime, mpspass: args.mpspass, passRequirements: passRequirements, webcerthash: Buffer.from(obj.webCertificateFullHashs[domain.id], 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'), footer: (domain.footer == null) ? '' : domain.footer, webstate: encodeURIComponent(webstate), pluginHandler: (parent.pluginHandler == null) ? 'null' : parent.pluginHandler.prepExports() });
1559
+ render(req, res, getRenderPage('default', req), { authCookie: authCookie, authRelayCookie: authRelayCookie, viewmode: viewmode, currentNode: currentNode, logoutControls: JSON.stringify(logoutcontrols), title: domain.title, title2: domain.title2, extitle: encodeURIComponent(domain.title), extitle2: encodeURIComponent(domain.title2), domainurl: domain.url, domain: domain.id, debuglevel: parent.debugLevel, serverDnsName: obj.getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, noServerBackup: (args.noserverbackup == 1 ? 1 : 0), features: features, sessiontime: args.sessiontime, mpspass: args.mpspass, passRequirements: passRequirements, webcerthash: Buffer.from(obj.webCertificateFullHashs[domain.id], 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'), footer: (domain.footer == null) ? '' : domain.footer, webstate: encodeURIComponent(webstate), pluginHandler: (parent.pluginHandler == null) ? 'null' : parent.pluginHandler.prepExports() });
1560
});
1561
} else {
1562
// Send back the login application
@@ -1683,12 +1683,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1683
if (req.session && req.session.userid) {
1684
if (req.session.domainid != domain.id) { req.session = null; res.redirect(domain.url + getQueryPortion(req)); return; } // Check is the session is for the correct domain
1685
var user = obj.users[req.session.userid];
1686
- var logoutcontrol = 'Welcome ' + user.name + '.';
1686
+ var logoutcontrols = { name: user.name };
1687
var extras = (req.query.key != null) ? ('&key=' + req.query.key) : '';
1688
- if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrol += ' <a href=' + domain.url + 'logout?' + Math.random() + extras + ' style=color:white>Logout</a>'; } // If a default user is in use or no user mode, don't display the logout button
1689
- render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, terms: encodeURIComponent(parent.configurationFiles['terms.txt'].toString()), logoutControl: logoutcontrol });
1688
+ if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrols.logoutUrl = (domain.url + 'logout?' + Math.random() + extras); } // If a default user is in use or no user mode, don't display the logout button
1689
+ render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, terms: encodeURIComponent(parent.configurationFiles['terms.txt'].toString()), logoutControls: JSON.stringify(logoutcontrols) });
1690
} else {
1691
- render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, terms: encodeURIComponent(parent.configurationFiles['terms.txt'].toString()) });
1691
+ render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, terms: encodeURIComponent(parent.configurationFiles['terms.txt'].toString()), logoutControls: '{}' });
1692
}
1693
} else {
1694
// See if there is a terms.txt file in meshcentral-data
@@ -1702,12 +1702,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1702
if (req.session && req.session.userid) {
1703
if (req.session.domainid != domain.id) { req.session = null; res.redirect(domain.url + getQueryPortion(req)); return; } // Check is the session is for the correct domain
1704
var user = obj.users[req.session.userid];
1705
- var logoutcontrol = 'Welcome ' + user.name + '.';
1705
+ var logoutcontrols = { name: user.name };
1706
var extras = (req.query.key != null) ? ('&key=' + req.query.key) : '';
1707
- if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrol += ' <a href=' + domain.url + 'logout?' + Math.random() + extras + ' style=color:white>Logout</a>'; } // If a default user is in use or no user mode, don't display the logout button
1708
- render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, terms: encodeURIComponent(data), logoutControl: logoutcontrol });
1707
+ if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrols.logoutUrl = (domain.url + 'logout?' + Math.random() + extras); } // If a default user is in use or no user mode, don't display the logout button
1708
+ render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, terms: encodeURIComponent(data), logoutControls: JSON.stringify(logoutcontrols) });
1709
} else {
1710
- render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, terms: encodeURIComponent(data) });
1710
+ render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, terms: encodeURIComponent(data), logoutControls: '{}' });
1711
}
1712
});
1713
} else {
@@ -1717,12 +1717,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1717
if (req.session && req.session.userid) {
1718
if (req.session.domainid != domain.id) { req.session = null; res.redirect(domain.url + getQueryPortion(req)); return; } // Check is the session is for the correct domain
1719
var user = obj.users[req.session.userid];
1720
- var logoutcontrol = 'Welcome ' + user.name + '.';
1720
+ var logoutcontrols = { name: user.name };
1721
var extras = (req.query.key != null) ? ('&key=' + req.query.key) : '';
1722
- if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrol += ' <a href=' + domain.url + 'logout?' + Math.random() + extras + ' style=color:white>Logout</a>'; } // If a default user is in use or no user mode, don't display the logout button
1723
- render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, logoutControl: logoutcontrol });
1722
+ if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrols.logoutUrl = (domain.url + 'logout?' + Math.random() + extras); } // If a default user is in use or no user mode, don't display the logout button
1723
+ render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, logoutControls: JSON.stringify(logoutcontrols) });
1724
} else {
1725
- render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url });
1725
+ render(req, res, getRenderPage('terms', req), { title: domain.title, title2: domain.title2, domainurl: domain.url, logoutControls: '{}' });
1726
}
1727
}
1728
}