]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_cban.cpp
Fix REMOVE maxparams
[user/henk/code/inspircd.git] / src / modules / m_cban.cpp
index a815cf35f602c8266b83ad91b26ebfb0e2af4cec..d5e62c98b09289c710a313c3c5cb743b4c8812a0 100644 (file)
@@ -84,10 +84,9 @@ class CBanFactory : public XLineFactory
 class CommandCBan : public Command
 {
  public:
-       CommandCBan(InspIRCd* Me) : Command(Me, "CBAN", "o", 1, 3)
+       CommandCBan(Module* Creator) : Command(Creator, "CBAN", 1, 3)
        {
-               this->source = "m_cban.so";
-               this->syntax = "<channel> [<duration> :<reason>]";
+               flags_needed = 'o'; this->syntax = "<channel> [<duration> :<reason>]";
                TRANSLATE4(TR_TEXT,TR_TEXT,TR_TEXT,TR_END);
        }
 
@@ -154,6 +153,11 @@ class CommandCBan : public Command
 
                return CMD_FAILURE;
        }
+
+       RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters)
+       {
+               return ROUTE_BROADCAST;
+       }
 };
 
 class ModuleCBan : public Module
@@ -162,7 +166,7 @@ class ModuleCBan : public Module
        CBanFactory f;
 
  public:
-       ModuleCBan(InspIRCd* Me) : Module(Me), mycommand(Me), f(Me)
+       ModuleCBan(InspIRCd* Me) : Module(Me), mycommand(this), f(Me)
        {
                ServerInstance->XLines->RegisterFactory(&f);
 
@@ -177,16 +181,16 @@ class ModuleCBan : public Module
                ServerInstance->XLines->UnregisterFactory(&f);
        }
 
-       virtual int OnStats(char symbol, User* user, string_list &out)
+       virtual ModResult OnStats(char symbol, User* user, string_list &out)
        {
                if (symbol != 'C')
-                       return 0;
+                       return MOD_RES_PASSTHRU;
 
                ServerInstance->XLines->InvokeStats("CBAN", 210, user, out);
-               return 1;
+               return MOD_RES_DENY;
        }
 
-       virtual int OnUserPreJoin(User *user, Channel *chan, const char *cname, std::string &privs, const std::string &keygiven)
+       virtual ModResult OnUserPreJoin(User *user, Channel *chan, const char *cname, std::string &privs, const std::string &keygiven)
        {
                XLine *rl = ServerInstance->XLines->MatchesLine("CBAN", cname);
 
@@ -197,10 +201,10 @@ class ModuleCBan : public Module
                        ServerInstance->SNO->WriteToSnoMask('a', "%s tried to join %s which is CBANed (%s)",
                                 user->nick.c_str(), cname, rl->reason.c_str());
                        ServerInstance->PI->SendSNONotice("A", user->nick + " tried to join " + std::string(cname) + " which is CBANed (" + rl->reason + ")");
-                       return 1;
+                       return MOD_RES_DENY;
                }
 
-               return 0;
+               return MOD_RES_PASSTHRU;
        }
 
        virtual Version GetVersion()