mod_pubsub: Send node items to new subscribers
authorMatthew Wild <mwild1@gmail.com>
Sun, 14 Aug 2011 17:37:42 +0000 (13:37 -0400)
committerMatthew Wild <mwild1@gmail.com>
Sun, 14 Aug 2011 17:37:42 +0000 (13:37 -0400)
plugins/mod_pubsub.lua

index 6564614cf3f97bcc7347f0a0965f9272ecbfc80e..7dac3b292dfd53c88183410a7fd5a11bc483716b 100644 (file)
@@ -130,7 +130,17 @@ function handlers.set_subscribe(origin, stanza, subscribe)
        else
                reply = pubsub_error_reply(stanza, ret);
        end
-       return origin.send(reply);
+       origin.send(reply);
+       if ok then
+               -- Send all current items
+               local ok, items = service:get_items(node, stanza.attr.from);
+               if items then
+                       local jids = { [jid] = options or true };
+                       for id, item in pairs(items) do
+                               service.config.broadcaster(node, jids, item);
+                       end
+               end
+       end
 end
 
 function handlers.set_unsubscribe(origin, stanza, unsubscribe)