aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2018-09-13 17:58:32 +0200
committerBadlop <badlop@process-one.net>2018-09-13 18:21:30 +0200
commit1d6cbd25616e489ef480d66c703cbb2bb09a2600 (patch)
tree2805f73b6faf208b83dedbc81eae3a5d31977edf
parentMerge pull request #2602 from aquarhead/expect-mnesia-up (diff)
Trigger hook for user_send_packet in send_message command (#2604)
-rw-r--r--src/mod_admin_extra.erl9
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)}.