forked from GitHub/dbot
that will do for now [#585]
This commit is contained in:
parent
1f0c11e8c3
commit
c97347a228
@ -142,70 +142,6 @@ var webInterface = function(dbot) {
|
|||||||
server.close();
|
server.close();
|
||||||
};
|
};
|
||||||
|
|
||||||
this.api = {
|
|
||||||
'getUrl': function(path) {
|
|
||||||
if(path.charAt(0) == '/') path = path.substr(1);
|
|
||||||
if(this.config.externalPath) {
|
|
||||||
return this.config.externalPath + '/' + path;
|
|
||||||
} else {
|
|
||||||
return 'http://' + this.config.webHost + ':' + this.config.webPort + '/' + path;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
'addIndexLink': function(route, title) {
|
|
||||||
this.indexLinks[route] = title;
|
|
||||||
},
|
|
||||||
|
|
||||||
'getWebUser': function(id, callback) {
|
|
||||||
this.db.read('web_users', id, function(err, webUser) {
|
|
||||||
callback(webUser);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
'hasAccess': function(req, res, next) {
|
|
||||||
var path = req.route.path,
|
|
||||||
module = dbot.pages[path].module,
|
|
||||||
mConfig = dbot.config.modules[module];
|
|
||||||
|
|
||||||
if(mConfig.requireWebLogin == true) {
|
|
||||||
if(req.isAuthenticated()) {
|
|
||||||
var accessNeeded = 'regular';
|
|
||||||
if(_.has(mConfig, 'pageAccess') && _.has(mConfig.pageAccess, path)) {
|
|
||||||
accessNeeded = mConfig.pageAccess[path];
|
|
||||||
} else if(!_.isUndefined(mConfig.webAccess)) {
|
|
||||||
accessNeeded = mConfig.webAccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(accessNeeded != 'regular') {
|
|
||||||
var allowedUsers = dbot.config.admins;
|
|
||||||
if(mConfig.webAccess == 'moderators') {
|
|
||||||
allowedUsers = _.union(allowedUsers, dbot.config.moderators);
|
|
||||||
}
|
|
||||||
if(mConfig.webAccess == 'power_users') {
|
|
||||||
allowedUsers = _.union(allowedUsers, dbot.config.moderators);
|
|
||||||
allowedUsers = _.union(allowedUsers, dbot.config.power_users);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(_.include(allowedUsers, req.user.primaryNick)) {
|
|
||||||
return next();
|
|
||||||
} else {
|
|
||||||
res.redirect('/');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return next();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
res.render('login', {
|
|
||||||
'message': 'You need to log in to access this module.',
|
|
||||||
'redirect': req.originalUrl
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return next();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
this.commands = {
|
this.commands = {
|
||||||
'~setwebpass': function(event) {
|
'~setwebpass': function(event) {
|
||||||
var newPass = event.input[1];
|
var newPass = event.input[1];
|
||||||
|
Loading…
Reference in New Issue
Block a user