plugins/mod_roster.lua
changeset 7336 9d0e65d919e8
parent 7334 c8ad387aab1c
child 7337 566d0a56b37f
--- a/plugins/mod_roster.lua	Mon Apr 04 17:15:47 2016 +0200
+++ b/plugins/mod_roster.lua	Mon Apr 04 17:18:27 2016 +0200
@@ -134,17 +134,15 @@
 
 module:hook_global("user-deleted", function(event)
 	local username, host = event.username, event.host;
+	local origin = event.origin or prosody.hosts[host];
 	if host ~= module.host then return end
 	local bare = username .. "@" .. host;
 	local roster = rm_load_roster(username, host);
 	for jid, item in pairs(roster) do
 		if jid then
-			if item.subscription == "both" or item.subscription == "from" or roster[false].pending[jid] then
-				module:send(st.presence({type="unsubscribed", from=bare, to=jid}));
-			end
-			if item.subscription == "both" or item.subscription == "to" or item.ask then
-				module:send(st.presence({type="unsubscribe", from=bare, to=jid}));
-			end
+			module:fire_event("roster-item-removed", {
+				username = username, jid = jid, item = item, roster = roster, origin = origin,
+			});
 		end
 	end
 end, 300);