diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2012-03-31 21:41:54 +1000 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2012-03-31 21:41:54 +1000 |
commit | 6b3875814c47ba3ea4d76c329f9d63b0d96510e7 (patch) | |
tree | f9af9c20af6e9331e9bc9a4e38f56a82a5ddf187 /src/mod_muc/mod_muc.erl | |
parent | Change 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.erl | 27 |
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) -> |