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:
2022-03-18 01:24:29 +00:00
parent 9b2d4b393d
commit 00bdf1df4a
4 changed files with 107 additions and 57 deletions

View File

@ -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;