]> granicus.if.org Git - ejabberd/commitdiff
Send jid attribute when occupant is banned (EJAB-1432)
authorBadlop <badlop@process-one.net>
Thu, 7 Apr 2011 11:12:52 +0000 (13:12 +0200)
committerBadlop <badlop@process-one.net>
Thu, 7 Apr 2011 11:12:52 +0000 (13:12 +0200)
src/mod_muc/mod_muc_room.erl

index cbcb195fa25762e140c30d0ab708ebbedd65f870..96305cfe3355c3796bdeb7f737cfa86dfb441f11 100644 (file)
@@ -2756,13 +2756,20 @@ send_kickban_presence(JID, Reason, Code, NewAffiliation, StateData) ->
                  end, LJIDs).
 
 send_kickban_presence1(UJID, Reason, Code, Affiliation, StateData) ->
-    {ok, #user{jid = _RealJID,
+    {ok, #user{jid = RealJID,
               nick = Nick}} = ?DICT:find(UJID, StateData#state.users),
     SAffiliation = affiliation_to_binary(Affiliation),
+    BannedJID = exmpp_jid:to_binary(RealJID),
     lists:foreach(
       fun({_LJID, Info}) ->
+             JidAttrList = case (Info#user.role == moderator) orelse
+                               ((StateData#state.config)#config.anonymous
+                                == false) of
+                               true -> [?XMLATTR(<<"jid">>, BannedJID)];
+                               false -> []
+                           end,
              ItemAttrs = [?XMLATTR(<<"affiliation">>, SAffiliation),
-                                  ?XMLATTR(<<"role">>, <<"none">>)],
+                                  ?XMLATTR(<<"role">>, <<"none">>)] ++ JidAttrList,
              ItemEls = case Reason of
                            "" ->
                                [];