aboutsummaryrefslogtreecommitdiff
path: root/src/mod_last_odbc.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_last_odbc.erl')
-rw-r--r--src/mod_last_odbc.erl10
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),