316 else |
316 else |
317 pr.attr.to = from; |
317 pr.attr.to = from; |
318 self:_route_stanza(pr:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
318 self:_route_stanza(pr:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
319 :tag("item", {affiliation=affiliation or "none", role=role or "none"}):up() |
319 :tag("item", {affiliation=affiliation or "none", role=role or "none"}):up() |
320 :tag("status", {code='110'})); |
320 :tag("status", {code='110'})); |
|
321 end |
|
322 if self._data.whois == 'anyone' then -- non-anonymous? |
|
323 self:_route_stanza(st.stanza("message", {from=to, to=from, type='groupchat'}) |
|
324 :tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
|
325 :tag("status", {code='100'})); |
321 end |
326 end |
322 self:send_history(from); |
327 self:send_history(from); |
323 else -- banned |
328 else -- banned |
324 local reply = st.error_reply(stanza, "auth", "forbidden"):up(); |
329 local reply = st.error_reply(stanza, "auth", "forbidden"):up(); |
325 reply.tags[1].attr.code = "403"; |
330 reply.tags[1].attr.code = "403"; |
797 else |
802 else |
798 item.attr.jid = from_occupant.jid; |
803 item.attr.jid = from_occupant.jid; |
799 end |
804 end |
800 end |
805 end |
801 end |
806 end |
802 if self._data.whois == 'anyone' then |
|
803 muc_child:tag('status', { code = '100' }); |
|
804 end |
|
805 end |
807 end |
806 self:route_stanza(stanza); |
808 self:route_stanza(stanza); |
807 if muc_child then |
809 if muc_child then |
808 for _, item in pairs(muc_child.tags) do |
810 for _, item in pairs(muc_child.tags) do |
809 if item.name == "item" then |
811 if item.name == "item" then |