X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_dccallow.cpp;h=5995c1b2860e8120edbd59497683bdf686c07734;hb=8f915e5ddbab4e36bb08f9f9d726e953db1f601f;hp=fb68478724266f6ab168964675e919d498a6cd1c;hpb=069a2ef21425007d092342c8c11ec28da2f410d7;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_dccallow.cpp b/src/modules/m_dccallow.cpp index fb6847872..5995c1b28 100644 --- a/src/modules/m_dccallow.cpp +++ b/src/modules/m_dccallow.cpp @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2009 InspIRCd Development Team + * InspIRCd: (C) 2002-2010 InspIRCd Development Team * See: http://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see @@ -15,16 +15,14 @@ /* $ModDesc: Povides support for the /DCCALLOW command */ -static ConfigReader *Conf; - -class BannedFileList : public classbase +class BannedFileList { public: std::string filemask; std::string action; }; -class DCCAllow : public classbase +class DCCAllow { public: std::string nickname; @@ -90,7 +88,7 @@ class CommandDccallow : public Command } std::string nick = parameters[0].substr(1); - User *target = ServerInstance->FindNick(nick); + User *target = ServerInstance->FindNickOnly(nick); if (target) { @@ -140,7 +138,8 @@ class CommandDccallow : public Command } std::string mask = std::string(target->nick)+"!"+std::string(target->ident)+"@"+std::string(target->dhost); - std::string default_length = Conf->ReadValue("dccallow", "length", 0); + ConfigReader Conf; + std::string default_length = Conf.ReadValue("dccallow", "length", 0); long length; if (parameters.size() < 2) @@ -239,12 +238,11 @@ class ModuleDCCAllow : public Module CommandDccallow cmd; public: - ModuleDCCAllow(InspIRCd* Me) - : Module(Me), cmd(this) + ModuleDCCAllow() + : cmd(this) { - Conf = new ConfigReader(ServerInstance); ext = new SimpleExtItem("dccallow", this); - Extensible::Register(ext); + ServerInstance->Extensions.Register(ext); ServerInstance->AddCommand(&cmd); ReadFileConf(); Implementation eventlist[] = { I_OnUserPreMessage, I_OnUserPreNotice, I_OnUserQuit, I_OnUserPreNick, I_OnRehash }; @@ -254,8 +252,6 @@ class ModuleDCCAllow : public Module virtual void OnRehash(User* user) { - delete Conf; - Conf = new ConfigReader(ServerInstance); ReadFileConf(); } @@ -325,11 +321,12 @@ class ModuleDCCAllow : public Module irc::string type = tokens[1].c_str(); - bool blockchat = Conf->ReadFlag("dccallow", "blockchat", 0); + ConfigReader Conf; + bool blockchat = Conf.ReadFlag("dccallow", "blockchat", 0); if (type == "SEND") { - std::string defaultaction = Conf->ReadValue("dccallow", "action", 0); + std::string defaultaction = Conf.ReadValue("dccallow", "action", 0); std::string filename = tokens[2]; bool found = false; @@ -449,12 +446,13 @@ class ModuleDCCAllow : public Module void ReadFileConf() { + ConfigReader Conf; bfl.clear(); - for (int i = 0; i < Conf->Enumerate("banfile"); i++) + for (int i = 0; i < Conf.Enumerate("banfile"); i++) { BannedFileList bf; - std::string fileglob = Conf->ReadValue("banfile", "pattern", i); - std::string action = Conf->ReadValue("banfile", "action", i); + std::string fileglob = Conf.ReadValue("banfile", "pattern", i); + std::string action = Conf.ReadValue("banfile", "action", i); bf.filemask = fileglob; bf.action = action; bfl.push_back(bf); @@ -464,14 +462,12 @@ class ModuleDCCAllow : public Module virtual ~ModuleDCCAllow() { - delete Conf; delete ext; - Conf = NULL; } virtual Version GetVersion() { - return Version("$Id$", VF_COMMON | VF_VENDOR, API_VERSION); + return Version("Povides support for the /DCCALLOW command", VF_COMMON | VF_VENDOR); } };