Internalization improvements.
This commit is contained in:
parent
908b308c30
commit
db2577b897
|
@ -229,7 +229,6 @@
|
||||||
<Content Include="public\images\mapmarker.png" />
|
<Content Include="public\images\mapmarker.png" />
|
||||||
<Content Include="public\images\meshicon50.png" />
|
<Content Include="public\images\meshicon50.png" />
|
||||||
<Content Include="public\images\trash.png" />
|
<Content Include="public\images\trash.png" />
|
||||||
<Content Include="public\player.htm" />
|
|
||||||
<Content Include="public\scriptblocks.txt" />
|
<Content Include="public\scriptblocks.txt" />
|
||||||
<Content Include="public\sounds\chimes.mp3" />
|
<Content Include="public\sounds\chimes.mp3" />
|
||||||
<Content Include="public\styles\font-awesome\css\font-awesome.min.css" />
|
<Content Include="public\styles\font-awesome\css\font-awesome.min.css" />
|
||||||
|
|
|
@ -2654,10 +2654,10 @@ function createMeshCore(agent) {
|
||||||
if (mesh.ExecPowerState == undefined) {
|
if (mesh.ExecPowerState == undefined) {
|
||||||
response = 'Power command not supported on this agent.';
|
response = 'Power command not supported on this agent.';
|
||||||
} else {
|
} else {
|
||||||
if ((args['_'].length == 0) || (typeof args['_'][0] != 'number')) {
|
if ((args['_'].length == 0) || isNaN(Number(args['_'][0]))) {
|
||||||
response = 'Proper usage: power (actionNumber), where actionNumber is:\r\n LOGOFF = 1\r\n SHUTDOWN = 2\r\n REBOOT = 3\r\n SLEEP = 4\r\n HIBERNATE = 5\r\n DISPLAYON = 6\r\n KEEPAWAKE = 7\r\n BEEP = 8\r\n CTRLALTDEL = 9\r\n VIBRATE = 13\r\n FLASH = 14'; // Display correct command usage
|
response = 'Proper usage: power (actionNumber), where actionNumber is:\r\n LOGOFF = 1\r\n SHUTDOWN = 2\r\n REBOOT = 3\r\n SLEEP = 4\r\n HIBERNATE = 5\r\n DISPLAYON = 6\r\n KEEPAWAKE = 7\r\n BEEP = 8\r\n CTRLALTDEL = 9\r\n VIBRATE = 13\r\n FLASH = 14'; // Display correct command usage
|
||||||
} else {
|
} else {
|
||||||
var r = mesh.ExecPowerState(args['_'][0], args['_'][1]);
|
var r = mesh.ExecPowerState(Number(args['_'][0]), Number(args['_'][1]));
|
||||||
response = 'Power action executed with return code: ' + r + '.';
|
response = 'Power action executed with return code: ' + r + '.';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,8 +80,9 @@
|
||||||
<option value="es">Spanish (es)</option>
|
<option value="es">Spanish (es)</option>
|
||||||
</select>
|
</select>
|
||||||
<input id="searchInput" type="text" placeholder="Search" onchange="onSearchChanged()" onkeyup="onSearchChanged()">
|
<input id="searchInput" type="text" placeholder="Search" onchange="onSearchChanged()" onkeyup="onSearchChanged()">
|
||||||
<input id="showLocCheck" type="checkbox" onchange="onLocChanged()"> Show Location
|
<label><input id="showLocCheck" type="checkbox" onchange="onLocChanged()"> Show Location</label>
|
||||||
</div>
|
<label><input id="showNoTransOnlyCheck" type="checkbox" onchange="onSearchChanged(true)">Show No Translations Only</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id=deskarea2 style="">
|
<div id=deskarea2 style="">
|
||||||
<div class="areaProgress"><div id="progressbar" style="background-color:blue"></div></div>
|
<div class="areaProgress"><div id="progressbar" style="background-color:blue"></div></div>
|
||||||
|
@ -257,6 +258,7 @@
|
||||||
}
|
}
|
||||||
QH('masterListArea', x.join(''));
|
QH('masterListArea', x.join(''));
|
||||||
updateButtons();
|
updateButtons();
|
||||||
|
onSearchChanged(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function select(i, scroll, nofocus) {
|
function select(i, scroll, nofocus) {
|
||||||
|
@ -306,15 +308,17 @@
|
||||||
|
|
||||||
var currentSearchFilter = '';
|
var currentSearchFilter = '';
|
||||||
function onSearchChanged(force) {
|
function onSearchChanged(force) {
|
||||||
|
var showNoTranslationOnly = Q('showNoTransOnlyCheck').checked;
|
||||||
if ((force != true) && (currentSearchFilter == Q('searchInput').value)) return;
|
if ((force != true) && (currentSearchFilter == Q('searchInput').value)) return;
|
||||||
currentSearchFilter = Q('searchInput').value;
|
currentSearchFilter = Q('searchInput').value;
|
||||||
var currentSearchFilterLower = currentSearchFilter.toLowerCase();
|
var currentSearchFilterLower = currentSearchFilter.toLowerCase();
|
||||||
if (translations != null) {
|
if (translations != null) {
|
||||||
for (var i in translations) {
|
for (var i in translations) {
|
||||||
|
var show = (!showNoTranslationOnly) || (translations[i][selectedLanguage] == null) || (translations[i][selectedLanguage] == '');
|
||||||
if (currentSearchFilter == '') {
|
if (currentSearchFilter == '') {
|
||||||
QV('nx' + i, true);
|
QV('nx' + i, show);
|
||||||
} else {
|
} else {
|
||||||
QV('nx' + i, ((translations[i][selectedLanguage] != null) && (translations[i][selectedLanguage].toLowerCase().indexOf(currentSearchFilterLower) >= 0)) || (translations[i]['en'].toLowerCase().indexOf(currentSearchFilterLower) >= 0));
|
QV('nx' + i, show && (((translations[i][selectedLanguage] != null) && (translations[i][selectedLanguage].toLowerCase().indexOf(currentSearchFilterLower) >= 0)) || (translations[i]['en'].toLowerCase().indexOf(currentSearchFilterLower) >= 0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ var meshCentralSourceFiles = [
|
||||||
"../views/xterm.handlebars",
|
"../views/xterm.handlebars",
|
||||||
"../views/message.handlebars",
|
"../views/message.handlebars",
|
||||||
"../views/messenger.handlebars",
|
"../views/messenger.handlebars",
|
||||||
"../public/player.htm"
|
"../views/player.handlebars"
|
||||||
];
|
];
|
||||||
|
|
||||||
// True is this module is run directly using NodeJS
|
// True is this module is run directly using NodeJS
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,7 +8,7 @@
|
||||||
<meta name="format-detection" content="telephone=no" />
|
<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/style.css" media="screen" rel="stylesheet" title="CSS" />
|
||||||
<script type="text/javascript" src="scripts/common-0.0.1.js"></script>
|
<script type="text/javascript" src="scripts/common-0.0.1.js"></script>
|
||||||
<title>{{{title}}} - Agent Installation</title>
|
<title>Agent Installation</title>
|
||||||
<style>
|
<style>
|
||||||
.tab {
|
.tab {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="column_l" style="max-height:calc(100vh - 135px);overflow-y:auto">
|
<div id="column_l" style="max-height:calc(100vh - 135px);overflow-y:auto">
|
||||||
<h1>Remote Agent Installation<span id="groupname"></span></h1>
|
<h1><span id="groupname">Remote Agent Installation</span></h1>
|
||||||
<p>
|
<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.
|
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.
|
Only follow the instructions below if this invitation was expected and you know who will be accessing your computer.
|
||||||
|
@ -139,12 +139,18 @@
|
||||||
var domain = '{{{domain}}}';
|
var domain = '{{{domain}}}';
|
||||||
var domainUrl = '{{{domainurl}}}';
|
var domainUrl = '{{{domainurl}}}';
|
||||||
var meshid = '{{{meshid}}}';
|
var meshid = '{{{meshid}}}';
|
||||||
|
var title = '{{{title}}}';
|
||||||
var serverPort = '{{{serverport}}}';
|
var serverPort = '{{{serverport}}}';
|
||||||
var serverHttps = '{{{serverhttps}}}';
|
var serverHttps = '{{{serverhttps}}}';
|
||||||
var serverNoProxy = '{{{servernoproxy}}}';
|
var serverNoProxy = '{{{servernoproxy}}}';
|
||||||
var installFlags = '{{{installflags}}}';
|
var installFlags = '{{{installflags}}}';
|
||||||
var groupName = decodeURIComponent('{{{meshname}}}');
|
var groupName = decodeURIComponent('{{{meshname}}}');
|
||||||
if (groupName != '') { QH('groupname', ' for ' + groupName); }
|
if (groupName != '') {
|
||||||
|
QH('groupname', format("Remote Agent Installation for {0}", groupName));
|
||||||
|
document.title = format("{0} - Agent Installation");
|
||||||
|
} else {
|
||||||
|
document.title = "Agent Installation";
|
||||||
|
}
|
||||||
userInterfaceSelectMenu();
|
userInterfaceSelectMenu();
|
||||||
setup();
|
setup();
|
||||||
|
|
||||||
|
|
|
@ -3863,13 +3863,13 @@
|
||||||
function onSearchInputChanged() {
|
function onSearchInputChanged() {
|
||||||
var x = Q('SearchInput').value.toLowerCase().trim(); putstore('_search', Q('SearchInput').value);
|
var x = Q('SearchInput').value.toLowerCase().trim(); putstore('_search', Q('SearchInput').value);
|
||||||
var userSearch = null, ipSearch = null, groupSearch = null, tagSearch = null;
|
var userSearch = null, ipSearch = null, groupSearch = null, tagSearch = null;
|
||||||
if (x.startsWith("user:")) { userSearch = x.substring(5); }
|
if (x.startsWith("user:".toLowerCase())) { userSearch = x.substring("user:".length); }
|
||||||
else if (x.startsWith("u:")) { userSearch = x.substring(2); }
|
else if (x.startsWith("u:".toLowerCase())) { userSearch = x.substring("u:".length); }
|
||||||
else if (x.startsWith("ip:")) { ipSearch = x.substring(3); }
|
else if (x.startsWith("ip:".toLowerCase())) { ipSearch = x.substring("ip:".length); }
|
||||||
else if (x.startsWith("group:")) { groupSearch = x.substring(6); }
|
else if (x.startsWith("group:".toLowerCase())) { groupSearch = x.substring("group:".length); }
|
||||||
else if (x.startsWith("g:")) { groupSearch = x.substring(2); }
|
else if (x.startsWith("g:".toLowerCase())) { groupSearch = x.substring("g:".length); }
|
||||||
else if (x.startsWith("tag:")) { tagSearch = Q('SearchInput').value.trim().substring(4); }
|
else if (x.startsWith("tag:".toLowerCase())) { tagSearch = Q('SearchInput').value.trim().substring("tag:".length); }
|
||||||
else if (x.startsWith("t:")) { tagSearch = Q('SearchInput').value.trim().substring(2); }
|
else if (x.startsWith("t:".toLowerCase())) { tagSearch = Q('SearchInput').value.trim().substring("t:".length); }
|
||||||
|
|
||||||
if (x == '') {
|
if (x == '') {
|
||||||
// No search
|
// No search
|
||||||
|
|
12
webserver.js
12
webserver.js
|
@ -2087,6 +2087,16 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Server the player page
|
||||||
|
function handlePlayerRequest(req, res) {
|
||||||
|
const domain = checkUserIpAddress(req, res);
|
||||||
|
if ((domain == null) || (domain.redirects == null)) { res.sendStatus(404); return; }
|
||||||
|
|
||||||
|
parent.debug('web', 'handlePlayerRequest: sending player');
|
||||||
|
res.set({ 'Cache-Control': 'no-cache, no-store, must-revalidate', 'Pragma': 'no-cache', 'Expires': '0' });
|
||||||
|
render(req, res, getRenderPage('player', req), getRenderArgs({}, domain));
|
||||||
|
}
|
||||||
|
|
||||||
// Handle domain redirection
|
// Handle domain redirection
|
||||||
obj.handleDomainRedirect = function (req, res) {
|
obj.handleDomainRedirect = function (req, res) {
|
||||||
const domain = checkUserIpAddress(req, res);
|
const domain = checkUserIpAddress(req, res);
|
||||||
|
@ -3525,6 +3535,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
||||||
obj.app.get(url + 'logo.png', handleLogoRequest);
|
obj.app.get(url + 'logo.png', handleLogoRequest);
|
||||||
obj.app.post(url + 'translations', handleTranslationsRequest);
|
obj.app.post(url + 'translations', handleTranslationsRequest);
|
||||||
obj.app.get(url + 'welcome.jpg', handleWelcomeImageRequest);
|
obj.app.get(url + 'welcome.jpg', handleWelcomeImageRequest);
|
||||||
|
obj.app.get(url + 'player.htm', handlePlayerRequest);
|
||||||
|
obj.app.get(url + 'player', handlePlayerRequest);
|
||||||
obj.app.ws(url + 'amtactivate', handleAmtActivateWebSocket);
|
obj.app.ws(url + 'amtactivate', handleAmtActivateWebSocket);
|
||||||
if (parent.pluginHandler != null) {
|
if (parent.pluginHandler != null) {
|
||||||
obj.app.get(url + 'pluginadmin.ashx', obj.handlePluginAdminReq);
|
obj.app.get(url + 'pluginadmin.ashx', obj.handlePluginAdminReq);
|
||||||
|
|
Loading…
Reference in New Issue