Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-06-24 18:47:51 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-06-24 18:47:51 +0300
commit370226417ad9524dae101595fd955f69df75ec3c (patch)
treeb1e2c463925025549342175c05d94dbffdddf07a
parent2e35252aed3699e5f70eced3ed8b57d8c3557e64 (diff)
Check if mod_last is loaded before calling its functions
-rw-r--r--src/ejabberd_web_admin.erl25
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,