]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_repeat.cpp
Merge pull request #1337 from SaberUK/master+merge
[user/henk/code/inspircd.git] / src / modules / m_repeat.cpp
index d55a141daff7e3b09bf44178b5f82dbe95261101..21bca0f3fd323a537f3b22c9f64870534297c8c1 100644 (file)
@@ -110,7 +110,7 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >
                {
                        mx[1][0] = i + 1;
                        for (unsigned int j = 0; j < l2; j++)
-                   mx[1][j + 1] = std::min(std::min(mx[1][j] + 1, mx[0][j + 1] + 1), mx[0][j] + ((s1[i] == s2[j]) ? 0 : 1));
+                               mx[1][j + 1] = std::min(std::min(mx[1][j] + 1, mx[0][j + 1] + 1), mx[0][j] + ((s1[i] == s2[j]) ? 0 : 1));
 
                        mx[0].swap(mx[1]);
                }
@@ -122,7 +122,7 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >
 
        RepeatMode(Module* Creator)
                : ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >(Creator, "repeat", 'E')
-               , MemberInfoExt("repeat_memb", Creator)
+               , MemberInfoExt("repeat_memb", ExtensionItem::EXT_MEMBERSHIP, Creator)
        {
        }
 
@@ -130,7 +130,7 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >
        {
                // Unset the per-membership extension when the mode is removed
                const Channel::MemberMap& users = chan->GetUsers();
-               for (UserMembCIter i = users.begin(); i != users.end(); ++i)
+               for (Channel::MemberMap::const_iterator i = users.begin(); i != users.end(); ++i)
                        MemberInfoExt.unset(i->second);
        }
 
@@ -370,17 +370,15 @@ class RepeatModule : public Module
                {
                        if (settings->Action == ChannelSettings::ACT_BLOCK)
                        {
-                               user->WriteNotice("*** This line is too similiar to one of your last lines.");
+                               user->WriteNotice("*** This line is too similar to one of your last lines.");
                                return MOD_RES_DENY;
                        }
 
                        if (settings->Action == ChannelSettings::ACT_BAN)
                        {
-                               std::vector<std::string> parameters;
-                               parameters.push_back(memb->chan->name);
-                               parameters.push_back("+b");
-                               parameters.push_back("*!*@" + user->dhost);
-                               ServerInstance->Modes->Process(parameters, ServerInstance->FakeClient);
+                               Modes::ChangeList changelist;
+                               changelist.push_add(ServerInstance->Modes->FindMode('b', MODETYPE_CHANNEL), "*!*@" + user->dhost);
+                               ServerInstance->Modes->Process(ServerInstance->FakeClient, chan, NULL, changelist);
                        }
 
                        memb->chan->KickUser(ServerInstance->FakeClient, user, "Repeat flood");
@@ -396,7 +394,7 @@ class RepeatModule : public Module
 
        Version GetVersion() CXX11_OVERRIDE
        {
-               return Version("Provides the +E channel mode - for blocking of similiar messages", VF_COMMON|VF_VENDOR, rm.GetModuleSettings());
+               return Version("Provides the +E channel mode - for blocking of similar messages", VF_COMMON|VF_VENDOR, rm.GetModuleSettings());
        }
 };