X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=core%2Fmodulemanager.lua;h=032cab8404f8e1234890cafc67ec421a2cf1bbb9;hb=23c6f9b64369d6ac527c8e03bea3ad81d31fbe80;hp=65a38ccb258b002876b6e7c32902c75dec22a8b8;hpb=9450538570c47da9ba653106c1978beb3b4d8d60;p=prosody.git diff --git a/core/modulemanager.lua b/core/modulemanager.lua index 65a38ccb..032cab84 100644 --- a/core/modulemanager.lua +++ b/core/modulemanager.lua @@ -200,6 +200,15 @@ function unload(host, name, ...) end end hooks:remove(host, name); + if mod.module.items then -- remove items + for key,t in pairs(mod.module.items) do + for i = #t,1,-1 do + local value = t[i]; + t[i] = nil; + hosts[host].events.fire_event("item-removed/"..key, {source = self, item = value}); + end + end + end modulemap[host][name] = nil; hosts[host].events.fire_event("module-unloaded", { module = name, host = host }); return true; @@ -404,8 +413,8 @@ function api:get_option(name, default_value) return value; end -function api:get_option_string(...) - local value = self:get_option(...); +function api:get_option_string(name, default_value) + local value = self:get_option(name, default_value); if type(value) == "table" then if #value > 1 then self:log("error", "Config option '%s' does not take a list, using just the first item", name);