| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/global')
| -rw-r--r-- | src/global/www/script/session.js | 88 | ||||
| -rw-r--r-- | src/global/www/script/urlparams.js | 53 | 
2 files changed, 141 insertions, 0 deletions
| diff --git a/src/global/www/script/session.js b/src/global/www/script/session.js new file mode 100644 index 0000000..c712999 --- /dev/null +++ b/src/global/www/script/session.js @@ -0,0 +1,88 @@ +/******************************************************************************/ +/** Session Management ********************************************************/ +/******************************************************************************/ + +/*** + * This module uses local storage to keep users logged in across pages, and + * through further visits. + **/ + +var tacticians_online = tacticians_online || new Object(); + +tacticians_online.session = new Object(); + +tacticians_online.session.private = new Object(); +tacticians_online.session.private.user_id = ""; +tacticians_online.session.private.token = ""; + +tacticians_online.session.store = +function () +{ +   localStorage.setItem("user_id", tacticians_online.session.private.user_id); +   localStorage.setItem("token", tacticians_online.session.private.token); +} + +tacticians_online.session.reset = +function () +{ +   localStorage.removeItem("user_id"); +   localStorage.removeItem("token"); +} + +tacticians_online.session.load = +function () +{ +   tacticians_online.session.private.user_id = localStorage.getItem("user_id"); +   tacticians_online.session.private.token = localStorage.getItem("token"); + +   if (tacticians_online.session.private.user_id == null) +   { +      tacticians_online.session.private.user_id = ""; +   } + +   if (tacticians_online.session.private.token == null) +   { +      tacticians_online.session.private.token = ""; +   } +} + +tacticians_online.session.get_user_id = +function () +{ +   return tacticians_online.session.private.user_id; +} + +tacticians_online.session.get_token = +function () +{ +   return tacticians_online.session.private.token; +} + +tacticians_online.session.set_user_id = +function (user_id) +{ +   tacticians_online.session.private.user_id = user_id; +} + +tacticians_online.session.set_token = +function (token) +{ +   tacticians_online.session.private.token = token; +} + +tacticians_online.session.store_new_session = +function (user_id, token) +{ +   tacticians_online.session.set_user_id(user_id); +   tacticians_online.session.set_token(token); +   tacticians_online.session.store(); +} + +tacticians_online.session.attach_to = +function (app) +{ +   app.ports.store_new_session.subscribe = +      tacticians_online.session.store_new_session; + +   app.ports.reset_session.subscribe = tacticians_online.session.reset; +} diff --git a/src/global/www/script/urlparams.js b/src/global/www/script/urlparams.js new file mode 100644 index 0000000..60e6af4 --- /dev/null +++ b/src/global/www/script/urlparams.js @@ -0,0 +1,53 @@ +/******************************************************************************/ +/** URL Parameters ************************************************************/ +/******************************************************************************/ + +/*** + * This module uses parses the current page's URL and converts it to a format + * that can be used by Elm. + **/ + +var tacticians_online = tacticians_online || new Object(); + +tacticians_online.urlparams = new Object(); + +tacticians_online.urlparams.private = new Object(); + +tacticians_online.urlparams.private.get_clean_parameters_string = +function () +{ +   var all_parameters_string = window.location.search; + +   if (all_parameters_string == "") +   { +      return ""; +   } + +   if (all_parameters_string[0] == "?") +   { +      return all_parameters_string.slice(1); +   } + +   return all_parameters_string; +} + +tacticians_online.urlparams.get_parameters = +function () +{ +   var all_parameters_string = +      tacticians_online.urlparams.private.get_clean_parameters_string(); + +   var all_parameters_array = all_parameters_string.split('&'); + +   var result = []; + +   all_parameters_array.forEach +   ( +      function (param) +      { +         result.push(param.split('=')); +      } +   ); + +   return result; +} | 


