Software /
code /
prosody
Changeset
9817:7aad9eb7f050 0.11
mod_pubsub: Support requests for multiple items (fixes #1305)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 28 Jan 2019 01:41:42 +0100 |
parents | 9816:7f84d7f77a00 |
children | 9818:eb4724f20b1e 9819:11671a2e07a9 |
files | plugins/mod_pubsub/pubsub.lib.lua |
diffstat | 1 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_pubsub/pubsub.lib.lua Mon Jan 28 01:41:01 2019 +0100 +++ b/plugins/mod_pubsub/pubsub.lib.lua Mon Jan 28 01:41:42 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;