summaryrefslogtreecommitdiff
path: root/public/js/common.js
diff options
context:
space:
mode:
authorWu Cheng-Han2015-05-15 12:58:13 +0800
committerWu Cheng-Han2015-05-15 12:58:13 +0800
commit4e64583a0b6175d2c9a6729ffde1472dd55d389c (patch)
tree75253f2425f2e4f5906ed4fd30eca29a906ee47a /public/js/common.js
parent2d36d7ce84c636faac17cef3d3a7c22568df38fe (diff)
Marked as 0.2.8
Diffstat (limited to 'public/js/common.js')
-rw-r--r--public/js/common.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/public/js/common.js b/public/js/common.js
new file mode 100644
index 00000000..37591d36
--- /dev/null
+++ b/public/js/common.js
@@ -0,0 +1,53 @@
+//common
+var domain = 'change this';
+var checkAuth = false;
+var profile = null;
+var lastLoginState = getLoginState();
+var loginStateChangeEvent = null;
+
+function resetCheckAuth() {
+ checkAuth = false;
+}
+
+function setLoginState(bool) {
+ Cookies.set('loginstate', bool, {
+ expires: 14
+ });
+ if (loginStateChangeEvent && bool != lastLoginState)
+ loginStateChangeEvent();
+ lastLoginState = bool;
+}
+
+function getLoginState() {
+ return Cookies.get('loginstate') === "true";
+}
+
+function clearLoginState() {
+ Cookies.remove('loginstate');
+}
+
+function checkIfAuth(yesCallback, noCallback) {
+ var cookieLoginState = getLoginState();
+ if (!checkAuth || typeof cookieLoginState == 'undefined') {
+ $.get('/me')
+ .done(function (data) {
+ if (data && data.status == 'ok') {
+ profile = data;
+ yesCallback(profile);
+ setLoginState(true);
+ } else {
+ noCallback();
+ setLoginState(false);
+ }
+ })
+ .fail(function () {
+ noCallback();
+ setLoginState(false);
+ });
+ checkAuth = true;
+ } else if (cookieLoginState) {
+ yesCallback(profile);
+ } else {
+ noCallback();
+ }
+} \ No newline at end of file