aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/web/ejabberd_web_admin.erl22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/web/ejabberd_web_admin.erl b/src/web/ejabberd_web_admin.erl
index b6cb1fb3b..0a66b1576 100644
--- a/src/web/ejabberd_web_admin.erl
+++ b/src/web/ejabberd_web_admin.erl
@@ -1695,6 +1695,27 @@ user_info(User, Server, Query, Lang) ->
?INPUTT("submit", "chpassword", "Change Password")],
UserItems = ejabberd_hooks:run_fold(webadmin_user, LServer, [],
[User, Server, Lang]),
+ %% Code copied from list_given_users/5:
+ ModLast = get_lastactivity_module(Server),
+ LastActivity = case ejabberd_sm:get_user_resources(User, Server) of
+ [] ->
+ case ModLast:get_last_info(User, Server) of
+ not_found ->
+ ?T("Never");
+ {ok, Shift, _Status} ->
+ TimeStamp = {Shift div 1000000,
+ Shift rem 1000000,
+ 0},
+ {{Year, Month, Day}, {Hour, Minute, Second}} =
+ calendar:now_to_local_time(TimeStamp),
+ lists:flatten(
+ io_lib:format(
+ "~w-~.2.0w-~.2.0w ~.2.0w:~.2.0w:~.2.0w",
+ [Year, Month, Day, Hour, Minute, Second]))
+ end;
+ _ ->
+ ?T("Online")
+ end,
[?XC("h1", ?T("User ") ++ us_to_list(US))] ++
case Res of
ok -> [?XREST("Submitted")];
@@ -1704,6 +1725,7 @@ user_info(User, Server, Query, Lang) ->
[?XAE("form", [{"action", ""}, {"method", "post"}],
[?XCT("h3", "Connected Resources:")] ++ FResources ++
[?XCT("h3", "Password:")] ++ FPassword ++
+ [?XCT("h3", "Last Activity")] ++ [?C(LastActivity)] ++
UserItems ++
[?P, ?INPUTT("submit", "removeuser", "Remove User")])].