summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarven Capadisli <csarven@status.net>2010-02-22 19:13:30 +0100
committerSarven Capadisli <csarven@status.net>2010-02-22 19:13:30 +0100
commit85cb850cd5fe4b2edd61a86c6020f246f71e8306 (patch)
treea3289a849a0c886c97a746af589349b5366f07c3
parent2b16532ffb77d683d32ca6a399b80949d7e6b1e4 (diff)
Set and reuse a cookie with own profile value at a StatusNet instance
-rw-r--r--plugins/OStatus/js/ostatus.js45
1 files changed, 44 insertions, 1 deletions
diff --git a/plugins/OStatus/js/ostatus.js b/plugins/OStatus/js/ostatus.js
index 0daeb1a8b..dc1925cb9 100644
--- a/plugins/OStatus/js/ostatus.js
+++ b/plugins/OStatus/js/ostatus.js
@@ -1,3 +1,36 @@
+SN.C.S.StatusNetInstance = 'StatusNetInstance';
+
+SN.U.StatusNetInstance = {
+ Set: function(value) {
+ $.cookie(
+ SN.C.S.StatusNetInstance,
+ JSON.stringify(value),
+ {
+ path: '/',
+ expires: SN.U.GetFullYear(2029, 0, 1)
+ });
+ },
+
+ Get: function() {
+ var cookieValue = $.cookie(SN.C.S.StatusNetInstance);
+ if (cookieValue !== null) {
+ return JSON.parse(cookieValue);
+ }
+ return null;
+ },
+
+ Delete: function() {
+ $.cookie(SN.C.S.StatusNetInstance, null);
+ }
+};
+
+SN.Init.OStatusCookie = function() {
+ if (SN.U.StatusNetInstance.Get() === null) {
+ SN.C.I.OStatusProfile = SN.C.I.OStatusProfile || null;
+ SN.U.StatusNetInstance.Set({profile: SN.C.I.OStatusProfile});
+ }
+};
+
SN.U.DialogBox = {
Subscribe: function(a) {
var f = a.parent().find('.form_settings');
@@ -41,13 +74,23 @@ SN.U.DialogBox = {
});
form.find('#profile').focus();
+
+ if (form.attr('id') == 'form_ostatus_connect') {
+ SN.Init.OStatusCookie();
+ form.find('#profile').val(SN.U.StatusNetInstance.Get().profile)
+
+ form.find("[type=submit]").bind('click', function() {
+ SN.U.StatusNetInstance.Set({profile: form.find('#profile').val()});
+ return true;
+ });
+ }
}
a.removeClass('processing');
}
});
}
- }
+ },
};
SN.Init.Subscribe = function() {