plugins/muc/muc.lib.lua

changeset 2819
49e9a8d57981
parent 2818
85c77568c447
child 2218
dbbb5ed41365
child 2845
f76139aa7cd5
--- a/plugins/muc/muc.lib.lua	Wed Nov 25 21:42:05 2009 +0500
+++ b/plugins/muc/muc.lib.lua	Wed Nov 25 22:00:33 2009 +0500
@@ -529,7 +529,12 @@
 			stanza.attr.from = current_nick;
 			local subject = getText(stanza, {"subject"});
 			if subject then
-				self:set_subject(current_nick, subject); -- TODO use broadcast_message_stanza
+				if occupant.role == "moderator" then
+					self:set_subject(current_nick, subject); -- TODO use broadcast_message_stanza
+				else
+					stanza.attr.from = from;
+					origin.send(st.error_reply(stanza, "cancel", "forbidden"));
+				end
 			else
 				self:broadcast_message(stanza, true);
 			end

mercurial