Software / code / prosody
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 }; |