diff options
author | Badlop <badlop@process-one.net> | 2018-09-13 17:58:32 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2018-09-13 18:21:30 +0200 |
commit | 1d6cbd25616e489ef480d66c703cbb2bb09a2600 (patch) | |
tree | 2805f73b6faf208b83dedbc81eae3a5d31977edf /src | |
parent | Merge pull request #2602 from aquarhead/expect-mnesia-up (diff) |
Trigger hook for user_send_packet in send_message command (#2604)
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_admin_extra.erl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index 1b3b27d38..851941fa8 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -1450,12 +1450,17 @@ srg_user_del(User, Host, Group, GroupHost) -> send_message(Type, From, To, Subject, Body) -> FromJID = jid:decode(From), ToJID = jid:decode(To), - Packet = build_packet(Type, Subject, Body), + Packet = build_packet(Type, Subject, Body, FromJID, ToJID), + State1 = #{jid => FromJID}, + {Pkt2, State2} = ejabberd_hooks:run_fold( + user_send_packet, FromJID#jid.lserver, {Packet, State1}, []), ejabberd_router:route(xmpp:set_from_to(Packet, FromJID, ToJID)). -build_packet(Type, Subject, Body) -> +build_packet(Type, Subject, Body, FromJID, ToJID) -> #message{type = misc:binary_to_atom(Type), body = xmpp:mk_text(Body), + from = FromJID, + to = ToJID, id = p1_rand:get_string(), subject = xmpp:mk_text(Subject)}. |