diff --git a/views/default-mobile.handlebars b/views/default-mobile.handlebars
index 73b9809a..ca89a612 100644
--- a/views/default-mobile.handlebars
+++ b/views/default-mobile.handlebars
@@ -381,7 +381,7 @@
Refresh
-
+
@@ -591,19 +591,19 @@
'use strict';
// Process server-side web state
- var webState = "{{{webstate}}}";
- if (webState != "") { webState = JSON.parse(decodeURIComponent(webState)); }
+ var webState = '{{{webstate}}}';
+ if (webState != '') { webState = JSON.parse(decodeURIComponent(webState)); }
for (var i in webState) { localStorage.setItem(i, webState[i]); }
if (!webState.loctag) { delete localStorage.removeItem('loctag'); }
var args = parseUriArgs();
var debugLevel = parseInt('{{{debuglevel}}}');
var features = parseInt('{{{features}}}');
- var sessionTime = parseInt("{{{sessiontime}}}");
- var domain = "{{{domain}}}";
- var domainUrl = "{{{domainurl}}}";
- var authCookie = "{{{authCookie}}}";
- var authRelayCookie = "{{{authRelayCookie}}}";
+ var sessionTime = parseInt('{{{sessiontime}}}');
+ var domain = '{{{domain}}}';
+ var domainUrl = '{{{domainurl}}}';
+ var authCookie = '{{{authCookie}}}';
+ var authRelayCookie = '{{{authRelayCookie}}}';
var authCookieRenewTimer = null;
var meshserver = null;
var xdr = null;
@@ -615,13 +615,13 @@
var serverinfo = null;
var users = null;
var nodeShortIdent = 0;
- var serverPublicNamePort = "{{{serverDnsName}}}:{{{serverPublicPort}}}";
+ var serverPublicNamePort = '{{{serverDnsName}}}:{{{serverPublicPort}}}';
var debugmode = false;
var attemptWebRTC = ((features & 128) != 0);
- var StatusStrs = ['Disconnected', 'Connecting...', 'Setup...', 'Connected', 'Intel® AMT Connected'];
+ var StatusStrs = ["Disconnected", "Connecting...", "Setup...", "Connected", "Intel® AMT Connected"];
var files;
- var passRequirements = "{{{passRequirements}}}";
- if (passRequirements != "") { passRequirements = JSON.parse(decodeURIComponent(passRequirements)); }
+ var passRequirements = '{{{passRequirements}}}';
+ if (passRequirements != '') { passRequirements = JSON.parse(decodeURIComponent(passRequirements)); }
var sessionActivity = Date.now();
function startup() {
@@ -637,7 +637,7 @@
window.onresize = center;
center();
QV('changeEmailId', (features & 0x200000) == 0);
- QH('p1message', 'Connecting...');
+ QH('p1message', "Connecting...");
go(1);
// Connect to the mesh server
@@ -657,8 +657,8 @@
// Control web socket disconnected
setDialogMode(0); // Close any dialog boxes if present
go(0); // Go to disconnection panel
- if (errorCode == 'noauth') { QH('p0span', 'Unable to perform authentication'); return; }
- if (prevState == 2) { setTimeout(serverPoll, 5000); } else { QH('p0span', 'Unable to connect web socket'); }
+ if (errorCode == 'noauth') { QH('p0span', "Unable to perform authentication"); return; }
+ if (prevState == 2) { setTimeout(serverPoll, 5000); } else { QH('p0span', "Unable to connect web socket"); }
// Clean up here
if (authCookieRenewTimer != null) { clearInterval(authCookieRenewTimer); authCookieRenewTimer = null; }
} else if (state == 2) {
@@ -697,10 +697,10 @@
if (userinfo.passchange == -1) { QH('p2nextPasswordUpdateTime', ' - Reset on next login.'); }
else if ((passRequirements != null) && (typeof passRequirements.reset == 'number')) {
var seconds = (userinfo.passchange) + (passRequirements.reset * 86400) - Math.floor(Date.now() / 1000);
- if (seconds < 0) { QH('p2nextPasswordUpdateTime', ' - Reset on next login.'); }
- else if (seconds < 3600) { QH('p2nextPasswordUpdateTime', ' - Reset in ' + Math.floor(seconds / 60) + ' minute' + addLetterS(Math.floor(seconds / 60)) + '.'); }
- else if (seconds < 86400) { QH('p2nextPasswordUpdateTime', ' - Reset in ' + Math.floor(seconds / 3600) + ' hour' + addLetterS(Math.floor(seconds / 3600)) + '.'); }
- else { QH('p2nextPasswordUpdateTime', ' - Reset in ' + Math.floor(seconds / 86400) + ' day' + addLetterS(Math.floor(seconds / 86400)) + '.'); }
+ if (seconds < 0) { QH('p2nextPasswordUpdateTime', " - Reset on next login."); }
+ else if (seconds < 3600) { QH('p2nextPasswordUpdateTime', format(" - Reset in {0} minute{1}.", Math.floor(seconds / 60), addLetterS(Math.floor(seconds / 60)))); }
+ else if (seconds < 86400) { QH('p2nextPasswordUpdateTime', format(" - Reset in {0} hour{1}.", Math.floor(seconds / 3600), addLetterS(Math.floor(seconds / 3600)))); }
+ else { QH('p2nextPasswordUpdateTime', format(" - Reset in {0} day{1}."), Math.floor(seconds / 86400), addLetterS(Math.floor(seconds / 86400))); }
}
}
}
@@ -792,7 +792,7 @@
var secret = message.secret;
if (secret.length == 52) { secret = secret.split(/(.............)/).filter(Boolean).join(' '); }
else if (secret.length == 32) { secret = secret.split(/(....)/).filter(Boolean).join(' '); secret = secret.substring(0, 20) + '
' + secret.substring(20) }
- QH('d2optinfo', 'Install
Google Authenticator or a compatible application, use
this link or enter the secret below. Then, enter the current 6 digit token to activate 2-Step login.
' + secret + ' Token: = 48 && event.charCode <= 57)\" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text>
');
+ QH('d2optinfo', "Install
Google Authenticator or a compatible application, use
this link or enter the secret below. Then, enter the current 6 digit token to activate 2-Step login." + '
' + secret + ' Token: = 48 && event.charCode <= 57)\" onkeyup=account_addOtpCheck(event) onkeydown=account_addOtpCheck() maxlength=6 id=d2otpauthinput type=text>
');
QV('idx_dlgOkButton', true);
QE('idx_dlgOkButton', false);
Q('d2otpauthinput').focus();
@@ -812,7 +812,7 @@
case 'otpauth-getpasswords': {
if (xxdialogMode) return;
var x = "One time tokens can be used as secondary authentication. Generate a set, print them and keep them in a safe place.";
- x += "
';
+ x += '
';
+ x += ' ';
+ if (message.passwords != null) { x += ' '; }
+ x += '
';
setDialogMode(2, "Manage Backup Codes", 8, null, x, 'otpauth-manage');
break;
}
@@ -1149,7 +1149,7 @@
function account_addOtp() {
if (xxdialogMode || (userinfo.otpsecret == 1) || ((features & 4096) == 0)) return;
- setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, "
Loading...
", 'otpauth-request');
+ setDialogMode(2, "Authenticator App", 2, function () { meshserver.send({ action: 'otpauth-setup', secret: Q('d2optsecret').attributes.secret.value, token: Q('d2otpauthinput').value }); }, '
' + "Loading..." + '
', 'otpauth-request');
meshserver.send({ action: 'otpauth-request' });
}
@@ -1172,7 +1172,7 @@
function account_showVerifyEmail() {
if (xxdialogMode || (userinfo.emailVerified == true) || (serverinfo.emailcheck != true)) return;
- var x = "Click ok to send a verification mail to:" + '
' + EscapeHtml(userinfo.email) + "
Please wait a few minute to receive the verification.";
+ var x = "Click ok to send a verification mail to:" + '
' + EscapeHtml(userinfo.email) + '
' + "Please wait a few minute to receive the verification.";
setDialogMode(2, "Email Verification", 3, account_showVerifyEmailEx, x);
}
@@ -1200,12 +1200,12 @@
function account_showDeleteAccount() {
if (xxdialogMode) return;
- var x = "