aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/web/ejabberd_web_admin.erl13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/web/ejabberd_web_admin.erl b/src/web/ejabberd_web_admin.erl
index 90d0a9a92..7bd69861c 100644
--- a/src/web/ejabberd_web_admin.erl
+++ b/src/web/ejabberd_web_admin.erl
@@ -1143,23 +1143,22 @@ list_users(Query, Lang) ->
list_users_parse_query(Query) ->
case lists:keysearch("addnewuser", 1, Query) of
{value, _} ->
- {value, {_, User}} =
+ {value, {_, JIDString}} =
lists:keysearch("newusername", 1, Query),
{value, {_, Password}} =
lists:keysearch("newuserpassword", 1, Query),
- case jlib:nodeprep(User) of
+ case jlib:string_to_jid(JIDString) of
error ->
error;
- "" ->
- error;
- _ ->
- ejabberd_auth:try_register(User, Password),
+ #jid{user = User, server = Server} ->
+ ejabberd_auth:try_register(User, Server, Password),
ok
end;
false ->
nothing
end.
+
list_users_in_diapason(Diap, Lang) ->
Users = ejabberd_auth:dirty_get_registered_users(),
SUsers = lists:sort([{S, U} || {U, S} <- Users]),
@@ -1181,7 +1180,7 @@ list_given_users(Users, Prefix, Lang) ->
fun(SU = {Server, User}) ->
US = {User, Server},
QueueLen = length(mnesia:dirty_read({offline_msg, US})),
- FQueueLen = [?AC(Prefix ++ "user/" ++ User ++ "/queue/",
+ FQueueLen = [?AC(Prefix ++ "user/" ++ User ++ "@" ++ Server ++ "/queue/",
integer_to_list(QueueLen))],
FLast =
case ejabberd_sm:get_user_resources(User, Server) of