aboutsummaryrefslogtreecommitdiff
path: root/src/mod_muc/mod_muc.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2012-03-31 21:41:54 +1000
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2012-03-31 21:41:54 +1000
commit6b3875814c47ba3ea4d76c329f9d63b0d96510e7 (patch)
treef9af9c20af6e9331e9bc9a4e38f56a82a5ddf187 /src/mod_muc/mod_muc.erl
parentChange log level from informational to error (diff)
ODBC support for mod_muc
Diffstat (limited to 'src/mod_muc/mod_muc.erl')
-rw-r--r--src/mod_muc/mod_muc.erl27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/mod_muc/mod_muc.erl b/src/mod_muc/mod_muc.erl
index b5f3c1c7d..5ae7e82ec 100644
--- a/src/mod_muc/mod_muc.erl
+++ b/src/mod_muc/mod_muc.erl
@@ -35,13 +35,13 @@
start/2,
stop/1,
room_destroyed/4,
- store_room/3,
- restore_room/2,
- forget_room/2,
+ store_room/4,
+ restore_room/3,
+ forget_room/3,
create_room/5,
process_iq_disco_items/4,
broadcast_service_message/2,
- can_use_nick/3]).
+ can_use_nick/4]).
%% gen_server callbacks
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
@@ -111,14 +111,14 @@ create_room(Host, Name, From, Nick, Opts) ->
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
gen_server:call(Proc, {create, Name, From, Nick, Opts}).
-store_room(Host, Name, Opts) ->
+store_room(_ServerHost, Host, Name, Opts) ->
F = fun() ->
mnesia:write(#muc_room{name_host = {Name, Host},
opts = Opts})
end,
mnesia:transaction(F).
-restore_room(Host, Name) ->
+restore_room(_ServerHost, Host, Name) ->
case catch mnesia:dirty_read(muc_room, {Name, Host}) of
[#muc_room{opts = Opts}] ->
Opts;
@@ -126,7 +126,7 @@ restore_room(Host, Name) ->
error
end.
-forget_room(Host, Name) ->
+forget_room(_ServerHost, Host, Name) ->
F = fun() ->
mnesia:delete({muc_room, {Name, Host}})
end,
@@ -142,9 +142,9 @@ process_iq_disco_items(Host, From, To, #iq{lang = Lang} = IQ) ->
From,
jlib:iq_to_xml(Res)).
-can_use_nick(_Host, _JID, "") ->
+can_use_nick(_ServerHost, _Host, _JID, "") ->
false;
-can_use_nick(Host, JID, Nick) ->
+can_use_nick(_ServerHost, Host, JID, Nick) ->
{LUser, LServer, _} = jlib:jid_tolower(JID),
LUS = {LUser, LServer},
case catch mnesia:dirty_select(
@@ -238,7 +238,7 @@ handle_call({create, Room, From, Nick, Opts},
Host, ServerHost, Access,
Room, HistorySize,
RoomShaper, From,
- Nick, NewOpts),
+ Nick, NewOpts, ?MODULE),
register_room(Host, Room, Pid),
{reply, ok, State}.
@@ -541,7 +541,8 @@ load_permanent_rooms(Host, ServerHost, Access, HistorySize, RoomShaper) ->
Room,
HistorySize,
RoomShaper,
- R#muc_room.opts),
+ R#muc_room.opts,
+ ?MODULE),
register_room(Host, Room, Pid);
_ ->
ok
@@ -558,12 +559,12 @@ start_new_room(Host, ServerHost, Access, Room,
mod_muc_room:start(Host, ServerHost, Access,
Room, HistorySize,
RoomShaper, From,
- Nick, DefRoomOpts);
+ Nick, DefRoomOpts, ?MODULE);
[#muc_room{opts = Opts}|_] ->
?DEBUG("MUC: restore room '~s'~n", [Room]),
mod_muc_room:start(Host, ServerHost, Access,
Room, HistorySize,
- RoomShaper, Opts)
+ RoomShaper, Opts, ?MODULE)
end.
register_room(Host, Room, Pid) ->