diff options
author | Badlop <badlop@process-one.net> | 2010-01-03 00:40:37 +0000 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2010-01-03 00:40:37 +0000 |
commit | ee41e1eb709283e3131f125dca82247500010d66 (patch) | |
tree | 1a8cc6e4087b05e2712ca792e35b6c1791e1ed47 /src | |
parent | Command 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.erl | 22 |
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")])]. |