X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_timedbans.cpp;h=29691b338b54161f6e0dcf6d7b9707f9696ab142;hb=e950f568d0f571e9475aa38177486468714de4d3;hp=8a4fbb4dcaecaca3c7ec1ea22c5c20d947822877;hpb=4b41feea830fc84e8c1b2fd0982f3e8d8840af96;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp index 8a4fbb4dc..29691b338 100644 --- a/src/modules/m_timedbans.cpp +++ b/src/modules/m_timedbans.cpp @@ -20,8 +20,6 @@ */ -/* $ModDesc: Adds timed bans */ - #include "inspircd.h" /** Holds a timed ban @@ -45,7 +43,6 @@ class CommandTban : public Command CommandTban(Module* Creator) : Command(Creator,"TBAN", 3) { syntax = " "; - TRANSLATE4(TR_TEXT, TR_TEXT, TR_TEXT, TR_END); } CmdResult Handle (const std::vector ¶meters, User *user) @@ -82,9 +79,9 @@ class CommandTban : public Command mask.append("!*@*"); setban.push_back(mask); - // use CallHandler to make it so that the user sets the mode - // themselves - ServerInstance->Parser->CallHandler("MODE",setban,user); + // Pass the user (instead of ServerInstance->FakeClient) to ModeHandler::Process() to + // make it so that the user sets the mode themselves + ServerInstance->Modes->Process(setban, user); if (ServerInstance->Modes->GetLastParse().empty()) { user->WriteNotice("Invalid ban mask"); @@ -115,11 +112,11 @@ class BanWatcher : public ModeWatcher { public: BanWatcher(Module* parent) - : ModeWatcher(parent, 'b', MODETYPE_CHANNEL) + : ModeWatcher(parent, "ban", MODETYPE_CHANNEL) { } - void AfterMode(User* source, User* dest, Channel* chan, const std::string& banmask, bool adding, ModeType type) + void AfterMode(User* source, User* dest, Channel* chan, const std::string& banmask, bool adding) { if (adding) return; @@ -154,8 +151,6 @@ class ModuleTimedBans : public Module void init() CXX11_OVERRIDE { ServerInstance->Modules->AddService(cmd); - Implementation eventlist[] = { I_OnBackgroundTimer }; - ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); ServerInstance->Modes->AddModeWatcher(&banwatcher); } @@ -195,7 +190,7 @@ class ModuleTimedBans : public Module cr->WriteAllExcept(ServerInstance->FakeClient, true, '@', empty, "NOTICE %s :%s", cr->name.c_str(), expiry.c_str()); ServerInstance->PI->SendChannelNotice(cr, '@', expiry); - ServerInstance->SendGlobalMode(setban, ServerInstance->FakeClient); + ServerInstance->Modes->Process(setban, ServerInstance->FakeClient); } } }