Software /
code /
prosody
Comparison
plugins/muc/muc.lib.lua @ 6183:a8e777a19816
plugins/muc/muc.lib: Fix sending occupant jid instead of real jid in <item/> actor
author | daurnimator <quae@daurnimator.com> |
---|---|
date | Fri, 28 Mar 2014 13:11:11 -0400 |
parent | 6182:dbf0b09664cd |
child | 6184:2bfc4b12ec8f |
comparison
equal
deleted
inserted
replaced
6182:dbf0b09664cd | 6183:a8e777a19816 |
---|---|
161 end | 161 end |
162 -- actor is (real) jid | 162 -- actor is (real) jid |
163 function room_mt:build_item_list(occupant, x, is_anonymous, nick, actor, reason) | 163 function room_mt:build_item_list(occupant, x, is_anonymous, nick, actor, reason) |
164 local affiliation = self:get_affiliation(occupant.bare_jid); | 164 local affiliation = self:get_affiliation(occupant.bare_jid); |
165 local role = occupant.role; | 165 local role = occupant.role; |
166 local actor_jid = actor and self:get_occupant_jid(actor); | 166 local actor_attr; |
167 if actor then | 167 if actor then |
168 actor = {nick = select(3,jid_split(actor_jid))}; | 168 actor_attr = {nick = select(3,jid_split(self:get_occupant_jid(actor)))}; |
169 end | 169 end |
170 if is_anonymous then | 170 if is_anonymous then |
171 add_item(x, affiliation, role, nil, nick, actor, reason); | 171 add_item(x, affiliation, role, nil, nick, actor_attr, reason); |
172 else | 172 else |
173 if actor_jid then | 173 if actor_attr then |
174 actor.jid = actor_jid; | 174 actor_attr.jid = actor; |
175 end | 175 end |
176 for real_jid, session in occupant:each_session() do | 176 for real_jid, session in occupant:each_session() do |
177 add_item(x, affiliation, role, real_jid, nick, actor, reason); | 177 add_item(x, affiliation, role, real_jid, nick, actor_attr, reason); |
178 end | 178 end |
179 end | 179 end |
180 return x | 180 return x |
181 end | 181 end |
182 | 182 |