aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Romain <christophe.romain@process-one.net>2017-07-27 17:02:06 +0200
committerChristophe Romain <christophe.romain@process-one.net>2017-07-27 17:02:06 +0200
commitb66dab13130229268e070a0021f95733cb3aabac (patch)
tree0808dbd8bd36152d20a81ecb163b7ceb49bbc491
parentUpdate OTP version check by configure (diff)
Add muc related hooks
-rw-r--r--src/mod_muc.erl3
-rw-r--r--src/mod_muc_room.erl2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/mod_muc.erl b/src/mod_muc.erl
index 69fc2d0dc..8b6d7b8b9 100644
--- a/src/mod_muc.erl
+++ b/src/mod_muc.erl
@@ -166,7 +166,7 @@ restore_room(ServerHost, Host, Name) ->
forget_room(ServerHost, Host, Name) ->
LServer = jid:nameprep(ServerHost),
- ejabberd_hooks:run(remove_room, LServer, [LServer, Name, Host]),
+ ejabberd_hooks:run(destroy_room, LServer, [LServer, Name, Host]),
Mod = gen_mod:db_mod(LServer, ?MODULE),
Mod:forget_room(LServer, Host, Name).
@@ -256,6 +256,7 @@ handle_call({create, Room, From, Nick, Opts}, _From,
Nick, NewOpts, QueueType),
RMod = gen_mod:ram_db_mod(ServerHost, ?MODULE),
RMod:register_online_room(ServerHost, Room, Host, Pid),
+ ejabberd_hooks:run(create_room, ServerHost, [ServerHost, Room, Host]),
{reply, ok, State}.
handle_cast({reload, ServerHost, NewOpts, OldOpts}, #state{host = OldHost}) ->
diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl
index ec1cffd6a..31dbbbfa7 100644
--- a/src/mod_muc_room.erl
+++ b/src/mod_muc_room.erl
@@ -4004,6 +4004,7 @@ tab_add_online_user(JID, StateData) ->
Room = StateData#state.room,
Host = StateData#state.host,
ServerHost = StateData#state.server_host,
+ ejabberd_hooks:run(join_room, ServerHost, [ServerHost, Room, Host, JID]),
mod_muc:register_online_user(ServerHost, jid:tolower(JID), Room, Host).
-spec tab_remove_online_user(jid(), state()) -> any().
@@ -4011,6 +4012,7 @@ tab_remove_online_user(JID, StateData) ->
Room = StateData#state.room,
Host = StateData#state.host,
ServerHost = StateData#state.server_host,
+ ejabberd_hooks:run(leave_room, ServerHost, [ServerHost, Room, Host, JID]),
mod_muc:unregister_online_user(ServerHost, jid:tolower(JID), Room, Host).
-spec tab_count_user(jid(), state()) -> non_neg_integer().