Merge 0.6.2/waqas with 0.6.2/MattJ
[prosody.git] / plugins / mod_iq.lua
index 73e5688e6fd05b5f16d2a3a6e2b3e2b4b455d4f6..5be045335c478e256913228207d31fc76b6f3719 100644 (file)
@@ -1,3 +1,11 @@
+-- Prosody IM
+-- Copyright (C) 2008-2009 Matthew Wild
+-- Copyright (C) 2008-2009 Waqas Hussain
+-- 
+-- This project is MIT/X11 licensed. Please see the
+-- COPYING file in the source package for more information.
+--
+
 
 local st = require "util.stanza";
 local jid_split = require "util.jid".split;
@@ -37,10 +45,11 @@ module:hook("iq/bare", function(data)
                end
        end
        -- TODO fire post processing events
-       if #stanza.tags == 1 then
+       if stanza.attr.type == "get" or stanza.attr.type == "set" then
                return module:fire_event("iq/bare/"..stanza.tags[1].attr.xmlns..":"..stanza.tags[1].name, data);
        else
-               return true; -- TODO do something with results and errors
+               module:fire_event("iq/bare/"..stanza.attr.id, data);
+               return true;
        end
 end);
 
@@ -48,9 +57,10 @@ module:hook("iq/host", function(data)
        -- IQ to a local host recieved
        local origin, stanza = data.origin, data.stanza;
 
-       if #stanza.tags == 1 then
+       if stanza.attr.type == "get" or stanza.attr.type == "set" then
                return module:fire_event("iq/host/"..stanza.tags[1].attr.xmlns..":"..stanza.tags[1].name, data);
        else
-               return true; -- TODO do something with results and errors
+               module:fire_event("iq/host/"..stanza.attr.id, data);
+               return true;
        end
 end);