setmetatable, loadfile, pcall, rawget, rawset, io, error, dofile, type, pairs, table, string.format;
-local eventmanager = require "core.eventmanager";
+local fire_event = prosody and prosody.events.fire_event or function () end;
module "configmanager"
local ok, err = parsers[format].load(f:read("*a"), filename);
f:close();
if ok then
- eventmanager.fire_event("config-reloaded", { filename = filename, format = format });
+ fire_event("config-reloaded", { filename = filename, format = format });
end
return ok, "parser", err;
end
local env;
-- The ' = true' are needed so as not to set off __newindex when we assign the functions below
env = setmetatable({
- Host = true; host = true; Component = true, component = true,
+ Host = true, host = true, VirtualHost = true,
+ Component = true, component = true,
Include = true, include = true, RunScript = dofile }, {
__index = function (t, k)
return rawget(_G, k) or
});
rawset(env, "__currenthost", "*") -- Default is global
- function env.Host(name)
+ function env.VirtualHost(name)
if rawget(config, name) and rawget(config[name].core, "component_module") then
error(format("Host %q clashes with previously defined %s Component %q, for services use a sub-domain like conference.%s",
name, config[name].core.component_module:gsub("^%a+$", { component = "external", muc = "MUC"}), name, name), 0);
-- Needs at least one setting to logically exist :)
set(name or "*", "core", "defined", true);
end
- env.host = env.Host;
+ env.Host, env.host = env.VirtualHost, env.VirtualHost;
function env.Component(name)
if rawget(config, name) and rawget(config[name].core, "defined") and not rawget(config[name].core, "component_module") then