diff options
author | Matthew Wild <mwild1@gmail.com> | 2009-10-26 23:30:15 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2009-10-26 23:30:15 +0000 |
commit | f0b9e5befac2aef2c57d68d1441faed693bacea6 (patch) | |
tree | 6b0f9746afaa3356db58aa3a7ef0cc533bd87d04 /plugins/muc/muc.lib.lua | |
parent | 493cfc98173579fe924d06b353cf5416471dec1c (diff) | |
parent | c73ece03d8efcc4b46712ff32b7da610cb21dc4f (diff) | |
download | prosody-f0b9e5befac2aef2c57d68d1441faed693bacea6.tar.gz prosody-f0b9e5befac2aef2c57d68d1441faed693bacea6.zip |
Merge with trunk
Diffstat (limited to 'plugins/muc/muc.lib.lua')
-rw-r--r-- | plugins/muc/muc.lib.lua | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 7a635e8e..312dcc37 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -115,7 +115,7 @@ function room_mt:broadcast_presence(stanza, sid, code, nick) stanza = get_filtered_presence(stanza); local occupant = self._occupants[stanza.attr.from]; stanza:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) - :tag("item", {affiliation=occupant.affiliation, role=occupant.role, nick=nick}):up(); + :tag("item", {affiliation=occupant.affiliation or "none", role=occupant.role or "none", nick=nick}):up(); if code then stanza:tag("status", {code=code}):up(); end @@ -162,7 +162,7 @@ function room_mt:send_occupant_list(to) local pres = get_filtered_presence(o_data.sessions[o_data.jid]); pres.attr.to, pres.attr.from = to, occupant; pres:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) - :tag("item", {affiliation=o_data.affiliation, role=o_data.role}):up(); + :tag("item", {affiliation=o_data.affiliation or "none", role=o_data.role or "none"}):up(); self:route_stanza(pres); end end @@ -232,13 +232,14 @@ function room_mt:handle_to_occupant(origin, stanza) -- PM, vCards, etc occupant.sessions[from] = nil; pr.attr.to = from; pr:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) - :tag("item", {affiliation=occupant.affiliation, role='none'}):up() + :tag("item", {affiliation=occupant.affiliation or "none", role='none'}):up() :tag("status", {code='110'}); self:route_stanza(pr); if jid ~= new_jid then pr = st.clone(occupant.sessions[new_jid]) :tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) - :tag("item", {affiliation=occupant.affiliation, role=occupant.role}); + :tag("item", {affiliation=occupant.affiliation or "none", role=occupant.role or "none"}); + pr.attr.from = current_nick; self:broadcast_except_nick(pr, current_nick); end else @@ -322,7 +323,7 @@ function room_mt:handle_to_occupant(origin, stanza) -- PM, vCards, etc else pr.attr.to = from; self:route_stanza(pr:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) - :tag("item", {affiliation=affiliation, role=role}):up() + :tag("item", {affiliation=affiliation or "none", role=role or "none"}):up() :tag("status", {code='110'})); end self:send_history(from); |