The archive_msg export fun requires MUC Service for room archives

This commit is contained in:
Badlop 2021-08-27 12:38:47 +02:00
parent 2229e4c6db
commit 796f567db1
2 changed files with 9 additions and 3 deletions

View File

@ -165,12 +165,18 @@ import_info(Mod) ->
%%%----------------------------------------------------------------------
export(LServer, Table, IO, ConvertFun) ->
DbType = ejabberd_option:sql_type(LServer),
LServerConvert = case Table of
archive_msg ->
[LServer | mod_muc_admin:find_hosts(LServer)];
_ ->
LServer
end,
F = fun () ->
mnesia:read_lock_table(Table),
{_N, SQLs} =
mnesia:foldl(
fun(R, {N, SQLs} = Acc) ->
case ConvertFun(LServer, R) of
case ConvertFun(LServerConvert, R) of
[] ->
Acc;
SQL1 ->

View File

@ -362,10 +362,10 @@ export(_Server) ->
[]
end},
{archive_msg,
fun(Host, #archive_msg{us ={LUser, LServer},
fun([Host | HostTail], #archive_msg{us ={LUser, LServer},
id = _ID, timestamp = TS, peer = Peer,
type = Type, nick = Nick, packet = Pkt})
when LServer == Host ->
when (LServer == Host) or ([LServer] == HostTail) ->
TStmp = misc:now_to_usec(TS),
SUser = case Type of
chat -> LUser;