diff options
author | Badlop <badlop@process-one.net> | 2019-05-02 20:22:46 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2019-05-02 20:32:10 +0200 |
commit | 7a107c02a524a31a766c51bf69292405612b579e (patch) | |
tree | 86b79d4ad12a68c7b480cc68f8b6bbe7c7c6f8de /src/prosody2ejabberd.erl | |
parent | Set from/to in activity marker messages (diff) |
Store imported room in the correct ServerHost (#2874)
Diffstat (limited to 'src/prosody2ejabberd.erl')
-rw-r--r-- | src/prosody2ejabberd.erl | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/prosody2ejabberd.erl b/src/prosody2ejabberd.erl index 3fc3cc8b5..6eb5689c1 100644 --- a/src/prosody2ejabberd.erl +++ b/src/prosody2ejabberd.erl @@ -198,7 +198,7 @@ convert_data(_Host, "config", _User, [Data]) -> RoomCfg = convert_room_config(Data), case proplists:get_bool(<<"persistent">>, Config) of true when RoomJID /= error -> - mod_muc:store_room(ejabberd_config:get_myname(), RoomJID#jid.lserver, + mod_muc:store_room(find_serverhost(RoomJID#jid.lserver), RoomJID#jid.lserver, RoomJID#jid.luser, RoomCfg); _ -> ok @@ -522,6 +522,19 @@ el_to_offline_msg(LUser, LServer, #xmlel{attrs = Attrs} = El) -> [] end. +find_serverhost(Host) -> + [ServerHost] = + lists:filter( + fun(ServerHost) -> + case gen_mod:is_loaded(ServerHost, mod_muc) of + true -> + Host == gen_mod:get_module_opt_host(ServerHost, mod_muc, <<"conference.@HOST@">>); + false -> + false + end + end, ejabberd_config:get_myhosts()), + ServerHost. + deserialize(L) -> deserialize(L, #xmlel{}, []). |