From ee44af8d04f23b4a16c9b377764f930d69e575f7 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sun, 27 Nov 2022 07:32:42 +0000 Subject: Refactor the internals of the oper system. - Allow overriding privileges from the blocks in the and blocks. - Separate oper types from oper accounts in the code. This enables moving some core stuff out of the config tag later. - Merge the config tags together to make a synthetic tag that can have getXXX called on it instead of using getConfig and then converting it. - Move the details of Have*Permission into the oper type class. - Improve oper events to allow modules to easily hook into the oper system. --- src/modules/m_override.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/modules/m_override.cpp') diff --git a/src/modules/m_override.cpp b/src/modules/m_override.cpp index f74453a65..348889de5 100644 --- a/src/modules/m_override.cpp +++ b/src/modules/m_override.cpp @@ -162,9 +162,7 @@ public: if (!source->IsModeSet(ou)) return false; - std::string tokenlist = source->oper->getConfig("override"); - // its defined or * is set, return its value as a boolean for if the token is set - return ((tokenlist.find(token, 0) != std::string::npos) || (tokenlist.find('*', 0) != std::string::npos)); + return TokenList(source->oper->GetConfig()->getString("override")).Contains(token); } ModResult OnPreTopicChange(User* source, Channel* channel, const std::string& topic) override -- cgit v1.3.1-10-gc9f91