diff options
Diffstat (limited to 'src/mod_last_odbc.erl')
-rw-r--r-- | src/mod_last_odbc.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mod_last_odbc.erl b/src/mod_last_odbc.erl index ef3c656eb..e7577ed40 100644 --- a/src/mod_last_odbc.erl +++ b/src/mod_last_odbc.erl @@ -16,7 +16,8 @@ stop/0, process_local_iq/3, process_sm_iq/3, - on_presence_update/3, + on_presence_update/4, + store_last_info/4, remove_user/1]). -include("ejabberd.hrl"). @@ -120,10 +121,13 @@ get_last(IQ, SubEl, LUser) -> -on_presence_update(User, _Resource, Status) -> - LUser = jlib:nodeprep(User), +on_presence_update(User, Server, _Resource, Status) -> {MegaSecs, Secs, _MicroSecs} = now(), TimeStamp = MegaSecs * 1000000 + Secs, + store_last_info(User, Server, TimeStamp, Status). + +store_last_info(User, Server, TimeStamp, Status) -> + LUser = jlib:nodeprep(User), Username = ejabberd_odbc:escape(LUser), Seconds = ejabberd_odbc:escape(integer_to_list(TimeStamp)), State = ejabberd_odbc:escape(Status), |