aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2010-01-03 00:40:37 +0000
committerBadlop <badlop@process-one.net>2010-01-03 00:40:37 +0000
commitee41e1eb709283e3131f125dca82247500010d66 (patch)
tree1a8cc6e4087b05e2712ca792e35b6c1791e1ed47 /src
parentCommand to stop ejabberd informing users, with grace period, and kindly (EJAB... (diff)
Show the last activity time in the user page.
SVN Revision: 2854
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")])].