plugins/muc/muc.lib.lua
changeset 10716 dc24a8783c5d
parent 10695 82959e7ecd46
child 10761 9dec7cddb40b
equal deleted inserted replaced
10715:d2e4584ba7b3 10716:dc24a8783c5d
   235 	local event = {
   235 	local event = {
   236 		room = self; stanza = base_presence; x = base_x;
   236 		room = self; stanza = base_presence; x = base_x;
   237 		occupant = occupant; nick = nick; actor = actor;
   237 		occupant = occupant; nick = nick; actor = actor;
   238 		reason = reason;
   238 		reason = reason;
   239 	}
   239 	}
       
   240 	module:fire_event("muc-build-occupant-presence", event);
   240 	module:fire_event("muc-broadcast-presence", event);
   241 	module:fire_event("muc-broadcast-presence", event);
   241 
   242 
   242 	-- Allow muc-broadcast-presence listeners to change things
   243 	-- Allow muc-broadcast-presence listeners to change things
   243 	nick = event.nick;
   244 	nick = event.nick;
   244 	actor = event.actor;
   245 	actor = event.actor;
   340 			local x = st.stanza("x", {xmlns='http://jabber.org/protocol/muc#user'});
   341 			local x = st.stanza("x", {xmlns='http://jabber.org/protocol/muc#user'});
   341 			self:build_item_list(occupant, x, is_anonymous and to_bare ~= occupant.bare_jid); -- can always see your own jids
   342 			self:build_item_list(occupant, x, is_anonymous and to_bare ~= occupant.bare_jid); -- can always see your own jids
   342 			local pres = st.clone(occupant:get_presence());
   343 			local pres = st.clone(occupant:get_presence());
   343 			pres.attr.to = to;
   344 			pres.attr.to = to;
   344 			pres:add_child(x);
   345 			pres:add_child(x);
       
   346 			module:fire_event("muc-build-occupant-presence", { room = self, occupant = occupant, stanza = pres });
   345 			if to_bare == occupant.bare_jid or broadcast_roles[occupant.role or "none"] then
   347 			if to_bare == occupant.bare_jid or broadcast_roles[occupant.role or "none"] then
   346 				self:route_stanza(pres);
   348 				self:route_stanza(pres);
   347 			end
   349 			end
   348 		end
   350 		end
   349 	end
   351 	end