]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_repeat.cpp
Move OnSync{Channel,Network,User} to ServerEventListener.
[user/henk/code/inspircd.git] / src / modules / m_repeat.cpp
index 9715fcf6f8b05fa0c7df533a547d5b1f9f9e68ad..75105ca0d5796718b5bb6738e5a3c52a63a93650 100644 (file)
@@ -135,7 +135,7 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >
                        MemberInfoExt.unset(i->second);
        }
 
-       ModeAction OnSet(User* source, Channel* channel, std::string& parameter)
+       ModeAction OnSet(User* source, Channel* channel, std::string& parameter) CXX11_OVERRIDE
        {
                ChannelSettings settings;
                if (!ParseSettings(source, parameter, settings))
@@ -233,7 +233,7 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >
                ConfigTag* conf = ServerInstance->Config->ConfValue("repeat");
                ms.MaxLines = conf->getInt("maxlines", 20);
                ms.MaxBacklog = conf->getInt("maxbacklog", 20);
-               ms.MaxSecs = conf->getInt("maxsecs", 0);
+               ms.MaxSecs = conf->getDuration("maxtime", conf->getInt("maxsecs", 0));
 
                ms.MaxDiff = conf->getInt("maxdistance", 50);
                if (ms.MaxDiff > 100)
@@ -369,8 +369,7 @@ class RepeatModule : public Module
                if (!memb)
                        return MOD_RES_PASSTHRU;
 
-               ModResult res;
-               FIRST_MOD_RESULT_CUSTOM(exemptionprov, CheckExemption::EventListener, OnCheckExemption, res, (user, chan, "repeat"));
+               ModResult res = CheckExemption::Call(exemptionprov, user, chan, "repeat");
                if (res == MOD_RES_ALLOW)
                        return MOD_RES_PASSTHRU;
 
@@ -385,7 +384,7 @@ class RepeatModule : public Module
                        if (settings->Action == ChannelSettings::ACT_BAN)
                        {
                                Modes::ChangeList changelist;
-                               changelist.push_add(ServerInstance->Modes->FindMode('b', MODETYPE_CHANNEL), "*!*@" + user->dhost);
+                               changelist.push_add(ServerInstance->Modes->FindMode('b', MODETYPE_CHANNEL), "*!*@" + user->GetDisplayedHost());
                                ServerInstance->Modes->Process(ServerInstance->FakeClient, chan, NULL, changelist);
                        }