diff options
author | Kim Alvefur <zash@zash.se> | 2019-01-28 01:49:04 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-01-28 01:49:04 +0100 |
commit | 428da9fe8a8af9170f3cd5578767d0a17503fe95 (patch) | |
tree | 65d3820152086166dd80ccafd4e97ef8eb19c863 /plugins/mod_pubsub | |
parent | e6e8b9acf0b9d3227759a647e6103091b3450a05 (diff) | |
parent | 6d84bd44ba3a8bde48580b0f772e8278969af5cc (diff) | |
download | prosody-428da9fe8a8af9170f3cd5578767d0a17503fe95.tar.gz prosody-428da9fe8a8af9170f3cd5578767d0a17503fe95.zip |
Merge 0.11->trunk
Diffstat (limited to 'plugins/mod_pubsub')
-rw-r--r-- | plugins/mod_pubsub/pubsub.lib.lua | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/plugins/mod_pubsub/pubsub.lib.lua b/plugins/mod_pubsub/pubsub.lib.lua index 1bd5fa33..50ef7ddf 100644 --- a/plugins/mod_pubsub/pubsub.lib.lua +++ b/plugins/mod_pubsub/pubsub.lib.lua @@ -295,14 +295,20 @@ end 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; |