Software /
code /
prosody
Changeset
7333:9d0e65d919e8
mod_roster: Handle roster item removal with event on user deletion
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 04 Apr 2016 17:18:27 +0200 |
parents | 7332:ba32289e8d0b |
children | 7334:566d0a56b37f |
files | plugins/mod_roster.lua |
diffstat | 1 files changed, 4 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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);