aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbadlop <badlop@process-one.net>2016-06-08 13:57:52 +0200
committerbadlop <badlop@process-one.net>2016-06-08 13:57:52 +0200
commita4f213837e74b13756a0e6bad3b495a57b8b8753 (patch)
treec7a00f98d33a746734a7b73abffca5714cc67a06 /src
parentProduce mod_last entry on account creation (processone/ejabberd-contrib#62) (diff)
parentmod_roster should probably respect roster item changes introduced with roster... (diff)
Merge pull request #1125 from vthriller/roster-push
mod_roster should probably respect roster item changes introduced with roster_process_item hooks upon pushing
Diffstat (limited to 'src')
-rw-r--r--src/mod_roster.erl10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mod_roster.erl b/src/mod_roster.erl
index b3a627f7c..d66304796 100644
--- a/src/mod_roster.erl
+++ b/src/mod_roster.erl
@@ -382,14 +382,14 @@ process_item_set(From, To,
Item = get_roster_by_jid_t(LUser, LServer, LJID),
Item1 = process_item_attrs_managed(Item, Attrs, Managed),
Item2 = process_item_els(Item1, Els),
- case Item2#roster.subscription of
- remove -> del_roster_t(LUser, LServer, LJID);
- _ -> update_roster_t(LUser, LServer, LJID, Item2)
- end,
- send_itemset_to_managers(From, Item2, Managed),
Item3 = ejabberd_hooks:run_fold(roster_process_item,
LServer, Item2,
[LServer]),
+ case Item3#roster.subscription of
+ remove -> del_roster_t(LUser, LServer, LJID);
+ _ -> update_roster_t(LUser, LServer, LJID, Item3)
+ end,
+ send_itemset_to_managers(From, Item3, Managed),
case roster_version_on_db(LServer) of
true -> write_roster_version_t(LUser, LServer);
false -> ok