summaryrefslogtreecommitdiff
path: root/src/mod_offline.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-03-03 14:10:06 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-03-03 14:10:40 +0300
commite95cf420a2671c0f381724ee4af719a27ce5873d (patch)
treefe0d1a3a15875233c1f930bf8649ff37098f2f1b /src/mod_offline.erl
parentUse Elixir v1.2.3 (diff)
Enable flexible offline on disco#info as well
Diffstat (limited to 'src/mod_offline.erl')
-rw-r--r--src/mod_offline.erl10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mod_offline.erl b/src/mod_offline.erl
index 0db1dd68..4e00d923 100644
--- a/src/mod_offline.erl
+++ b/src/mod_offline.erl
@@ -341,9 +341,15 @@ get_sm_items(_Acc, #jid{luser = U, lserver = S, lresource = R} = JID,
get_sm_items(Acc, _From, _To, _Node, _Lang) ->
Acc.
-get_info(_Acc, #jid{luser = U, lserver = S}, #jid{luser = U, lserver = S},
- ?NS_FLEX_OFFLINE, _Lang) ->
+get_info(_Acc, #jid{luser = U, lserver = S, lresource = R},
+ #jid{luser = U, lserver = S}, ?NS_FLEX_OFFLINE, _Lang) ->
N = jlib:integer_to_binary(count_offline_messages(U, S)),
+ case ejabberd_sm:get_session_pid(U, S, R) of
+ Pid when is_pid(Pid) ->
+ Pid ! dont_ask_offline;
+ none ->
+ ok
+ end,
[#xmlel{name = <<"x">>,
attrs = [{<<"xmlns">>, ?NS_XDATA},
{<<"type">>, <<"result">>}],