]> granicus.if.org Git - ejabberd/commitdiff
Add muc related hooks
authorChristophe Romain <christophe.romain@process-one.net>
Thu, 27 Jul 2017 15:02:06 +0000 (17:02 +0200)
committerChristophe Romain <christophe.romain@process-one.net>
Thu, 27 Jul 2017 15:02:06 +0000 (17:02 +0200)
src/mod_muc.erl
src/mod_muc_room.erl

index 69fc2d0dc21a408a649b900bcb7da65556f3fb75..8b6d7b8b9aedeeac85616383b5ab9aa91bb78403 100644 (file)
@@ -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}) ->
index ec1cffd6ac53c076579d49d7a331f169e5f895c3..31dbbbfa794e811cbd1f47d1b9a458857a814854 100644 (file)
@@ -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().