diff options
author | Evgeny Khramtsov <ekhramtsov@process-one.net> | 2019-06-24 18:47:51 +0300 |
---|---|---|
committer | Evgeny Khramtsov <ekhramtsov@process-one.net> | 2019-06-24 18:47:51 +0300 |
commit | 370226417ad9524dae101595fd955f69df75ec3c (patch) | |
tree | b1e2c463925025549342175c05d94dbffdddf07a | |
parent | 2e35252aed3699e5f70eced3ed8b57d8c3557e64 (diff) |
Check if mod_last is loaded before calling its functions
-rw-r--r-- | src/ejabberd_web_admin.erl | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/ejabberd_web_admin.erl b/src/ejabberd_web_admin.erl index 256920c25..c50d51bb9 100644 --- a/src/ejabberd_web_admin.erl +++ b/src/ejabberd_web_admin.erl @@ -707,9 +707,7 @@ list_given_users(Host, Users, Prefix, Lang, URLFunc) -> Server) of [] -> - case mod_last:get_last_info(User, - Server) - of + case get_last_info(User, Server) of not_found -> translate:translate(Lang, ?T("Never")); {ok, Shift, _Status} -> TimeStamp = {Shift div @@ -755,9 +753,22 @@ get_offlinemsg_module(Server) -> end. get_lastactivity_menuitem_list(Server) -> - case mod_last_opt:db_type(Server) of - mnesia -> [{<<"last-activity">>, ?T("Last Activity")}]; - _ -> [] + case gen_mod:is_loaded(Server, mod_last) of + true -> + case mod_last_opt:db_type(Server) of + mnesia -> [{<<"last-activity">>, ?T("Last Activity")}]; + _ -> [] + end; + false -> + [] + end. + +get_last_info(User, Server) -> + case gen_mod:is_loaded(Server, mod_last) of + true -> + mod_last:get_last_info(User, Server); + false -> + not_found end. us_to_list({User, Server}) -> @@ -890,7 +901,7 @@ user_info(User, Server, Query, Lang) -> Server) of [] -> - case mod_last:get_last_info(User, Server) of + case get_last_info(User, Server) of not_found -> translate:translate(Lang, ?T("Never")); {ok, Shift, _Status} -> TimeStamp = {Shift div 1000000, |