Mercurial > prosody-modules
view mod_reload_components/mod_reload_components.lua @ 6131:82a10e21b7f9
mod_anti_spam: prosody 0.12 compat
diff --git a/mod_anti_spam/trie.lib.lua b/mod_anti_spam/trie.lib.lua
--- a/mod_anti_spam/trie.lib.lua
+++ b/mod_anti_spam/trie.lib.lua
@@ -1,4 +1,4 @@
-local bit = require "prosody.util.bitcompat";
+local bit = require "util.bitcompat";
local trie_methods = {};
local trie_mt = { __index = trie_methods };
| author | Menel <menel@snikket.de> |
|---|---|
| date | Sun, 19 Jan 2025 09:48:10 +0100 |
| parents | 85d04dd87f14 |
| children |
line wrap: on
line source
module:set_global(); local configmanager = require "core.configmanager"; local hostmanager = require"core.hostmanager"; local function reload_components() --- Check if host configuration is a component --- @param h hostname local function config_is_component(h) return h ~= nil and configmanager.get(h, "component_module") ~= nil; -- If a host has a component module defined within it, then it is a component end; --- Check if host / component configuration is active --- @param h hostname / component name local function component_is_new(h) return h ~= "*" and not hosts[h]; -- If a host is not defined in hosts and it is not global, then it is new end --- Search for new components that are not activated for h, c in pairs(configmanager.getconfig()) do if config_is_component(h) and component_is_new(h) then module:log ("debug", "Loading new component %s", h ); hostmanager.activate(h, c); end end --- Search for active components that are not enabled in the configmanager anymore local enabled = {} for h in pairs(configmanager.getconfig()) do enabled[h] = true; -- Set true if it is defined in the configuration file end for h, c in pairs(hosts) do if not enabled[h] then -- Deactivate if not present in the configuration file hostmanager.deactivate(h,c); end end end module:hook("config-reloaded", reload_components);
