# HG changeset patch # User Waqas Hussain # Date 1236466004 -18000 # Node ID 5b8da51b08437de216b7ccb645c15c72801c741c # Parent bb959588bbc45a802e25812c36819b1af22f7ab1 usermanager: Added is_admin(jid) diff -r bb959588bbc4 -r 5b8da51b0843 core/usermanager.lua --- a/core/usermanager.lua Sun Mar 08 01:07:29 2009 +0500 +++ b/core/usermanager.lua Sun Mar 08 03:46:44 2009 +0500 @@ -11,8 +11,12 @@ require "util.datamanager" local datamanager = datamanager; local log = require "util.logger".init("usermanager"); +local type = type; local error = error; +local ipairs = ipairs; local hashes = require "util.hashes"; +local jid_bare = require "util.jid".bare; +local config = require "core.configmanager"; module "usermanager" @@ -59,4 +63,15 @@ return methods; end +function is_admin(jid) + local admins = config.get("*", "core", "admins") or {}; + if type(admins) == "table" then + jid = jid_bare(jid); + for _,admin in ipairs(admins) do + if admin == jid then return true; end + end + else log("debug", "Option core.admins is not a table"); end + return nil; +end + return _M;