Use proper js modules for apps. Kludge enough things to make things seem to work. Need to apply this to core still.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3862 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
41
core/auth.js
41
core/auth.js
@ -2,6 +2,7 @@
|
||||
|
||||
var gTokens = {};
|
||||
|
||||
var core = require('core');
|
||||
var form = require('form');
|
||||
var http = require('http');
|
||||
|
||||
@ -51,22 +52,38 @@ function hashPassword(password) {
|
||||
}
|
||||
|
||||
function noAdministrator() {
|
||||
return !gGlobalSettings || !gGlobalSettings.permissions || !Object.keys(gGlobalSettings.permissions).some(function(name) {
|
||||
return gGlobalSettings.permissions[name].indexOf("administration") != -1;
|
||||
return !core.globalSettings || !core.globalSettings.permissions || !Object.keys(core.globalSettings.permissions).some(function(name) {
|
||||
return core.globalSettings.permissions[name].indexOf("administration") != -1;
|
||||
});
|
||||
}
|
||||
|
||||
function makeAdministrator(name) {
|
||||
if (!gGlobalSettings.permissions) {
|
||||
gGlobalSettings.permissions = {};
|
||||
if (!core.globalSettings.permissions) {
|
||||
core.globalSettings.permissions = {};
|
||||
}
|
||||
if (!gGlobalSettings.permissions[name]) {
|
||||
gGlobalSettings.permissions[name] = [];
|
||||
if (!core.globalSettings.permissions[name]) {
|
||||
core.globalSettings.permissions[name] = [];
|
||||
}
|
||||
if (gGlobalSettings.permissions[name].indexOf("administration") == -1) {
|
||||
gGlobalSettings.permissions[name].push("administration");
|
||||
if (core.globalSettings.permissions[name].indexOf("administration") == -1) {
|
||||
core.globalSettings.permissions[name].push("administration");
|
||||
}
|
||||
setGlobalSettings(gGlobalSettings);
|
||||
core.setGlobalSettings(core.globalSettings);
|
||||
}
|
||||
|
||||
function getCookies(headers) {
|
||||
var cookies = {};
|
||||
|
||||
if (headers.cookie) {
|
||||
var parts = headers.cookie.split(/,|;/);
|
||||
for (var i in parts) {
|
||||
var equals = parts[i].indexOf("=");
|
||||
var name = parts[i].substring(0, equals).trim();
|
||||
var value = parts[i].substring(equals + 1).trim();
|
||||
cookies[name] = value;
|
||||
}
|
||||
}
|
||||
|
||||
return cookies;
|
||||
}
|
||||
|
||||
function authHandler(request, response) {
|
||||
@ -185,9 +202,9 @@ function getPermissions(session) {
|
||||
|
||||
function getPermissionsForUser(userName) {
|
||||
var permissions = {};
|
||||
if (gGlobalSettings && gGlobalSettings.permissions && gGlobalSettings.permissions[userName]) {
|
||||
for (var i in gGlobalSettings.permissions[userName]) {
|
||||
permissions[gGlobalSettings.permissions[userName][i]] = true;
|
||||
if (core.globalSettings && core.globalSettings.permissions && core.globalSettings.permissions[userName]) {
|
||||
for (var i in core.globalSettings.permissions[userName]) {
|
||||
permissions[core.globalSettings.permissions[userName][i]] = true;
|
||||
}
|
||||
}
|
||||
return permissions;
|
||||
|
Reference in New Issue
Block a user