Comparison

plugins/mod_pep_plus.lua @ 8335:9db72349095f

mod_pep_plus: Use dispatch function from pubsub.lib
author Kim Alvefur <zash@zash.se>
date Wed, 18 Oct 2017 07:47:00 +0200
parent 8333:2abbb01cd756
child 8339:4fce6bc0719f
comparison
equal deleted inserted replaced
8334:036e46d12b78 8335:9db72349095f
215 return service; 215 return service;
216 end 216 end
217 217
218 function handle_pubsub_iq(event) 218 function handle_pubsub_iq(event)
219 local origin, stanza = event.origin, event.stanza; 219 local origin, stanza = event.origin, event.stanza;
220 local pubsub_tag = stanza.tags[1];
221 local action = pubsub_tag.tags[1];
222 if not action then
223 return origin.send(st.error_reply(stanza, "cancel", "bad-request"));
224 end
225 local service_name = origin.username; 220 local service_name = origin.username;
226 if stanza.attr.to ~= nil then 221 if stanza.attr.to ~= nil then
227 service_name = jid_split(stanza.attr.to); 222 service_name = jid_split(stanza.attr.to);
228 end 223 end
229 local service = get_pep_service(service_name); 224 local service = get_pep_service(service_name);
230 local handler = handlers[stanza.attr.type.."_"..action.name]; 225
231 if handler then 226 return lib_pubsub.handle_pubsub_iq(event, service)
232 handler(origin, stanza, action, service);
233 return true;
234 end
235 end 227 end
236 228
237 module:hook("iq/bare/"..xmlns_pubsub..":pubsub", handle_pubsub_iq); 229 module:hook("iq/bare/"..xmlns_pubsub..":pubsub", handle_pubsub_iq);
238 module:hook("iq/bare/"..xmlns_pubsub_owner..":pubsub", handle_pubsub_iq); 230 module:hook("iq/bare/"..xmlns_pubsub_owner..":pubsub", handle_pubsub_iq);
239 231