summaryrefslogtreecommitdiff
path: root/src/mod_muc/mod_muc_room.erl
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-12-29 14:43:24 +0000
committerBadlop <badlop@process-one.net>2009-12-29 14:43:24 +0000
commit9bee86178f80cc58685e2cda5e30d30b5f747258 (patch)
treec6bf9c6c915b471b51ed225cd66cc7b24c15d334 /src/mod_muc/mod_muc_room.erl
parentSend features after negotiating binding and session (EJAB-1058) (diff)
Write in room log when a room is created, destroyed, started, stopped (EJAB-1144)
SVN Revision: 2836
Diffstat (limited to 'src/mod_muc/mod_muc_room.erl')
-rw-r--r--src/mod_muc/mod_muc_room.erl9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl
index f63fdd81..54199ff2 100644
--- a/src/mod_muc/mod_muc_room.erl
+++ b/src/mod_muc/mod_muc_room.erl
@@ -125,6 +125,8 @@ init([Host, ServerHost, Access, Room, HistorySize, RoomShaper, Creator, _Nick, D
State1 = set_opts(DefRoomOpts, State),
?INFO_MSG("Created MUC room ~s@~s by ~s",
[Room, Host, jlib:jid_to_string(Creator)]),
+ add_to_log(room_existence, created, State1),
+ add_to_log(room_existence, started, State1),
{ok, normal_state, State1};
init([Host, ServerHost, Access, Room, HistorySize, RoomShaper, Opts]) ->
process_flag(trap_exit, true),
@@ -136,6 +138,7 @@ init([Host, ServerHost, Access, Room, HistorySize, RoomShaper, Opts]) ->
history = lqueue_new(HistorySize),
jid = jlib:make_jid(Room, Host, ""),
room_shaper = Shaper}),
+ add_to_log(room_existence, started, State),
{ok, normal_state, State}.
%%----------------------------------------------------------------------
@@ -567,6 +570,7 @@ handle_event({destroy, Reason}, _StateName, StateData) ->
end}, StateData),
?INFO_MSG("Destroyed MUC room ~s with reason: ~p",
[jlib:jid_to_string(StateData#state.jid), Reason]),
+ add_to_log(room_existence, destroyed, StateData),
{stop, normal, StateData};
handle_event(destroy, StateName, StateData) ->
?INFO_MSG("Destroyed MUC room ~s",
@@ -725,10 +729,13 @@ handle_info(_Info, StateName, StateData) ->
%% Returns: any
%%----------------------------------------------------------------------
terminate(_Reason, _StateName, StateData) ->
+ ?INFO_MSG("Stopping MUC room ~s@~s",
+ [StateData#state.room, StateData#state.host]),
?DICT:fold(
fun(J, _, _) ->
tab_remove_online_user(J, StateData)
end, [], StateData#state.users),
+ add_to_log(room_existence, stopped, StateData),
mod_muc:room_destroyed(StateData#state.host, StateData#state.room, self(),
StateData#state.server_host),
ok.
@@ -962,6 +969,7 @@ process_presence(From, Nick, {xmlelement, "presence", Attrs, _Els} = Packet,
true ->
?INFO_MSG("Destroyed MUC room ~s because it's temporary and empty",
[jlib:jid_to_string(StateData#state.jid)]),
+ add_to_log(room_existence, destroyed, StateData),
{stop, normal, StateData1};
_ ->
{next_state, normal_state, StateData1}
@@ -2698,6 +2706,7 @@ process_iq_owner(From, set, Lang, SubEl, StateData) ->
[{xmlelement, "destroy", _Attrs1, _Els1} = SubEl1] ->
?INFO_MSG("Destroyed MUC room ~s by the owner ~s",
[jlib:jid_to_string(StateData#state.jid), jlib:jid_to_string(From)]),
+ add_to_log(room_existence, destroyed, StateData),
destroy_room(SubEl1, StateData);
Items ->
process_admin_items_set(From, Items, Lang, StateData)