X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_pep.lua;h=bfe2286763117a299ce2e4bb641e922a15f99828;hb=165750c8b95afd00700594289f65940388991bb7;hp=e07759f04189357bbcfe0ad7bee04804da92f304;hpb=a1d3ac55bd5bc3dbd44061935eb1069c0538c2f1;p=prosody.git diff --git a/plugins/mod_pep.lua b/plugins/mod_pep.lua index e07759f0..bfe22867 100644 --- a/plugins/mod_pep.lua +++ b/plugins/mod_pep.lua @@ -25,10 +25,20 @@ local data = {}; local recipients = {}; local hash_map = {}; -module:add_identity("pubsub", "pep"); +module.save = function() + return { data = data, recipients = recipients, hash_map = hash_map }; +end +module.restore = function(state) + data = state.data or {}; + recipients = state.recipients or {}; + hash_map = state.hash_map or {}; +end + +module:add_identity("pubsub", "pep", "Prosody"); module:add_feature("http://jabber.org/protocol/pubsub#publish"); local function publish(session, node, item) + item.attr.xmlns = nil; local disable = #item.tags ~= 1 or #item.tags[1].tags == 0; if #item.tags == 0 then item.name = "retract"; end local bare = session.username..'@'..session.host; @@ -132,9 +142,9 @@ module:hook("iq/bare/http://jabber.org/protocol/pubsub:pubsub", function(event) if payload and (payload.name == 'publish' or payload.name == 'retract') and payload.attr.node then -- local node = payload.attr.node; payload = payload.tags[1]; - if payload then -- - publish(session, node, payload); + if payload and payload.name == "item" then -- session.send(st.reply(stanza)); + publish(session, node, st.clone(payload)); return true; end end