mirror of
https://github.com/processone/ejabberd.git
synced 2024-06-02 21:17:12 +02:00
Set subscribers nicks when recreating room (thanks to Girdhar Sojitra)(#1495)
This commit is contained in:
parent
b2a2e0f135
commit
a31154c035
|
@ -3515,17 +3515,20 @@ set_opts([{Opt, Val} | Opts], StateData) ->
|
||||||
StateData#state{config =
|
StateData#state{config =
|
||||||
(StateData#state.config)#config{allow_subscription = Val}};
|
(StateData#state.config)#config{allow_subscription = Val}};
|
||||||
subscribers ->
|
subscribers ->
|
||||||
Subscribers = lists:foldl(
|
{Subscribers, Nicks} =
|
||||||
fun({JID, Nick, Nodes}, Acc) ->
|
lists:foldl(
|
||||||
|
fun({JID, Nick, Nodes}, {SubAcc, NickAcc}) ->
|
||||||
BareJID = jid:remove_resource(JID),
|
BareJID = jid:remove_resource(JID),
|
||||||
?DICT:store(
|
{?DICT:store(
|
||||||
jid:tolower(BareJID),
|
jid:tolower(BareJID),
|
||||||
#subscriber{jid = BareJID,
|
#subscriber{jid = BareJID,
|
||||||
nick = Nick,
|
nick = Nick,
|
||||||
nodes = Nodes},
|
nodes = Nodes},
|
||||||
Acc)
|
SubAcc),
|
||||||
end, ?DICT:new(), Val),
|
?DICT:store(Nick, [jid:tolower(BareJID)], NickAcc)}
|
||||||
StateData#state{subscribers = Subscribers};
|
end, {?DICT:new(), ?DICT:new()}, Val),
|
||||||
|
StateData#state{subscribers = Subscribers,
|
||||||
|
subscriber_nicks = Nicks};
|
||||||
affiliations ->
|
affiliations ->
|
||||||
StateData#state{affiliations = (?DICT):from_list(Val)};
|
StateData#state{affiliations = (?DICT):from_list(Val)};
|
||||||
subject -> StateData#state{subject = Val};
|
subject -> StateData#state{subject = Val};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user