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_operjoin.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/modules/m_operjoin.cpp') diff --git a/src/modules/m_operjoin.cpp b/src/modules/m_operjoin.cpp index e44224f4c..2608dcca3 100644 --- a/src/modules/m_operjoin.cpp +++ b/src/modules/m_operjoin.cpp @@ -52,7 +52,7 @@ public: operChans.push_back(channame); } - void OnPostOper(User* user) override + void OnPostOperLogin(User* user) override { LocalUser* localuser = IS_LOCAL(user); if (!localuser) @@ -64,7 +64,7 @@ public: Channel::JoinUser(localuser, operchan, override); } - irc::commasepstream ss(localuser->oper->getConfig("autojoin")); + irc::commasepstream ss(localuser->oper->GetConfig()->getString("autojoin")); for (std::string channame; ss.GetToken(channame); ) { if (ServerInstance->Channels.IsChannel(channame)) -- cgit v1.3.1-10-gc9f91