aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/usermanager.lua14
1 files changed, 8 insertions, 6 deletions
diff --git a/core/usermanager.lua b/core/usermanager.lua
index fd579692..e338ebbd 100644
--- a/core/usermanager.lua
+++ b/core/usermanager.lua
@@ -84,13 +84,15 @@ function new_default_provider(host)
function provider.is_admin(jid)
local admins = config.get(host, "core", "admins");
- if admins ~= config.get("*", "core", "admins") and type(admins) == "table" then
- jid = jid_bare(jid);
- for _,admin in ipairs(admins) do
- if admin == jid then return true; end
+ if admins ~= config.get("*", "core", "admins") then
+ if type(admins) == "table" then
+ jid = jid_bare(jid);
+ for _,admin in ipairs(admins) do
+ if admin == jid then return true; end
+ end
+ elseif admins then
+ log("error", "Option 'admins' for host '%s' is not a table", host);
end
- elseif admins then
- log("error", "Option 'admins' for host '%s' is not a table", host);
end
return is_admin(jid); -- Test whether it's a global admin instead
end