aboutsummaryrefslogtreecommitdiff
path: root/src/mod_muc_admin.erl
diff options
context:
space:
mode:
authorChristoph Scholz <christoph.scholz@gmail.com>2019-02-23 22:48:15 +0100
committerChristoph Scholz <christoph.scholz@gmail.com>2019-02-23 22:48:15 +0100
commitdd7754bc5912f8ecba4c2f55ad3a019d958d8f47 (patch)
treedde0044a5c6a999e656b8c71c18203c619ee6730 /src/mod_muc_admin.erl
parentProvide source code filename in *.po, so editors can show the source code (diff)
only destroy rooms if mam is enabled
when using ejabberdctl rooms_empty_list or rooms_empty_destroy only select rooms that are have mam enabled. Otherwise you may accidently destroy rooms which seem to be unsused due to archive being empty
Diffstat (limited to 'src/mod_muc_admin.erl')
-rw-r--r--src/mod_muc_admin.erl14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mod_muc_admin.erl b/src/mod_muc_admin.erl
index 494a4ef3f..4bb0759eb 100644
--- a/src/mod_muc_admin.erl
+++ b/src/mod_muc_admin.erl
@@ -840,10 +840,16 @@ decide_room(unused, {_Room_name, _Host, Room_pid}, ServerHost, Last_allowed) ->
end;
decide_room(empty, {Room_name, Host, _Room_pid}, ServerHost, _Last_allowed) ->
case gen_mod:is_loaded(ServerHost, mod_mam) of
- true ->
- mod_mam:is_empty_for_room(ServerHost, Room_name, Host);
- _ ->
- false
+ true ->
+ Room_options = get_room_options(Room_name, Host),
+ case lists:keyfind(<<"mam">>, 1, Room_options) of
+ {<<"mam">>, <<"true">>} ->
+ mod_mam:is_empty_for_room(ServerHost, Room_name, Host);
+ _ ->
+ false
+ end;
+ _ ->
+ false
end.
seconds_to_days(S) ->