X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_override.cpp;h=ce996d5b23b29bc5db1d954f01ed382d05b0c261;hb=1383dba43e463f292aea094d01f62f355946049d;hp=ed01288a3466c1e8f3b82c5ae1c3206161baa2c6;hpb=0739e7c099618eb1848f5a72ec4d896095033a76;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_override.cpp b/src/modules/m_override.cpp index ed01288a3..ce996d5b2 100644 --- a/src/modules/m_override.cpp +++ b/src/modules/m_override.cpp @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * Inspire is copyright (C) 2002-2004 ChatSpike-Dev. + * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev. * E-mail: * * @@ -24,8 +24,6 @@ using namespace std; /* $ModDesc: Provides support for unreal-style oper-override */ -char dummyvalue[] = "on"; - class ModuleOverride : public Module { Server *Srv; @@ -34,13 +32,14 @@ class ModuleOverride : public Module public: - ModuleOverride() + ModuleOverride(Server* Me) + : Module::Module(Me) { // here we initialise our module. Use new to create new instances of the required // classes. - Srv = new Server; + Srv = Me; Conf = new ConfigReader; // read our config options (main config file) @@ -56,6 +55,11 @@ class ModuleOverride : public Module NoisyOverride = Conf->ReadFlag("override","noisy",0); } + void Implements(char* List) + { + List[I_OnRehash] = List[I_OnAccessCheck] = List[I_On005Numeric] = List[I_OnUserPreJoin] = 1; + } + virtual void On005Numeric(std::string &output) { output = output + std::string(" OVERRIDE"); @@ -172,7 +176,8 @@ class ModuleOverride : public Module { if (NoisyOverride) { - if (!user->IsInvited(chan->name)) + irc::string x = chan->name; + if (!user->IsInvited(x)) { WriteChannelWithServ((char*)Srv->GetServerName().c_str(),chan,"NOTICE %s :%s invited himself into the channel",cname,user->nick); } @@ -208,7 +213,6 @@ class ModuleOverride : public Module virtual ~ModuleOverride() { delete Conf; - delete Srv; } virtual Version GetVersion() @@ -229,9 +233,9 @@ class ModuleOverrideFactory : public ModuleFactory { } - virtual Module * CreateModule() + virtual Module * CreateModule(Server* Me) { - return new ModuleOverride; + return new ModuleOverride(Me); } };