diff --git a/client/index.html b/client/index.html index 4e3295a0..ba23fe61 100644 --- a/client/index.html +++ b/client/index.html @@ -168,6 +168,7 @@ + <% } else { %> <% } %> diff --git a/package.json b/package.json index 379fd926..24d38c89 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "shout", "description": "A web IRC client", - "version": "0.11.0", + "version": "0.12.0", "author": "Mattias Erming", "preferGlobal": true, "bin": { @@ -12,7 +12,7 @@ "url": "https://github.com/erming/shout.git" }, "scripts": { - "start": "node index start" + "start": "node index" }, "keywords": [ "browser", diff --git a/src/clientManager.js b/src/clientManager.js index b1626e2c..abf410d7 100644 --- a/src/clientManager.js +++ b/src/clientManager.js @@ -1,6 +1,9 @@ var _ = require("lodash"); var fs = require("fs"); var Client = require("./client"); +var mkdirp = require("mkdirp"); + +const HOME = process.env.HOME + "/.shout"; module.exports = ClientManager; @@ -37,7 +40,10 @@ ClientManager.prototype.loadUsers = function(sockets) { ClientManager.prototype.loadUser = function(name) { try { - var json = fs.readFileSync("users/" + name + "/user.json", "utf-8"); + var json = fs.readFileSync( + HOME + "/users/" + name + "/user.json", + "utf-8" + ); json = JSON.parse(json); } catch(e) { console.log(e); @@ -48,8 +54,10 @@ ClientManager.prototype.loadUser = function(name) { ClientManager.prototype.getUsers = function() { var users = []; + var path = HOME + "/users/"; + mkdirp.sync(path); try { - users = fs.readdirSync("users/"); + users = fs.readdirSync(path); } catch(e) { console.log(e); return; @@ -67,7 +75,7 @@ ClientManager.prototype.addUser = function(name, password) { return false; } try { - var path = "users/" + name; + var path = HOME + "/users/" + name; var user = { user: name, password: password || "", @@ -91,7 +99,7 @@ ClientManager.prototype.removeUser = function(name) { return false; } try { - var path = "users/" + name; + var path = HOME + "/users/" + name; fs.unlinkSync(path + "/user.json"); fs.rmdirSync(path); } catch(e) { diff --git a/src/command-line/add.js b/src/command-line/add.js index 27978a0c..8b471e19 100644 --- a/src/command-line/add.js +++ b/src/command-line/add.js @@ -2,12 +2,14 @@ var ClientManager = new require("../clientManager"); var fs = require("fs"); var program = require("commander"); +const HOME = process.env.HOME + "/.shout"; + program .command("add ") .description("Add a new user") .action(function(name) { try { - var path = process.cwd() + "/users"; + var path = HOME + "/users"; var test = path + "/.test"; fs.mkdirSync(test); fs.rmdirSync(test); diff --git a/src/command-line/edit.js b/src/command-line/edit.js index a68c5e92..d1962900 100644 --- a/src/command-line/edit.js +++ b/src/command-line/edit.js @@ -2,6 +2,8 @@ var ClientManager = new require("../clientManager"); var program = require("commander"); var child = require("child_process"); +const HOME = process.env.HOME + "/.shout"; + program .command("edit ") .description("Edit an existing user") @@ -13,9 +15,10 @@ program console.log(""); return; } + var path = HOME + "/users/"; child.spawn( - "sudo", - ["vi", process.cwd() + "/users/" + name + "/user.json"], + "vi", + [path + name + "/user.json"], {stdio: "inherit"} ); }); diff --git a/src/command-line/remove.js b/src/command-line/remove.js index 394f3eb2..f9d0b739 100644 --- a/src/command-line/remove.js +++ b/src/command-line/remove.js @@ -2,12 +2,14 @@ var ClientManager = new require("../clientManager"); var fs = require("fs"); var program = require("commander"); +const HOME = process.env.HOME + "/.shout"; + program .command("remove ") .description("Remove an existing user") .action(function(name) { try { - var path = process.cwd() + "/users"; + var path = HOME + "/users"; var test = path + "/.test"; fs.mkdirSync(test); fs.rmdirSync(test);