diff options
author | Sarven Capadisli <csarven@status.net> | 2010-02-22 19:13:30 +0100 |
---|---|---|
committer | Sarven Capadisli <csarven@status.net> | 2010-02-22 19:13:30 +0100 |
commit | 85cb850cd5fe4b2edd61a86c6020f246f71e8306 (patch) | |
tree | a3289a849a0c886c97a746af589349b5366f07c3 /plugins | |
parent | 2b16532ffb77d683d32ca6a399b80949d7e6b1e4 (diff) |
Set and reuse a cookie with own profile value at a StatusNet instance
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/OStatus/js/ostatus.js | 45 |
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() { |