aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2017-10-30 13:27:37 +0100
committerPaweł Chmielowski <pchmielowski@process-one.net>2017-10-30 13:27:37 +0100
commit0633dd5802f60fd71359af40fcb80e0a0cae534d (patch)
tree8c8e1caf4033f20d5986642a04cc81476510dfa3
parentAdd mucsub event for subscribers list changes (diff)
Fix last commit
-rw-r--r--src/mod_muc_room.erl14
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