diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2017-10-30 13:27:37 +0100 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2017-10-30 13:27:37 +0100 |
commit | 0633dd5802f60fd71359af40fcb80e0a0cae534d (patch) | |
tree | 8c8e1caf4033f20d5986642a04cc81476510dfa3 | |
parent | Add mucsub event for subscribers list changes (diff) |
Fix last commit
-rw-r--r-- | src/mod_muc_room.erl | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl index 891807209..62d2e8814 100644 --- a/src/mod_muc_room.erl +++ b/src/mod_muc_room.erl @@ -2731,7 +2731,7 @@ find_changed_items(UJID, UAffiliation, URole, [#muc_item{jid = J, nick = Nick, reason = Reason, role = Role, affiliation = Affiliation}|Items], Lang, StateData, Res) -> - [JID | _] = JIDs = + [JID | _] = JIDs = if J /= undefined -> [J]; Nick /= <<"">> -> @@ -4089,7 +4089,7 @@ send_subscriptions_change_notifications(From, Nick, Type, State) -> true -> true; _ -> false end, - Packet = case {Type, ShowJid} of + Payload = case {Type, ShowJid} of {subscribe, true} -> #muc_subscribe{jid = From, nick = Nick}; {subscribe, _} -> @@ -4099,8 +4099,14 @@ send_subscriptions_change_notifications(From, Nick, Type, State) -> {unsubscribe, _} -> #muc_unsubscribe{nick = Nick} end, - NewPacket = wrap(From, JID, Packet, ?NS_MUCSUB_NODES_SUBSCRIBERS), - ejabberd_router:route(xmpp:set_from_to(NewPacket, From, JID)); + Packet = #message{ + sub_els = [#ps_event{ + items = #ps_items{ + node = ?NS_MUCSUB_NODES_SUBSCRIBERS, + items = [#ps_item{ + id = randoms:get_string(), + xml_els = [xmpp:encode(Payload)]}]}}]}, + ejabberd_router:route(xmpp:set_from_to(Packet, From, JID)); false -> ok end |