Diff

plugins/mod_pubsub/pubsub.lib.lua @ 9818:eb4724f20b1e

Merge 0.11->trunk
author Kim Alvefur <zash@zash.se>
date Mon, 28 Jan 2019 01:49:04 +0100
parent 9817:7aad9eb7f050
child 10062:6ffed67356e9
line wrap: on
line diff
--- a/plugins/mod_pubsub/pubsub.lib.lua	Sat Jan 26 15:07:11 2019 +0100
+++ b/plugins/mod_pubsub/pubsub.lib.lua	Mon Jan 28 01:49:04 2019 +0100
@@ -295,14 +295,20 @@
 
 function handlers.get_items(origin, stanza, items, service)
 	local node = items.attr.node;
-	local item = items:get_child("item");
-	local item_id = item and item.attr.id;
+
+	local requested_items = {};
+	for item in items:childtags("item") do
+		table.insert(requested_items, item.attr.id);
+	end
+	if requested_items[1] == nil then
+		requested_items = nil;
+	end
 
 	if not node then
 		origin.send(pubsub_error_reply(stanza, "nodeid-required"));
 		return true;
 	end
-	local ok, results = service:get_items(node, stanza.attr.from, item_id);
+	local ok, results = service:get_items(node, stanza.attr.from, requested_items);
 	if not ok then
 		origin.send(pubsub_error_reply(stanza, results));
 		return true;