local tonumber, tostring = tonumber, tostring;
local require = require;
local pack = table.pack or function(...) return {n=select("#",...), ...}; end -- table.pack is only in 5.2
-local unpack = table.unpack or unpack; -- renamed in 5.2
+local unpack = table.unpack or unpack; --luacheck: ignore 113 -- renamed in 5.2
local prosody = prosody;
local hosts = prosody.hosts;
return value;
end
+function api:get_option_path(name, default, parent)
+ if parent == nil then
+ parent = parent or self:get_directory();
+ elseif prosody.paths[parent] then
+ parent = prosody.paths[parent];
+ end
+ local value = self:get_option_string(name, default);
+ if value == nil then
+ return nil;
+ end
+ return resolve_relative_path(parent, value);
+end
+
+
function api:context(host)
return setmetatable({host=host or "*"}, {__index=self,__newindex=self});
end
self:add_item(name.."-provider", item);
end
-function api:send(stanza)
- return core_post_stanza(hosts[self.host], stanza);
+function api:send(stanza, origin)
+ return core_post_stanza(origin or hosts[self.host], stanza);
end
function api:broadcast(jids, stanza, iter)
timer.reschedule(self.id, delay)
end
-local function timer_callback(now, id, t)
+local function timer_callback(now, id, t) --luacheck: ignore 212/id
if t.module_env.loaded == false then return; end
return t.callback(now, unpack(t, 1, t.n));
end