diff options
Diffstat (limited to 'src/mod_stats.erl')
-rw-r--r-- | src/mod_stats.erl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mod_stats.erl b/src/mod_stats.erl index d67331912..a11564e94 100644 --- a/src/mod_stats.erl +++ b/src/mod_stats.erl @@ -157,7 +157,12 @@ get_local_stat(_Server, [], Name) when Name == <<"users/all-hosts/online">> -> end; get_local_stat(_Server, [], Name) when Name == <<"users/all-hosts/total">> -> - case catch mnesia:table_info(passwd, size) of + NumUsers = lists:foldl( + fun(Host, Total) -> + ejabberd_auth:get_vh_registered_users_number(Host) + + Total + end, 0, ejabberd_config:get_global_option(hosts)), + case NumUsers of {'EXIT', _Reason} -> ?STATERR(<<"500">>, <<"Internal Server Error">>); Users -> |