X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_blockcolor.cpp;h=69b0e468699d5195b44fcfaefed33b64daef15c5;hb=d556a4f8740b65e635ff7d2b976faaedbdac51d4;hp=a40d4ebd3f11439d8c98de462e5fd8648d98afd7;hpb=a07e365fe1833a47de95a1390a0c37d0664d8cce;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_blockcolor.cpp b/src/modules/m_blockcolor.cpp index a40d4ebd3..69b0e4686 100644 --- a/src/modules/m_blockcolor.cpp +++ b/src/modules/m_blockcolor.cpp @@ -11,12 +11,10 @@ * --------------------------------------------------- */ -#include -#include +#include "inspircd.h" #include "users.h" #include "channels.h" #include "modules.h" -#include "inspircd.h" /* $ModDesc: Provides support for unreal-style channel mode +c */ @@ -56,28 +54,19 @@ class ModuleBlockColour : public Module BlockColor *bc; public: - ModuleBlockColour(InspIRCd* Me) : Module::Module(Me) + ModuleBlockColour(InspIRCd* Me) : Module(Me) { bc = new BlockColor(ServerInstance); if (!ServerInstance->AddMode(bc, 'c')) throw ModuleException("Could not add new modes!"); - - OnRehash(NULL, ""); } void Implements(char* List) { - List[I_OnRehash] = List[I_OnUserPreMessage] = List[I_OnUserPreNotice] = 1; + List[I_OnUserPreMessage] = List[I_OnUserPreNotice] = 1; } - virtual void OnRehash(userrec* user, const std::string ¶meter) - { - ConfigReader Conf(ServerInstance); - - AllowChanOps = Conf.ReadFlag("blockcolor", "allowchanops", 0); - } - virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list) { if ((target_type == TYPE_CHANNEL) && (IS_LOCAL(user))) @@ -86,7 +75,7 @@ class ModuleBlockColour : public Module if(c->IsModeSet('c')) { - if (!AllowChanOps || AllowChanOps && c->GetStatus(user) != STATUS_OP) + if (!CHANOPS_EXEMPT(ServerInstance, 'c') || CHANOPS_EXEMPT(ServerInstance, 'c') && c->GetStatus(user) != STATUS_OP) { for (std::string::iterator i = text.begin(); i != text.end(); i++) { @@ -126,27 +115,4 @@ class ModuleBlockColour : public Module } }; - -class ModuleBlockColourFactory : public ModuleFactory -{ - public: - ModuleBlockColourFactory() - { - } - - ~ModuleBlockColourFactory() - { - } - - virtual Module * CreateModule(InspIRCd* Me) - { - return new ModuleBlockColour(Me); - } - -}; - - -extern "C" void * init_module( void ) -{ - return new ModuleBlockColourFactory; -} +MODULE_INIT(ModuleBlockColour)