aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mod_roster_odbc.erl13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mod_roster_odbc.erl b/src/mod_roster_odbc.erl
index 75b58e8b6..36d477d52 100644
--- a/src/mod_roster_odbc.erl
+++ b/src/mod_roster_odbc.erl
@@ -468,7 +468,18 @@ process_subscription(Direction, User, Server, JID1, Type) ->
{selected, ["username", "jid", "nick", "subscription", "ask",
"server", "subscribe", "type"],
[I]} ->
- raw_to_record(I);
+ R = raw_to_record(I),
+ Groups = case catch ejabberd_odbc:sql_query(
+ LServer,
+ ["select grp from rostergroups "
+ "where username='", Username, "' "
+ "and jid='", SJID, "'"]) of
+ {selected, ["grp"], JGrps} when is_list(JGrps) ->
+ [JGrp || {JGrp} <- JGrps];
+ _ ->
+ []
+ end,
+ R#roster{groups = Groups};
_ ->
#roster{user = LUser,
jid = LJID}