mod_lastactivity: Simplify iq handling by hooking on iq-get/ instead of iq/.
authorEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>
Fri, 24 Aug 2018 20:34:34 +0200
changeset 9227 a84dbd2e08bc
parent 9226 80dbb60d81e4
child 9228 0ba963e82ac7
mod_lastactivity: Simplify iq handling by hooking on iq-get/ instead of iq/.
plugins/mod_lastactivity.lua
--- a/plugins/mod_lastactivity.lua	Fri Aug 24 20:34:18 2018 +0200
+++ b/plugins/mod_lastactivity.lua	Fri Aug 24 20:34:34 2018 +0200
@@ -24,22 +24,20 @@
 	end
 end, 10);
 
-module:hook("iq/bare/jabber:iq:last:query", function(event)
+module:hook("iq-get/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 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));
-				text = map[username].s;
-			end
-			origin.send(st.reply(stanza):tag('query', {xmlns='jabber:iq:last', seconds=seconds}):text(text));
-		else
-			origin.send(st.error_reply(stanza, 'auth', 'forbidden'));
+	local username = jid_split(stanza.attr.to) or origin.username;
+	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));
+			text = map[username].s;
 		end
-		return true;
+		origin.send(st.reply(stanza):tag('query', {xmlns='jabber:iq:last', seconds=seconds}):text(text));
+	else
+		origin.send(st.error_reply(stanza, 'auth', 'forbidden'));
 	end
+	return true;
 end);
 
 module.save = function()