# HG changeset patch # User Waqas Hussain # Date 1288881485 -18000 # Node ID fb49b63e3fe28bd7ae87ae2358fa9ceebbf5ef4a # Parent 0708d42ef0d4e63559ae716989e8bbe847585bd8 MUC: Use events for hooking stanzas instead of the component stanza handler. diff -r 0708d42ef0d4 -r fb49b63e3fe2 plugins/muc/mod_muc.lua --- a/plugins/muc/mod_muc.lua Thu Nov 04 19:26:04 2010 +0500 +++ b/plugins/muc/mod_muc.lua Thu Nov 04 19:38:05 2010 +0500 @@ -113,7 +113,8 @@ end end -component = register_component(muc_host, function(origin, stanza) +function stanza_handler(event) + local origin, stanza = event.origin, event.stanza; local to_node, to_host, to_resource = jid_split(stanza.attr.to); if to_node then local bare = to_node.."@"..to_host; @@ -142,7 +143,18 @@ end -- to the main muc domain handle_to_domain(origin, stanza); -end); +end +module:hook("iq/bare", stanza_handler); +module:hook("message/bare", stanza_handler); +module:hook("presence/bare", stanza_handler); +module:hook("iq/full", stanza_handler); +module:hook("message/full", stanza_handler); +module:hook("presence/full", stanza_handler); +module:hook("iq/host", stanza_handler); +module:hook("message/host", stanza_handler); +module:hook("presence/host", stanza_handler); + +component = register_component(muc_host, function() end); function component.send(stanza) -- FIXME do a generic fix if stanza.attr.type == "result" or stanza.attr.type == "error" then core_post_stanza(component, stanza);