Comparison

plugins/adhoc/adhoc.lib.lua @ 12802:4a8740e01813

Merge 0.12->trunk
author Kim Alvefur <zash@zash.se>
date Mon, 12 Dec 2022 07:10:54 +0100
parent 12642:9061f9621330
child 12977:74b9e05af71e
comparison
equal deleted inserted replaced
12801:ebd6b4d8bf04 12802:4a8740e01813
21 end 21 end
22 22
23 function _M.new(name, node, handler, permission) 23 function _M.new(name, node, handler, permission)
24 if not permission then 24 if not permission then
25 error "adhoc.new() expects a permission argument, none given" 25 error "adhoc.new() expects a permission argument, none given"
26 elseif permission == "user" then
27 error "the permission mode 'user' has been renamed 'any', please update your code"
26 end 28 end
27 if permission == "user" then 29 if permission == "admin" then
28 error "the permission mode 'user' has been renamed 'any', please update your code" 30 module:default_permission("prosody:admin", "mod_adhoc:"..node);
31 permission = "check";
32 elseif permission == "global_admin" then
33 module:default_permission("prosody:operator", "mod_adhoc:"..node);
34 permission = "check";
29 end 35 end
30 return { name = name, node = node, handler = handler, cmdtag = _cmdtag, permission = permission }; 36 return { name = name, node = node, handler = handler, cmdtag = _cmdtag, permission = permission };
31 end 37 end
32 38
33 function _M.handle_cmd(command, origin, stanza) 39 function _M.handle_cmd(command, origin, stanza)
34 local cmdtag = stanza.tags[1] 40 local cmdtag = stanza.tags[1]
35 local sessionid = cmdtag.attr.sessionid or uuid.generate(); 41 local sessionid = cmdtag.attr.sessionid or uuid.generate();
36 local dataIn = { 42 local dataIn = {
43 origin = origin;
44 stanza = stanza;
37 to = stanza.attr.to; 45 to = stanza.attr.to;
38 from = stanza.attr.from; 46 from = stanza.attr.from;
39 action = cmdtag.attr.action or "execute"; 47 action = cmdtag.attr.action or "execute";
40 form = cmdtag:get_child("x", "jabber:x:data"); 48 form = cmdtag:get_child("x", "jabber:x:data");
41 }; 49 };