More work on cross-domain admin.

Ylian Saint-Hilaire committed May 27, 2020 at 17:23 UTC 27191d3cd3c7cee69f80e7ca58b30bbbaff54d3c
4 files changed +361 -286
meshctrl.js
+56 -5
@@ -7,7 +7,7 @@ try { require('ws'); } catch (ex) { console.log('Missing module "ws", type "npm
7 var settings = {};
8 const crypto = require('crypto');
9 const args = require('minimist')(process.argv.slice(2));
10 -const possibleCommands = ['listusers', 'listusersessions', 'listdevicegroups', 'listdevices', 'listusersofdevicegroup', 'serverinfo', 'userinfo', 'adduser', 'removeuser', 'adddevicegroup', 'removedevicegroup', 'broadcast', 'showevents', 'addusertodevicegroup', 'removeuserfromdevicegroup', 'addusertodevice', 'removeuserfromdevice', 'sendinviteemail', 'generateinvitelink', 'config', 'movetodevicegroup', 'deviceinfo'];
10 +const possibleCommands = ['listusers', 'listusersessions', 'listdevicegroups', 'listdevices', 'listusersofdevicegroup', 'serverinfo', 'userinfo', 'adduser', 'removeuser', 'adddevicegroup', 'removedevicegroup', 'broadcast', 'showevents', 'addusertodevicegroup', 'removeuserfromdevicegroup', 'addusertodevice', 'removeuserfromdevice', 'sendinviteemail', 'generateinvitelink', 'config', 'movetodevicegroup', 'deviceinfo', 'addusergroup', 'listusergroups', 'removeusergroup'];
11 if (args.proxy != null) { try { require('https-proxy-agent'); } catch (ex) { console.log('Missing module "https-proxy-agent", type "npm install https-proxy-agent" to install it.'); return; } }
12
13 if (args['_'].length == 0) {
@@ -20,6 +20,7 @@ if (args['_'].length == 0) {
20 console.log(" UserInfo - Show user information.");
21 console.log(" ListUsers - List user accounts.");
22 console.log(" ListUsersSessions - List online users.");
23 + console.log(" ListUserGroups - List user groups.");
24 console.log(" ListDevices - List devices.");
25 console.log(" ListDeviceGroups - List device groups.");
26 console.log(" ListUsersOfDeviceGroup - List the users in a device group.");
@@ -27,6 +28,8 @@ if (args['_'].length == 0) {
28 console.log(" Config - Perform operation on config.json file.");
29 console.log(" AddUser - Create a new user account.");
30 console.log(" RemoveUser - Delete a user account.");
31 + console.log(" AddUserGroup - Create a new user group.");
32 + console.log(" RemoveUserGroup - Delete a user group.");
33 console.log(" AddDeviceGroup - Create a new device group.");
34 console.log(" RemoveDeviceGroup - Delete a device group.");
35 console.log(" MoveToDeviceGroup - Move a device to a different device group.");
@@ -45,7 +48,7 @@ if (args['_'].length == 0) {
48 console.log(" --token [number] - 2nd factor authentication token.");
49 console.log(" --loginkey [hex] - Server login key in hex.");
50 console.log(" --loginkeyfile [file] - File containing server login key in hex.");
48 - console.log(" --domain [domainid] - Domain id, default is empty, only used with loginkey.");
51 + console.log(" --logindomain [domainid] - Domain id, default is empty, only used with loginkey.");
52 console.log(" --proxy [http://proxy:1] - Specify an HTTP proxy.");
53 return;
54 } else {
@@ -60,6 +63,7 @@ if (args['_'].length == 0) {
63 case 'userinfo': { ok = true; break; }
64 case 'listusers': { ok = true; break; }
65 case 'listusersessions': { ok = true; break; }
66 + case 'listusergroups': { ok = true; break; }
67 case 'listdevicegroups': { ok = true; break; }
68 case 'listdevices': { ok = true; break; }
69 case 'listusersofdevicegroup': {
@@ -132,6 +136,16 @@ if (args['_'].length == 0) {
136 else { ok = true; }
137 break;
138 }
139 + case 'addusergroup': {
140 + if (args.name == null) { console.log("New user group name missing, use --name [name]"); }
141 + else { ok = true; }
142 + break;
143 + }
144 + case 'removeusergroup': {
145 + if (args.groupid == null) { console.log("Remove user group id missing, use --groupid [id]"); }
146 + else { ok = true; }
147 + break;
148 + }
149 case 'sendinviteemail': {
150 if ((args.id == null) && (args.group == null)) { console.log("Device group identifier missing, use --id [groupid] or --group [groupname]"); }
151 else if (args.email == null) { console.log("Device email is missing, use --email [email]"); }
@@ -211,6 +225,12 @@ if (args['_'].length == 0) {
225 console.log(" MeshCtrl ListUserSessions --json");
226 break;
227 }
228 + case 'listusergroups': {
229 + console.log("List user groups on the MeshCentral server, Example usages:\r\n");
230 + console.log(" MeshCtrl ListUserGroups");
231 + console.log(" MeshCtrl ListUserGroups --json");
232 + break;
233 + }
234 case 'listdevicegroups': {
235 console.log("List the device groups for this account, Example usages:\r\n");
236 console.log(" MeshCtrl ListDeviceGroups ");
@@ -260,6 +280,7 @@ if (args['_'].length == 0) {
280 console.log(" --locked - This account will be locked.");
281 console.log(" --nonewgroups - Account will not be allowed to create device groups.");
282 console.log(" --notools - Account not see MeshCMD download links.");
283 + console.log(" --domain [domain] - Account domain, only for cross-domain admins.");
284 break;
285 }
286 case 'removeuser': {
@@ -574,11 +595,11 @@ function serverConnect() {
595
596 if (ckey != null) {
597 var domainid = '', username = 'admin';
577 - if (args.domain != null) { domainid = args.domain; }
598 + if (args.logindomain != null) { domainid = args.logindomain; }
599 if (args.loginuser != null) { username = args.loginuser; }
600 url += '?auth=' + encodeCookie({ userid: 'user/' + domainid + '/' + username, domainid: domainid }, ckey);
601 } else {
581 - if (args.domain != null) { console.log("--domain can only be used along with --loginkey."); process.exit(); return; }
602 + if (args.logindomain != null) { console.log("--logindomain can only be used along with --loginkey."); process.exit(); return; }
603 }
604
605 const ws = new WebSocket(url, options);
@@ -591,6 +612,7 @@ function serverConnect() {
612 case 'userinfo': { break; }
613 case 'listusers': { ws.send(JSON.stringify({ action: 'users' })); break; }
614 case 'listusersessions': { ws.send(JSON.stringify({ action: 'wssessioncount' })); }
615 + case 'listusergroups': { ws.send(JSON.stringify({ action: 'usergroups' })); }
616 case 'listdevicegroups': { ws.send(JSON.stringify({ action: 'meshes' })); break; }
617 case 'listusersofdevicegroup': { ws.send(JSON.stringify({ action: 'meshes' })); break; }
618 case 'listdevices': {
@@ -618,14 +640,28 @@ function serverConnect() {
640 if (args.email) { op.email = args.email; if (args.emailverified) { op.emailVerified = true; } }
641 if (args.resetpass) { op.resetNextLogin = true; }
642 if (siteadmin != 0) { op.siteadmin = siteadmin; }
643 + if (args.domain) { op.domain = args.domain; }
644 ws.send(JSON.stringify(op));
645 break;
646 }
647 case 'removeuser': {
625 - var op = { action: 'deleteuser', userid: args.userid, responseid: 'meshctrl' };
648 + var userid = args.userid;
649 + if ((args.domain != null) && (userid.indexOf('/') < 0)) { userid = 'user/' + args.domain + '/' + userid; }
650 + ws.send(JSON.stringify({ action: 'deleteuser', userid: userid, responseid: 'meshctrl' }));
651 + break;
652 + }
653 + case 'addusergroup': {
654 + var op = { action: 'createusergroup', name: args.name, desc: args.desc, responseid: 'meshctrl' };
655 + if (args.domain) { op.domain = args.domain; }
656 ws.send(JSON.stringify(op));
657 break;
658 }
659 + case 'removeusergroup': {
660 + var ugrpid = args.groupid;
661 + if ((args.domain != null) && (userid.indexOf('/') < 0)) { ugrpid = 'ugrp/' + args.domain + '/' + ugrpid; }
662 + ws.send(JSON.stringify({ action: 'deleteusergroup', ugrpid: ugrpid, responseid: 'meshctrl' }));
663 + break;
664 + }
665 case 'adddevicegroup': {
666 var op = { action: 'createmesh', meshname: args.name, meshtype: 2, responseid: 'meshctrl' };
667 if (args.desc) { op.desc = args.desc; }
@@ -807,6 +843,8 @@ function serverConnect() {
843 case 'removemeshuser': //
844 case 'inviteAgent': //
845 case 'adddeviceuser': //
846 + case 'createusergroup': //
847 + case 'deleteusergroup': //
848 case 'userbroadcast': { // BROADCAST
849 if (data.responseid == 'meshctrl') {
850 if (data.meshid) { console.log(data.result, data.meshid); }
@@ -832,6 +870,19 @@ function serverConnect() {
870 process.exit();
871 break;
872 }
873 + case 'usergroups': { // LIST USER GROUPS
874 + if (args.json) {
875 + console.log(JSON.stringify(data.ugroups, ' ', 2));
876 + } else {
877 + for (var i in data.ugroups) {
878 + var x = i + ', ' + data.ugroups[i].name;
879 + if (data.ugroups[i].desc && (data.ugroups[i].desc != '')) { x += ', ' + data.ugroups[i].desc; }
880 + console.log(x);
881 + }
882 + }
883 + process.exit();
884 + break;
885 + }
886 case 'users': { // LISTUSERS
887 if (args.filter) {
888 // Filter the list of users
meshuser.js
+24 -8
@@ -1398,7 +1398,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1398 if (parent.parent.multiServer == null) {
1399 // No peering, use simple session counting
1400 for (i in parent.wssessions) {
1401 - if (parent.wssessions[i][0].domainid == domain.id) {
1401 + if ((obj.crossDomain === true) || (parent.wssessions[i][0].domainid == domain.id)) {
1402 if ((user.groups == null) || (user.groups.length == 0)) {
1403 // No user groups, count everything
1404 wssessions[i] = parent.wssessions[i].length;
@@ -1414,7 +1414,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1414 } else {
1415 // We have peer servers, use more complex session counting
1416 for (i in parent.sessionsCount) {
1417 - if (i.split('/')[1] == domain.id) {
1417 + if ((obj.crossDomain === true) || (i.split('/')[1] == domain.id)) {
1418 if ((user.groups == null) || (user.groups.length == 0)) {
1419 // No user groups, count everything
1420 wssessions[i] = parent.sessionsCount[i];
@@ -1441,6 +1441,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1441 if ((user.siteadmin & 2) == 0) { err = 'Permission denied'; }
1442 else if (common.validateString(command.userid, 1, 2048) == false) { err = 'Invalid userid'; }
1443 else {
1444 + if (command.userid.indexOf('/') < 0) { command.userid = 'user/' + domain.id + '/' + command.userid; }
1445 delusersplit = command.userid.split('/');
1446 deluserid = command.userid;
1447 deluser = parent.users[deluserid];
@@ -1950,19 +1951,32 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1951 }
1952 case 'deleteusergroup':
1953 {
1953 - if ((user.siteadmin & SITERIGHT_USERGROUPS) == 0) { return; }
1954 + var err = null;
1955 +
1956 + if ((user.siteadmin & SITERIGHT_USERGROUPS) == 0) { err = "Permission denied"; }
1957
1958 // Change the name or description of a user group
1956 - if (common.validateString(command.ugrpid, 1, 1024) == false) break; // Check the user group id
1957 - var ugroupidsplit = command.ugrpid.split('/');
1958 - if ((ugroupidsplit.length != 3) || (ugroupidsplit[0] != 'ugrp') || ((obj.crossDomain !== true) && (ugroupidsplit[1] != domain.id))) break;
1959 + else if (common.validateString(command.ugrpid, 1, 1024) == false) { err = "Invalid group id"; } // Check the user group id
1960 + else {
1961 + var ugroupidsplit = command.ugrpid.split('/');
1962 + if ((ugroupidsplit.length != 3) || (ugroupidsplit[0] != 'ugrp') || ((obj.crossDomain !== true) && (ugroupidsplit[1] != domain.id))) { err = "Invalid domain id"; }
1963 + }
1964
1965 // Get the domain
1966 var delGroupDomain = parent.parent.config.domains[ugroupidsplit[1]];
1962 - if (delGroupDomain == null) break;
1967 + if (delGroupDomain == null) { err = "Invalid domain id"; }
1968 +
1969 + // Handle any errors
1970 + if (err != null) {
1971 + if (command.responseid != null) { try { ws.send(JSON.stringify({ action: 'deleteusergroup', responseid: command.responseid, result: err })); } catch (ex) { } }
1972 + break;
1973 + }
1974
1975 db.Get(command.ugrpid, function (err, groups) {
1965 - if ((err != null) || (groups.length != 1)) return;
1976 + if ((err != null) || (groups.length != 1)) {
1977 + try { ws.send(JSON.stringify({ action: 'deleteusergroup', responseid: command.responseid, result: 'Unknown device group' })); } catch (ex) { }
1978 + return;
1979 + }
1980 var group = groups[0];
1981
1982 // Unlink any user and meshes that have a link to this group
@@ -2007,6 +2021,8 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2021
2022 // Log in the auth log
2023 if (parent.parent.authlog) { parent.parent.authLog('https', 'User ' + user.name + ' deleted user group ' + group.name); }
2024 +
2025 + try { ws.send(JSON.stringify({ action: 'deleteusergroup', responseid: command.responseid, result: 'ok', ugrpid: group._id })); } catch (ex) { }
2026 });
2027 break;
2028 }
translate/translate.json
+272 -268
@@ -192,7 +192,7 @@
192 "zh-chs": " 用戶需要先登錄到該服務器一次,然後才能將其添加到設備組。",
193 "xloc": [
194 "default.handlebars->25->1258",
195 - "default.handlebars->25->1569"
195 + "default.handlebars->25->1571"
196 ]
197 },
198 {
@@ -619,7 +619,7 @@
619 "default-mobile.handlebars->9->108",
620 "default-mobile.handlebars->9->284",
621 "default.handlebars->25->1365",
622 - "default.handlebars->25->1715",
622 + "default.handlebars->25->1719",
623 "default.handlebars->25->750"
624 ]
625 },
@@ -669,7 +669,7 @@
669 "ru": "1 активная сессия",
670 "zh-chs": "1個活動會話",
671 "xloc": [
672 - "default.handlebars->25->1633"
672 + "default.handlebars->25->1637"
673 ]
674 },
675 {
@@ -731,7 +731,7 @@
731 "ru": "1 группа",
732 "zh-chs": "1組",
733 "xloc": [
734 - "default.handlebars->25->1598"
734 + "default.handlebars->25->1602"
735 ]
736 },
737 {
@@ -1131,7 +1131,7 @@
1131 "zh-chs": "啟用第二因素身份驗證",
1132 "xloc": [
1133 "default.handlebars->25->1436",
1134 - "default.handlebars->25->1620"
1134 + "default.handlebars->25->1624"
1135 ]
1136 },
1137 {
@@ -1878,7 +1878,7 @@
1878 "ru": "Доступ к файлам сервера",
1879 "zh-chs": "訪問服務器文件",
1880 "xloc": [
1881 - "default.handlebars->25->1575"
1881 + "default.handlebars->25->1577"
1882 ]
1883 },
1884 {
@@ -2003,7 +2003,7 @@
2003 "zh-chs": "帐户已被锁定",
2004 "xloc": [
2005 "default.handlebars->25->1438",
2006 - "default.handlebars->25->1572"
2006 + "default.handlebars->25->1574"
2007 ]
2008 },
2009 {
@@ -2278,8 +2278,8 @@
2278 "ru": "Добавить устройство",
2279 "zh-chs": "添加設備",
2280 "xloc": [
2281 - "default.handlebars->25->1549",
2282 - "default.handlebars->25->1666"
2281 + "default.handlebars->25->1551",
2282 + "default.handlebars->25->1670"
2283 ]
2284 },
2285 {
@@ -2314,8 +2314,8 @@
2314 "zh-chs": "添加設備組",
2315 "xloc": [
2316 "default.handlebars->25->1290",
2317 - "default.handlebars->25->1543",
2318 - "default.handlebars->25->1654",
2317 + "default.handlebars->25->1545",
2318 + "default.handlebars->25->1658",
2319 "default.handlebars->25->198"
2320 ]
2321 },
@@ -2432,7 +2432,7 @@
2432 "ru": "Добавить участие",
2433 "zh-chs": "添加會員",
2434 "xloc": [
2435 - "default.handlebars->25->1684"
2435 + "default.handlebars->25->1688"
2436 ]
2437 },
2438 {
@@ -2524,7 +2524,7 @@
2524 "xloc": [
2525 "default.handlebars->25->1190",
2526 "default.handlebars->25->1289",
2527 - "default.handlebars->25->1660",
2527 + "default.handlebars->25->1664",
2528 "default.handlebars->25->572"
2529 ]
2530 },
@@ -2585,7 +2585,7 @@
2585 "zh-chs": "添加用戶",
2586 "xloc": [
2587 "default.handlebars->25->1189",
2588 - "default.handlebars->25->1538"
2588 + "default.handlebars->25->1540"
2589 ]
2590 },
2591 {
@@ -2619,7 +2619,7 @@
2619 "ru": "Добавить пользователей в группу",
2620 "zh-chs": "將用戶添加到用戶組",
2621 "xloc": [
2622 - "default.handlebars->25->1571"
2622 + "default.handlebars->25->1573"
2623 ]
2624 },
2625 {
@@ -2826,7 +2826,7 @@
2826 "ru": "Области администратора",
2827 "zh-chs": "管理領域",
2828 "xloc": [
2829 - "default.handlebars->25->1602"
2829 + "default.handlebars->25->1606"
2830 ]
2831 },
2832 {
@@ -2989,7 +2989,7 @@
2989 "ru": "Счетчик ошибок агента",
2990 "zh-chs": "座席錯誤計數器",
2991 "xloc": [
2992 - "default.handlebars->25->1725"
2992 + "default.handlebars->25->1729"
2993 ]
2994 },
2995 {
@@ -3058,7 +3058,7 @@
3058 "ru": "Сессии агентов",
3059 "zh-chs": "座席會議",
3060 "xloc": [
3061 - "default.handlebars->25->1741"
3061 + "default.handlebars->25->1745"
3062 ]
3063 },
3064 {
@@ -3181,7 +3181,7 @@
3181 "ru": "Агенты",
3182 "zh-chs": "代理商",
3183 "xloc": [
3184 - "default.handlebars->25->1754"
3184 + "default.handlebars->25->1758"
3185 ]
3186 },
3187 {
@@ -3268,7 +3268,7 @@
3268 "zh-chs": "允許用戶管理此設備組和該組中的設備。",
3269 "xloc": [
3270 "default.handlebars->25->1256",
3271 - "default.handlebars->25->1568"
3271 + "default.handlebars->25->1570"
3272 ]
3273 },
3274 {
@@ -3372,7 +3372,7 @@
3372 "zh-chs": "始終通知",
3373 "xloc": [
3374 "default.handlebars->25->1170",
3375 - "default.handlebars->25->1611",
3375 + "default.handlebars->25->1615",
3376 "default.handlebars->25->518"
3377 ]
3378 },
@@ -3391,7 +3391,7 @@
3391 "zh-chs": "總是提示",
3392 "xloc": [
3393 "default.handlebars->25->1171",
3394 - "default.handlebars->25->1612",
3394 + "default.handlebars->25->1616",
3395 "default.handlebars->25->519"
3396 ]
3397 },
@@ -4001,7 +4001,7 @@
4001 "ru": "Вы уверенны, что {0} плагин: {1}",
4002 "zh-chs": "您確定要{0}插件嗎:{1}",
4003 "xloc": [
4004 - "default.handlebars->25->1794"
4004 + "default.handlebars->25->1798"
4005 ]
4006 },
4007 {
@@ -4097,7 +4097,7 @@
4097 "ru": "Приложение аутентификации",
4098 "zh-chs": "身份驗證應用",
4099 "xloc": [
4100 - "default.handlebars->25->1615"
4100 + "default.handlebars->25->1619"
4101 ]
4102 },
4103 {
@@ -4414,7 +4414,7 @@
4414 "ru": "Резервные коды",
4415 "zh-chs": "備用碼",
4416 "xloc": [
4417 - "default.handlebars->25->1617"
4417 + "default.handlebars->25->1621"
4418 ]
4419 },
4420 {
@@ -4431,7 +4431,7 @@
4431 "ru": "Плохой ключ",
4432 "zh-chs": "錯誤的簽名",
4433 "xloc": [
4434 - "default.handlebars->25->1732"
4434 + "default.handlebars->25->1736"
4435 ]
4436 },
4437 {
@@ -4448,7 +4448,7 @@
4448 "ru": "Плохой веб-сертификат",
4449 "zh-chs": "錯誤的網絡證書",
4450 "xloc": [
4451 - "default.handlebars->25->1731"
4451 + "default.handlebars->25->1735"
4452 ]
4453 },
4454 {
@@ -4586,7 +4586,7 @@
4586 "ru": "Отправить сообщение",
4587 "zh-chs": "廣播",
4588 "xloc": [
4589 - "default.handlebars->25->1536",
4589 + "default.handlebars->25->1538",
4590 "default.handlebars->container->column_l->p4->3->1->0->3->1"
4591 ]
4592 },
@@ -4711,7 +4711,7 @@
4711 "ru": "CIRA Сервер",
4712 "zh-chs": "CIRA服務器",
4713 "xloc": [
4714 - "default.handlebars->25->1782"
4714 + "default.handlebars->25->1786"
4715 ]
4716 },
4717 {
@@ -4728,7 +4728,7 @@
4728 "ru": "CIRA Сервер команды",
4729 "zh-chs": "CIRA服務器命令",
4730 "xloc": [
4731 - "default.handlebars->25->1783"
4731 + "default.handlebars->25->1787"
4732 ]
4733 },
4734 {
@@ -4762,7 +4762,7 @@
4762 "ru": "Загрузка CPU",
4763 "zh-chs": "CPU負載",
4764 "xloc": [
4765 - "default.handlebars->25->1746"
4765 + "default.handlebars->25->1750"
4766 ]
4767 },
4768 {
@@ -4779,7 +4779,7 @@
4779 "ru": "Загрузка CPU за последние 15 минут",
4780 "zh-chs": "最近15分鐘的CPU負載",
4781 "xloc": [
4782 - "default.handlebars->25->1749"
4782 + "default.handlebars->25->1753"
4783 ]
4784 },
4785 {
@@ -4796,7 +4796,7 @@
4796 "ru": "Загрузка CPU за последние 5 минут",
4797 "zh-chs": "最近5分鐘的CPU負載",
4798 "xloc": [
4799 - "default.handlebars->25->1748"
4799 + "default.handlebars->25->1752"
4800 ]
4801 },
4802 {
@@ -4813,7 +4813,7 @@
4813 "ru": "Загрузка CPU за последнюю минуту",
4814 "zh-chs": "最後一分鐘的CPU負載",
4815 "xloc": [
4816 - "default.handlebars->25->1747"
4816 + "default.handlebars->25->1751"
4817 ]
4818 },
4819 {
@@ -4868,7 +4868,7 @@
4868 "ru": "Ошибка вызова",
4869 "zh-chs": "通話錯誤",
4870 "xloc": [
4871 - "default.handlebars->25->1795"
4871 + "default.handlebars->25->1799"
4872 ]
4873 },
4874 {
@@ -5008,7 +5008,7 @@
5008 "ru": "Смена email для {0}",
5009 "zh-chs": "更改{0}的電子郵件",
5010 "xloc": [
5011 - "default.handlebars->25->1643"
5011 + "default.handlebars->25->1647"
5012 ]
5013 },
5014 {
@@ -5046,7 +5046,7 @@
5046 "xloc": [
5047 "default-mobile.handlebars->9->90",
5048 "default.handlebars->25->1115",
5049 - "default.handlebars->25->1632"
5049 + "default.handlebars->25->1636"
5050 ]
5051 },
5052 {
@@ -5063,7 +5063,7 @@
5063 "ru": "Смена пароля для {0}",
5064 "zh-chs": "更改{0}的密碼",
5065 "xloc": [
5066 - "default.handlebars->25->1650"
5066 + "default.handlebars->25->1654"
5067 ]
5068 },
5069 {
@@ -5133,7 +5133,7 @@
5133 "ru": "Изменить пароль для этого пользователя",
5134 "zh-chs": "更改該用戶的密碼",
5135 "xloc": [
5136 - "default.handlebars->25->1631"
5136 + "default.handlebars->25->1635"
5137 ]
5138 },
5139 {
@@ -5338,7 +5338,7 @@
5338 "ru": "Проверка...",
5339 "zh-chs": "檢查...",
5340 "xloc": [
5341 - "default.handlebars->25->1789",
5341 + "default.handlebars->25->1793",
5342 "default.handlebars->25->888"
5343 ]
5344 },
@@ -5554,7 +5554,7 @@
5554 "nl": "Wis alle meldingen",
5555 "zh-chs": "全部清除",
5556 "xloc": [
5557 - "default.handlebars->25->1719"
5557 + "default.handlebars->25->1723"
5558 ]
5559 },
5560 {
@@ -5604,7 +5604,7 @@
5604 "ru": "Очистить это уведомление",
5605 "zh-chs": "清除此通知",
5606 "xloc": [
5607 - "default.handlebars->25->1718"
5607 + "default.handlebars->25->1722"
5608 ]
5609 },
5610 {
@@ -5855,8 +5855,8 @@
5855 "ru": "Общие группы устройств",
5856 "zh-chs": "通用設備組",
5857 "xloc": [
5858 - "default.handlebars->25->1544",
5859 - "default.handlebars->25->1655"
5858 + "default.handlebars->25->1546",
5859 + "default.handlebars->25->1659"
5860 ]
5861 },
5862 {
@@ -5873,8 +5873,8 @@
5873 "ru": "Общие устройства",
5874 "zh-chs": "通用設備",
5875 "xloc": [
5876 - "default.handlebars->25->1550",
5877 - "default.handlebars->25->1667"
5876 + "default.handlebars->25->1552",
5877 + "default.handlebars->25->1671"
5878 ]
5879 },
5880 {
@@ -5914,8 +5914,8 @@
5914 "default.handlebars->25->1235",
5915 "default.handlebars->25->1448",
5916 "default.handlebars->25->1517",
5917 - "default.handlebars->25->1564",
5918 - "default.handlebars->25->1653",
5917 + "default.handlebars->25->1566",
5918 + "default.handlebars->25->1657",
5919 "default.handlebars->25->408",
5920 "default.handlebars->25->647",
5921 "default.handlebars->25->656"
@@ -6016,7 +6016,7 @@
6016 "ru": "Подтвердить удаление пользователя {0}?",
6017 "zh-chs": "確認刪除用戶{0}?",
6018 "xloc": [
6019 - "default.handlebars->25->1652"
6019 + "default.handlebars->25->1656"
6020 ]
6021 },
6022 {
@@ -6030,7 +6030,7 @@
6030 "nl": "Bevestig lidmaatschap verwijderen van gebruiker \\\"{0}\\\"?",
6031 "zh-chs": "确认删除用户\\“ {0} \\”的成员身份?",
6032 "xloc": [
6033 - "default.handlebars->25->1567"
6033 + "default.handlebars->25->1569"
6034 ]
6035 },
6036 {
@@ -6044,7 +6044,7 @@
6044 "nl": "Bevestig lidmaatschap verwijdering van gebruikergroep \\\"{0}\\\"?",
6045 "zh-chs": "确认删除用户组 “{0}” 的成员身份?",
6046 "xloc": [
6047 - "default.handlebars->25->1682"
6047 + "default.handlebars->25->1686"
6048 ]
6049 },
6050 {
@@ -6111,8 +6111,8 @@
6111 "nl": "Bevestig verwijdering van toegangsrechten voor apparaat \\\"{0}\\\"?",
6112 "zh-chs": "确认删除设备“ {0} ”的访问权限?",
6113 "xloc": [
6114 - "default.handlebars->25->1557",
6115 - "default.handlebars->25->1673"
6114 + "default.handlebars->25->1559",
6115 + "default.handlebars->25->1677"
6116 ]
6117 },
6118 {
@@ -6126,8 +6126,8 @@
6126 "nl": "Bevestig verwijdering van toegangsrechten voor apparaatgroep \\\"{0}\\\"?",
6127 "zh-chs": "是否确认删除设备组“ {0}”的访问权限?",
6128 "xloc": [
6129 - "default.handlebars->25->1559",
6130 - "default.handlebars->25->1686"
6129 + "default.handlebars->25->1561",
6130 + "default.handlebars->25->1690"
6131 ]
6132 },
6133 {
@@ -6141,7 +6141,7 @@
6141 "nl": "Bevestig verwijdering van toegangsrechten voor gebruiker \\\"{0}\\\"?",
6142 "zh-chs": "确认删除用户\\“ {0} \\”的访问权限?",
6143 "xloc": [
6144 - "default.handlebars->25->1675"
6144 + "default.handlebars->25->1679"
6145 ]
6146 },
6147 {
@@ -6155,7 +6155,7 @@
6155 "nl": "Bevestig verwijdering van toegangsrechten voor gebruikergroep \\\"{0}\\\"?",
6156 "zh-chs": "确认删除用户组“ {0}”的访问权限?",
6157 "xloc": [
6158 - "default.handlebars->25->1678"
6158 + "default.handlebars->25->1682"
6159 ]
6160 },
6161 {
@@ -6169,8 +6169,8 @@
6169 "nl": "Verwijdering van toegangsrechten bevestigen?",
6170 "zh-chs": "确认删除访问权限?",
6171 "xloc": [
6172 - "default.handlebars->25->1676",
6173 - "default.handlebars->25->1679"
6172 + "default.handlebars->25->1680",
6173 + "default.handlebars->25->1683"
6174 ]
6175 },
6176 {
@@ -6417,7 +6417,7 @@
6417 "ru": "Подключено Intel&reg; AMT",
6418 "zh-chs": "連接的英特爾&reg;AMT",
6419 "xloc": [
6420 - "default.handlebars->25->1737"
6420 + "default.handlebars->25->1741"
6421 ]
6422 },
6423 {
@@ -6434,7 +6434,7 @@
6434 "ru": "Подключенные пользователи",
6435 "zh-chs": "關聯用戶",
6436 "xloc": [
6437 - "default.handlebars->25->1742"
6437 + "default.handlebars->25->1746"
6438 ]
6439 },
6440 {
@@ -6511,7 +6511,7 @@
6511 "ru": "Подключений ",
6512 "zh-chs": "連接數",
6513 "xloc": [
6514 - "default.handlebars->25->1753"
6514 + "default.handlebars->25->1757"
6515 ]
6516 },
6517 {
@@ -6528,7 +6528,7 @@
6528 "ru": "Ретранслятор подключения",
6529 "zh-chs": "連接繼電器",
6530 "xloc": [
6531 - "default.handlebars->25->1781"
6531 + "default.handlebars->25->1785"
6532 ]
6533 },
6534 {
@@ -6655,7 +6655,7 @@
6655 "ru": "Cookie-кодировщик",
6656 "zh-chs": "Cookie編碼器",
6657 "xloc": [
6658 - "default.handlebars->25->1767"
6658 + "default.handlebars->25->1771"
6659 ]
6660 },
6661 {
@@ -6960,7 +6960,7 @@
6960 "ru": "Основной сервер",
6961 "zh-chs": "核心服務器",
6962 "xloc": [
6963 - "default.handlebars->25->1766"
6963 + "default.handlebars->25->1770"
6964 ]
6965 },
6966 {
@@ -7116,7 +7116,7 @@
7116 "ru": "Создано",
7117 "zh-chs": "創建",
7118 "xloc": [
7119 - "default.handlebars->25->1591"
7119 + "default.handlebars->25->1595"
7120 ]
7121 },
7122 {
@@ -7438,7 +7438,9 @@
7438 "nl": "Standaard",
7439 "xloc": [
7440 "default.handlebars->25->1474",
7441 - "default.handlebars->25->1520"
7441 + "default.handlebars->25->1520",
7442 + "default.handlebars->25->1531",
7443 + "default.handlebars->25->1586"
7444 ]
7445 },
7446 {
@@ -7589,7 +7591,7 @@
7591 "ru": "Удалить пользователя",
7592 "zh-chs": "刪除用戶",
7593 "xloc": [
7592 - "default.handlebars->25->1630"
7594 + "default.handlebars->25->1634"
7595 ]
7596 },
7597 {
@@ -7606,8 +7608,8 @@
7608 "ru": "Удалить группу пользователей",
7609 "zh-chs": "刪除用戶組",
7610 "xloc": [
7609 - "default.handlebars->25->1555",
7610 - "default.handlebars->25->1565"
7611 + "default.handlebars->25->1557",
7612 + "default.handlebars->25->1567"
7613 ]
7614 },
7615 {
@@ -7638,7 +7640,7 @@
7640 "ru": "Удалить пользователя {0}",
7641 "zh-chs": "刪除用戶{0}",
7642 "xloc": [
7641 - "default.handlebars->25->1651"
7643 + "default.handlebars->25->1655"
7644 ]
7645 },
7646 {
@@ -7742,7 +7744,7 @@
7744 "ru": "Удалить группу пользователей {0}?",
7745 "zh-chs": "刪除用戶組{0}?",
7746 "xloc": [
7745 - "default.handlebars->25->1563"
7747 + "default.handlebars->25->1565"
7748 ]
7749 },
7750 {
@@ -7880,9 +7882,9 @@
7882 "default.handlebars->25->1155",
7883 "default.handlebars->25->1238",
7884 "default.handlebars->25->1523",
7883 - "default.handlebars->25->1530",
7884 - "default.handlebars->25->1531",
7885 - "default.handlebars->25->1561",
7885 + "default.handlebars->25->1533",
7886 + "default.handlebars->25->1534",
7887 + "default.handlebars->25->1563",
7888 "default.handlebars->25->477",
7889 "default.handlebars->25->478",
7890 "default.handlebars->25->688",
@@ -7921,7 +7923,7 @@
7923 "xloc": [
7924 "default-mobile.handlebars->9->245",
7925 "default.handlebars->25->1243",
7924 - "default.handlebars->25->1696",
7926 + "default.handlebars->25->1700",
7927 "default.handlebars->25->444",
7928 "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop",
7929 "default.handlebars->contextMenu->cxdesktop"
@@ -7959,7 +7961,7 @@
7961 "zh-chs": "桌面通知",
7962 "xloc": [
7963 "default.handlebars->25->1165",
7962 - "default.handlebars->25->1606",
7964 + "default.handlebars->25->1610",
7965 "default.handlebars->25->513"
7966 ]
7967 },
@@ -7978,7 +7980,7 @@
7980 "zh-chs": "桌面提示",
7981 "xloc": [
7982 "default.handlebars->25->1164",
7981 - "default.handlebars->25->1605",
7983 + "default.handlebars->25->1609",
7984 "default.handlebars->25->512"
7985 ]
7986 },
@@ -7997,7 +7999,7 @@
7999 "zh-chs": "桌面提示+工具欄",
8000 "xloc": [
8001 "default.handlebars->25->1162",
8000 - "default.handlebars->25->1603",
8002 + "default.handlebars->25->1607",
8003 "default.handlebars->25->510"
8004 ]
8005 },
@@ -8030,7 +8032,7 @@
8032 "zh-chs": "桌面工具欄",
8033 "xloc": [
8034 "default.handlebars->25->1163",
8033 - "default.handlebars->25->1604",
8035 + "default.handlebars->25->1608",
8036 "default.handlebars->25->511"
8037 ]
8038 },
@@ -8103,7 +8105,7 @@
8105 "zh-chs": "設備",
8106 "xloc": [
8107 "default.handlebars->25->1265",
8106 - "default.handlebars->25->1670",
8108 + "default.handlebars->25->1674",
8109 "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->5"
8110 ]
8111 },
@@ -8142,10 +8144,10 @@
8144 "default.handlebars->25->1260",
8145 "default.handlebars->25->1263",
8146 "default.handlebars->25->1264",
8145 - "default.handlebars->25->1547",
8146 - "default.handlebars->25->1553",
8147 - "default.handlebars->25->1658",
8148 - "default.handlebars->25->1705"
8147 + "default.handlebars->25->1549",
8148 + "default.handlebars->25->1555",
8149 + "default.handlebars->25->1662",
8150 + "default.handlebars->25->1709"
8151 ]
8152 },
8153 {
@@ -8183,9 +8185,9 @@
8185 "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3",
8186 "default.handlebars->25->1414",
8187 "default.handlebars->25->1508",
8186 - "default.handlebars->25->1534",
8187 - "default.handlebars->25->1600",
8188 - "default.handlebars->25->1740",
8188 + "default.handlebars->25->1536",
8189 + "default.handlebars->25->1604",
8190 + "default.handlebars->25->1744",
8191 "default.handlebars->container->column_l->p2->p2info->7"
8192 ]
8193 },
@@ -8245,7 +8247,7 @@
8247 "zh-chs": "設備名稱",
8248 "xloc": [
8249 "default-mobile.handlebars->9->267",
8248 - "default.handlebars->25->1704",
8250 + "default.handlebars->25->1708",
8251 "default.handlebars->25->244",
8252 "default.handlebars->25->686",
8253 "player.handlebars->3->9"
@@ -8626,7 +8628,7 @@
8628 "zh-chs": "设备",
8629 "xloc": [
8630 "default.handlebars->25->1509",
8629 - "default.handlebars->25->1535"
8631 + "default.handlebars->25->1537"
8632 ]
8633 },
8634 {
@@ -8817,7 +8819,9 @@
8819 "nl": "Domein",
8820 "xloc": [
8821 "default.handlebars->25->1475",
8820 - "default.handlebars->25->1521"
8822 + "default.handlebars->25->1521",
8823 + "default.handlebars->25->1530",
8824 + "default.handlebars->25->1585"
8825 ]
8826 },
8827 {
@@ -9265,7 +9269,7 @@
9269 "nl": "Dubbele agent",
9270 "zh-chs": "代理重复",
9271 "xloc": [
9268 - "default.handlebars->25->1736"
9272 + "default.handlebars->25->1740"
9273 ]
9274 },
9275 {
@@ -9330,8 +9334,8 @@
9334 "ru": "Длительность",
9335 "zh-chs": "持續時間",
9336 "xloc": [
9333 - "default.handlebars->25->1690",
9334 - "default.handlebars->25->1710",
9337 + "default.handlebars->25->1694",
9338 + "default.handlebars->25->1714",
9339 "player.handlebars->3->2"
9340 ]
9341 },
@@ -9816,7 +9820,7 @@
9820 "ru": "Редактировать группу пользователей",
9821 "zh-chs": "編輯用戶組",
9822 "xloc": [
9819 - "default.handlebars->25->1562"
9823 + "default.handlebars->25->1564"
9824 ]
9825 },
9826 {
@@ -9866,10 +9870,10 @@
9870 "xloc": [
9871 "default-mobile.handlebars->9->78",
9872 "default.handlebars->25->1477",
9869 - "default.handlebars->25->1585",
9870 - "default.handlebars->25->1586",
9871 - "default.handlebars->25->1625",
9872 - "default.handlebars->25->1639",
9873 + "default.handlebars->25->1589",
9874 + "default.handlebars->25->1590",
9875 + "default.handlebars->25->1629",
9876 + "default.handlebars->25->1643",
9877 "default.handlebars->25->292",
9878 "login-mobile.handlebars->5->42",
9879 "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->7->1->4->1->3",
@@ -10003,7 +10007,7 @@
10007 "zh-chs": "電子郵件已驗證",
10008 "xloc": [
10009 "default.handlebars->25->1434",
10006 - "default.handlebars->25->1581"
10010 + "default.handlebars->25->1583"
10011 ]
10012 },
10013 {
@@ -10037,7 +10041,7 @@
10041 "ru": "Email не подтвержден",
10042 "zh-chs": "電子郵件未驗證",
10043 "xloc": [
10040 - "default.handlebars->25->1582"
10044 + "default.handlebars->25->1584"
10045 ]
10046 },
10047 {
@@ -10089,7 +10093,7 @@
10093 "nl": "Email/SMS verkeer",
10094 "zh-chs": "电子邮件/短信流量",
10095 "xloc": [
10092 - "default.handlebars->25->1775"
10096 + "default.handlebars->25->1779"
10097 ]
10098 },
10099 {
@@ -10187,7 +10191,7 @@
10191 "en": "Enabled",
10192 "nl": "Ingeschakeld",
10193 "xloc": [
10190 - "default.handlebars->25->1712"
10194 + "default.handlebars->25->1716"
10195 ]
10196 },
10197 {
@@ -10211,7 +10215,7 @@
10215 "en": "End Time",
10216 "nl": "Eindtijd",
10217 "xloc": [
10214 - "default.handlebars->25->1709"
10218 + "default.handlebars->25->1713"
10219 ]
10220 },
10221 {
@@ -10774,7 +10778,7 @@
10778 "ru": "Внешний",
10779 "zh-chs": "外部",
10780 "xloc": [
10777 - "default.handlebars->25->1760"
10781 + "default.handlebars->25->1764"
10782 ]
10783 },
10784 {
@@ -10980,7 +10984,7 @@
10984 "default-mobile.handlebars->9->165",
10985 "default-mobile.handlebars->9->246",
10986 "default.handlebars->25->1250",
10983 - "default.handlebars->25->1697",
10987 + "default.handlebars->25->1701",
10988 "default.handlebars->25->218",
10989 "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevFiles",
10990 "default.handlebars->contextMenu->cxfiles"
@@ -11018,7 +11022,7 @@
11022 "zh-chs": "文件通知",
11023 "xloc": [
11024 "default.handlebars->25->1169",
11021 - "default.handlebars->25->1610",
11025 + "default.handlebars->25->1614",
11026 "default.handlebars->25->517"
11027 ]
11028 },
@@ -11037,7 +11041,7 @@
11041 "zh-chs": "文件提示",
11042 "xloc": [
11043 "default.handlebars->25->1168",
11040 - "default.handlebars->25->1609",
11044 + "default.handlebars->25->1613",
11045 "default.handlebars->25->516"
11046 ]
11047 },
@@ -11199,7 +11203,7 @@
11203 "zh-chs": "下次登錄時強制重置密碼。",
11204 "xloc": [
11205 "default.handlebars->25->1482",
11202 - "default.handlebars->25->1648"
11206 + "default.handlebars->25->1652"
11207 ]
11208 },
11209 {
@@ -11285,8 +11289,8 @@
11289 "ru": "Свободно",
11290 "zh-chs": "自由",
11291 "xloc": [
11288 - "default.handlebars->25->1721",
11289 - "default.handlebars->25->1723"
11292 + "default.handlebars->25->1725",
11293 + "default.handlebars->25->1727"
11294 ]
11295 },
11296 {
@@ -11580,7 +11584,7 @@
11584 "ru": "Администратор с полным доступом",
11585 "zh-chs": "正式管理員",
11586 "xloc": [
11583 - "default.handlebars->25->1576"
11587 + "default.handlebars->25->1578"
11588 ]
11589 },
11590 {
@@ -12039,7 +12043,7 @@
12043 "ru": "Члены группы",
12044 "zh-chs": "小組成員",
12045 "xloc": [
12042 - "default.handlebars->25->1539"
12046 + "default.handlebars->25->1541"
12047 ]
12048 },
12049 {
@@ -12211,7 +12215,7 @@
12215 "ru": "Всего кучи",
12216 "zh-chs": "堆總數",
12217 "xloc": [
12214 - "default.handlebars->25->1762"
12218 + "default.handlebars->25->1766"
12219 ]
12220 },
12221 {
@@ -12228,7 +12232,7 @@
12232 "ru": "Куча используется",
12233 "zh-chs": "堆使用",
12234 "xloc": [
12231 - "default.handlebars->25->1761"
12235 + "default.handlebars->25->1765"
12236 ]
12237 },
12238 {
@@ -13019,8 +13023,8 @@
13023 "xloc": [
13024 "default.handlebars->25->1352",
13025 "default.handlebars->25->1360",
13022 - "default.handlebars->25->1758",
13023 - "default.handlebars->25->1780"
13026 + "default.handlebars->25->1762",
13027 + "default.handlebars->25->1784"
13028 ]
13029 },
13030 {
@@ -13061,14 +13065,14 @@
13065 "en": "Intel AMT Redirection",
13066 "nl": "Intel AMT omleiding",
13067 "xloc": [
13064 - "default.handlebars->25->1699"
13068 + "default.handlebars->25->1703"
13069 ]
13070 },
13071 {
13072 "en": "Intel AMT WSMAN",
13073 "nl": "Intel AMT WSMAN",
13074 "xloc": [
13071 - "default.handlebars->25->1698"
13075 + "default.handlebars->25->1702"
13076 ]
13077 },
13078 {
@@ -13753,7 +13757,7 @@
13757 "ru": "Некорректный тип группы устройств",
13758 "zh-chs": "無效的設備組類型",
13759 "xloc": [
13756 - "default.handlebars->25->1735"
13760 + "default.handlebars->25->1739"
13761 ]
13762 },
13763 {
@@ -13770,7 +13774,7 @@
13774 "ru": "Некорректный JSON",
13775 "zh-chs": "無效的JSON",
13776 "xloc": [
13773 - "default.handlebars->25->1729"
13777 + "default.handlebars->25->1733"
13778 ]
13779 },
13780 {
@@ -13822,7 +13826,7 @@
13826 "ru": "Некорректная сигнатура PKCS",
13827 "zh-chs": "無效的PKCS簽名",
13828 "xloc": [
13825 - "default.handlebars->25->1727"
13829 + "default.handlebars->25->1731"
13830 ]
13831 },
13832 {
@@ -13839,7 +13843,7 @@
13843 "ru": "Некорректная сигнатура RSA",
13844 "zh-chs": "無效的RSA密碼",
13845 "xloc": [
13842 - "default.handlebars->25->1728"
13846 + "default.handlebars->25->1732"
13847 ]
13848 },
13849 {
@@ -14666,7 +14670,7 @@
14670 "ru": "Последний вход в систему",
14671 "zh-chs": "上次登錄",
14672 "xloc": [
14669 - "default.handlebars->25->1592"
14673 + "default.handlebars->25->1596"
14674 ]
14675 },
14676 {
@@ -14729,7 +14733,7 @@
14733 "ru": "Последнее изменение: {0}",
14734 "zh-chs": "上次更改:{0}",
14735 "xloc": [
14732 - "default.handlebars->25->1596"
14736 + "default.handlebars->25->1600"
14737 ]
14738 },
14739 {
@@ -14896,7 +14900,7 @@
14900 "nl": "Leeg laten voor geen.",
14901 "zh-chs": "一无所有。",
14902 "xloc": [
14899 - "default.handlebars->25->1636"
14903 + "default.handlebars->25->1640"
14904 ]
14905 },
14906 {
@@ -14935,7 +14939,7 @@
14939 "ru": "Меньше",
14940 "zh-chs": "減",
14941 "xloc": [
14938 - "default.handlebars->25->1797"
14942 + "default.handlebars->25->1801"
14943 ]
14944 },
14945 {
@@ -15531,7 +15535,7 @@
15535 "ru": "Заблокированная учетная запись",
15536 "zh-chs": "賬戶鎖定",
15537 "xloc": [
15534 - "default.handlebars->25->1573"
15538 + "default.handlebars->25->1575"
15539 ]
15540 },
15541 {
@@ -16044,7 +16048,7 @@
16048 "ru": "Сообщения главного сервера",
16049 "zh-chs": "主服務器消息",
16050 "xloc": [
16047 - "default.handlebars->25->1769"
16051 + "default.handlebars->25->1773"
16052 ]
16053 },
16054 {
@@ -16470,7 +16474,7 @@
16474 "ru": "Достигнуто максимальное число сессий",
16475 "zh-chs": "達到的會話數上限",
16476 "xloc": [
16473 - "default.handlebars->25->1733"
16477 + "default.handlebars->25->1737"
16478 ]
16479 },
16480 {
@@ -16524,7 +16528,7 @@
16528 "ru": "Мегабайт",
16529 "zh-chs": "兆字節",
16530 "xloc": [
16527 - "default.handlebars->25->1759"
16531 + "default.handlebars->25->1763"
16532 ]
16533 },
16534 {
@@ -16542,7 +16546,7 @@
16546 "zh-chs": "記憶",
16547 "xloc": [
16548 "default-mobile.handlebars->9->366",
16545 - "default.handlebars->25->1750",
16549 + "default.handlebars->25->1754",
16550 "default.handlebars->25->842",
16551 "default.handlebars->container->column_l->p40->3->1->p40type->3"
16552 ]
@@ -16680,7 +16684,7 @@
16684 "ru": "Трафик MeshAgent",
16685 "zh-chs": "MeshAgent流量",
16686 "xloc": [
16683 - "default.handlebars->25->1771"
16687 + "default.handlebars->25->1775"
16688 ]
16689 },
16690 {
@@ -16697,7 +16701,7 @@
16701 "ru": "Обновление MeshAgent",
16702 "zh-chs": "MeshAgent更新",
16703 "xloc": [
16700 - "default.handlebars->25->1772"
16704 + "default.handlebars->25->1776"
16705 ]
16706 },
16707 {
@@ -16800,7 +16804,7 @@
16804 "ru": "Соединения сервера MeshCentral",
16805 "zh-chs": "MeshCentral服務器對等",
16806 "xloc": [
16803 - "default.handlebars->25->1770"
16807 + "default.handlebars->25->1774"
16808 ]
16809 },
16810 {
@@ -17064,7 +17068,7 @@
17068 "ru": "Диспетчер сообщения",
17069 "zh-chs": "郵件調度程序",
17070 "xloc": [
17067 - "default.handlebars->25->1768"
17071 + "default.handlebars->25->1772"
17072 ]
17073 },
17074 {
@@ -17213,7 +17217,7 @@
17217 "ru": "Еще",
17218 "zh-chs": "更多",
17219 "xloc": [
17216 - "default.handlebars->25->1796"
17220 + "default.handlebars->25->1800"
17221 ]
17222 },
17223 {
@@ -17289,7 +17293,7 @@
17293 "en": "Multiplexor",
17294 "nl": "Multiplexor",
17295 "xloc": [
17292 - "default.handlebars->25->1711"
17296 + "default.handlebars->25->1715"
17297 ]
17298 },
17299 {
@@ -17564,8 +17568,8 @@
17568 "default.handlebars->25->1506",
17569 "default.handlebars->25->1522",
17570 "default.handlebars->25->1529",
17567 - "default.handlebars->25->1560",
17568 - "default.handlebars->25->1579",
17571 + "default.handlebars->25->1562",
17572 + "default.handlebars->25->1581",
17573 "default.handlebars->25->467",
17574 "default.handlebars->25->717",
17575 "default.handlebars->25->77",
@@ -17961,7 +17965,7 @@
17965 "zh-chs": "找不到活動",
17966 "xloc": [
17967 "default.handlebars->25->1403",
17964 - "default.handlebars->25->1687",
17968 + "default.handlebars->25->1691",
17969 "default.handlebars->25->788"
17970 ]
17971 },
@@ -18105,7 +18109,7 @@
18109 "ru": "Нет членов",
18110 "zh-chs": "沒有會員",
18111 "xloc": [
18108 - "default.handlebars->25->1542"
18112 + "default.handlebars->25->1544"
18113 ]
18114 },
18115 {
@@ -18255,8 +18259,8 @@
18259 "ru": "Нет общих групп устройств",
18260 "zh-chs": "沒有共同的設備組",
18261 "xloc": [
18258 - "default.handlebars->25->1548",
18259 - "default.handlebars->25->1659"
18262 + "default.handlebars->25->1550",
18263 + "default.handlebars->25->1663"
18264 ]
18265 },
18266 {
@@ -18352,8 +18356,8 @@
18356 "ru": "Нет общих устройств",
18357 "zh-chs": "沒有共同的設備",
18358 "xloc": [
18355 - "default.handlebars->25->1554",
18356 - "default.handlebars->25->1671"
18359 + "default.handlebars->25->1556",
18360 + "default.handlebars->25->1675"
18361 ]
18362 },
18363 {
@@ -18543,7 +18547,7 @@
18547 "ru": "Нет серверных прав",
18548 "zh-chs": "沒有服務器權限",
18549 "xloc": [
18546 - "default.handlebars->25->1574"
18550 + "default.handlebars->25->1576"
18551 ]
18552 },
18553 {
@@ -18560,7 +18564,7 @@
18564 "ru": "Нет членства в группах пользователей",
18565 "zh-chs": "沒有用戶組成員身份",
18566 "xloc": [
18563 - "default.handlebars->25->1665"
18567 + "default.handlebars->25->1669"
18568 ]
18569 },
18570 {
@@ -18665,10 +18669,10 @@
18669 "default.handlebars->25->1526",
18670 "default.handlebars->25->1528",
18671 "default.handlebars->25->158",
18668 - "default.handlebars->25->1588",
18669 - "default.handlebars->25->1597",
18672 + "default.handlebars->25->1592",
18673 "default.handlebars->25->1601",
18671 - "default.handlebars->25->1613",
18674 + "default.handlebars->25->1605",
18675 + "default.handlebars->25->1617",
18676 "default.handlebars->25->174",
18677 "default.handlebars->25->175",
18678 "default.handlebars->25->464",
@@ -18828,7 +18832,7 @@
18832 "en": "Not on server",
18833 "nl": "Niet op de server",
18834 "xloc": [
18831 - "default.handlebars->25->1703"
18835 + "default.handlebars->25->1707"
18836 ]
18837 },
18838 {
@@ -18845,7 +18849,7 @@
18849 "ru": "Не задано",
18850 "zh-chs": "沒有設置",
18851 "xloc": [
18848 - "default.handlebars->25->1580"
18852 + "default.handlebars->25->1582"
18853 ]
18854 },
18855 {
@@ -18862,7 +18866,7 @@
18866 "ru": "не подтверждено",
18867 "zh-chs": "未經審核的",
18868 "xloc": [
18865 - "default.handlebars->25->1641"
18869 + "default.handlebars->25->1645"
18870 ]
18871 },
18872 {
@@ -18880,7 +18884,7 @@
18884 "zh-chs": "筆記",
18885 "xloc": [
18886 "default.handlebars->25->1187",
18883 - "default.handlebars->25->1621",
18887 + "default.handlebars->25->1625",
18888 "default.handlebars->25->536",
18889 "default.handlebars->25->590",
18890 "default.handlebars->25->609",
@@ -18988,7 +18992,7 @@
18992 "ru": "Уведомить",
18993 "zh-chs": "通知",
18994 "xloc": [
18991 - "default.handlebars->25->1627"
18995 + "default.handlebars->25->1631"
18996 ]
18997 },
18998 {
@@ -19102,7 +19106,7 @@
19106 "ru": "Произошло в {0}",
19107 "zh-chs": "發生在{0}",
19108 "xloc": [
19105 - "default.handlebars->25->1717"
19109 + "default.handlebars->25->1721"
19110 ]
19111 },
19112 {
@@ -19586,7 +19590,7 @@
19590 "ru": "Частичные права",
19591 "zh-chs": "部分權利",
19592 "xloc": [
19589 - "default.handlebars->25->1577"
19593 + "default.handlebars->25->1579"
19594 ]
19595 },
19596 {
@@ -19623,10 +19627,10 @@
19627 "default-mobile.handlebars->9->258",
19628 "default.handlebars->25->1478",
19629 "default.handlebars->25->1479",
19626 - "default.handlebars->25->1593",
19627 - "default.handlebars->25->1595",
19628 - "default.handlebars->25->1644",
19629 - "default.handlebars->25->1645",
19630 + "default.handlebars->25->1597",
19631 + "default.handlebars->25->1599",
19632 + "default.handlebars->25->1648",
19633 + "default.handlebars->25->1649",
19634 "default.handlebars->25->249",
19635 "default.handlebars->25->278",
19636 "default.handlebars->25->635"
@@ -19735,7 +19739,7 @@
19739 "ru": "Подсказка пароля",
19740 "zh-chs": "密碼提示",
19741 "xloc": [
19738 - "default.handlebars->25->1646"
19742 + "default.handlebars->25->1650"
19743 ]
19744 },
19745 {
@@ -20057,7 +20061,7 @@
20061 "default-mobile.handlebars->9->65",
20062 "default-mobile.handlebars->9->67",
20063 "default.handlebars->25->143",
20060 - "default.handlebars->25->1638",
20064 + "default.handlebars->25->1642",
20065 "default.handlebars->25->868",
20066 "default.handlebars->25->871"
20067 ]
@@ -20072,7 +20076,7 @@
20076 "nl": "Telefoonnummer",
20077 "zh-chs": "电话号码",
20078 "xloc": [
20075 - "default.handlebars->25->1587"
20079 + "default.handlebars->25->1591"
20080 ]
20081 },
20082 {
@@ -20086,7 +20090,7 @@
20090 "zh-chs": "电话号码:",
20091 "xloc": [
20092 "default-mobile.handlebars->9->66",
20089 - "default.handlebars->25->1637",
20093 + "default.handlebars->25->1641",
20094 "default.handlebars->25->870"
20095 ]
20096 },
@@ -20223,7 +20227,7 @@
20227 "zh-chs": "插件動作",
20228 "xloc": [
20229 "default.handlebars->25->169",
20226 - "default.handlebars->25->1793"
20230 + "default.handlebars->25->1797"
20231 ]
20232 },
20233 {
@@ -20541,7 +20545,7 @@
20545 "en": "Present on server",
20546 "nl": "Aanwezig op de server",
20547 "xloc": [
20544 - "default.handlebars->25->1702"
20548 + "default.handlebars->25->1706"
20549 ]
20550 },
20551 {
@@ -20655,7 +20659,7 @@
20659 "ru": "Протокол",
20660 "zh-chs": "協議",
20661 "xloc": [
20658 - "default.handlebars->25->1700",
20662 + "default.handlebars->25->1704",
20663 "player.handlebars->3->15"
20664 ]
20665 },
@@ -20963,7 +20967,7 @@
20967 "ru": "RSS",
20968 "zh-chs": "的RSS",
20969 "xloc": [
20966 - "default.handlebars->25->1763"
20970 + "default.handlebars->25->1767"
20971 ]
20972 },
20973 {
@@ -21058,7 +21062,7 @@
21062 "en": "Recording Details",
21063 "nl": "Opname details",
21064 "xloc": [
21061 - "default.handlebars->25->1714"
21065 + "default.handlebars->25->1718"
21066 ]
21067 },
21068 {
@@ -21182,7 +21186,7 @@
21186 "ru": "Число ретрансляций",
21187 "zh-chs": "中繼計數",
21188 "xloc": [
21185 - "default.handlebars->25->1745"
21189 + "default.handlebars->25->1749"
21190 ]
21191 },
21192 {
@@ -21199,7 +21203,7 @@
21203 "ru": "Ошибки ретранслятора",
21204 "zh-chs": "中繼錯誤",
21205 "xloc": [
21202 - "default.handlebars->25->1738"
21206 + "default.handlebars->25->1742"
21207 ]
21208 },
21209 {
@@ -21216,8 +21220,8 @@
21220 "ru": "Сессии ретранслятора",
21221 "zh-chs": "接力會議",
21222 "xloc": [
21219 - "default.handlebars->25->1744",
21220 - "default.handlebars->25->1757"
21223 + "default.handlebars->25->1748",
21224 + "default.handlebars->25->1761"
21225 ]
21226 },
21227 {
@@ -21537,8 +21541,8 @@
21541 "nl": "Apparaatgroepmachtigingen verwijderen",
21542 "zh-chs": "删除设备组权限",
21543 "xloc": [
21540 - "default.handlebars->25->1558",
21541 - "default.handlebars->25->1685"
21544 + "default.handlebars->25->1560",
21545 + "default.handlebars->25->1689"
21546 ]
21547 },
21548 {
@@ -21552,8 +21556,8 @@
21556 "nl": "Apparaatmachtigingen verwijderen",
21557 "zh-chs": "删除设备权限",
21558 "xloc": [
21555 - "default.handlebars->25->1556",
21556 - "default.handlebars->25->1672"
21559 + "default.handlebars->25->1558",
21560 + "default.handlebars->25->1676"
21561 ]
21562 },
21563 {
@@ -21581,7 +21585,7 @@
21585 "nl": "Lidmaatschap van gebruikersgroep verwijderen",
21586 "zh-chs": "删除用户组成员身份",
21587 "xloc": [
21584 - "default.handlebars->25->1681"
21588 + "default.handlebars->25->1685"
21589 ]
21590 },
21591 {
@@ -21596,7 +21600,7 @@
21600 "zh-chs": "删除用户组权限",
21601 "xloc": [
21602 "default.handlebars->25->1328",
21599 - "default.handlebars->25->1677"
21603 + "default.handlebars->25->1681"
21604 ]
21605 },
21606 {
@@ -21610,7 +21614,7 @@
21614 "nl": "Gebruikerslidmaatschap verwijderen",
21615 "zh-chs": "删除用户成员资格",
21616 "xloc": [
21613 - "default.handlebars->25->1566"
21617 + "default.handlebars->25->1568"
21618 ]
21619 },
21620 {
@@ -21625,7 +21629,7 @@
21629 "zh-chs": "删除用户权限",
21630 "xloc": [
21631 "default.handlebars->25->1326",
21628 - "default.handlebars->25->1674"
21632 + "default.handlebars->25->1678"
21633 ]
21634 },
21635 {
@@ -21642,7 +21646,7 @@
21646 "ru": "Удалить все двухфакторные аутентификации.",
21647 "zh-chs": "刪除所有第二因素驗證。",
21648 "xloc": [
21645 - "default.handlebars->25->1649"
21649 + "default.handlebars->25->1653"
21650 ]
21651 },
21652 {
@@ -21740,7 +21744,7 @@
21744 "ru": "Удалить этого пользователя",
21745 "zh-chs": "删除该用户",
21746 "xloc": [
21743 - "default.handlebars->25->1629"
21747 + "default.handlebars->25->1633"
21748 ]
21749 },
21750 {
@@ -21757,7 +21761,7 @@
21761 "ru": "Удалить членство пользователя в группе",
21762 "zh-chs": "刪除用戶組成員身份",
21763 "xloc": [
21760 - "default.handlebars->25->1663"
21764 + "default.handlebars->25->1667"
21765 ]
21766 },
21767 {
@@ -21771,7 +21775,7 @@
21775 "nl": "Gebruikersrechten voor dit apparaat verwijderen",
21776 "zh-chs": "删除此设备的用户组权限",
21777 "xloc": [
21774 - "default.handlebars->25->1552"
21778 + "default.handlebars->25->1554"
21779 ]
21780 },
21781 {
@@ -21788,7 +21792,7 @@
21792 "ru": "Удалить права группы пользователей для этой группы устройств",
21793 "zh-chs": "刪除該設備組的用戶組權限",
21794 "xloc": [
21791 - "default.handlebars->25->1546",
21795 + "default.handlebars->25->1548",
21796 "default.handlebars->25->574"
21797 ]
21798 },
@@ -21807,9 +21811,9 @@
21811 "zh-chs": "刪除此設備組的用戶權限",
21812 "xloc": [
21813 "default.handlebars->25->1204",
21810 - "default.handlebars->25->1540",
21811 - "default.handlebars->25->1657",
21812 - "default.handlebars->25->1669",
21814 + "default.handlebars->25->1542",
21815 + "default.handlebars->25->1661",
21816 + "default.handlebars->25->1673",
21817 "default.handlebars->25->575"
21818 ]
21819 },
@@ -21872,7 +21876,7 @@
21876 "xloc": [
21877 "default-mobile.handlebars->9->89",
21878 "default.handlebars->25->1486",
21875 - "default.handlebars->25->1647"
21879 + "default.handlebars->25->1651"
21880 ]
21881 },
21882 {
@@ -22114,7 +22118,7 @@
22118 "ru": "Ограничения",
22119 "zh-chs": "限制條件",
22120 "xloc": [
22117 - "default.handlebars->25->1578"
22121 + "default.handlebars->25->1580"
22122 ]
22123 },
22124 {
@@ -22337,8 +22341,8 @@
22341 "nl": "SMS",
22342 "zh-chs": "短信",
22343 "xloc": [
22340 - "default.handlebars->25->1618",
22341 - "default.handlebars->25->1623",
22344 + "default.handlebars->25->1622",
22345 + "default.handlebars->25->1627",
22346 "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->7->1->4->1->3",
22347 "login.handlebars->container->column_l->centralTable->1->0->logincell->tokenpanel->1->7->1->4->1->3"
22348 ]
@@ -22353,7 +22357,7 @@
22357 "nl": "SMS geschikt telefoonnummer voor deze gebruiker.",
22358 "zh-chs": "此用户的短信功能电话号码。",
22359 "xloc": [
22356 - "default.handlebars->25->1635"
22360 + "default.handlebars->25->1639"
22361 ]
22362 },
22363 {
@@ -22757,7 +22761,7 @@
22761 "xloc": [
22762 "default-mobile.handlebars->9->259",
22763 "default-mobile.handlebars->9->345",
22760 - "default.handlebars->25->1619",
22764 + "default.handlebars->25->1623",
22765 "default.handlebars->25->250",
22766 "default.handlebars->25->636",
22767 "default.handlebars->25->821"
@@ -22777,7 +22781,7 @@
22781 "ru": "Ключ безопасности",
22782 "zh-chs": "安全密鑰",
22783 "xloc": [
22780 - "default.handlebars->25->1616"
22784 + "default.handlebars->25->1620"
22785 ]
22786 },
22787 {
@@ -23068,14 +23072,14 @@
23072 "nl": "Stuur een SMS bericht naar deze gebruiker",
23073 "zh-chs": "发送短信给该用户",
23074 "xloc": [
23071 - "default.handlebars->25->1624"
23075 + "default.handlebars->25->1628"
23076 ]
23077 },
23078 {
23079 "en": "Send a email message to this user",
23080 "nl": "Stuur een e-mailbericht naar deze gebruiker",
23081 "xloc": [
23078 - "default.handlebars->25->1626"
23082 + "default.handlebars->25->1630"
23083 ]
23084 },
23085 {
@@ -23092,7 +23096,7 @@
23096 "ru": "Отправить уведомление всем пользователям этой группы.",
23097 "zh-chs": "向該組中的所有用戶發送通知。",
23098 "xloc": [
23095 - "default.handlebars->25->1537"
23099 + "default.handlebars->25->1539"
23100 ]
23101 },
23102 {
@@ -23225,7 +23229,7 @@
23229 "ru": "Отправить уведомление пользователю",
23230 "zh-chs": "發送用戶通知",
23231 "xloc": [
23228 - "default.handlebars->25->1628"
23232 + "default.handlebars->25->1632"
23233 ]
23234 },
23235 {
@@ -23294,7 +23298,7 @@
23298 "ru": "Сертификат сервера",
23299 "zh-chs": "服務器證書",
23300 "xloc": [
23297 - "default.handlebars->25->1773"
23301 + "default.handlebars->25->1777"
23302 ]
23303 },
23304 {
@@ -23311,7 +23315,7 @@
23315 "ru": "База данных сервера",
23316 "zh-chs": "服務器數據庫",
23317 "xloc": [
23314 - "default.handlebars->25->1774"
23318 + "default.handlebars->25->1778"
23319 ]
23320 },
23321 {
@@ -23369,7 +23373,7 @@
23373 "ru": "Квота сервера",
23374 "zh-chs": "服務器配額",
23375 "xloc": [
23372 - "default.handlebars->25->1590"
23376 + "default.handlebars->25->1594"
23377 ]
23378 },
23379 {
@@ -23403,7 +23407,7 @@
23407 "ru": "Права",
23408 "zh-chs": "服務器權限",
23409 "xloc": [
23406 - "default.handlebars->25->1589"
23410 + "default.handlebars->25->1593"
23411 ]
23412 },
23413 {
@@ -23420,7 +23424,7 @@
23424 "ru": "Состояние сервера",
23425 "zh-chs": "服務器狀態",
23426 "xloc": [
23423 - "default.handlebars->25->1724"
23427 + "default.handlebars->25->1728"
23428 ]
23429 },
23430 {
@@ -23454,7 +23458,7 @@
23458 "ru": "Трассировка сервера",
23459 "zh-chs": "服務器跟踪",
23460 "xloc": [
23457 - "default.handlebars->25->1784"
23461 + "default.handlebars->25->1788"
23462 ]
23463 },
23464 {
@@ -23593,7 +23597,7 @@
23597 "ru": "ServerStats.csv",
23598 "zh-chs": "ServerStats.csv",
23599 "xloc": [
23596 - "default.handlebars->25->1765"
23600 + "default.handlebars->25->1769"
23601 ]
23602 },
23603 {
@@ -23634,7 +23638,7 @@
23638 "en": "Session",
23639 "nl": "Sessie",
23640 "xloc": [
23637 - "default.handlebars->25->1688"
23641 + "default.handlebars->25->1692"
23642 ]
23643 },
23644 {
@@ -24173,8 +24177,8 @@
24177 "ru": "Размер",
24178 "zh-chs": "尺寸",
24179 "xloc": [
24176 - "default.handlebars->25->1691",
24177 - "default.handlebars->25->1706",
24180 + "default.handlebars->25->1695",
24181 + "default.handlebars->25->1710",
24182 "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSize"
24183 ]
24184 },
@@ -24985,8 +24989,8 @@
24989 "en": "Start Time",
24990 "nl": "Start tijd",
24991 "xloc": [
24988 - "default.handlebars->25->1689",
24989 - "default.handlebars->25->1708",
24992 + "default.handlebars->25->1693",
24993 + "default.handlebars->25->1712",
24994 "default.handlebars->25->700"
24995 ]
24996 },
@@ -25039,8 +25043,8 @@
25043 "ru": "Статус",
25044 "zh-chs": "狀態",
25045 "xloc": [
25042 - "default.handlebars->25->1640",
25043 - "default.handlebars->25->1701",
25046 + "default.handlebars->25->1644",
25047 + "default.handlebars->25->1705",
25048 "default.handlebars->container->column_l->p42->p42tbl->1->0->7"
25049 ]
25050 },
@@ -25592,7 +25596,7 @@
25596 "xloc": [
25597 "default-mobile.handlebars->9->162",
25598 "default.handlebars->25->1247",
25595 - "default.handlebars->25->1695",
25599 + "default.handlebars->25->1699",
25600 "default.handlebars->25->215",
25601 "default.handlebars->25->445",
25602 "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevTerminal",
@@ -25631,7 +25635,7 @@
25635 "zh-chs": "終端通知",
25636 "xloc": [
25637 "default.handlebars->25->1167",
25634 - "default.handlebars->25->1608",
25638 + "default.handlebars->25->1612",
25639 "default.handlebars->25->515"
25640 ]
25641 },
@@ -25650,7 +25654,7 @@
25654 "zh-chs": "終端提示",
25655 "xloc": [
25656 "default.handlebars->25->1166",
25653 - "default.handlebars->25->1607",
25657 + "default.handlebars->25->1611",
25658 "default.handlebars->25->514"
25659 ]
25660 },
@@ -25794,7 +25798,7 @@
25798 "ru": "На данный момент уведомлений нет",
25799 "zh-chs": "目前沒有任何通知",
25800 "xloc": [
25797 - "default.handlebars->25->1716"
25801 + "default.handlebars->25->1720"
25802 ]
25803 },
25804 {
@@ -27027,9 +27031,9 @@
27031 "default.handlebars->25->1144",
27032 "default.handlebars->25->1145",
27033 "default.handlebars->25->13",
27030 - "default.handlebars->25->1680",
27031 - "default.handlebars->25->1693",
27032 - "default.handlebars->25->1694",
27034 + "default.handlebars->25->1684",
27035 + "default.handlebars->25->1697",
27036 + "default.handlebars->25->1698",
27037 "default.handlebars->25->392",
27038 "default.handlebars->25->41",
27039 "default.handlebars->25->42",
@@ -27074,7 +27078,7 @@
27078 "ru": "Неизвестное действие",
27079 "zh-chs": "未知動作",
27080 "xloc": [
27077 - "default.handlebars->25->1730"
27081 + "default.handlebars->25->1734"
27082 ]
27083 },
27084 {
@@ -27091,8 +27095,8 @@
27095 "ru": "Неизвестное устройство",
27096 "zh-chs": "未知設備",
27097 "xloc": [
27094 - "default.handlebars->25->1551",
27095 - "default.handlebars->25->1668"
27098 + "default.handlebars->25->1553",
27099 + "default.handlebars->25->1672"
27100 ]
27101 },
27102 {
@@ -27109,9 +27113,9 @@
27113 "ru": "Неизвестная группа устройств",
27114 "zh-chs": "未知設備組",
27115 "xloc": [
27112 - "default.handlebars->25->1545",
27113 - "default.handlebars->25->1656",
27114 - "default.handlebars->25->1734"
27116 + "default.handlebars->25->1547",
27117 + "default.handlebars->25->1660",
27118 + "default.handlebars->25->1738"
27119 ]
27120 },
27121 {
@@ -27128,7 +27132,7 @@
27132 "ru": "Неизвестная группа",
27133 "zh-chs": "未知群組",
27134 "xloc": [
27131 - "default.handlebars->25->1726"
27135 + "default.handlebars->25->1730"
27136 ]
27137 },
27138 {
@@ -27163,7 +27167,7 @@
27167 "ru": "Неизвестная группа пользователей",
27168 "zh-chs": "未知用戶組",
27169 "xloc": [
27166 - "default.handlebars->25->1662"
27170 + "default.handlebars->25->1666"
27171 ]
27172 },
27173 {
@@ -27252,7 +27256,7 @@
27256 "ru": "Актуально",
27257 "zh-chs": "最新",
27258 "xloc": [
27255 - "default.handlebars->25->1791"
27259 + "default.handlebars->25->1795"
27260 ]
27261 },
27262 {
@@ -27501,8 +27505,8 @@
27505 "ru": "Использовано",
27506 "zh-chs": "用過的",
27507 "xloc": [
27504 - "default.handlebars->25->1720",
27505 - "default.handlebars->25->1722"
27508 + "default.handlebars->25->1724",
27509 + "default.handlebars->25->1726"
27510 ]
27511 },
27512 {
@@ -27521,8 +27525,8 @@
27525 "xloc": [
27526 "default.handlebars->25->1205",
27527 "default.handlebars->25->1428",
27524 - "default.handlebars->25->1541",
27525 - "default.handlebars->25->1713",
27528 + "default.handlebars->25->1543",
27529 + "default.handlebars->25->1717",
27530 "default.handlebars->25->193",
27531 "default.handlebars->25->577"
27532 ]
@@ -27578,7 +27582,7 @@
27582 "ru": "Учетные записи пользователей",
27583 "zh-chs": "用戶帳號",
27584 "xloc": [
27581 - "default.handlebars->25->1739"
27585 + "default.handlebars->25->1743"
27586 ]
27587 },
27588 {
@@ -27615,7 +27619,7 @@
27619 "zh-chs": "用戶同意",
27620 "xloc": [
27621 "default.handlebars->25->1173",
27618 - "default.handlebars->25->1614",
27622 + "default.handlebars->25->1618",
27623 "default.handlebars->25->521"
27624 ]
27625 },
@@ -27636,8 +27640,8 @@
27640 "default.handlebars->25->1261",
27641 "default.handlebars->25->1262",
27642 "default.handlebars->25->1519",
27639 - "default.handlebars->25->1664",
27640 - "default.handlebars->25->1683",
27643 + "default.handlebars->25->1668",
27644 + "default.handlebars->25->1687",
27645 "default.handlebars->25->576"
27646 ]
27647 },
@@ -27672,7 +27676,7 @@
27676 "ru": "Членство в группах пользователей",
27677 "zh-chs": "用戶組成員資格",
27678 "xloc": [
27675 - "default.handlebars->25->1661"
27679 + "default.handlebars->25->1665"
27680 ]
27681 },
27682 {
@@ -27697,8 +27701,8 @@
27701 "zh-chs": "用戶標識",
27702 "xloc": [
27703 "default.handlebars->25->1322",
27700 - "default.handlebars->25->1583",
27701 - "default.handlebars->25->1584"
27704 + "default.handlebars->25->1587",
27705 + "default.handlebars->25->1588"
27706 ]
27707 },
27708 {
@@ -27706,7 +27710,7 @@
27710 "nl": "Gebruikers-ID's",
27711 "xloc": [
27712 "default.handlebars->25->1259",
27709 - "default.handlebars->25->1570"
27713 + "default.handlebars->25->1572"
27714 ]
27715 },
27716 {
@@ -27803,7 +27807,7 @@
27807 "ru": "Сессии пользователя",
27808 "zh-chs": "用戶會話",
27809 "xloc": [
27806 - "default.handlebars->25->1756"
27810 + "default.handlebars->25->1760"
27811 ]
27812 },
27813 {
@@ -27998,8 +28002,8 @@
28002 "zh-chs": "用戶數",
28003 "xloc": [
28004 "default.handlebars->25->1507",
28001 - "default.handlebars->25->1533",
28002 - "default.handlebars->25->1755",
28005 + "default.handlebars->25->1535",
28006 + "default.handlebars->25->1759",
28007 "default.handlebars->container->topbar->1->1->UsersSubMenuSpan->UsersSubMenu->1->0->UsersGeneral"
28008 ]
28009 },
@@ -28017,7 +28021,7 @@
28021 "ru": "Сессии пользователей",
28022 "zh-chs": "用戶會話",
28023 "xloc": [
28020 - "default.handlebars->25->1743"
28024 + "default.handlebars->25->1747"
28025 ]
28026 },
28027 {
@@ -28102,7 +28106,7 @@
28106 "ru": "Проверенный",
28107 "zh-chs": "已驗證",
28108 "xloc": [
28105 - "default.handlebars->25->1642"
28109 + "default.handlebars->25->1646"
28110 ]
28111 },
28112 {
@@ -28206,7 +28210,7 @@
28210 "ru": "Версия несовместима, пожалуйста, сначала обновите установку MeshCentral",
28211 "zh-chs": "版本不兼容,请先升级您的MeshCentral安装",
28212 "xloc": [
28209 - "default.handlebars->25->1787"
28213 + "default.handlebars->25->1791"
28214 ]
28215 },
28216 {
@@ -28274,8 +28278,8 @@
28278 "ru": "Просмотр журнала изменений",
28279 "zh-chs": "查看变更日志",
28280 "xloc": [
28277 - "default.handlebars->25->1790",
28278 - "default.handlebars->25->1792"
28281 + "default.handlebars->25->1794",
28282 + "default.handlebars->25->1796"
28283 ]
28284 },
28285 {
@@ -28326,7 +28330,7 @@
28330 "ru": "Посмотреть примечания об этом пользователе",
28331 "zh-chs": "查看有關此用戶的註釋",
28332 "xloc": [
28329 - "default.handlebars->25->1622"
28333 + "default.handlebars->25->1626"
28334 ]
28335 },
28336 {
@@ -28533,8 +28537,8 @@
28537 "ru": "Веб-сервер",
28538 "zh-chs": "網絡服務器",
28539 "xloc": [
28536 - "default.handlebars->25->1776",
28537 - "default.handlebars->25->1777"
28540 + "default.handlebars->25->1780",
28541 + "default.handlebars->25->1781"
28542 ]
28543 },
28544 {
@@ -28551,7 +28555,7 @@
28555 "ru": "Запросы веб-сервера",
28556 "zh-chs": "Web服務器請求",
28557 "xloc": [
28554 - "default.handlebars->25->1778"
28558 + "default.handlebars->25->1782"
28559 ]
28560 },
28561 {
@@ -28568,7 +28572,7 @@
28572 "ru": "Ретранслятор Web Socket",
28573 "zh-chs": "Web套接字中繼",
28574 "xloc": [
28571 - "default.handlebars->25->1779"
28575 + "default.handlebars->25->1783"
28576 ]
28577 },
28578 {
@@ -28673,7 +28677,7 @@
28677 "ru": "Будет изменено при следующем входе в систему.",
28678 "zh-chs": "下次登錄時將更改。",
28679 "xloc": [
28676 - "default.handlebars->25->1594"
28680 + "default.handlebars->25->1598"
28681 ]
28682 },
28683 {
@@ -29626,7 +29630,7 @@
29630 "ru": "\\\\'",
29631 "zh-chs": "\\\\'",
29632 "xloc": [
29629 - "default.handlebars->25->1788"
29633 + "default.handlebars->25->1792"
29634 ]
29635 },
29636 {
@@ -29901,7 +29905,7 @@
29905 "ru": "свободно",
29906 "zh-chs": "自由",
29907 "xloc": [
29904 - "default.handlebars->25->1751"
29908 + "default.handlebars->25->1755"
29909 ]
29910 },
29911 {
@@ -30271,7 +30275,7 @@
30275 "ru": "servertrace.csv",
30276 "zh-chs": "servertrace.csv",
30277 "xloc": [
30274 - "default.handlebars->25->1786"
30278 + "default.handlebars->25->1790"
30279 ]
30280 },
30281 {
@@ -30328,7 +30332,7 @@
30332 "ru": "time, conn.agent, conn.users, conn.usersessions, conn.relaysession, conn.intelamt, mem.external, mem.heapused, mem.heaptotal, mem.rss",
30333 "zh-chs": "時間,conn.agent,conn.users,conn.usersessions,conn.relaysession,conn.intelamt,mem.external,mem.heapused,mem.heaptotal,mem.rss",
30334 "xloc": [
30331 - "default.handlebars->25->1764"
30335 + "default.handlebars->25->1768"
30336 ]
30337 },
30338 {
@@ -30345,7 +30349,7 @@
30349 "ru": "time, source, message",
30350 "zh-chs": "時間,來源,訊息",
30351 "xloc": [
30348 - "default.handlebars->25->1785"
30352 + "default.handlebars->25->1789"
30353 ]
30354 },
30355 {
@@ -30376,7 +30380,7 @@
30380 "ru": "всего",
30381 "zh-chs": "總",
30382 "xloc": [
30379 - "default.handlebars->25->1752"
30383 + "default.handlebars->25->1756"
30384 ]
30385 },
30386 {
@@ -30535,7 +30539,7 @@
30539 "zh-chs": "{0} Kb",
30540 "xloc": [
30541 "default.handlebars->25->1375",
30538 - "default.handlebars->25->1692"
30542 + "default.handlebars->25->1696"
30543 ]
30544 },
30545 {
@@ -30589,7 +30593,7 @@
30593 "ru": "{0} активных сессий",
30594 "zh-chs": "{0}個活動會話",
30595 "xloc": [
30592 - "default.handlebars->25->1634"
30596 + "default.handlebars->25->1638"
30597 ]
30598 },
30599 {
@@ -30625,7 +30629,7 @@
30629 "xloc": [
30630 "default-mobile.handlebars->9->119",
30631 "default.handlebars->25->1385",
30628 - "default.handlebars->25->1707"
30632 + "default.handlebars->25->1711"
30633 ]
30634 },
30635 {
@@ -30683,7 +30687,7 @@
30687 "ru": "{0} групп",
30688 "zh-chs": "{0}個群組",
30689 "xloc": [
30686 - "default.handlebars->25->1599"
30690 + "default.handlebars->25->1603"
30691 ]
30692 },
30693 {
views/default.handlebars
+9 -5
@@ -2330,7 +2330,7 @@
2330 case 'accountcreate':
2331 case 'accountchange': {
2332 // An account was created or changed
2333 - if (userinfo.name == message.event.account.name) {
2333 + if (userinfo._id == message.event.account._id) {
2334 var newsiteadmin = message.event.account.siteadmin?message.event.account.siteadmin:0;
2335 var oldsiteadmin = userinfo.siteadmin?userinfo.siteadmin:0;
2336 if ((message.event.account.quota != userinfo.quota) || (((userinfo.siteadmin & 8) == 0) && ((message.event.account.siteadmin & 8) != 0))) { meshserver.send({ action: 'files' }); }
@@ -8923,7 +8923,6 @@
8923 }
8924
8925 function p20showAddMeshUserDialog(userid, selected) {
8926 - console.log('p20showAddMeshUserDialog', userid, selected);
8926 if (xxdialogMode) return false;
8927 var x = '';
8928 if ((userid == null) || (userid == 5)) {
@@ -10664,13 +10663,16 @@
10663
10664 var x = '<div style=min-height:80px><table style=width:100%>';
10665 if ((args.hide & 8) != 0) { x += '<br />' + addDeviceAttribute("Name", gname); } // If title bar is hidden, display the user group name here
10666 + if (serverinfo.crossDomain != null) {
10667 + var d = group._id.split('/')[1];
10668 + x += addDeviceAttribute("Domain", (d != '')?EscapeHtml(d):('<i>' + "Default" + '</i>'));
10669 + x += addDeviceAttribute("Group Identifier", EscapeHtml(group._id));
10670 + }
10671 if ((userinfo.siteadmin & 256) != 0) {
10672 x += addDeviceAttribute("Description", '<span onclick=p51editgroup(2) style=cursor:pointer>' + desc + ' <img class=hoverButton src="images/link5.png" /></span>');
10673 } else {
10674 x += addDeviceAttribute("Description", desc);
10675 }
10672 -
10673 - if (serverinfo.crossDomain != null) { x += addDeviceAttribute("Group Identifier", group._id); }
10676 x += addDeviceAttribute("Users", usercount);
10677 x += addDeviceAttribute("Device Groups", meshcount);
10678 x += addDeviceAttribute("Devices", devicecount);
@@ -10939,7 +10941,7 @@
10941 if (user == null) { setDialogMode(0); go(4); return; }
10942 QH('p30userName', user.name);
10943 QH('p31userName', user.name);
10942 - var self = (user.name == userinfo.name), activeSessions = 0;
10944 + var self = (user._id == userinfo._id), activeSessions = 0;
10945 if (wssessions != null && wssessions[user._id]) { activeSessions = wssessions[user._id]; }
10946
10947 // Change user grayscale
@@ -10971,6 +10973,8 @@
10973 if (serverinfo.emailcheck) { everify = ((user.emailVerified == true) ? '<b style=color:green;cursor:pointer title="' + "Email is verified" + '">&#x2713</b> ' : '<b style=color:red;cursor:pointer title="' + "Email not verified" + '">&#x2717;</b> '); }
10974
10975 if (serverinfo.crossDomain) {
10976 + var d = user._id.split('/')[1];
10977 + x += addDeviceAttribute("Domain", ((d != '')?EscapeHtml(d):('<i>' + "Default" + '</i>')));
10978 x += addDeviceAttribute("User Identifier", EscapeHtml(user._id));
10979 } else {
10980 if (user.name.toLowerCase() != user._id.split('/')[2]) { x += addDeviceAttribute("User Identifier", EscapeHtml(user._id.split('/')[2])); }