equal
deleted
inserted
replaced
354 occupant.jid = new_jid; |
354 occupant.jid = new_jid; |
355 occupant.sessions[from] = nil; |
355 occupant.sessions[from] = nil; |
356 pr.attr.to = from; |
356 pr.attr.to = from; |
357 pr:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
357 pr:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
358 :tag("item", {affiliation=occupant.affiliation or "none", role='none'}):up() |
358 :tag("item", {affiliation=occupant.affiliation or "none", role='none'}):up() |
359 :tag("status", {code='110'}); |
359 :tag("status", {code='110'}):up(); |
360 self:_route_stanza(pr); |
360 self:_route_stanza(pr); |
361 if jid ~= new_jid then |
361 if jid ~= new_jid then |
362 pr = st.clone(occupant.sessions[new_jid]) |
362 pr = st.clone(occupant.sessions[new_jid]) |
363 :tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
363 :tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
364 :tag("item", {affiliation=occupant.affiliation or "none", role=occupant.role or "none"}); |
364 :tag("item", {affiliation=occupant.affiliation or "none", role=occupant.role or "none"}); |
452 pr:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
452 pr:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
453 :tag("item", {affiliation=affiliation or "none", role=role or "none"}):up(); |
453 :tag("item", {affiliation=affiliation or "none", role=role or "none"}):up(); |
454 if not is_merge then |
454 if not is_merge then |
455 self:broadcast_except_nick(pr, to); |
455 self:broadcast_except_nick(pr, to); |
456 end |
456 end |
457 pr:tag("status", {code='110'}); |
457 pr:tag("status", {code='110'}):up(); |
458 if self._data.whois == 'anyone' then |
458 if self._data.whois == 'anyone' then |
459 pr:tag("status", {code='100'}):up(); |
459 pr:tag("status", {code='100'}):up(); |
460 end |
460 end |
461 pr.attr.to = from; |
461 pr.attr.to = from; |
462 self:_route_stanza(pr); |
462 self:_route_stanza(pr); |