util.pposix: Replace the unwieldy module table generation with luaL_register() call...
[prosody.git] / plugins / mod_lastactivity.lua
index 04f817cb0334d73beeb822b9993bedf3c3f7b5b7..a0da98299720831df90bb98f79c0ecabac4fc4c1 100644 (file)
@@ -23,13 +23,13 @@ module:hook("pre-presence/bare", function(event)
                s = s and #s.tags == 0 and s[1] or "";
                map[event.origin.username] = {s = s, t = t};
        end
-end);
+end, 10);
 
 module:hook("iq/bare/jabber:iq:last:query", function(event)
        local origin, stanza = event.origin, event.stanza;
        if stanza.attr.type == "get" then
                local username = jid_split(stanza.attr.to) or origin.username;
-               if is_contact_subscribed(username, module.host, jid_bare(stanza.attr.from)) then
+               if not stanza.attr.to or is_contact_subscribed(username, module.host, jid_bare(stanza.attr.from)) then
                        local seconds, text = "0", "";
                        if map[username] then
                                seconds = tostring(os.difftime(os.time(), map[username].t));
@@ -42,3 +42,11 @@ module:hook("iq/bare/jabber:iq:last:query", function(event)
                return true;
        end
 end);
+
+module.save = function()
+       return {map = map};
+end
+module.restore = function(data)
+       map = data.map or {};
+end
+