Software /
code /
prosody
Changeset
3035:5584c928d1f7
usermanager: Fix logic for per-host admin tables (thanks Maranda)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 12 May 2010 23:06:46 +0100 |
parents | 3034:b9ebd44a35f9 |
children | 3036:0714539bcf71 |
files | core/usermanager.lua |
diffstat | 1 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/core/usermanager.lua Sun May 09 20:48:21 2010 +0100 +++ b/core/usermanager.lua Wed May 12 23:06:46 2010 +0100 @@ -84,13 +84,15 @@ 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