24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-12 21:52:07 +02:00

New hook: muc_filter_packet

Add a hook that allows for modifying or dropping MUC room messages.

Closes #491.
This commit is contained in:
Holger Weiss 2015-06-26 21:33:32 +02:00
parent 95138864f4
commit a25051fead

View File

@ -947,8 +947,19 @@ process_groupchat_message(From,
end,
case IsAllowed of
true ->
send_multiple(
jlib:jid_replace_resource(StateData#state.jid, FromNick),
case
ejabberd_hooks:run_fold(muc_filter_packet,
StateData#state.server_host,
Packet,
[StateData,
StateData#state.jid,
From, FromNick])
of
drop ->
{next_state, normal_state, StateData};
NewPacket ->
send_multiple(jlib:jid_replace_resource(StateData#state.jid,
FromNick),
StateData#state.server_host,
StateData#state.users,
Packet),
@ -960,7 +971,8 @@ process_groupchat_message(From,
false ->
NewStateData1
end,
{next_state, normal_state, NewStateData2};
{next_state, normal_state, NewStateData2}
end;
_ ->
Err = case
(StateData#state.config)#config.allow_change_subj