plugins/mod_pep.lua

changeset 3668
29a340777d7b
parent 3667
5c39dce29eaf
child 3737
659563b1db89
--- a/plugins/mod_pep.lua	Sun Nov 28 13:11:42 2010 +0500
+++ b/plugins/mod_pep.lua	Sun Nov 28 15:02:56 2010 +0500
@@ -145,6 +145,16 @@
 		end
 	elseif t == "unavailable" then
 		if recipients[user] then recipients[user][stanza.attr.from] = nil; end
+	elseif not self and t == "unsubscribe" then
+		local from = jid_bare(stanza.attr.from);
+		local subscriptions = recipients[user];
+		if subscriptions then
+			for subscriber in pairs(subscriptions) do
+				if jid_bare(subscriber) == from then
+					recipients[user][subscriber] = nil;
+				end
+			end
+		end
 	end
 end, 10);
 

mercurial