RLG-Web: set up user directories on registration

Have RLG-Web create various user directories when a new user registers,
as dgamelaunch does.  Also add some debugging messages if registration
fails.
This commit is contained in:
John "Elwin" Edwards 2012-05-22 21:44:38 -07:00
parent e36f058daf
commit 2d86b63c98

View file

@ -327,6 +327,17 @@ function login(req, res, formdata) {
return; return;
} }
/* Sets things up for a new user, like dgamelaunch's commands[register] */
function regsetup(username) {
function regsetup_l2(err) {
for (var g in games) {
fs.mkdir(path.join("/dgldir/ttyrec", username, games[g].uname), 0755);
}
}
fs.mkdir(path.join("/dgldir/userdata", username), 0755);
fs.mkdir(path.join("/dgldir/ttyrec/", username), 0755, regsetup_l2);
}
function register(req, res, formdata) { function register(req, res, formdata) {
var uname, passwd, email; var uname, passwd, email;
if (typeof (formdata.name) != "string" || formdata.name === "") { if (typeof (formdata.name) != "string" || formdata.name === "") {
@ -348,18 +359,25 @@ function register(req, res, formdata) {
else else
email = formdata["email"]; email = formdata["email"];
function checkreg(code, signal) { function checkreg(code, signal) {
if (code == 4) if (code == 4) {
sendError(res, 2, "Invalid characters in name or email."); sendError(res, 2, "Invalid characters in name or email.");
else if (code == 1) console.log("Attempted registration: " + uname + " " + email);
}
else if (code == 1) {
sendError(res, 2, "Username " + uname + " is already being used."); sendError(res, 2, "Username " + uname + " is already being used.");
else if (code != 0) console.log("Attempted duplicate registration: " + uname);
}
else if (code != 0) {
sendError(res, 0, null); sendError(res, 0, null);
console.log("sqlickrypt register failed with code " + code);
}
else { else {
res.writeHead(200, {'Content-Type': 'text/plain'}); res.writeHead(200, {'Content-Type': 'text/plain'});
var reply = {"t": "r", "d": uname}; var reply = {"t": "r", "d": uname};
res.write(JSON.stringify(reply)); res.write(JSON.stringify(reply));
res.end(); res.end();
console.log("Added new user: " + uname); console.log("Added new user: " + uname);
regsetup(uname);
} }
} }
var child_adder = child_process.spawn("/bin/sqlickrypt", ["register"]); var child_adder = child_process.spawn("/bin/sqlickrypt", ["register"]);