Role = get_default_role(Aff, State1),
State2 = set_role(From, Role, State1),
State3 = set_nick(From, Nick, State2),
+ tab_add_online_user(From, StateData),
send_existing_presences(From, State3),
send_initial_presence(From, State3, StateData),
State3.
NewStateData.
add_online_user(JID, Nick, Role, IsSubscriber, Nodes, StateData) ->
- tab_add_online_user(JID, StateData),
User = #user{jid = JID, nick = Nick, role = Role,
is_subscriber = IsSubscriber, subscriptions = Nodes},
StateData1 = update_online_user(JID, User, StateData),
error ->
StateData#state.users
end,
+ tab_remove_online_user(JID, StateData),
StateData#state{users = Users};
remove_online_user(JID, StateData, _IsSubscriber, Reason) ->
LJID = jid:tolower(JID),
add_online_user(From, Nick, Role,
IsSubscribeRequest,
Nodes, StateData)),
+ tab_add_online_user(From, NewState),
send_existing_presences(From, NewState),
send_initial_presence(From, NewState, StateData),
Shift = count_stanza_shift(Nick, Els, NewState),