X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_hidechans.cpp;h=cd3ac2c26e5175c156f11513b15cc3de7fd343aa;hb=90abe2cd475c8ca2e81626f565d173e9f56d1251;hp=9c582551b7dfcab396a3611110d70aed3e4c5484;hpb=2ab2de1dda8f2043898b9df8004ba5b6c4df7349;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_hidechans.cpp b/src/modules/m_hidechans.cpp index 9c582551b..cd3ac2c26 100644 --- a/src/modules/m_hidechans.cpp +++ b/src/modules/m_hidechans.cpp @@ -20,8 +20,6 @@ #include "inspircd.h" -/* $ModDesc: Provides support for hiding channels with user mode +I */ - /** Handles user mode +I */ class HideChans : public SimpleUserModeHandler @@ -37,29 +35,19 @@ class ModuleHideChans : public Module public: ModuleHideChans() : hm(this) { - if (!ServerInstance->Modes->AddMode(&hm)) - throw ModuleException("Could not add new modes!"); - Implementation eventlist[] = { I_OnWhoisLine, I_OnRehash }; - ServerInstance->Modules->Attach(eventlist, this, 2); - OnRehash(NULL); } - virtual ~ModuleHideChans() - { - } - - virtual Version GetVersion() + Version GetVersion() CXX11_OVERRIDE { return Version("Provides support for hiding channels with user mode +I", VF_VENDOR); } - virtual void OnRehash(User* user) + void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { - ConfigReader conf; - AffectsOpers = conf.ReadFlag("hidechans", "affectsopers", 0); + AffectsOpers = ServerInstance->Config->ConfValue("hidechans")->getBool("affectsopers"); } - ModResult OnWhoisLine(User* user, User* dest, int &numeric, std::string &text) + ModResult OnWhoisLine(User* user, User* dest, int &numeric, std::string &text) CXX11_OVERRIDE { /* always show to self */ if (user == dest) @@ -70,7 +58,7 @@ class ModuleHideChans : public Module return MOD_RES_PASSTHRU; /* don't touch if -I */ - if (!dest->IsModeSet('I')) + if (!dest->IsModeSet(hm)) return MOD_RES_PASSTHRU; /* if it affects opers, we don't care if they are opered */ @@ -86,5 +74,4 @@ class ModuleHideChans : public Module } }; - MODULE_INIT(ModuleHideChans)