mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2024-12-23 21:55:52 -05:00
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\meshicon50.png" />
|
||||
<Content Include="public\images\trash.png" />
|
||||
<Content Include="public\player.htm" />
|
||||
<Content Include="public\scriptblocks.txt" />
|
||||
<Content Include="public\sounds\chimes.mp3" />
|
||||
<Content Include="public\styles\font-awesome\css\font-awesome.min.css" />
|
||||
|
@ -2654,10 +2654,10 @@ function createMeshCore(agent) {
|
||||
if (mesh.ExecPowerState == undefined) {
|
||||
response = 'Power command not supported on this agent.';
|
||||
} 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
|
||||
} 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 + '.';
|
||||
}
|
||||
}
|
||||
|
@ -80,8 +80,9 @@
|
||||
<option value="es">Spanish (es)</option>
|
||||
</select>
|
||||
<input id="searchInput" type="text" placeholder="Search" onchange="onSearchChanged()" onkeyup="onSearchChanged()">
|
||||
<input id="showLocCheck" type="checkbox" onchange="onLocChanged()"> Show Location
|
||||
</div>
|
||||
<label><input id="showLocCheck" type="checkbox" onchange="onLocChanged()"> Show Location</label>
|
||||
<label><input id="showNoTransOnlyCheck" type="checkbox" onchange="onSearchChanged(true)">Show No Translations Only</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id=deskarea2 style="">
|
||||
<div class="areaProgress"><div id="progressbar" style="background-color:blue"></div></div>
|
||||
@ -257,6 +258,7 @@
|
||||
}
|
||||
QH('masterListArea', x.join(''));
|
||||
updateButtons();
|
||||
onSearchChanged(true);
|
||||
}
|
||||
|
||||
function select(i, scroll, nofocus) {
|
||||
@ -306,15 +308,17 @@
|
||||
|
||||
var currentSearchFilter = '';
|
||||
function onSearchChanged(force) {
|
||||
var showNoTranslationOnly = Q('showNoTransOnlyCheck').checked;
|
||||
if ((force != true) && (currentSearchFilter == Q('searchInput').value)) return;
|
||||
currentSearchFilter = Q('searchInput').value;
|
||||
var currentSearchFilterLower = currentSearchFilter.toLowerCase();
|
||||
if (translations != null) {
|
||||
for (var i in translations) {
|
||||
var show = (!showNoTranslationOnly) || (translations[i][selectedLanguage] == null) || (translations[i][selectedLanguage] == '');
|
||||
if (currentSearchFilter == '') {
|
||||
QV('nx' + i, true);
|
||||
QV('nx' + i, show);
|
||||
} 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/message.handlebars",
|
||||
"../views/messenger.handlebars",
|
||||
"../public/player.htm"
|
||||
"../views/player.handlebars"
|
||||
];
|
||||
|
||||
// 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" />
|
||||
<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>
|
||||
<title>{{{title}}} - Agent Installation</title>
|
||||
<title>Agent Installation</title>
|
||||
<style>
|
||||
.tab {
|
||||
overflow: hidden;
|
||||
@ -71,7 +71,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
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.
|
||||
@ -139,12 +139,18 @@
|
||||
var domain = '{{{domain}}}';
|
||||
var domainUrl = '{{{domainurl}}}';
|
||||
var meshid = '{{{meshid}}}';
|
||||
var title = '{{{title}}}';
|
||||
var serverPort = '{{{serverport}}}';
|
||||
var serverHttps = '{{{serverhttps}}}';
|
||||
var serverNoProxy = '{{{servernoproxy}}}';
|
||||
var installFlags = '{{{installflags}}}';
|
||||
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();
|
||||
setup();
|
||||
|
||||
|
@ -3863,13 +3863,13 @@
|
||||
function onSearchInputChanged() {
|
||||
var x = Q('SearchInput').value.toLowerCase().trim(); putstore('_search', Q('SearchInput').value);
|
||||
var userSearch = null, ipSearch = null, groupSearch = null, tagSearch = null;
|
||||
if (x.startsWith("user:")) { userSearch = x.substring(5); }
|
||||
else if (x.startsWith("u:")) { userSearch = x.substring(2); }
|
||||
else if (x.startsWith("ip:")) { ipSearch = x.substring(3); }
|
||||
else if (x.startsWith("group:")) { groupSearch = x.substring(6); }
|
||||
else if (x.startsWith("g:")) { groupSearch = x.substring(2); }
|
||||
else if (x.startsWith("tag:")) { tagSearch = Q('SearchInput').value.trim().substring(4); }
|
||||
else if (x.startsWith("t:")) { tagSearch = Q('SearchInput').value.trim().substring(2); }
|
||||
if (x.startsWith("user:".toLowerCase())) { userSearch = x.substring("user:".length); }
|
||||
else if (x.startsWith("u:".toLowerCase())) { userSearch = x.substring("u:".length); }
|
||||
else if (x.startsWith("ip:".toLowerCase())) { ipSearch = x.substring("ip:".length); }
|
||||
else if (x.startsWith("group:".toLowerCase())) { groupSearch = x.substring("group:".length); }
|
||||
else if (x.startsWith("g:".toLowerCase())) { groupSearch = x.substring("g:".length); }
|
||||
else if (x.startsWith("tag:".toLowerCase())) { tagSearch = Q('SearchInput').value.trim().substring("tag:".length); }
|
||||
else if (x.startsWith("t:".toLowerCase())) { tagSearch = Q('SearchInput').value.trim().substring("t:".length); }
|
||||
|
||||
if (x == '') {
|
||||
// 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
|
||||
obj.handleDomainRedirect = function (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.post(url + 'translations', handleTranslationsRequest);
|
||||
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);
|
||||
if (parent.pluginHandler != null) {
|
||||
obj.app.get(url + 'pluginadmin.ashx', obj.handlePluginAdminReq);
|
||||
|
Loading…
Reference in New Issue
Block a user