diff --git a/agents/MeshCmd-signed.exe b/agents/MeshCmd-signed.exe index 9dedbb4d..c25f64de 100644 Binary files a/agents/MeshCmd-signed.exe and b/agents/MeshCmd-signed.exe differ diff --git a/agents/MeshCmd64-signed.exe b/agents/MeshCmd64-signed.exe index d3936a78..a16938aa 100644 Binary files a/agents/MeshCmd64-signed.exe and b/agents/MeshCmd64-signed.exe differ diff --git a/agents/meshcmd.js b/agents/meshcmd.js index 78771e35..d1222661 100644 --- a/agents/meshcmd.js +++ b/agents/meshcmd.js @@ -114,7 +114,7 @@ function run(argv) { //console.log('addedModules = ' + JSON.stringify(addedModules)); var actionpath = 'meshaction.txt'; if (args.actionfile != null) { actionpath = args.actionfile; } - var actions = ['HELP', 'ROUTE', 'MICROLMS', 'AMTSCAN', 'AMTPOWER', 'AMTFEATURES', 'AMTNETWORK', 'AMTLOADWEBAPP', 'AMTLOADSMALLWEBAPP', 'AMTLOADLARGEWEBAPP', 'AMTCLEARWEBAPP', 'AMTSTORAGESTATE', 'AMTINFO', 'AMTINFODEBUG', 'AMTVERSIONS', 'AMTHASHES', 'AMTSAVESTATE', 'AMTSCRIPT', 'AMTUUID', 'AMTCCM', 'AMTACM', 'AMTDEACTIVATE', 'AMTACMDEACTIVATE', 'SMBIOS', 'RAWSMBIOS', 'MESHCOMMANDER', 'AMTAUDITLOG', 'AMTEVENTLOG', 'AMTPRESENCE', 'AMTWIFI']; + var actions = ['HELP', 'ROUTE', 'MICROLMS', 'AMTSCAN', 'AMTPOWER', 'AMTFEATURES', 'AMTNETWORK', 'AMTLOADWEBAPP', 'AMTLOADSMALLWEBAPP', 'AMTLOADLARGEWEBAPP', 'AMTCLEARWEBAPP', 'AMTSTORAGESTATE', 'AMTINFO', 'AMTINFODEBUG', 'AMTVERSIONS', 'AMTHASHES', 'AMTSAVESTATE', 'AMTSCRIPT', 'AMTUUID', 'AMTCCM', 'AMTACM', 'AMTDEACTIVATE', 'AMTACMDEACTIVATE', 'SMBIOS', 'RAWSMBIOS', 'MESHCOMMANDER', 'AMTAUDITLOG', 'AMTEVENTLOG', 'AMTPRESENCE', 'AMTWIFI', 'AMTWAKE']; // Load the action file var actionfile = null; @@ -201,6 +201,7 @@ function run(argv) { console.log(' AmtNetwork - Intel AMT network interface settings.'); console.log(' AmtScan - Search local network for Intel AMT devices.'); console.log(' AmtWifi - Intel AMT Wifi interface settings.'); + console.log(' AmtWake - Intel AMT Wake Alarms.'); console.log('\r\nHelp on a specific action using:\r\n'); console.log(' meshcmd help [action]'); exit(1); return; @@ -395,7 +396,7 @@ function run(argv) { console.log('\r\nOptional arguments:\r\n'); console.log(' --user [username] The Intel AMT login username, admin is default.'); console.log(' --tls Specifies that TLS must be used.'); - console.log(' --list List of stored Wifi profile'); + console.log(' --list List Wifi profiles'); console.log(' --add Add new Wifi profile'); console.log(' --name New Wifi profile name'); console.log(' --priority Priority of this profile - default 0'); @@ -404,6 +405,22 @@ function run(argv) { console.log(' --enc Wifi Encryption type (3 - TKIP, 4 - CCMP) - default 3'); console.log(' --psk Wifi password/pre-shared key'); console.log(' --del [profile-name] Delete new Wifi profile'); + } else if (action == 'amtwake') { + console.log('AmtWake is used to view/set/remote Intel AMT Wake Alarms. Example usage:\r\n\r\n meshcmd amtwake --host 1.2.3.4 --user admin --pass mypassword --list'); + console.log('\r\nRequired arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --[action] Action options are list, add, del.'); + console.log('\r\nOptional arguments:\r\n'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --tls Specifies that TLS must be used.'); + console.log(' --list List wake alarms profile'); + console.log(' --add [alarm-name] Add new wake alarm'); + console.log(' --date [yyyy-mm-dd] Alarm date in year-month-day format'); + console.log(' --time (hh:mm:ss) Optional alarm time in hours:minutes:seconds format, default is 00:00:00.'); + console.log(' --interval (dd-hh-mm) Optional alarm interval in days-hours-minutes format, default is alarm once.'); + console.log(' --deletewhendone Indicates alarm is removed once triggered, default is to no remove.'); + console.log(' --del [alarm-name] Remove a wake alarm'); } else { actions.shift(); console.log('Invalid action, usage:\r\n\r\n meshcmd help [action]\r\n\r\nValid actions are: ' + actions.join(', ') + '.'); @@ -714,22 +731,24 @@ function run(argv) { if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } if (args.add != null) { - if ((args.name == null) || (typeof args.name != 'string') || args.name == '') { - console.log("Wifi profile name is required."); exit(1); return; - } - if ((args.ssid == null) || (typeof args.ssid != 'string') || args.ssid == '') { - console.log("Wifi SSID is required."); exit(1); return; - } - if ((args.psk == null) || (typeof args.psk != 'string') || args.psk == '') { - console.log("Wifi password is required."); exit(1); return; - } + if ((args.name == null) || (typeof args.name != 'string') || args.name == '') { console.log("Wifi profile name is required."); exit(1); return; } + if ((args.ssid == null) || (typeof args.ssid != 'string') || args.ssid == '') { console.log("Wifi SSID is required."); exit(1); return; } + if ((args.psk == null) || (typeof args.psk != 'string') || args.psk == '') { console.log("Wifi password is required."); exit(1); return; } } if (args.del !=null) { - if ((settings.name == null) || (typeof settings.name != 'string') || settings.name == '') { - console.log("Wifi profile name is required."); exit(1); return; - } + if ((settings.name == null) || (typeof settings.name != 'string') || settings.name == '') { console.log("Wifi profile name is required."); exit(1); return; } } performAmtWifiConfig(args); + } else if (settings.action == 'amtwake') { // Perform remote Intel AMT wake alarm operations + if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + if ((args.del != null) && ((typeof args.del != 'string') || args.del == '')) { console.log("Alarm name is required (--del [name])."); exit(1); return; } + if (args.add != null) { + if (((typeof args.add != 'string') || args.add == '')) { console.log("Wake alarm name is required (--add [name])."); exit(1); return; } + if (((typeof args.date != 'string') || args.data == '')) { console.log("Wake alarm date is required (--date [yyyy-mm-dd])."); exit(1); return; } + } + performAmtWakeConfig(args); } else if (settings.action == 'amtfeatures') { // Perform remote Intel AMT feature configuration operation if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } @@ -2546,7 +2565,7 @@ function performAmtWifiConfig1(stack, name, response, status, args) { if (args) { if (args.list) { - console.log('List of AMT Wifi profiles:'); + console.log('List of Intel AMT Wifi profiles:'); if (wifiProfiles.length==0) { console.log('No Wifi profiles is stored.'); } @@ -2611,6 +2630,119 @@ function performAmtWifiConfig1(stack, name, response, status, args) { } } +// +// Intel AMT wake alarm configuration +// + +function _fmtdatetime(str) { + return str.replace('T', ' ').replace('Z', ''); +} + +function _fmtinterval(str) { + var cl = str.replace('T', '').substring(str.indexOf('P') + 1); + cl = ' ' + cl.replace('D', " days ").replace('H', " hours ").replace('M', " minutes "); + cl = cl.replace(" 1 days ", " 1 day ").replace(" 1 hours ", " 1 hour ").replace(" 1 minutes ", " 1 minute "); + return cl.substring(0, cl.length - 1); +} + +function _fmttimepad(str) { + str = '' + str; + while (str.length < 2) { str = '0' + str; } + return str; +} + +function convertAmtDataStr(str) { + var timeArray = str.split('Z').join('').split('T').join('-').split(':').join('-').split('-'); + return new Date(timeArray[0], timeArray[1] - 1, timeArray[2], timeArray[3], timeArray[4], timeArray[5]); +} + +function prepareAlarmOccurenceTemplate(id, nm, start, interval, del) { + return '' + id + '' + start + '' + interval + '' + del + ''; +} + +function performAmtWakeConfig(args) { + if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { + settings.noconsole = true; startLms(performAmtWakeConfig0, false, args); + } else { + performAmtWakeConfig0(1, args); + } +} + +function performAmtWakeConfig0(state, args) { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.BatchEnum(null, ['IPS_AlarmClockOccurrence'], performAmtWakeConfig1, args); +} + +function performAmtWakeConfig1(stack, name, response, status, args) { + if (status == 200) { + var response = response['IPS_AlarmClockOccurrence'].responses; + if (!args) { process.exit(0); return; } + if (args.list) { + if (response.length == 0) { + console.log('No wake alarms.'); + } else { + for (var i = 0; i < response.length; i++) { + var waketime = convertAmtDataStr(response[i]['StartTime']['Datetime']); + var t = waketime.toLocaleString(), tx = t.indexOf('.'); + if (tx >= 0) { t = t.substring(0, tx); } + var details = response[i]['ElementName'] + ', wake on ' + t.replace(' ', ' at '); + if (response[i]['Interval'] != null) { details += ' and each' + _fmtinterval(response[i]['Interval']['Interval']); } + if (response[i]['DeleteOnCompletion'] == true) { details += ", delete when done"; } + console.log(details); + } + } + process.exit(0); + } else if (args.del) { + // Remove a wake alarm, start by looking to see if it exists + var alarmFound = false; + for (var i = 0; i < response.length; i++) { if (response[i]['ElementName'] == args.del) { alarmFound = true; } } + if (alarmFound == false) { console.log("Wake alarm " + args.del + " could not be found."); process.exit(0); return; } + // Remote the alarm + stack.Delete('IPS_AlarmClockOccurrence', { InstanceID: args.del }, + function (stck, nm, resp, sts) { + if (sts == 200) { console.log("Done."); } else { console.log("Failed to delete wake alarm " + args.del + "."); } + process.exit(0); + }, + 0, 1); + } else if (args.add) { + // Add a wake alarm + var alarmFound = false; + for (var i = 0; i < response.length; i++) { if (response[i]['ElementName'] == args.add) { alarmFound = true; } } + if (alarmFound) { console.log("Wake alarm " + args.add + " already exists."); process.exit(0); return; } + if (typeof args.time != 'string') { args.time = '00:00:00'; } + if (typeof args.interval != 'string') { args.interval = ''; } + var alarm_name = args.add; + var x1 = args.date.split('-'); + var x2 = args.time.split(':'); + var t = new Date(x1[0], x1[1] - 1, x1[2], x2[0], x2[1], 0, 0); // Not sure why, but month is 0 = JAN, 11 = DEC, seconds must be 00. + var alarm_starttime = _fmttimepad(t.getFullYear()) + '-' + _fmttimepad(t.getMonth() + 1) + '-' + _fmttimepad(t.getDate()) + 'T' + _fmttimepad(t.getHours()) + ':' + _fmttimepad(t.getMinutes()) + ':' + _fmttimepad(t.getSeconds()) + 'Z'; + var x = args.interval.split('-'); + if (x.length != 3) { x = [0, 0, 0]; } + var alarm_interval = 'P' + x[0] + 'DT' + x[1] + 'H' + x[2] + 'M'; + var alarm_doc = (args.deletewhendone != null); + var tpl = prepareAlarmOccurenceTemplate(alarm_name, alarm_name, alarm_starttime, alarm_interval, alarm_doc); + stack.wsman.ExecMethodXml(amtstack.CompleteName('AMT_AlarmClockService'), 'AddAlarm', tpl, + function (ws, resuri, response, status) { + if (status != 200) { console.log("Failed to add alarm. Status: " + status + ". Verify the alarm is for a future time."); } + else if (response.Body['ReturnValue'] != 0) { console.log("Failed to add alarm " + response.Body['ReturnValueStr'] + ". Verify the alarm is for a future time."); } + else { console.log("Done."); } + process.exit(0); + } + ); + } else { + console.log("Unknown action, specify --list, --del or --add."); + process.exit(0); + } + } else { + console.log("Error, status " + status + "."); + process.exit(1); + } +} + // // Intel AMT feature configuration action // diff --git a/meshmail.js b/meshmail.js index 87ae89f5..36b9eac3 100644 --- a/meshmail.js +++ b/meshmail.js @@ -300,14 +300,25 @@ module.exports.CreateMeshMail = function (parent) { parent.debug('email', 'SMTP response: ' + JSON.stringify(err) + ', ' + JSON.stringify(info)); obj.sendingMail = false; if (err == null) { + // Send the next mail obj.pendingMails.shift(); obj.retry = 0; - sendNextMail(); // Send the next mail + sendNextMail(); } else { obj.retry++; - parent.debug('email', 'SMTP server failed: ' + JSON.stringify(err)); - console.log('SMTP server failed: ' + JSON.stringify(err)); - if (obj.retry < 6) { setTimeout(sendNextMail, 60000); } // Wait and try again + parent.debug('email', 'SMTP server failed (Retry:' + obj.retry + '): ' + JSON.stringify(err)); + console.log('SMTP server failed (Retry:' + obj.retry + '/3): ' + JSON.stringify(err)); + // Wait and try again + if (obj.retry < 3) { + setTimeout(sendNextMail, 10000); + } else { + // Failed, send the next mail + parent.debug('email', 'SMTP server failed (Skipping): ' + JSON.stringify(err)); + console.log('SMTP server failed (Skipping): ' + JSON.stringify(err)); + obj.pendingMails.shift(); + obj.retry = 0; + sendNextMail(); + } } }); } diff --git a/meshuser.js b/meshuser.js index b838425c..01ef9861 100644 --- a/meshuser.js +++ b/meshuser.js @@ -812,6 +812,19 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use } break; } + case 'email': { + if (parent.parent.mailserver == null) { + r = "No email service enabled."; + } else { + if (cmdargs['_'].length != 3) { + r = "Usage: email \"user@sample.com\" \"Subject\" \"Message\"."; + } else { + parent.parent.mailserver.sendMail(cmdargs['_'][0], cmdargs['_'][1], cmdargs['_'][2]); + r = "Done."; + } + } + break; + } case 'le': { if (parent.parent.letsencrypt == null) { r = "Let's Encrypt not in use."; @@ -3871,6 +3884,25 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use }); break; } + case 'emailuser': { // Send a email message to a user + var errMsg = null, emailuser = null; + if (parent.parent.mailserver == null) { errMsg = 'Email server not enabled'; } + else if ((user.siteadmin & 2) == 0) { errMsg = 'No user management rights'; } + else if (common.validateString(command.userid, 1, 2048) == false) { errMsg = 'Invalid userid'; } + else if (common.validateString(command.subject, 1, 1000) == false) { errMsg = 'Invalid subject message'; } + else if (common.validateString(command.msg, 1, 10000) == false) { errMsg = 'Invalid message'; } + else { + emailuser = parent.users[command.userid]; + if (emailuser == null) { errMsg = 'Invalid userid'; } + else if (emailuser.email == null) { errMsg = 'No validated email address for this user'; } + else if (emailuser.emailVerified !== true) { errMsg = 'No validated email address for this user'; } + } + + if (errMsg != null) { displayNotificationMessage(errMsg); break; } + parent.parent.mailserver.sendMail(emailuser.email, command.subject, command.msg); + displayNotificationMessage("Email sent."); + break; + } case 'getClip': { if (common.validateString(command.nodeid, 1, 1024) == false) break; // Check nodeid diff --git a/package.json b/package.json index 33fceaba..14d3ab16 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.5.31", + "version": "0.5.32", "keywords": [ "Remote Management", "Intel AMT", diff --git a/public/scripts/amt-wsman-0.2.0-min.js b/public/scripts/amt-wsman-0.2.0-min.js index 389c6296..293387e7 100644 --- a/public/scripts/amt-wsman-0.2.0-min.js +++ b/public/scripts/amt-wsman-0.2.0-min.js @@ -1 +1 @@ -var WsmanStackCreateService=function(e,s,r,a,o,t){var p={};function l(e){if(!e)return"";var s=" ";for(var r in e)e.hasOwnProperty(r)&&0===r.indexOf("@")&&(s+=r.substring(1)+'="'+e[r]+'" ');return s}function w(e){if(!e)return"";if("string"==typeof e)return e;if(e.InstanceID)return''+e.InstanceID+"";var s="";for(var r in e)if(e.hasOwnProperty(r)){if(s+='',e[r].ReferenceParameters){s+="",s+=""+e[r].Address+""+e[r].ReferenceParameters.ResourceURI+"";var a=e[r].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(a))for(var o=0;o"+a[o].Value+"";else s+=""+a.Value+"";s+=""}else s+=e[r];s+=""}return s+=""}return p.NextMessageId=1,p.Address="/wsman",p.comm=CreateWsmanComm(e,s,r,a,o,t),p.PerformAjax=function(e,o,s,r,a){null==a&&(a=""),p.comm.PerformAjax('
"+e,function(e,s,r){if(200==s){var a=p.ParseWsman(e);a&&null!=a?o(p,a.Header.ResourceURI,a,200,r):o(p,null,{Header:{HttpError:s}},601,r)}else o(p,null,{Header:{HttpError:s}},s,r)},s,r)},p.CancelAllQueries=function(e){p.comm.CancelAllQueries(e)},p.GetNameFromUrl=function(e){var s=e.lastIndexOf("/");return-1==s?e:e.substring(s+1)},p.ExecSubscribe=function(e,s,r,a,o,t,n,l,c,d){var m="",i="";null!=c&&null!=d&&(m="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken"+c+''+d+"",i=''),l=null!=l&&null!=l?""+l+"":"";var u="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+w(n)+m+'
'+r+""+i+"PT0.000000S";p.PerformAjax(u+"
",a,o,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:se="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:m="http://x.com"')},p.ExecUnSubscribe=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+w(o)+"";p.PerformAjax(t+"",s,r,a,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')},p.ExecPut=function(e,s,r,a,o,t){var n="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S"+w(t)+""+function(e,s){if(!e||null==s)return"";var r=p.GetNameFromUrl(e),a="';for(var o in s)if(s.hasOwnProperty(o)&&0!==o.indexOf("__")&&0!==o.indexOf("@")&&void 0!==s[o]&&null!==s[o]&&"function"!=typeof s[o])if("object"==typeof s[o]&&s[o].ReferenceParameters){a+=""+s[o].Address+""+s[o].ReferenceParameters.ResourceURI+"";var t=s[o].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(t))for(var n=0;n"+t[n].Value+"";else a+=""+t.Value+"";a+=""}else if(Array.isArray(s[o]))for(n=0;n"+s[o][n].toString()+"";else a+=""+s[o].toString()+"";return a+=""}(e,s);p.PerformAjax(n+"",r,a,o)},p.ExecCreate=function(e,s,r,a,o,t){var n=p.GetNameFromUrl(e),l="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+w(t)+"';for(var c in s)l+=""+s[c]+"";p.PerformAjax(l+"",r,a,o)},p.ExecCreateXml=function(e,s,r,a,o){var t=p.GetNameFromUrl(e);p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S'+s+"",r,a,o)},p.ExecDelete=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+w(s)+"";p.PerformAjax(t,r,a,o)},p.ExecGet=function(e,s,r,a){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S",s,r,a)},p.ExecMethod=function(e,s,r,a,o,t,n){var l="";for(var c in r)if(null!=r[c])if(Array.isArray(r[c]))for(var d in r[c])l+=""+r[c][d]+"";else l+=""+r[c]+"";p.ExecMethodXml(e,s,l,a,o,t,n)},p.ExecMethodXml=function(e,s,r,a,o,t,n){p.PerformAjax(e+"/"+s+""+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+w(n)+"'+r+"",a,o,t)},p.ExecEnum=function(e,s,r,a){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate"+p.Address+""+e+""+p.NextMessageId+++'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S',s,r,a)},p.ExecPull=function(e,s,r,a,o){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull"+p.Address+""+e+""+p.NextMessageId+++'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S'+s+"99999999",r,a,o)},p.ParseWsman=function(s){try{s.childNodes||(s=function(e){{if(window.DOMParser)return(new DOMParser).parseFromString(e,"text/xml");var s=new ActiveXObject("Microsoft.XMLDOM");return s.async=!1,s.loadXML(e),s}}(s));var e,r={Header:{}},a=s.getElementsByTagName("Header")[0];if(!(a=a||s.getElementsByTagName("a:Header")[0]))return null;for(var o=0;o'+e.InstanceID+"";var s="";for(var r in e)if(e.hasOwnProperty(r)){if(s+='',e[r].ReferenceParameters){s+="",s+=""+e[r].Address+""+e[r].ReferenceParameters.ResourceURI+"";var a=e[r].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(a))for(var o=0;o"+a[o].Value+"";else s+=""+a.Value+"";s+=""}else s+=e[r];s+=""}return s+=""}return p.NextMessageId=1,p.Address="/wsman",p.comm=CreateWsmanComm(e,s,r,a,o,t),p.PerformAjax=function(e,o,s,r,a){null==a&&(a=""),p.comm.PerformAjax('
"+e,function(e,s,r){if(200==s){var a=p.ParseWsman(e);a&&null!=a?o(p,a.Header.ResourceURI,a,200,r):o(p,null,{Header:{HttpError:s}},601,r)}else o(p,null,{Header:{HttpError:s}},s,r)},s,r)},p.CancelAllQueries=function(e){p.comm.CancelAllQueries(e)},p.GetNameFromUrl=function(e){var s=e.lastIndexOf("/");return-1==s?e:e.substring(s+1)},p.ExecSubscribe=function(e,s,r,a,o,t,n,l,d,c){var m="",i="";null!=d&&null!=c&&(m="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken"+d+''+c+"",i=''),l=null!=l&&null!=l?""+l+"":"";var u="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+w(n)+m+'
'+r+""+i+"PT0.000000S";p.PerformAjax(u+"
",a,o,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:se="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:m="http://x.com"')},p.ExecUnSubscribe=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+w(o)+"";p.PerformAjax(t+"",s,r,a,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')},p.ExecPut=function(e,s,r,a,o,t){var n="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S"+w(t)+""+function(e,s){if(!e||null==s)return"";var r=p.GetNameFromUrl(e),a="';for(var o in s)if(s.hasOwnProperty(o)&&0!==o.indexOf("__")&&0!==o.indexOf("@")&&void 0!==s[o]&&null!==s[o]&&"function"!=typeof s[o])if("object"==typeof s[o]&&s[o].ReferenceParameters){a+=""+s[o].Address+""+s[o].ReferenceParameters.ResourceURI+"";var t=s[o].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(t))for(var n=0;n"+t[n].Value+"";else a+=""+t.Value+"";a+=""}else if(Array.isArray(s[o]))for(n=0;n"+s[o][n].toString()+"";else a+=""+s[o].toString()+"";return a+=""}(e,s);p.PerformAjax(n+"",r,a,o)},p.ExecCreate=function(e,s,r,a,o,t){var n=p.GetNameFromUrl(e),l="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+w(t)+"';for(var d in s)l+=""+s[d]+"";p.PerformAjax(l+"",r,a,o)},p.ExecCreateXml=function(e,s,r,a,o){var t=p.GetNameFromUrl(e);p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S'+s+"",r,a,o)},p.ExecDelete=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+w(s)+"";p.PerformAjax(t,r,a,o)},p.ExecGet=function(e,s,r,a){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S",s,r,a)},p.ExecMethod=function(e,s,r,a,o,t,n){var l="";for(var d in r)if(null!=r[d])if(Array.isArray(r[d]))for(var c in r[d])l+=""+r[d][c]+"";else l+=""+r[d]+"";p.ExecMethodXml(e,s,l,a,o,t,n)},p.ExecMethodXml=function(e,s,r,a,o,t,n){p.PerformAjax(e+"/"+s+""+p.Address+""+e+""+p.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+w(n)+"'+r+"",a,o,t)},p.ExecEnum=function(e,s,r,a){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate"+p.Address+""+e+""+p.NextMessageId+++'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S',s,r,a)},p.ExecPull=function(e,s,r,a,o){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull"+p.Address+""+e+""+p.NextMessageId+++'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S'+s+"99999999",r,a,o)},p.ParseWsman=function(s){try{s.childNodes||(s=function(e){{if(window.DOMParser)return(new DOMParser).parseFromString(e,"text/xml");var s=new ActiveXObject("Microsoft.XMLDOM");return s.async=!1,s.loadXML(e),s}}(s));var e,r={Header:{}},a=s.getElementsByTagName("Header")[0];if(!(a=a||s.getElementsByTagName("a:Header")[0]))return null;for(var o=0;o25->1253", - "default.handlebars->25->1557" + "default.handlebars->25->1559" ] }, { @@ -614,7 +614,7 @@ "default-mobile.handlebars->9->262", "default-mobile.handlebars->9->77", "default.handlebars->25->1360", - "default.handlebars->25->1700", + "default.handlebars->25->1704", "default.handlebars->25->747" ] }, @@ -663,7 +663,7 @@ "ru": "1 активная сессия", "zh-chs": "1個活動會話", "xloc": [ - "default.handlebars->25->1618" + "default.handlebars->25->1622" ] }, { @@ -725,7 +725,7 @@ "ru": "1 группа", "zh-chs": "1組", "xloc": [ - "default.handlebars->25->1585" + "default.handlebars->25->1587" ] }, { @@ -1125,7 +1125,7 @@ "zh-chs": "啟用第二因素身份驗證", "xloc": [ "default.handlebars->25->1431", - "default.handlebars->25->1607" + "default.handlebars->25->1609" ] }, { @@ -1871,7 +1871,7 @@ "ru": "Доступ к файлам сервера", "zh-chs": "訪問服務器文件", "xloc": [ - "default.handlebars->25->1563" + "default.handlebars->25->1565" ] }, { @@ -1996,7 +1996,7 @@ "zh-chs": "帐户已被锁定", "xloc": [ "default.handlebars->25->1433", - "default.handlebars->25->1560" + "default.handlebars->25->1562" ] }, { @@ -2269,8 +2269,8 @@ "ru": "Добавить устройство", "zh-chs": "添加設備", "xloc": [ - "default.handlebars->25->1537", - "default.handlebars->25->1651" + "default.handlebars->25->1539", + "default.handlebars->25->1655" ] }, { @@ -2305,8 +2305,8 @@ "zh-chs": "添加設備組", "xloc": [ "default.handlebars->25->1285", - "default.handlebars->25->1531", - "default.handlebars->25->1639", + "default.handlebars->25->1533", + "default.handlebars->25->1643", "default.handlebars->25->198" ] }, @@ -2423,7 +2423,7 @@ "ru": "Добавить участие", "zh-chs": "添加會員", "xloc": [ - "default.handlebars->25->1669" + "default.handlebars->25->1673" ] }, { @@ -2515,7 +2515,7 @@ "xloc": [ "default.handlebars->25->1185", "default.handlebars->25->1284", - "default.handlebars->25->1645", + "default.handlebars->25->1649", "default.handlebars->25->571" ] }, @@ -2576,7 +2576,7 @@ "zh-chs": "添加用戶", "xloc": [ "default.handlebars->25->1184", - "default.handlebars->25->1526" + "default.handlebars->25->1528" ] }, { @@ -2610,7 +2610,7 @@ "ru": "Добавить пользователей в группу", "zh-chs": "將用戶添加到用戶組", "xloc": [ - "default.handlebars->25->1559" + "default.handlebars->25->1561" ] }, { @@ -2815,7 +2815,7 @@ "ru": "Области администратора", "zh-chs": "管理領域", "xloc": [ - "default.handlebars->25->1589" + "default.handlebars->25->1591" ] }, { @@ -2850,7 +2850,7 @@ "ru": "Административные области", "zh-chs": "行政領域", "xloc": [ - "default.handlebars->25->1482" + "default.handlebars->25->1484" ] }, { @@ -2978,7 +2978,7 @@ "ru": "Счетчик ошибок агента", "zh-chs": "座席錯誤計數器", "xloc": [ - "default.handlebars->25->1710" + "default.handlebars->25->1714" ] }, { @@ -3047,7 +3047,7 @@ "ru": "Сессии агентов", "zh-chs": "座席會議", "xloc": [ - "default.handlebars->25->1726" + "default.handlebars->25->1730" ] }, { @@ -3170,7 +3170,7 @@ "ru": "Агенты", "zh-chs": "代理商", "xloc": [ - "default.handlebars->25->1739" + "default.handlebars->25->1743" ] }, { @@ -3257,7 +3257,7 @@ "zh-chs": "允許用戶管理此設備組和該組中的設備。", "xloc": [ "default.handlebars->25->1251", - "default.handlebars->25->1556" + "default.handlebars->25->1558" ] }, { @@ -3361,7 +3361,7 @@ "zh-chs": "始終通知", "xloc": [ "default.handlebars->25->1165", - "default.handlebars->25->1598", + "default.handlebars->25->1600", "default.handlebars->25->519" ] }, @@ -3380,7 +3380,7 @@ "zh-chs": "總是提示", "xloc": [ "default.handlebars->25->1166", - "default.handlebars->25->1599", + "default.handlebars->25->1601", "default.handlebars->25->520" ] }, @@ -3989,7 +3989,7 @@ "ru": "Вы уверенны, что {0} плагин: {1}", "zh-chs": "您確定要{0}插件嗎:{1}", "xloc": [ - "default.handlebars->25->1779" + "default.handlebars->25->1783" ] }, { @@ -4085,7 +4085,7 @@ "ru": "Приложение аутентификации", "zh-chs": "身份驗證應用", "xloc": [ - "default.handlebars->25->1602" + "default.handlebars->25->1604" ] }, { @@ -4401,7 +4401,7 @@ "ru": "Резервные коды", "zh-chs": "備用碼", "xloc": [ - "default.handlebars->25->1604" + "default.handlebars->25->1606" ] }, { @@ -4418,7 +4418,7 @@ "ru": "Плохой ключ", "zh-chs": "錯誤的簽名", "xloc": [ - "default.handlebars->25->1717" + "default.handlebars->25->1721" ] }, { @@ -4435,7 +4435,7 @@ "ru": "Плохой веб-сертификат", "zh-chs": "錯誤的網絡證書", "xloc": [ - "default.handlebars->25->1716" + "default.handlebars->25->1720" ] }, { @@ -4573,7 +4573,7 @@ "ru": "Отправить сообщение", "zh-chs": "廣播", "xloc": [ - "default.handlebars->25->1524", + "default.handlebars->25->1526", "default.handlebars->container->column_l->p4->3->1->0->3->1" ] }, @@ -4591,7 +4591,7 @@ "ru": "Отправить сообщение", "zh-chs": "廣播消息", "xloc": [ - "default.handlebars->25->1466" + "default.handlebars->25->1468" ] }, { @@ -4608,7 +4608,7 @@ "ru": "Отправить сообщение всем подключенным пользователям.", "zh-chs": "向所有連接的用戶廣播消息。", "xloc": [ - "default.handlebars->25->1465" + "default.handlebars->25->1467" ] }, { @@ -4698,7 +4698,7 @@ "ru": "CIRA Сервер", "zh-chs": "CIRA服務器", "xloc": [ - "default.handlebars->25->1767" + "default.handlebars->25->1771" ] }, { @@ -4715,7 +4715,7 @@ "ru": "CIRA Сервер команды", "zh-chs": "CIRA服務器命令", "xloc": [ - "default.handlebars->25->1768" + "default.handlebars->25->1772" ] }, { @@ -4748,7 +4748,7 @@ "ru": "Загрузка CPU", "zh-chs": "CPU負載", "xloc": [ - "default.handlebars->25->1731" + "default.handlebars->25->1735" ] }, { @@ -4765,7 +4765,7 @@ "ru": "Загрузка CPU за последние 15 минут", "zh-chs": "最近15分鐘的CPU負載", "xloc": [ - "default.handlebars->25->1734" + "default.handlebars->25->1738" ] }, { @@ -4782,7 +4782,7 @@ "ru": "Загрузка CPU за последние 5 минут", "zh-chs": "最近5分鐘的CPU負載", "xloc": [ - "default.handlebars->25->1733" + "default.handlebars->25->1737" ] }, { @@ -4799,7 +4799,7 @@ "ru": "Загрузка CPU за последнюю минуту", "zh-chs": "最後一分鐘的CPU負載", "xloc": [ - "default.handlebars->25->1732" + "default.handlebars->25->1736" ] }, { @@ -4836,7 +4836,7 @@ "zh-chs": "CSV格式", "xloc": [ "default.handlebars->25->1400", - "default.handlebars->25->1457", + "default.handlebars->25->1459", "default.handlebars->25->412" ] }, @@ -4854,7 +4854,7 @@ "ru": "Ошибка вызова", "zh-chs": "通話錯誤", "xloc": [ - "default.handlebars->25->1780" + "default.handlebars->25->1784" ] }, { @@ -4991,7 +4991,7 @@ "ru": "Смена email для {0}", "zh-chs": "更改{0}的電子郵件", "xloc": [ - "default.handlebars->25->1628" + "default.handlebars->25->1632" ] }, { @@ -5029,7 +5029,7 @@ "xloc": [ "default-mobile.handlebars->9->59", "default.handlebars->25->1112", - "default.handlebars->25->1617" + "default.handlebars->25->1621" ] }, { @@ -5046,7 +5046,7 @@ "ru": "Смена пароля для {0}", "zh-chs": "更改{0}的密碼", "xloc": [ - "default.handlebars->25->1635" + "default.handlebars->25->1639" ] }, { @@ -5116,7 +5116,7 @@ "ru": "Изменить пароль для этого пользователя", "zh-chs": "更改該用戶的密碼", "xloc": [ - "default.handlebars->25->1616" + "default.handlebars->25->1620" ] }, { @@ -5321,7 +5321,7 @@ "ru": "Проверка...", "zh-chs": "檢查...", "xloc": [ - "default.handlebars->25->1774", + "default.handlebars->25->1778", "default.handlebars->25->885" ] }, @@ -5537,7 +5537,7 @@ "nl": "Wis alle meldingen", "zh-chs": "全部清除", "xloc": [ - "default.handlebars->25->1704" + "default.handlebars->25->1708" ] }, { @@ -5587,7 +5587,7 @@ "ru": "Очистить это уведомление", "zh-chs": "清除此通知", "xloc": [ - "default.handlebars->25->1703" + "default.handlebars->25->1707" ] }, { @@ -5663,7 +5663,7 @@ "nl": "Klik hier om de gebruikersgroepsnaam te bewerken", "zh-chs": "单击此处编辑用户组名称", "xloc": [ - "default.handlebars->25->1516" + "default.handlebars->25->1518" ] }, { @@ -5837,8 +5837,8 @@ "ru": "Общие группы устройств", "zh-chs": "通用設備組", "xloc": [ - "default.handlebars->25->1532", - "default.handlebars->25->1640" + "default.handlebars->25->1534", + "default.handlebars->25->1644" ] }, { @@ -5855,8 +5855,8 @@ "ru": "Общие устройства", "zh-chs": "通用設備", "xloc": [ - "default.handlebars->25->1538", - "default.handlebars->25->1652" + "default.handlebars->25->1540", + "default.handlebars->25->1656" ] }, { @@ -5895,9 +5895,9 @@ "default-mobile.handlebars->9->306", "default.handlebars->25->1230", "default.handlebars->25->1443", - "default.handlebars->25->1508", - "default.handlebars->25->1552", - "default.handlebars->25->1638", + "default.handlebars->25->1510", + "default.handlebars->25->1554", + "default.handlebars->25->1642", "default.handlebars->25->409", "default.handlebars->25->644", "default.handlebars->25->653" @@ -5981,7 +5981,7 @@ "nl": "Bevestig verwijdering geselecteerde gebruikersgroep(en)?", "zh-chs": "确认删除选定的用户组?", "xloc": [ - "default.handlebars->25->1507" + "default.handlebars->25->1509" ] }, { @@ -5998,7 +5998,7 @@ "ru": "Подтвердить удаление пользователя {0}?", "zh-chs": "確認刪除用戶{0}?", "xloc": [ - "default.handlebars->25->1637" + "default.handlebars->25->1641" ] }, { @@ -6012,7 +6012,7 @@ "nl": "Bevestig lidmaatschap verwijderen van gebruiker \\\"{0}\\\"?", "zh-chs": "确认删除用户\\“ {0} \\”的成员身份?", "xloc": [ - "default.handlebars->25->1555" + "default.handlebars->25->1557" ] }, { @@ -6026,7 +6026,7 @@ "nl": "Bevestig lidmaatschap verwijdering van gebruikergroep \\\"{0}\\\"?", "zh-chs": "确认删除用户组 “{0}” 的成员身份?", "xloc": [ - "default.handlebars->25->1667" + "default.handlebars->25->1671" ] }, { @@ -6093,8 +6093,8 @@ "nl": "Bevestig verwijdering van toegangsrechten voor apparaat \\\"{0}\\\"?", "zh-chs": "确认删除设备“ {0} ”的访问权限?", "xloc": [ - "default.handlebars->25->1545", - "default.handlebars->25->1658" + "default.handlebars->25->1547", + "default.handlebars->25->1662" ] }, { @@ -6108,8 +6108,8 @@ "nl": "Bevestig verwijdering van toegangsrechten voor apparaatgroep \\\"{0}\\\"?", "zh-chs": "是否确认删除设备组“ {0}”的访问权限?", "xloc": [ - "default.handlebars->25->1547", - "default.handlebars->25->1671" + "default.handlebars->25->1549", + "default.handlebars->25->1675" ] }, { @@ -6123,7 +6123,7 @@ "nl": "Bevestig verwijdering van toegangsrechten voor gebruiker \\\"{0}\\\"?", "zh-chs": "确认删除用户\\“ {0} \\”的访问权限?", "xloc": [ - "default.handlebars->25->1660" + "default.handlebars->25->1664" ] }, { @@ -6137,7 +6137,7 @@ "nl": "Bevestig verwijdering van toegangsrechten voor gebruikergroep \\\"{0}\\\"?", "zh-chs": "确认删除用户组“ {0}”的访问权限?", "xloc": [ - "default.handlebars->25->1663" + "default.handlebars->25->1667" ] }, { @@ -6151,8 +6151,8 @@ "nl": "Verwijdering van toegangsrechten bevestigen?", "zh-chs": "确认删除访问权限?", "xloc": [ - "default.handlebars->25->1661", - "default.handlebars->25->1664" + "default.handlebars->25->1665", + "default.handlebars->25->1668" ] }, { @@ -6399,7 +6399,7 @@ "ru": "Подключено Intel® AMT", "zh-chs": "連接的英特爾®AMT", "xloc": [ - "default.handlebars->25->1722" + "default.handlebars->25->1726" ] }, { @@ -6416,7 +6416,7 @@ "ru": "Подключенные пользователи", "zh-chs": "關聯用戶", "xloc": [ - "default.handlebars->25->1727" + "default.handlebars->25->1731" ] }, { @@ -6492,7 +6492,7 @@ "ru": "Подключений ", "zh-chs": "連接數", "xloc": [ - "default.handlebars->25->1738" + "default.handlebars->25->1742" ] }, { @@ -6509,7 +6509,7 @@ "ru": "Ретранслятор подключения", "zh-chs": "連接繼電器", "xloc": [ - "default.handlebars->25->1766" + "default.handlebars->25->1770" ] }, { @@ -6636,7 +6636,7 @@ "ru": "Cookie-кодировщик", "zh-chs": "Cookie編碼器", "xloc": [ - "default.handlebars->25->1752" + "default.handlebars->25->1756" ] }, { @@ -6941,7 +6941,7 @@ "ru": "Основной сервер", "zh-chs": "核心服務器", "xloc": [ - "default.handlebars->25->1751" + "default.handlebars->25->1755" ] }, { @@ -6975,7 +6975,7 @@ "ru": "Создать учетную запись", "zh-chs": "創建帳號", "xloc": [ - "default.handlebars->25->1478", + "default.handlebars->25->1480", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->12->1->1", "login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1" ] @@ -7011,7 +7011,7 @@ "ru": "Создать группу пользователей", "zh-chs": "創建用戶組", "xloc": [ - "default.handlebars->25->1513" + "default.handlebars->25->1515" ] }, { @@ -7062,7 +7062,7 @@ "ru": "Создайте сразу несколько учетных записей, импортировав файл JSON в следующем формате:", "zh-chs": "通過導入以下格式的JSON文件一次創建多個帳戶:", "xloc": [ - "default.handlebars->25->1448" + "default.handlebars->25->1450" ] }, { @@ -7097,7 +7097,7 @@ "ru": "Создано", "zh-chs": "創建", "xloc": [ - "default.handlebars->25->1578" + "default.handlebars->25->1580" ] }, { @@ -7561,7 +7561,7 @@ "ru": "Удалить пользователя", "zh-chs": "刪除用戶", "xloc": [ - "default.handlebars->25->1615" + "default.handlebars->25->1619" ] }, { @@ -7578,8 +7578,8 @@ "ru": "Удалить группу пользователей", "zh-chs": "刪除用戶組", "xloc": [ - "default.handlebars->25->1543", - "default.handlebars->25->1553" + "default.handlebars->25->1545", + "default.handlebars->25->1555" ] }, { @@ -7593,7 +7593,7 @@ "nl": "Gebruikersgroepen verwijderen", "zh-chs": "删除用户组", "xloc": [ - "default.handlebars->25->1509" + "default.handlebars->25->1511" ] }, { @@ -7610,7 +7610,7 @@ "ru": "Удалить пользователя {0}", "zh-chs": "刪除用戶{0}", "xloc": [ - "default.handlebars->25->1636" + "default.handlebars->25->1640" ] }, { @@ -7660,7 +7660,7 @@ "nl": "Verwijder groep", "zh-chs": "删除群组", "xloc": [ - "default.handlebars->25->1505" + "default.handlebars->25->1507" ] }, { @@ -7714,7 +7714,7 @@ "ru": "Удалить группу пользователей {0}?", "zh-chs": "刪除用戶組{0}?", "xloc": [ - "default.handlebars->25->1551" + "default.handlebars->25->1553" ] }, { @@ -7850,10 +7850,10 @@ "default.handlebars->25->1124", "default.handlebars->25->1150", "default.handlebars->25->1233", - "default.handlebars->25->1512", - "default.handlebars->25->1519", - "default.handlebars->25->1520", - "default.handlebars->25->1549", + "default.handlebars->25->1514", + "default.handlebars->25->1521", + "default.handlebars->25->1522", + "default.handlebars->25->1551", "default.handlebars->25->478", "default.handlebars->25->479", "default.handlebars->25->685", @@ -7891,7 +7891,7 @@ "zh-chs": "桌面", "xloc": [ "default.handlebars->25->1238", - "default.handlebars->25->1681", + "default.handlebars->25->1685", "default.handlebars->25->445", "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop", "default.handlebars->contextMenu->cxdesktop" @@ -7929,7 +7929,7 @@ "zh-chs": "桌面通知", "xloc": [ "default.handlebars->25->1160", - "default.handlebars->25->1593", + "default.handlebars->25->1595", "default.handlebars->25->514" ] }, @@ -7948,7 +7948,7 @@ "zh-chs": "桌面提示", "xloc": [ "default.handlebars->25->1159", - "default.handlebars->25->1592", + "default.handlebars->25->1594", "default.handlebars->25->513" ] }, @@ -7967,7 +7967,7 @@ "zh-chs": "桌面提示+工具欄", "xloc": [ "default.handlebars->25->1157", - "default.handlebars->25->1590", + "default.handlebars->25->1592", "default.handlebars->25->511" ] }, @@ -8000,7 +8000,7 @@ "zh-chs": "桌面工具欄", "xloc": [ "default.handlebars->25->1158", - "default.handlebars->25->1591", + "default.handlebars->25->1593", "default.handlebars->25->512" ] }, @@ -8072,7 +8072,7 @@ "zh-chs": "設備", "xloc": [ "default.handlebars->25->1260", - "default.handlebars->25->1655", + "default.handlebars->25->1659", "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->5" ] }, @@ -8111,10 +8111,10 @@ "default.handlebars->25->1255", "default.handlebars->25->1258", "default.handlebars->25->1259", - "default.handlebars->25->1535", - "default.handlebars->25->1541", - "default.handlebars->25->1643", - "default.handlebars->25->1690" + "default.handlebars->25->1537", + "default.handlebars->25->1543", + "default.handlebars->25->1647", + "default.handlebars->25->1694" ] }, { @@ -8151,10 +8151,10 @@ "xloc": [ "default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3", "default.handlebars->25->1409", - "default.handlebars->25->1499", - "default.handlebars->25->1522", - "default.handlebars->25->1587", - "default.handlebars->25->1725", + "default.handlebars->25->1501", + "default.handlebars->25->1524", + "default.handlebars->25->1589", + "default.handlebars->25->1729", "default.handlebars->container->column_l->p2->p2info->7" ] }, @@ -8207,7 +8207,7 @@ "zh-chs": "設備名稱", "xloc": [ "default-mobile.handlebars->9->245", - "default.handlebars->25->1689", + "default.handlebars->25->1693", "default.handlebars->25->244", "default.handlebars->25->683", "player.handlebars->3->9" @@ -8590,8 +8590,8 @@ "nl": "Apparaten", "zh-chs": "设备", "xloc": [ - "default.handlebars->25->1500", - "default.handlebars->25->1523" + "default.handlebars->25->1502", + "default.handlebars->25->1525" ] }, { @@ -9125,7 +9125,7 @@ "ru": "Скачать список пользователей в одном из форматов ниже.", "zh-chs": "使用以下一種文件格式下載用戶列表。", "xloc": [ - "default.handlebars->25->1456" + "default.handlebars->25->1458" ] }, { @@ -9208,7 +9208,7 @@ "nl": "Dubbele agent", "zh-chs": "代理重复", "xloc": [ - "default.handlebars->25->1721" + "default.handlebars->25->1725" ] }, { @@ -9242,7 +9242,7 @@ "ru": "Скопировать группу пользователей", "zh-chs": "重複的用戶組", "xloc": [ - "default.handlebars->25->1514" + "default.handlebars->25->1516" ] }, { @@ -9273,8 +9273,8 @@ "ru": "Длительность", "zh-chs": "持續時間", "xloc": [ - "default.handlebars->25->1675", - "default.handlebars->25->1695", + "default.handlebars->25->1679", + "default.handlebars->25->1699", "player.handlebars->3->2" ] }, @@ -9759,7 +9759,7 @@ "ru": "Редактировать группу пользователей", "zh-chs": "編輯用戶組", "xloc": [ - "default.handlebars->25->1550" + "default.handlebars->25->1552" ] }, { @@ -9808,10 +9808,11 @@ "zh-chs": "電子郵件", "xloc": [ "default-mobile.handlebars->9->47", - "default.handlebars->25->1468", - "default.handlebars->25->1572", - "default.handlebars->25->1573", - "default.handlebars->25->1624", + "default.handlebars->25->1470", + "default.handlebars->25->1574", + "default.handlebars->25->1575", + "default.handlebars->25->1614", + "default.handlebars->25->1628", "default.handlebars->25->292", "login-mobile.handlebars->5->42", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->7->1->4->1->3", @@ -9945,7 +9946,7 @@ "zh-chs": "電子郵件已驗證", "xloc": [ "default.handlebars->25->1429", - "default.handlebars->25->1569" + "default.handlebars->25->1571" ] }, { @@ -9962,7 +9963,7 @@ "ru": "Email подтвержден.", "zh-chs": "電子郵件已驗證。", "xloc": [ - "default.handlebars->25->1474" + "default.handlebars->25->1476" ] }, { @@ -9979,7 +9980,7 @@ "ru": "Email не подтвержден", "zh-chs": "電子郵件未驗證", "xloc": [ - "default.handlebars->25->1570" + "default.handlebars->25->1572" ] }, { @@ -10018,7 +10019,7 @@ "en": "Email verified and forced password reset required.", "nl": "E-mail geverifieerd en geforceerd opnieuw instellen van wachtwoord vereist.", "xloc": [ - "default.handlebars->25->1475" + "default.handlebars->25->1477" ] }, { @@ -10031,7 +10032,7 @@ "nl": "Email/SMS verkeer", "zh-chs": "电子邮件/短信流量", "xloc": [ - "default.handlebars->25->1760" + "default.handlebars->25->1764" ] }, { @@ -10129,7 +10130,7 @@ "en": "Enabled", "nl": "Ingeschakeld", "xloc": [ - "default.handlebars->25->1697" + "default.handlebars->25->1701" ] }, { @@ -10153,7 +10154,7 @@ "en": "End Time", "nl": "Eindtijd", "xloc": [ - "default.handlebars->25->1694" + "default.handlebars->25->1698" ] }, { @@ -10409,7 +10410,7 @@ "ru": "Введите разделенный запятыми список имен административных областей.", "zh-chs": "輸入管理領域名稱的逗號分隔列表。", "xloc": [ - "default.handlebars->25->1479" + "default.handlebars->25->1481" ] }, { @@ -10716,7 +10717,7 @@ "ru": "Внешний", "zh-chs": "外部", "xloc": [ - "default.handlebars->25->1745" + "default.handlebars->25->1749" ] }, { @@ -10921,7 +10922,7 @@ "xloc": [ "default-mobile.handlebars->9->119", "default.handlebars->25->1245", - "default.handlebars->25->1682", + "default.handlebars->25->1686", "default.handlebars->25->218", "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevFiles", "default.handlebars->contextMenu->cxfiles" @@ -10959,7 +10960,7 @@ "zh-chs": "文件通知", "xloc": [ "default.handlebars->25->1164", - "default.handlebars->25->1597", + "default.handlebars->25->1599", "default.handlebars->25->518" ] }, @@ -10978,7 +10979,7 @@ "zh-chs": "文件提示", "xloc": [ "default.handlebars->25->1163", - "default.handlebars->25->1596", + "default.handlebars->25->1598", "default.handlebars->25->517" ] }, @@ -11138,8 +11139,8 @@ "ru": "Принудительно сбросить пароль при следующем входе в систему.", "zh-chs": "下次登錄時強制重置密碼。", "xloc": [ - "default.handlebars->25->1473", - "default.handlebars->25->1633" + "default.handlebars->25->1475", + "default.handlebars->25->1637" ] }, { @@ -11225,8 +11226,8 @@ "ru": "Свободно", "zh-chs": "自由", "xloc": [ - "default.handlebars->25->1706", - "default.handlebars->25->1708" + "default.handlebars->25->1710", + "default.handlebars->25->1712" ] }, { @@ -11420,7 +11421,7 @@ "default-mobile.handlebars->9->74", "default.handlebars->25->1133", "default.handlebars->25->1263", - "default.handlebars->25->1485" + "default.handlebars->25->1487" ] }, { @@ -11520,7 +11521,7 @@ "ru": "Администратор с полным доступом", "zh-chs": "正式管理員", "xloc": [ - "default.handlebars->25->1564" + "default.handlebars->25->1566" ] }, { @@ -11950,7 +11951,7 @@ "zh-chs": "集體行動", "xloc": [ "default.handlebars->25->1441", - "default.handlebars->25->1506", + "default.handlebars->25->1508", "default.handlebars->25->406", "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devListToolbar", "default.handlebars->container->column_l->p4->3->1->0->3->3", @@ -11971,7 +11972,7 @@ "ru": "Члены группы", "zh-chs": "小組成員", "xloc": [ - "default.handlebars->25->1527" + "default.handlebars->25->1529" ] }, { @@ -12143,7 +12144,7 @@ "ru": "Всего кучи", "zh-chs": "堆總數", "xloc": [ - "default.handlebars->25->1747" + "default.handlebars->25->1751" ] }, { @@ -12160,7 +12161,7 @@ "ru": "Куча используется", "zh-chs": "堆使用", "xloc": [ - "default.handlebars->25->1746" + "default.handlebars->25->1750" ] }, { @@ -12946,8 +12947,8 @@ "xloc": [ "default.handlebars->25->1347", "default.handlebars->25->1355", - "default.handlebars->25->1743", - "default.handlebars->25->1765" + "default.handlebars->25->1747", + "default.handlebars->25->1769" ] }, { @@ -12988,14 +12989,14 @@ "en": "Intel AMT Redirection", "nl": "Intel AMT omleiding", "xloc": [ - "default.handlebars->25->1684" + "default.handlebars->25->1688" ] }, { "en": "Intel AMT WSMAN", "nl": "Intel AMT WSMAN", "xloc": [ - "default.handlebars->25->1683" + "default.handlebars->25->1687" ] }, { @@ -13679,7 +13680,7 @@ "ru": "Некорректный тип группы устройств", "zh-chs": "無效的設備組類型", "xloc": [ - "default.handlebars->25->1720" + "default.handlebars->25->1724" ] }, { @@ -13696,7 +13697,7 @@ "ru": "Некорректный JSON", "zh-chs": "無效的JSON", "xloc": [ - "default.handlebars->25->1714" + "default.handlebars->25->1718" ] }, { @@ -13713,8 +13714,8 @@ "ru": "Некорректный формат файла JSON.", "zh-chs": "無效的JSON文件格式。", "xloc": [ - "default.handlebars->25->1453", - "default.handlebars->25->1455" + "default.handlebars->25->1455", + "default.handlebars->25->1457" ] }, { @@ -13731,7 +13732,7 @@ "ru": "Некорректный файл JSON: {0}.", "zh-chs": "無效的JSON文件:{0}。", "xloc": [ - "default.handlebars->25->1451" + "default.handlebars->25->1453" ] }, { @@ -13748,7 +13749,7 @@ "ru": "Некорректная сигнатура PKCS", "zh-chs": "無效的PKCS簽名", "xloc": [ - "default.handlebars->25->1712" + "default.handlebars->25->1716" ] }, { @@ -13765,7 +13766,7 @@ "ru": "Некорректная сигнатура RSA", "zh-chs": "無效的RSA密碼", "xloc": [ - "default.handlebars->25->1713" + "default.handlebars->25->1717" ] }, { @@ -14075,7 +14076,7 @@ "zh-chs": "JSON格式", "xloc": [ "default.handlebars->25->1402", - "default.handlebars->25->1459", + "default.handlebars->25->1461", "default.handlebars->25->414" ] }, @@ -14591,7 +14592,7 @@ "ru": "Последний вход в систему", "zh-chs": "上次登錄", "xloc": [ - "default.handlebars->25->1579" + "default.handlebars->25->1581" ] }, { @@ -14649,7 +14650,7 @@ "ru": "Последнее изменение: {0}", "zh-chs": "上次更改:{0}", "xloc": [ - "default.handlebars->25->1583" + "default.handlebars->25->1585" ] }, { @@ -14816,7 +14817,7 @@ "nl": "Leeg laten voor geen.", "zh-chs": "一无所有。", "xloc": [ - "default.handlebars->25->1621" + "default.handlebars->25->1625" ] }, { @@ -14855,7 +14856,7 @@ "ru": "Меньше", "zh-chs": "減", "xloc": [ - "default.handlebars->25->1782" + "default.handlebars->25->1786" ] }, { @@ -15400,7 +15401,7 @@ "ru": "Заблокировать учетную запись", "zh-chs": "鎖定賬戶", "xloc": [ - "default.handlebars->25->1492" + "default.handlebars->25->1494" ] }, { @@ -15451,7 +15452,7 @@ "ru": "Заблокированная учетная запись", "zh-chs": "賬戶鎖定", "xloc": [ - "default.handlebars->25->1561" + "default.handlebars->25->1563" ] }, { @@ -15952,7 +15953,7 @@ "ru": "Сообщения главного сервера", "zh-chs": "主服務器消息", "xloc": [ - "default.handlebars->25->1754" + "default.handlebars->25->1758" ] }, { @@ -16084,7 +16085,7 @@ "en": "Manage Recordings", "nl": "Beheeer opnames", "xloc": [ - "default.handlebars->25->1491" + "default.handlebars->25->1493" ] }, { @@ -16118,7 +16119,7 @@ "ru": "Управление группами пользователя", "zh-chs": "管理用戶組", "xloc": [ - "default.handlebars->25->1490" + "default.handlebars->25->1492" ] }, { @@ -16135,7 +16136,7 @@ "ru": "Управление пользователями", "zh-chs": "管理用戶", "xloc": [ - "default.handlebars->25->1489", + "default.handlebars->25->1491", "default.handlebars->25->596" ] }, @@ -16378,7 +16379,7 @@ "ru": "Достигнуто максимальное число сессий", "zh-chs": "達到的會話數上限", "xloc": [ - "default.handlebars->25->1718" + "default.handlebars->25->1722" ] }, { @@ -16432,7 +16433,7 @@ "ru": "Мегабайт", "zh-chs": "兆字節", "xloc": [ - "default.handlebars->25->1744" + "default.handlebars->25->1748" ] }, { @@ -16449,7 +16450,7 @@ "ru": "ОЗУ", "zh-chs": "記憶", "xloc": [ - "default.handlebars->25->1735", + "default.handlebars->25->1739", "default.handlebars->25->839", "default.handlebars->container->column_l->p40->3->1->p40type->3" ] @@ -16585,7 +16586,7 @@ "ru": "Трафик MeshAgent", "zh-chs": "MeshAgent流量", "xloc": [ - "default.handlebars->25->1756" + "default.handlebars->25->1760" ] }, { @@ -16602,7 +16603,7 @@ "ru": "Обновление MeshAgent", "zh-chs": "MeshAgent更新", "xloc": [ - "default.handlebars->25->1757" + "default.handlebars->25->1761" ] }, { @@ -16705,7 +16706,7 @@ "ru": "Соединения сервера MeshCentral", "zh-chs": "MeshCentral服務器對等", "xloc": [ - "default.handlebars->25->1755" + "default.handlebars->25->1759" ] }, { @@ -16968,7 +16969,7 @@ "ru": "Диспетчер сообщения", "zh-chs": "郵件調度程序", "xloc": [ - "default.handlebars->25->1753" + "default.handlebars->25->1757" ] }, { @@ -17116,7 +17117,7 @@ "ru": "Еще", "zh-chs": "更多", "xloc": [ - "default.handlebars->25->1781" + "default.handlebars->25->1785" ] }, { @@ -17191,7 +17192,7 @@ "en": "Multiplexor", "nl": "Multiplexor", "xloc": [ - "default.handlebars->25->1696" + "default.handlebars->25->1700" ] }, { @@ -17461,11 +17462,11 @@ "default.handlebars->25->1149", "default.handlebars->25->1232", "default.handlebars->25->1408", - "default.handlebars->25->1497", - "default.handlebars->25->1511", - "default.handlebars->25->1518", - "default.handlebars->25->1548", - "default.handlebars->25->1567", + "default.handlebars->25->1499", + "default.handlebars->25->1513", + "default.handlebars->25->1520", + "default.handlebars->25->1550", + "default.handlebars->25->1569", "default.handlebars->25->468", "default.handlebars->25->714", "default.handlebars->25->77", @@ -17507,7 +17508,7 @@ "ru": "Имя1, Имя2, Имя3", "zh-chs": "名稱1,名稱2,名稱3", "xloc": [ - "default.handlebars->25->1481" + "default.handlebars->25->1483" ] }, { @@ -17860,7 +17861,7 @@ "zh-chs": "找不到活動", "xloc": [ "default.handlebars->25->1398", - "default.handlebars->25->1672", + "default.handlebars->25->1676", "default.handlebars->25->785" ] }, @@ -18004,7 +18005,7 @@ "ru": "Нет членов", "zh-chs": "沒有會員", "xloc": [ - "default.handlebars->25->1530" + "default.handlebars->25->1532" ] }, { @@ -18021,7 +18022,7 @@ "ru": "Запретить создание групп устройств", "zh-chs": "沒有新的設備組", "xloc": [ - "default.handlebars->25->1493" + "default.handlebars->25->1495" ] }, { @@ -18137,7 +18138,7 @@ "ru": "Нет инструментов (MeshCmd/Router)", "zh-chs": "沒有工具(MeshCmd /路由器)", "xloc": [ - "default.handlebars->25->1494" + "default.handlebars->25->1496" ] }, { @@ -18154,8 +18155,8 @@ "ru": "Нет общих групп устройств", "zh-chs": "沒有共同的設備組", "xloc": [ - "default.handlebars->25->1536", - "default.handlebars->25->1644" + "default.handlebars->25->1538", + "default.handlebars->25->1648" ] }, { @@ -18251,8 +18252,8 @@ "ru": "Нет общих устройств", "zh-chs": "沒有共同的設備", "xloc": [ - "default.handlebars->25->1542", - "default.handlebars->25->1656" + "default.handlebars->25->1544", + "default.handlebars->25->1660" ] }, { @@ -18338,7 +18339,7 @@ "ru": "Группы не найдены.", "zh-chs": "找不到群組。", "xloc": [ - "default.handlebars->25->1496" + "default.handlebars->25->1498" ] }, { @@ -18440,7 +18441,7 @@ "ru": "Нет серверных прав", "zh-chs": "沒有服務器權限", "xloc": [ - "default.handlebars->25->1562" + "default.handlebars->25->1564" ] }, { @@ -18457,7 +18458,7 @@ "ru": "Нет членства в группах пользователей", "zh-chs": "沒有用戶組成員身份", "xloc": [ - "default.handlebars->25->1650" + "default.handlebars->25->1654" ] }, { @@ -18559,13 +18560,13 @@ "default.handlebars->25->1174", "default.handlebars->25->1349", "default.handlebars->25->1368", - "default.handlebars->25->1515", "default.handlebars->25->1517", - "default.handlebars->25->1575", + "default.handlebars->25->1519", + "default.handlebars->25->1577", "default.handlebars->25->158", - "default.handlebars->25->1584", - "default.handlebars->25->1588", - "default.handlebars->25->1600", + "default.handlebars->25->1586", + "default.handlebars->25->1590", + "default.handlebars->25->1602", "default.handlebars->25->174", "default.handlebars->25->175", "default.handlebars->25->465", @@ -18722,7 +18723,7 @@ "en": "Not on server", "nl": "Niet op de server", "xloc": [ - "default.handlebars->25->1688" + "default.handlebars->25->1692" ] }, { @@ -18739,7 +18740,7 @@ "ru": "Не задано", "zh-chs": "沒有設置", "xloc": [ - "default.handlebars->25->1568" + "default.handlebars->25->1570" ] }, { @@ -18756,7 +18757,7 @@ "ru": "не подтверждено", "zh-chs": "未經審核的", "xloc": [ - "default.handlebars->25->1626" + "default.handlebars->25->1630" ] }, { @@ -18774,7 +18775,7 @@ "zh-chs": "筆記", "xloc": [ "default.handlebars->25->1182", - "default.handlebars->25->1608", + "default.handlebars->25->1610", "default.handlebars->25->537", "default.handlebars->25->589", "default.handlebars->25->608", @@ -18882,7 +18883,7 @@ "ru": "Уведомить", "zh-chs": "通知", "xloc": [ - "default.handlebars->25->1612" + "default.handlebars->25->1616" ] }, { @@ -18918,7 +18919,7 @@ "ru": "Уведомить {0}", "zh-chs": "通知{0}", "xloc": [ - "default.handlebars->25->1446" + "default.handlebars->25->1448" ] }, { @@ -18995,7 +18996,7 @@ "ru": "Произошло в {0}", "zh-chs": "發生在{0}", "xloc": [ - "default.handlebars->25->1702" + "default.handlebars->25->1706" ] }, { @@ -19238,7 +19239,7 @@ "xloc": [ "default-mobile.handlebars->9->233", "default.handlebars->25->1437", - "default.handlebars->25->1504", + "default.handlebars->25->1506", "default.handlebars->25->398", "default.handlebars->25->626" ] @@ -19476,7 +19477,7 @@ "ru": "Частичные права", "zh-chs": "部分權利", "xloc": [ - "default.handlebars->25->1565" + "default.handlebars->25->1567" ] }, { @@ -19511,12 +19512,12 @@ "zh-chs": "密碼", "xloc": [ "default-mobile.handlebars->9->236", - "default.handlebars->25->1469", - "default.handlebars->25->1470", - "default.handlebars->25->1580", + "default.handlebars->25->1471", + "default.handlebars->25->1472", "default.handlebars->25->1582", - "default.handlebars->25->1629", - "default.handlebars->25->1630", + "default.handlebars->25->1584", + "default.handlebars->25->1633", + "default.handlebars->25->1634", "default.handlebars->25->249", "default.handlebars->25->278", "default.handlebars->25->632" @@ -19625,7 +19626,7 @@ "ru": "Подсказка пароля", "zh-chs": "密碼提示", "xloc": [ - "default.handlebars->25->1631" + "default.handlebars->25->1635" ] }, { @@ -19947,7 +19948,7 @@ "default-mobile.handlebars->9->34", "default-mobile.handlebars->9->36", "default.handlebars->25->143", - "default.handlebars->25->1623", + "default.handlebars->25->1627", "default.handlebars->25->865", "default.handlebars->25->868" ] @@ -19962,7 +19963,7 @@ "nl": "Telefoonnummer", "zh-chs": "电话号码", "xloc": [ - "default.handlebars->25->1574" + "default.handlebars->25->1576" ] }, { @@ -19976,7 +19977,7 @@ "zh-chs": "电话号码:", "xloc": [ "default-mobile.handlebars->9->35", - "default.handlebars->25->1622", + "default.handlebars->25->1626", "default.handlebars->25->867" ] }, @@ -20113,7 +20114,7 @@ "zh-chs": "插件動作", "xloc": [ "default.handlebars->25->169", - "default.handlebars->25->1778" + "default.handlebars->25->1782" ] }, { @@ -20424,7 +20425,7 @@ "en": "Present on server", "nl": "Aanwezig op de server", "xloc": [ - "default.handlebars->25->1687" + "default.handlebars->25->1691" ] }, { @@ -20531,7 +20532,7 @@ "ru": "Протокол", "zh-chs": "協議", "xloc": [ - "default.handlebars->25->1685", + "default.handlebars->25->1689", "player.handlebars->3->15" ] }, @@ -20838,7 +20839,7 @@ "ru": "RSS", "zh-chs": "的RSS", "xloc": [ - "default.handlebars->25->1748" + "default.handlebars->25->1752" ] }, { @@ -20855,7 +20856,7 @@ "ru": "Случайный пароль.", "zh-chs": "隨機化密碼。", "xloc": [ - "default.handlebars->25->1471" + "default.handlebars->25->1473" ] }, { @@ -20906,7 +20907,7 @@ "ru": "Области", "zh-chs": "境界", "xloc": [ - "default.handlebars->25->1480" + "default.handlebars->25->1482" ] }, { @@ -20933,7 +20934,7 @@ "en": "Recording Details", "nl": "Opname details", "xloc": [ - "default.handlebars->25->1699" + "default.handlebars->25->1703" ] }, { @@ -21057,7 +21058,7 @@ "ru": "Число ретрансляций", "zh-chs": "中繼計數", "xloc": [ - "default.handlebars->25->1730" + "default.handlebars->25->1734" ] }, { @@ -21074,7 +21075,7 @@ "ru": "Ошибки ретранслятора", "zh-chs": "中繼錯誤", "xloc": [ - "default.handlebars->25->1723" + "default.handlebars->25->1727" ] }, { @@ -21091,8 +21092,8 @@ "ru": "Сессии ретранслятора", "zh-chs": "接力會議", "xloc": [ - "default.handlebars->25->1729", - "default.handlebars->25->1742" + "default.handlebars->25->1733", + "default.handlebars->25->1746" ] }, { @@ -21412,8 +21413,8 @@ "nl": "Apparaatgroepmachtigingen verwijderen", "zh-chs": "删除设备组权限", "xloc": [ - "default.handlebars->25->1546", - "default.handlebars->25->1670" + "default.handlebars->25->1548", + "default.handlebars->25->1674" ] }, { @@ -21427,8 +21428,8 @@ "nl": "Apparaatmachtigingen verwijderen", "zh-chs": "删除设备权限", "xloc": [ - "default.handlebars->25->1544", - "default.handlebars->25->1657" + "default.handlebars->25->1546", + "default.handlebars->25->1661" ] }, { @@ -21456,7 +21457,7 @@ "nl": "Lidmaatschap van gebruikersgroep verwijderen", "zh-chs": "删除用户组成员身份", "xloc": [ - "default.handlebars->25->1666" + "default.handlebars->25->1670" ] }, { @@ -21471,7 +21472,7 @@ "zh-chs": "删除用户组权限", "xloc": [ "default.handlebars->25->1323", - "default.handlebars->25->1662" + "default.handlebars->25->1666" ] }, { @@ -21485,7 +21486,7 @@ "nl": "Gebruikerslidmaatschap verwijderen", "zh-chs": "删除用户成员资格", "xloc": [ - "default.handlebars->25->1554" + "default.handlebars->25->1556" ] }, { @@ -21500,7 +21501,7 @@ "zh-chs": "删除用户权限", "xloc": [ "default.handlebars->25->1321", - "default.handlebars->25->1659" + "default.handlebars->25->1663" ] }, { @@ -21517,7 +21518,7 @@ "ru": "Удалить все двухфакторные аутентификации.", "zh-chs": "刪除所有第二因素驗證。", "xloc": [ - "default.handlebars->25->1634" + "default.handlebars->25->1638" ] }, { @@ -21534,7 +21535,7 @@ "ru": "Удалить все прошлые события для этого userid.", "zh-chs": "刪除此用戶標識的所有先前事件。", "xloc": [ - "default.handlebars->25->1472" + "default.handlebars->25->1474" ] }, { @@ -21615,7 +21616,7 @@ "ru": "Удалить этого пользователя", "zh-chs": "删除该用户", "xloc": [ - "default.handlebars->25->1614" + "default.handlebars->25->1618" ] }, { @@ -21632,7 +21633,7 @@ "ru": "Удалить членство пользователя в группе", "zh-chs": "刪除用戶組成員身份", "xloc": [ - "default.handlebars->25->1648" + "default.handlebars->25->1652" ] }, { @@ -21646,7 +21647,7 @@ "nl": "Gebruikersrechten voor dit apparaat verwijderen", "zh-chs": "删除此设备的用户组权限", "xloc": [ - "default.handlebars->25->1540" + "default.handlebars->25->1542" ] }, { @@ -21663,7 +21664,7 @@ "ru": "Удалить права группы пользователей для этой группы устройств", "zh-chs": "刪除該設備組的用戶組權限", "xloc": [ - "default.handlebars->25->1534", + "default.handlebars->25->1536", "default.handlebars->25->573" ] }, @@ -21682,9 +21683,9 @@ "zh-chs": "刪除此設備組的用戶權限", "xloc": [ "default.handlebars->25->1199", - "default.handlebars->25->1528", - "default.handlebars->25->1642", - "default.handlebars->25->1654", + "default.handlebars->25->1530", + "default.handlebars->25->1646", + "default.handlebars->25->1658", "default.handlebars->25->574" ] }, @@ -21746,8 +21747,8 @@ "zh-chs": "要求:{0}。", "xloc": [ "default-mobile.handlebars->9->58", - "default.handlebars->25->1477", - "default.handlebars->25->1632" + "default.handlebars->25->1479", + "default.handlebars->25->1636" ] }, { @@ -21989,7 +21990,7 @@ "ru": "Ограничения", "zh-chs": "限制條件", "xloc": [ - "default.handlebars->25->1566" + "default.handlebars->25->1568" ] }, { @@ -22212,8 +22213,8 @@ "nl": "SMS", "zh-chs": "短信", "xloc": [ - "default.handlebars->25->1605", - "default.handlebars->25->1610", + "default.handlebars->25->1607", + "default.handlebars->25->1612", "login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->7->1->4->1->3", "login.handlebars->container->column_l->centralTable->1->0->logincell->tokenpanel->1->7->1->4->1->3" ] @@ -22228,7 +22229,7 @@ "nl": "SMS geschikt telefoonnummer voor deze gebruiker.", "zh-chs": "此用户的短信功能电话号码。", "xloc": [ - "default.handlebars->25->1620" + "default.handlebars->25->1624" ] }, { @@ -22630,7 +22631,7 @@ "zh-chs": "安全", "xloc": [ "default-mobile.handlebars->9->237", - "default.handlebars->25->1606", + "default.handlebars->25->1608", "default.handlebars->25->250", "default.handlebars->25->633", "default.handlebars->25->818" @@ -22650,7 +22651,7 @@ "ru": "Ключ безопасности", "zh-chs": "安全密鑰", "xloc": [ - "default.handlebars->25->1603" + "default.handlebars->25->1605" ] }, { @@ -22686,7 +22687,7 @@ "xloc": [ "default.handlebars->25->1378", "default.handlebars->25->1435", - "default.handlebars->25->1502", + "default.handlebars->25->1504", "default.handlebars->25->394", "default.handlebars->25->748", "default.handlebars->25->750", @@ -22714,7 +22715,7 @@ "xloc": [ "default.handlebars->25->1377", "default.handlebars->25->1434", - "default.handlebars->25->1501", + "default.handlebars->25->1503", "default.handlebars->25->393", "default.handlebars->25->749", "default.handlebars->meshContextMenu->cxselectnone" @@ -22800,7 +22801,7 @@ "zh-chs": "选择要对所有选定用户执行的操作。", "xloc": [ "default.handlebars->25->1436", - "default.handlebars->25->1503" + "default.handlebars->25->1505" ] }, { @@ -22876,6 +22877,12 @@ "messenger.handlebars->xbottom" ] }, + { + "en": "Send Email", + "xloc": [ + "default.handlebars->25->1447" + ] + }, { "cs": "Poslat MQTT zprávu", "de": "Sende MQTT-Nachricht", @@ -22934,7 +22941,13 @@ "nl": "Stuur een SMS bericht naar deze gebruiker", "zh-chs": "发送短信给该用户", "xloc": [ - "default.handlebars->25->1611" + "default.handlebars->25->1613" + ] + }, + { + "en": "Send a email message to this user", + "xloc": [ + "default.handlebars->25->1615" ] }, { @@ -22951,7 +22964,7 @@ "ru": "Отправить уведомление всем пользователям этой группы.", "zh-chs": "向該組中的所有用戶發送通知。", "xloc": [ - "default.handlebars->25->1525" + "default.handlebars->25->1527" ] }, { @@ -22968,7 +22981,7 @@ "ru": "Отправить текстовое уведомление этому пользователю.", "zh-chs": "向該用戶發送文本通知。", "xloc": [ - "default.handlebars->25->1447" + "default.handlebars->25->1449" ] }, { @@ -23018,7 +23031,7 @@ "ru": "Отправить приглашение по email.", "zh-chs": "發送邀請電子郵件。", "xloc": [ - "default.handlebars->25->1476" + "default.handlebars->25->1478" ] }, { @@ -23084,7 +23097,7 @@ "ru": "Отправить уведомление пользователю", "zh-chs": "發送用戶通知", "xloc": [ - "default.handlebars->25->1613" + "default.handlebars->25->1617" ] }, { @@ -23135,7 +23148,7 @@ "ru": "Резервное копирование сервера", "zh-chs": "服務器備份", "xloc": [ - "default.handlebars->25->1486" + "default.handlebars->25->1488" ] }, { @@ -23152,7 +23165,7 @@ "ru": "Сертификат сервера", "zh-chs": "服務器證書", "xloc": [ - "default.handlebars->25->1758" + "default.handlebars->25->1762" ] }, { @@ -23169,7 +23182,7 @@ "ru": "База данных сервера", "zh-chs": "服務器數據庫", "xloc": [ - "default.handlebars->25->1759" + "default.handlebars->25->1763" ] }, { @@ -23190,7 +23203,7 @@ "default-mobile.handlebars->9->335", "default.handlebars->25->1275", "default.handlebars->25->1303", - "default.handlebars->25->1483", + "default.handlebars->25->1485", "default.handlebars->25->587", "default.handlebars->25->606" ] @@ -23210,7 +23223,7 @@ "zh-chs": "服務器權限", "xloc": [ "default.handlebars->25->1422", - "default.handlebars->25->1495" + "default.handlebars->25->1497" ] }, { @@ -23227,7 +23240,7 @@ "ru": "Квота сервера", "zh-chs": "服務器配額", "xloc": [ - "default.handlebars->25->1577" + "default.handlebars->25->1579" ] }, { @@ -23244,7 +23257,7 @@ "ru": "Восстановление сервера", "zh-chs": "服務器還原", "xloc": [ - "default.handlebars->25->1487" + "default.handlebars->25->1489" ] }, { @@ -23261,7 +23274,7 @@ "ru": "Права", "zh-chs": "服務器權限", "xloc": [ - "default.handlebars->25->1576" + "default.handlebars->25->1578" ] }, { @@ -23278,7 +23291,7 @@ "ru": "Состояние сервера", "zh-chs": "服務器狀態", "xloc": [ - "default.handlebars->25->1709" + "default.handlebars->25->1713" ] }, { @@ -23312,7 +23325,7 @@ "ru": "Трассировка сервера", "zh-chs": "服務器跟踪", "xloc": [ - "default.handlebars->25->1769" + "default.handlebars->25->1773" ] }, { @@ -23329,7 +23342,7 @@ "ru": "Обновление сервера", "zh-chs": "服務器更新", "xloc": [ - "default.handlebars->25->1488" + "default.handlebars->25->1490" ] }, { @@ -23451,7 +23464,7 @@ "ru": "ServerStats.csv", "zh-chs": "ServerStats.csv", "xloc": [ - "default.handlebars->25->1750" + "default.handlebars->25->1754" ] }, { @@ -23492,7 +23505,7 @@ "en": "Session", "nl": "Sessie", "xloc": [ - "default.handlebars->25->1673" + "default.handlebars->25->1677" ] }, { @@ -23967,8 +23980,8 @@ "ru": "Размер", "zh-chs": "尺寸", "xloc": [ - "default.handlebars->25->1676", - "default.handlebars->25->1691", + "default.handlebars->25->1680", + "default.handlebars->25->1695", "default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSize" ] }, @@ -24779,8 +24792,8 @@ "en": "Start Time", "nl": "Start tijd", "xloc": [ - "default.handlebars->25->1674", - "default.handlebars->25->1693", + "default.handlebars->25->1678", + "default.handlebars->25->1697", "default.handlebars->25->697" ] }, @@ -24833,8 +24846,8 @@ "ru": "Статус", "zh-chs": "狀態", "xloc": [ - "default.handlebars->25->1625", - "default.handlebars->25->1686", + "default.handlebars->25->1629", + "default.handlebars->25->1690", "default.handlebars->container->column_l->p42->p42tbl->1->0->7" ] }, @@ -24973,6 +24986,12 @@ "login.handlebars->5->32" ] }, + { + "en": "Subject", + "xloc": [ + "default.handlebars->25->1446" + ] + }, { "cs": "Předložit", "de": "einreichen", @@ -25377,7 +25396,7 @@ "xloc": [ "default-mobile.handlebars->9->116", "default.handlebars->25->1242", - "default.handlebars->25->1680", + "default.handlebars->25->1684", "default.handlebars->25->215", "default.handlebars->25->446", "default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevTerminal", @@ -25416,7 +25435,7 @@ "zh-chs": "終端通知", "xloc": [ "default.handlebars->25->1162", - "default.handlebars->25->1595", + "default.handlebars->25->1597", "default.handlebars->25->516" ] }, @@ -25435,7 +25454,7 @@ "zh-chs": "終端提示", "xloc": [ "default.handlebars->25->1161", - "default.handlebars->25->1594", + "default.handlebars->25->1596", "default.handlebars->25->515" ] }, @@ -25579,7 +25598,7 @@ "ru": "На данный момент уведомлений нет", "zh-chs": "目前沒有任何通知", "xloc": [ - "default.handlebars->25->1701" + "default.handlebars->25->1705" ] }, { @@ -26808,9 +26827,9 @@ "default-mobile.handlebars->9->194", "default-mobile.handlebars->9->195", "default.handlebars->25->13", - "default.handlebars->25->1665", - "default.handlebars->25->1678", - "default.handlebars->25->1679", + "default.handlebars->25->1669", + "default.handlebars->25->1682", + "default.handlebars->25->1683", "default.handlebars->25->392", "default.handlebars->25->41", "default.handlebars->25->42", @@ -26855,7 +26874,7 @@ "ru": "Неизвестное действие", "zh-chs": "未知動作", "xloc": [ - "default.handlebars->25->1715" + "default.handlebars->25->1719" ] }, { @@ -26872,8 +26891,8 @@ "ru": "Неизвестное устройство", "zh-chs": "未知設備", "xloc": [ - "default.handlebars->25->1539", - "default.handlebars->25->1653" + "default.handlebars->25->1541", + "default.handlebars->25->1657" ] }, { @@ -26890,9 +26909,9 @@ "ru": "Неизвестная группа устройств", "zh-chs": "未知設備組", "xloc": [ - "default.handlebars->25->1533", - "default.handlebars->25->1641", - "default.handlebars->25->1719" + "default.handlebars->25->1535", + "default.handlebars->25->1645", + "default.handlebars->25->1723" ] }, { @@ -26909,7 +26928,7 @@ "ru": "Неизвестная группа", "zh-chs": "未知群組", "xloc": [ - "default.handlebars->25->1711" + "default.handlebars->25->1715" ] }, { @@ -26944,7 +26963,7 @@ "ru": "Неизвестная группа пользователей", "zh-chs": "未知用戶組", "xloc": [ - "default.handlebars->25->1647" + "default.handlebars->25->1651" ] }, { @@ -27033,7 +27052,7 @@ "ru": "Актуально", "zh-chs": "最新", "xloc": [ - "default.handlebars->25->1776" + "default.handlebars->25->1780" ] }, { @@ -27282,8 +27301,8 @@ "ru": "Использовано", "zh-chs": "用過的", "xloc": [ - "default.handlebars->25->1705", - "default.handlebars->25->1707" + "default.handlebars->25->1709", + "default.handlebars->25->1711" ] }, { @@ -27303,8 +27322,8 @@ "default-mobile.handlebars->9->347", "default.handlebars->25->1200", "default.handlebars->25->1423", - "default.handlebars->25->1529", - "default.handlebars->25->1698", + "default.handlebars->25->1531", + "default.handlebars->25->1702", "default.handlebars->25->193", "default.handlebars->25->576" ] @@ -27340,10 +27359,10 @@ "ru": "Импорт учетной записи пользователя", "zh-chs": "用戶帳戶導入", "xloc": [ - "default.handlebars->25->1449", - "default.handlebars->25->1450", + "default.handlebars->25->1451", "default.handlebars->25->1452", - "default.handlebars->25->1454" + "default.handlebars->25->1454", + "default.handlebars->25->1456" ] }, { @@ -27360,7 +27379,7 @@ "ru": "Учетные записи пользователей", "zh-chs": "用戶帳號", "xloc": [ - "default.handlebars->25->1724" + "default.handlebars->25->1728" ] }, { @@ -27397,7 +27416,7 @@ "zh-chs": "用戶同意", "xloc": [ "default.handlebars->25->1168", - "default.handlebars->25->1601", + "default.handlebars->25->1603", "default.handlebars->25->522" ] }, @@ -27417,9 +27436,9 @@ "xloc": [ "default.handlebars->25->1256", "default.handlebars->25->1257", - "default.handlebars->25->1510", - "default.handlebars->25->1649", - "default.handlebars->25->1668", + "default.handlebars->25->1512", + "default.handlebars->25->1653", + "default.handlebars->25->1672", "default.handlebars->25->575" ] }, @@ -27454,7 +27473,7 @@ "ru": "Членство в группах пользователей", "zh-chs": "用戶組成員資格", "xloc": [ - "default.handlebars->25->1646" + "default.handlebars->25->1650" ] }, { @@ -27472,7 +27491,7 @@ "zh-chs": "用戶標識", "xloc": [ "default.handlebars->25->1317", - "default.handlebars->25->1571" + "default.handlebars->25->1573" ] }, { @@ -27489,7 +27508,7 @@ "ru": "Экспортировать список пользователей", "zh-chs": "用戶列表導出", "xloc": [ - "default.handlebars->25->1461" + "default.handlebars->25->1463" ] }, { @@ -27524,7 +27543,7 @@ "zh-chs": "用戶名", "xloc": [ "default.handlebars->25->1254", - "default.handlebars->25->1558" + "default.handlebars->25->1560" ] }, { @@ -27572,7 +27591,7 @@ "ru": "Сессии пользователя", "zh-chs": "用戶會話", "xloc": [ - "default.handlebars->25->1741" + "default.handlebars->25->1745" ] }, { @@ -27706,7 +27725,7 @@ "zh-chs": "用戶名", "xloc": [ "default-mobile.handlebars->9->235", - "default.handlebars->25->1467", + "default.handlebars->25->1469", "default.handlebars->25->247", "default.handlebars->25->277", "default.handlebars->25->631", @@ -27766,9 +27785,9 @@ "ru": "Пользователи", "zh-chs": "用戶數", "xloc": [ - "default.handlebars->25->1498", - "default.handlebars->25->1521", - "default.handlebars->25->1740", + "default.handlebars->25->1500", + "default.handlebars->25->1523", + "default.handlebars->25->1744", "default.handlebars->container->topbar->1->1->UsersSubMenuSpan->UsersSubMenu->1->0->UsersGeneral" ] }, @@ -27786,7 +27805,7 @@ "ru": "Сессии пользователей", "zh-chs": "用戶會話", "xloc": [ - "default.handlebars->25->1728" + "default.handlebars->25->1732" ] }, { @@ -27869,7 +27888,7 @@ "ru": "Проверенный", "zh-chs": "已驗證", "xloc": [ - "default.handlebars->25->1627" + "default.handlebars->25->1631" ] }, { @@ -27969,7 +27988,7 @@ "ru": "Версия несовместима, пожалуйста, сначала обновите установку MeshCentral", "zh-chs": "版本不兼容,请先升级您的MeshCentral安装", "xloc": [ - "default.handlebars->25->1772" + "default.handlebars->25->1776" ] }, { @@ -28037,8 +28056,8 @@ "ru": "Просмотр журнала изменений", "zh-chs": "查看变更日志", "xloc": [ - "default.handlebars->25->1775", - "default.handlebars->25->1777" + "default.handlebars->25->1779", + "default.handlebars->25->1781" ] }, { @@ -28089,7 +28108,7 @@ "ru": "Посмотреть примечания об этом пользователе", "zh-chs": "查看有關此用戶的註釋", "xloc": [ - "default.handlebars->25->1609" + "default.handlebars->25->1611" ] }, { @@ -28296,8 +28315,8 @@ "ru": "Веб-сервер", "zh-chs": "網絡服務器", "xloc": [ - "default.handlebars->25->1761", - "default.handlebars->25->1762" + "default.handlebars->25->1765", + "default.handlebars->25->1766" ] }, { @@ -28314,7 +28333,7 @@ "ru": "Запросы веб-сервера", "zh-chs": "Web服務器請求", "xloc": [ - "default.handlebars->25->1763" + "default.handlebars->25->1767" ] }, { @@ -28331,7 +28350,7 @@ "ru": "Ретранслятор Web Socket", "zh-chs": "Web套接字中繼", "xloc": [ - "default.handlebars->25->1764" + "default.handlebars->25->1768" ] }, { @@ -28436,7 +28455,7 @@ "ru": "Будет изменено при следующем входе в систему.", "zh-chs": "下次登錄時將更改。", "xloc": [ - "default.handlebars->25->1581" + "default.handlebars->25->1583" ] }, { @@ -29396,7 +29415,7 @@ "ru": "\\\\'", "zh-chs": "\\\\'", "xloc": [ - "default.handlebars->25->1773" + "default.handlebars->25->1777" ] }, { @@ -29671,7 +29690,7 @@ "ru": "свободно", "zh-chs": "自由", "xloc": [ - "default.handlebars->25->1736" + "default.handlebars->25->1740" ] }, { @@ -29852,7 +29871,7 @@ "ru": "id, name, email, creation, lastlogin, groups, authfactors", "zh-chs": "id,名稱,電子郵件,創建,lastlogin,組,authfactors", "xloc": [ - "default.handlebars->25->1462" + "default.handlebars->25->1464" ] }, { @@ -29951,7 +29970,7 @@ "ru": "k max, пусто по умолчанию", "zh-chs": "k max,默认为空白", "xloc": [ - "default.handlebars->25->1484" + "default.handlebars->25->1486" ] }, { @@ -30035,7 +30054,7 @@ "ru": "servertrace.csv", "zh-chs": "servertrace.csv", "xloc": [ - "default.handlebars->25->1771" + "default.handlebars->25->1775" ] }, { @@ -30088,7 +30107,7 @@ "ru": "time, conn.agent, conn.users, conn.usersessions, conn.relaysession, conn.intelamt, mem.external, mem.heapused, mem.heaptotal, mem.rss", "zh-chs": "時間,conn.agent,conn.users,conn.usersessions,conn.relaysession,conn.intelamt,mem.external,mem.heapused,mem.heaptotal,mem.rss", "xloc": [ - "default.handlebars->25->1749" + "default.handlebars->25->1753" ] }, { @@ -30105,7 +30124,7 @@ "ru": "time, source, message", "zh-chs": "時間,來源,訊息", "xloc": [ - "default.handlebars->25->1770" + "default.handlebars->25->1774" ] }, { @@ -30136,7 +30155,7 @@ "ru": "всего", "zh-chs": "總", "xloc": [ - "default.handlebars->25->1737" + "default.handlebars->25->1741" ] }, { @@ -30203,8 +30222,8 @@ "ru": "userlist.csv", "zh-chs": "userlist.csv", "xloc": [ - "default.handlebars->25->1458", - "default.handlebars->25->1463" + "default.handlebars->25->1460", + "default.handlebars->25->1465" ] }, { @@ -30221,8 +30240,8 @@ "ru": "userlist.json", "zh-chs": "userlist.json", "xloc": [ - "default.handlebars->25->1460", - "default.handlebars->25->1464" + "default.handlebars->25->1462", + "default.handlebars->25->1466" ] }, { @@ -30291,7 +30310,7 @@ "zh-chs": "{0} Kb", "xloc": [ "default.handlebars->25->1370", - "default.handlebars->25->1677" + "default.handlebars->25->1681" ] }, { @@ -30343,7 +30362,7 @@ "ru": "{0} активных сессий", "zh-chs": "{0}個活動會話", "xloc": [ - "default.handlebars->25->1619" + "default.handlebars->25->1623" ] }, { @@ -30379,7 +30398,7 @@ "xloc": [ "default-mobile.handlebars->9->88", "default.handlebars->25->1380", - "default.handlebars->25->1692" + "default.handlebars->25->1696" ] }, { @@ -30437,7 +30456,7 @@ "ru": "{0} групп", "zh-chs": "{0}個群組", "xloc": [ - "default.handlebars->25->1586" + "default.handlebars->25->1588" ] }, { diff --git a/views/default.handlebars b/views/default.handlebars index 79d43989..caa167db 100644 --- a/views/default.handlebars +++ b/views/default.handlebars @@ -4982,6 +4982,7 @@ if (node == null) return; var mesh = meshes[node.meshid]; var meshrights = GetNodeRights(node); + var deviceSwitch = ((currentNode == null) || (currentNode._id != nodeid)); if (!currentNode || currentNode._id != node._id || refresh == true) { currentNode = node; @@ -5269,9 +5270,11 @@ } // Clear user consent status if present - p11clearConsoleMsg(); - p12clearConsoleMsg(); - p13clearConsoleMsg(); + if (deviceSwitch) { + p11clearConsoleMsg(); + p12clearConsoleMsg(); + p13clearConsoleMsg(); + } // Device refresh plugin handler if (pluginHandler != null) { @@ -10159,6 +10162,18 @@ function showSendSMSValidate() { QE('idx_dlgOkButton', Q('d2smsText').value.length > 0); } function showSendSMSEx(b, tag) { if (Q('d2smsText').value.length > 0) { meshserver.send({ action: 'smsuser', userid: decodeURIComponent(tag), msg: Q('d2smsText').value }); } } + function showSendEmail(userid) { + if (xxdialogMode) return; + var x = ''; + x += ''; + setDialogMode(2, "Send Email", 3, showSendEmailEx, x, userid); + Q('d2emailSubject').focus(); + showSendEmailValidate(); + } + + function showSendEmailValidate() { QE('idx_dlgOkButton', (Q('d2emailSubject').value.length > 0) && (Q('d2emailText').value.length > 0)); } + function showSendEmailEx(b, tag) { if (Q('d2emailText').value.length > 0) { meshserver.send({ action: 'emailuser', userid: decodeURIComponent(tag), subject: Q('d2emailSubject').value, msg: Q('d2emailText').value }); } } + function showUserAlertDialog(e, userid) { if (xxdialogMode) return; haltEvent(e); @@ -10916,6 +10931,7 @@ // Add action buttons x += ''; if (user.phone && (features & 0x02000000)) { x += ''; } + if ((typeof user.email == 'string') && (user.emailVerified === true) && (features & 0x00000040)) { x += ''; } if (!self && (activeSessions > 0)) { x += ''; } // Setup the panel