diff options
Diffstat (limited to 'src/mod_shared_roster.erl')
-rw-r--r-- | src/mod_shared_roster.erl | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl index c24ffb6cf..90614a35b 100644 --- a/src/mod_shared_roster.erl +++ b/src/mod_shared_roster.erl @@ -160,6 +160,7 @@ get_user_roster(Items, US) -> process_item(RosterItem, Host) -> USFrom = {UserFrom, ServerFrom} = RosterItem#roster.us, {UserTo, ServerTo, ResourceTo} = RosterItem#roster.jid, + NameTo = RosterItem#roster.name, USTo = {UserTo, ServerTo}, DisplayedGroups = get_user_displayed_groups(USFrom), CommonGroups = lists:filter(fun(Group) -> @@ -187,24 +188,24 @@ process_item(RosterItem, Host) -> PersonalGroups -> %% Store roster items in From and To rosters set_new_rosteritems(UserFrom, ServerFrom, - UserTo, ServerTo, ResourceTo, + UserTo, ServerTo, ResourceTo, NameTo, PersonalGroups) end end. -build_roster_record(User1, Server1, User2, Server2, Groups) -> +build_roster_record(User1, Server1, User2, Server2, Name2, Groups) -> USR2 = {User2, Server2, ""}, #roster{usj = {User1, Server1, USR2}, us = {User1, Server1}, jid = USR2, - name = User2, + name = Name2, subscription = both, ask = none, groups = Groups }. set_new_rosteritems(UserFrom, ServerFrom, - UserTo, ServerTo, ResourceTo, GroupsFrom) -> + UserTo, ServerTo, ResourceTo, NameTo, GroupsFrom) -> Mod = case lists:member(mod_roster_odbc, gen_mod:loaded_modules(ServerFrom)) of true -> mod_roster_odbc; @@ -212,13 +213,13 @@ set_new_rosteritems(UserFrom, ServerFrom, end, RIFrom = build_roster_record(UserFrom, ServerFrom, - UserTo, ServerTo, GroupsFrom), + UserTo, ServerTo, NameTo, GroupsFrom), set_item(UserFrom, ServerFrom, ResourceTo, RIFrom), JIDTo = jlib:make_jid(UserTo, ServerTo, ""), JIDFrom = jlib:make_jid(UserFrom, ServerFrom, ""), RITo = build_roster_record(UserTo, ServerTo, - UserFrom, ServerFrom, []), + UserFrom, ServerFrom, UserFrom,[]), set_item(UserTo, ServerTo, "", RITo), %% From requests |