1
0
Fork 0
mirror of https://github.com/processone/ejabberd synced 2025-10-03 09:49:18 +02:00

Use nicks in disco#items or disco#info report

This commit is contained in:
Evgeniy Khramtsov 2018-02-21 10:25:15 +03:00
parent 4bf4193d55
commit 0acc69e303

View file

@ -508,7 +508,7 @@ handle_event(_Event, StateName, StateData) ->
{next_state, StateName, StateData}. {next_state, StateName, StateData}.
handle_sync_event({get_disco_item, Filter, JID, Lang}, _From, StateName, StateData) -> handle_sync_event({get_disco_item, Filter, JID, Lang}, _From, StateName, StateData) ->
Len = ?DICT:size(StateData#state.users), Len = ?DICT:size(StateData#state.nicks),
Reply = case (Filter == all) or (Filter == Len) or ((Filter /= 0) and (Len /= 0)) of Reply = case (Filter == all) or (Filter == Len) or ((Filter /= 0) and (Len /= 0)) of
true -> true ->
get_roomdesc_reply(JID, StateData, get_roomdesc_reply(JID, StateData,
@ -3673,7 +3673,7 @@ process_iq_disco_info(_From, #iq{type = get, lang = Lang}, StateData) ->
-spec iq_disco_info_extras(binary(), state()) -> xdata(). -spec iq_disco_info_extras(binary(), state()) -> xdata().
iq_disco_info_extras(Lang, StateData) -> iq_disco_info_extras(Lang, StateData) ->
Fs1 = [{description, (StateData#state.config)#config.description}, Fs1 = [{description, (StateData#state.config)#config.description},
{occupants, ?DICT:size(StateData#state.users)}, {occupants, ?DICT:size(StateData#state.nicks)},
{contactjid, get_owners(StateData)}], {contactjid, get_owners(StateData)}],
Fs2 = case (StateData#state.config)#config.pubsub of Fs2 = case (StateData#state.config)#config.pubsub of
Node when is_binary(Node), Node /= <<"">> -> Node when is_binary(Node), Node /= <<"">> ->
@ -3906,20 +3906,18 @@ get_roomdesc_tail(StateData, Lang) ->
true -> <<"">>; true -> <<"">>;
_ -> translate:translate(Lang, <<"private, ">>) _ -> translate:translate(Lang, <<"private, ">>)
end, end,
Len = (?DICT):size(StateData#state.users), Len = (?DICT):size(StateData#state.nicks),
<<" (", Desc/binary, (integer_to_binary(Len))/binary, ")">>. <<" (", Desc/binary, (integer_to_binary(Len))/binary, ")">>.
-spec get_mucroom_disco_items(state()) -> disco_items(). -spec get_mucroom_disco_items(state()) -> disco_items().
get_mucroom_disco_items(StateData) -> get_mucroom_disco_items(StateData) ->
Items = lists:map( Items = ?DICT:fold(
fun({_LJID, Info}) -> fun(Nick, _, Acc) ->
Nick = Info#user.nick, [#disco_item{jid = jid:make(StateData#state.room,
#disco_item{jid = jid:make(StateData#state.room, StateData#state.host,
StateData#state.host, Nick),
Nick), name = Nick}|Acc]
name = Nick} end, [], StateData#state.nicks),
end,
(?DICT):to_list(StateData#state.users)),
#disco_items{items = Items}. #disco_items{items = Items}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%