diff --git a/MeshCentralServer.njsproj b/MeshCentralServer.njsproj index ba12a9e4..3f50007e 100644 --- a/MeshCentralServer.njsproj +++ b/MeshCentralServer.njsproj @@ -144,7 +144,6 @@ - diff --git a/package.json b/package.json index 3438052c..18a99b95 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.4.2-x", + "version": "0.4.2-y", "keywords": [ "Remote Management", "Intel AMT", diff --git a/webserver.js b/webserver.js index f07d9c5a..c00725fe 100644 --- a/webserver.js +++ b/webserver.js @@ -1600,7 +1600,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { if (hardwareKeyChallenge) { hwstate = obj.parent.encodeCookie({ u: req.session.tokenusername, p: req.session.tokenpassword, c: req.session.u2fchallenge }, obj.parent.loginCookieEncryptionKey) } // Render the login page - render(req, res, getRenderPage('login', req), { loginmode: loginmode, rootCertLink: getRootCertLink(), domainurl: domain.url, title: domain.title, title2: domain.title2, newAccount: newAccountsAllowed, newAccountPass: (((domain.newaccountspass == null) || (domain.newaccountspass == '')) ? 0 : 1), serverDnsName: obj.getWebServerName(domain), serverPublicPort: httpsPort, emailcheck: emailcheck, features: features, sessiontime: args.sessiontime, passRequirements: passRequirements, footer: (domain.footer == null) ? '' : domain.footer, hkey: encodeURIComponent(hardwareKeyChallenge), message: message, passhint: passhint, welcometext: domain.welcometext ? encodeURIComponent(domain.welcometext) : null, hwstate: hwstate }); + render(req, res, getRenderPage('login', req), { loginmode: loginmode, rootCertLink: getRootCertLink(), domainurl: domain.url, title: domain.title, title2: domain.title2, newAccount: newAccountsAllowed, newAccountPass: (((domain.newaccountspass == null) || (domain.newaccountspass == '')) ? 0 : 1), serverDnsName: obj.getWebServerName(domain), serverPublicPort: httpsPort, emailcheck: emailcheck, features: features, sessiontime: args.sessiontime, passRequirements: passRequirements, footer: (domain.footer == null) ? '' : domain.footer, hkey: encodeURIComponent(hardwareKeyChallenge), message: message, passhint: passhint, welcometext: domain.welcometext ? encodeURIComponent(domain.welcometext).split('\'').join('\\\'') : null, hwstate: hwstate }); } // Handle a post request on the root @@ -3904,10 +3904,14 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { // Get the list of pages with different languages that can be rendered function getRenderList() { - if (obj.fs.existsSync('views/translations')) { + var translateFolder = null; + if (obj.fs.existsSync('views/translations')) { translateFolder = 'views/translations'; } + if (obj.fs.existsSync(obj.path.join(__dirname, 'views', 'translations'))) { translateFolder = obj.path.join(__dirname, 'views', 'translations'); } + + if (translateFolder != null) { obj.renderPages = {}; obj.renderLanguages = ['en']; - var files = obj.fs.readdirSync('views/translations'); + var files = obj.fs.readdirSync(translateFolder); for (var i in files) { var name = files[i]; if (name.endsWith('.handlebars')) { @@ -3915,7 +3919,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { var xname = name.split('_'); if (xname.length == 2) { if (obj.renderPages[xname[0]] == null) { obj.renderPages[xname[0]] = {}; } - obj.renderPages[xname[0]][xname[1]] = obj.path.join('translations', name); + obj.renderPages[xname[0]][xname[1]] = obj.path.join(translateFolder, name); if (obj.renderLanguages.indexOf(xname[1]) == -1) { obj.renderLanguages.push(xname[1]); } } }