Fix rendering page folder problem.
Ylian Saint-Hilaire committed
Oct 22, 2019 at 17:19 UTC
4a79cd61fd73da2412ef4f28f968646b1750d1dd
3 files changed
+9
-6
MeshCentralServer.njsproj
-1
@@ -144,7 +144,6 @@
144
<Content Include="agents\compressModules.bat" />
145
<Content Include="agents\MeshAgentOSXPackager.zip" />
146
<Content Include="agents\meshagent_arm" />
147
- <Content Include="agents\meshagent_arm-linaro" />
147
<Content Include="agents\meshagent_arm64" />
148
<Content Include="agents\meshagent_armhf" />
149
<Content Include="agents\meshagent_mips" />
package.json
+1
-1
@@ -1,6 +1,6 @@
1
{
2
"name": "meshcentral",
3
- "version": "0.4.2-x",
3
+ "version": "0.4.2-y",
4
"keywords": [
5
"Remote Management",
6
"Intel AMT",
webserver.js
+8
-4
@@ -1600,7 +1600,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1600
if (hardwareKeyChallenge) { hwstate = obj.parent.encodeCookie({ u: req.session.tokenusername, p: req.session.tokenpassword, c: req.session.u2fchallenge }, obj.parent.loginCookieEncryptionKey) }
1601
1602
// Render the login page
1603
- 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 });
1603
+ 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 });
1604
}
1605
1606
// Handle a post request on the root
@@ -3904,10 +3904,14 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
3904
3905
// Get the list of pages with different languages that can be rendered
3906
function getRenderList() {
3907
- if (obj.fs.existsSync('views/translations')) {
3907
+ var translateFolder = null;
3908
+ if (obj.fs.existsSync('views/translations')) { translateFolder = 'views/translations'; }
3909
+ if (obj.fs.existsSync(obj.path.join(__dirname, 'views', 'translations'))) { translateFolder = obj.path.join(__dirname, 'views', 'translations'); }
3910
+
3911
+ if (translateFolder != null) {
3912
obj.renderPages = {};
3913
obj.renderLanguages = ['en'];
3910
- var files = obj.fs.readdirSync('views/translations');
3914
+ var files = obj.fs.readdirSync(translateFolder);
3915
for (var i in files) {
3916
var name = files[i];
3917
if (name.endsWith('.handlebars')) {
@@ -3915,7 +3919,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
3919
var xname = name.split('_');
3920
if (xname.length == 2) {
3921
if (obj.renderPages[xname[0]] == null) { obj.renderPages[xname[0]] = {}; }
3918
- obj.renderPages[xname[0]][xname[1]] = obj.path.join('translations', name);
3922
+ obj.renderPages[xname[0]][xname[1]] = obj.path.join(translateFolder, name);
3923
if (obj.renderLanguages.indexOf(xname[1]) == -1) { obj.renderLanguages.push(xname[1]); }
3924
}
3925
}