[#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 /= <<"">> ->
true -> true;
_ -> false
end,
- Packet = case {Type, ShowJid} of
+ Payload = case {Type, ShowJid} of
{subscribe, true} ->
#muc_subscribe{jid = From, nick = Nick};
{subscribe, _} ->
{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