Diff

plugins/muc/muc.lib.lua @ 6193:b9074126639f

plugins/muc/muc.lib: Remove top level pre-join event. Assign event priorities for other handlers
author daurnimator <quae@daurnimator.com>
date Mon, 31 Mar 2014 12:21:43 -0400
parent 6192:f97aa1f4b1f1
child 6194:9b6c2d89f143
line wrap: on
line diff
--- a/plugins/muc/muc.lib.lua	Fri Mar 28 20:28:20 2014 -0400
+++ b/plugins/muc/muc.lib.lua	Mon Mar 31 12:21:43 2014 -0400
@@ -585,12 +585,6 @@
 end, -1);
 
 module:hook("muc-occupant-pre-join", function(event)
-	return module:fire_event("muc-occupant-pre-join/affiliation", event)
-		or module:fire_event("muc-occupant-pre-join/password", event)
-		or module:fire_event("muc-occupant-pre-join/locked", event);
-end, -1)
-
-module:hook("muc-occupant-pre-join/password", function(event)
 	local room, stanza = event.room, event.stanza;
 	local password = stanza:get_child("x", "http://jabber.org/protocol/muc");
 	password = password and password:get_child_text("password", "http://jabber.org/protocol/muc");
@@ -603,17 +597,17 @@
 		event.origin.send(reply:tag("x", {xmlns = "http://jabber.org/protocol/muc"}));
 		return true;
 	end
-end, -1);
+end, -20);
 
-module:hook("muc-occupant-pre-join/locked", function(event)
+module:hook("muc-occupant-pre-join", function(event)
 	if event.room:is_locked() then -- Deny entry
 		event.origin.send(st.error_reply(event.stanza, "cancel", "item-not-found"));
 		return true;
 	end
-end, -1);
+end, -30);
 
 -- registration required for entering members-only room
-module:hook("muc-occupant-pre-join/affiliation", function(event)
+module:hook("muc-occupant-pre-join", function(event)
 	local room, stanza = event.room, event.stanza;
 	local affiliation = room:get_affiliation(stanza.attr.from);
 	if affiliation == nil and event.room:get_members_only() then
@@ -622,10 +616,10 @@
 		event.origin.send(reply:tag("x", {xmlns = "http://jabber.org/protocol/muc"}));
 		return true;
 	end
-end, -1);
+end, -5);
 
 -- check if user is banned
-module:hook("muc-occupant-pre-join/affiliation", function(event)
+module:hook("muc-occupant-pre-join", function(event)
 	local room, stanza = event.room, event.stanza;
 	local affiliation = room:get_affiliation(stanza.attr.from);
 	if affiliation == "outcast" then
@@ -634,7 +628,7 @@
 		event.origin.send(reply:tag("x", {xmlns = "http://jabber.org/protocol/muc"}));
 		return true;
 	end
-end, -1);
+end, -10);
 
 module:hook("muc-occupant-joined", function(event)
 	local room, stanza = event.room, event.stanza;