diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-08-04 01:37:56 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-08-04 01:37:56 -0400 |
| commit | 8c263e2141d17c629314d2d95eac82217a20a464 (patch) | |
| tree | da8114197d03d4ffaa20838859f9680e263883c8 | |
| parent | 1977a99c596485d2e42e544b2b0ecd0625395775 (diff) | |
user
| -rw-r--r-- | public/js/lib/user.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/public/js/lib/user.js b/public/js/lib/user.js new file mode 100644 index 0000000..87b657e --- /dev/null +++ b/public/js/lib/user.js @@ -0,0 +1,49 @@ +var user = (function(){} + var user = {} + user.init = function(){ + user.load() + user.bind() + } + user.bind = function(){ + $("#username").on("input", user.save) + } + user.load = function(){ + user.username = user.getCookie() + $("#username").val(user.username) + } + user.prefs = new function(){} + user.prefs.get = function (key){ + return localStorage.getItem("im.prefs." + key) + } + user.prefs.set = function (key,value){ + return localStorage.setItem("im.prefs." + key, value) + } + user.sanitize = function(){ + return $("#username").val().replace(/[^-_ a-zA-Z0-9]/g,"") + } + user.getCookie = function () { + var username = localStorage.getItem("im.name") || ""; + if (document.cookie && ! username.length) { + var cookies = document.cookie.split(";") + for (i in cookies) { + var cookie = cookies[i].split("=") + if (cookie[0].indexOf("imname") !== -1) { + if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length) { + return cookie[1] + } + } + } + } + return username + } + user.save = function(){ + var username = user.sanitize() + if (username != user.username) user.setCookie(username); + } + user.setCookie = function(username){ + console.log("setting to " + username) + document.cookie = "imname="+username+";path=/;domain=.asdf.us;max-age=1086400" + localStorage.setItem("im.name", username); + } + return user +})() |
