aboutsummaryrefslogtreecommitdiff
path: root/src/mod_admin_extra.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_admin_extra.erl')
-rw-r--r--src/mod_admin_extra.erl23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl
index 562087d96..2ad1cc28e 100644
--- a/src/mod_admin_extra.erl
+++ b/src/mod_admin_extra.erl
@@ -47,7 +47,7 @@
srg_delete/2, srg_list/1, srg_get_info/2,
srg_get_members/2, srg_user_add/4, srg_user_del/4,
send_message/5, send_stanza/3, send_stanza_c2s/4, privacy_set/3,
- stats/1, stats/2, mod_opt_type/1, get_commands_spec/0]).
+ stats/1, stats/2, mod_opt_type/1, get_commands_spec/0, depends/2]).
-include("ejabberd.hrl").
@@ -66,6 +66,8 @@ start(_Host, _Opts) ->
stop(_Host) ->
ejabberd_commands:unregister_commands(get_commands_spec()).
+depends(_Host, _Opts) ->
+ [].
%%%
%%% Register commands
@@ -861,12 +863,15 @@ connected_users_vhost(Host) ->
%% Code copied from ejabberd_sm.erl and customized
dirty_get_sessions_list2() ->
- mnesia:dirty_select(
- session,
- [{#session{usr = '$1', sid = {'$2', '$3'}, priority = '$4', info = '$5',
- _ = '_'},
- [{is_pid, '$3'}],
- [['$1', {{'$2', '$3'}}, '$4', '$5']]}]).
+ Ss = mnesia:dirty_select(
+ session,
+ [{#session{usr = '$1', sid = '$2', priority = '$3', info = '$4',
+ _ = '_'},
+ [],
+ [['$1', '$2', '$3', '$4']]}]),
+ lists:filter(fun([_USR, _SID, _Priority, Info]) ->
+ not proplists:get_bool(offline, Info)
+ end, Ss).
%% Make string more print-friendly
stringize(String) ->
@@ -901,8 +906,8 @@ user_sessions_info(User, Host) ->
{'EXIT', _Reason} ->
[];
Ss ->
- lists:filter(fun(#session{sid = {_, Pid}}) ->
- is_pid(Pid)
+ lists:filter(fun(#session{info = Info}) ->
+ not proplists:get_bool(offline, Info)
end, Ss)
end,
lists:map(