mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-07 14:35:47 +01:00
re: #2099
This commit is contained in:
@@ -454,6 +454,30 @@ middleware.addExpiresHeaders = function(req, res, next) {
|
|||||||
next();
|
next();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
middleware.maintenanceMode = function(req, res, next) {
|
||||||
|
var render = function() {
|
||||||
|
res.render('maintenance', {
|
||||||
|
site_title: meta.config.site_title || 'NodeBB'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (meta.config.maintenanceMode === '1') {
|
||||||
|
if (!req.user) {
|
||||||
|
return render();
|
||||||
|
} else {
|
||||||
|
user.isAdministrator(req.user.uid, function(err, isAdmin) {
|
||||||
|
if (!isAdmin) {
|
||||||
|
return render();
|
||||||
|
} else {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = function(webserver) {
|
module.exports = function(webserver) {
|
||||||
app = webserver;
|
app = webserver;
|
||||||
middleware.admin = require('./admin')(webserver);
|
middleware.admin = require('./admin')(webserver);
|
||||||
|
|||||||
@@ -165,6 +165,8 @@ module.exports = function(app, middleware) {
|
|||||||
pluginRouter.hotswapId = 'plugins';
|
pluginRouter.hotswapId = 'plugins';
|
||||||
authRouter.hotswapId = 'auth';
|
authRouter.hotswapId = 'auth';
|
||||||
|
|
||||||
|
app.use(middleware.maintenanceMode);
|
||||||
|
|
||||||
app.all(relativePath + '/api/?*', middleware.prepareAPI);
|
app.all(relativePath + '/api/?*', middleware.prepareAPI);
|
||||||
app.all(relativePath + '/api/admin/*', middleware.admin.isAdmin, middleware.prepareAPI);
|
app.all(relativePath + '/api/admin/*', middleware.admin.isAdmin, middleware.prepareAPI);
|
||||||
app.all(relativePath + '/admin/?*', middleware.ensureLoggedIn, middleware.admin.isAdmin);
|
app.all(relativePath + '/admin/?*', middleware.ensureLoggedIn, middleware.admin.isAdmin);
|
||||||
|
|||||||
Reference in New Issue
Block a user