diff --git a/client/index.html b/client/index.html
index 4e3295a..ba23fe6 100644
--- a/client/index.html
+++ b/client/index.html
@@ -168,6 +168,7 @@
+
<% } else { %>
<% } %>
diff --git a/package.json b/package.json
index 379fd92..24d38c8 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 b1626e2..abf410d 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 27978a0..8b471e1 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 a68c5e9..d196290 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 394f3eb..f9d0b73 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);