Software /
code /
prosody
Comparison
plugins/muc/muc.lib.lua @ 1824:8e66c9d09f81
MUC: Refactored to remove some duplicate code.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Fri, 25 Sep 2009 12:35:09 +0500 |
parent | 1819:ed1911be26c7 |
child | 1825:f67e4bfc62f1 |
comparison
equal
deleted
inserted
replaced
1823:7c3ec7ac6316 | 1824:8e66c9d09f81 |
---|---|
111 stanza:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) | 111 stanza:tag("x", {xmlns='http://jabber.org/protocol/muc#user'}) |
112 :tag("item", {affiliation=data.affiliation, role=data.role, nick=nick}):up(); | 112 :tag("item", {affiliation=data.affiliation, role=data.role, nick=nick}):up(); |
113 if code then | 113 if code then |
114 stanza:tag("status", {code=code}):up(); | 114 stanza:tag("status", {code=code}):up(); |
115 end | 115 end |
116 local me; | 116 self:broadcast_except_nick(stanza, stanza.attr.from); |
117 for occupant, o_data in pairs(self._occupants) do | 117 local me = self._occupants[stanza.attr.from]; |
118 if occupant ~= stanza.attr.from then | |
119 for jid in pairs(o_data.sessions) do | |
120 stanza.attr.to = jid; | |
121 self:route_stanza(stanza); | |
122 end | |
123 else | |
124 me = o_data; | |
125 end | |
126 end | |
127 if me then | 118 if me then |
128 stanza:tag("status", {code='110'}); | 119 stanza:tag("status", {code='110'}); |
129 for jid in pairs(me.sessions) do | 120 for jid in pairs(me.sessions) do |
130 stanza.attr.to = jid; | 121 stanza.attr.to = jid; |
131 self:route_stanza(stanza); | 122 self:route_stanza(stanza); |