X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_lastactivity.lua;h=2dd61699999dcf5a56fb44dd62a5f0b4514ffe22;hb=672e47eb375f52a887e40796349d6e2c4ce52ca3;hp=acbfb87d829bbf07f96cb0671cfeee9cbca069bb;hpb=998de9b4ebc48ed9318caa3bb4cf83a0d5eb820c;p=prosody.git diff --git a/plugins/mod_lastactivity.lua b/plugins/mod_lastactivity.lua index acbfb87d..2dd61699 100644 --- a/plugins/mod_lastactivity.lua +++ b/plugins/mod_lastactivity.lua @@ -1,7 +1,7 @@ -- Prosody IM --- Copyright (C) 2008-2009 Matthew Wild --- Copyright (C) 2008-2009 Waqas Hussain --- +-- Copyright (C) 2008-2010 Matthew Wild +-- Copyright (C) 2008-2010 Waqas Hussain +-- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- @@ -19,11 +19,10 @@ module:hook("pre-presence/bare", function(event) local stanza = event.stanza; if not(stanza.attr.to) and stanza.attr.type == "unavailable" then local t = os.time(); - local s = stanza:child_with_name("status"); - s = s and #s.tags == 0 and s[1] or ""; + local s = stanza:get_child_text("status"); 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; @@ -42,3 +41,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 +