]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modes/cmode_b.cpp
Add OnSendWhoLine hook, and use it in the oper hiding modules
[user/henk/code/inspircd.git] / src / modes / cmode_b.cpp
index 595bdb99e9458694792a1ef6f60b4712ef8f5ab4..36078f4b2aae3fc3f5a25998178ec346d96b3929 100644 (file)
@@ -29,13 +29,13 @@ ModeChannelBan::ModeChannelBan(InspIRCd* Instance) : ModeHandler(Instance, NULL,
 {
 }
 
-ModeAction ModeChannelBan::OnModeChange(User* source, User*, Channel* channel, std::string &parameter, bool adding, bool servermode)
+ModeAction ModeChannelBan::OnModeChange(User* source, User*, Channel* channel, std::string &parameter, bool adding)
 {
        int status = channel->GetStatus(source);
        /* Call the correct method depending on wether we're adding or removing the mode */
        if (adding)
        {
-               parameter = this->AddBan(source, parameter, channel, status, servermode);
+               parameter = this->AddBan(source, parameter, channel, status);
        }
        else
        {
@@ -92,7 +92,7 @@ void ModeChannelBan::DisplayEmptyList(User* user, Channel* channel)
        user->WriteServ("368 %s %s :End of channel ban list",user->nick.c_str(), channel->name.c_str());
 }
 
-std::string& ModeChannelBan::AddBan(User *user, std::string &dest, Channel *chan, int, bool servermode)
+std::string& ModeChannelBan::AddBan(User *user, std::string &dest, Channel *chan, int)
 {
        if ((!user) || (!chan))
        {
@@ -115,9 +115,9 @@ std::string& ModeChannelBan::AddBan(User *user, std::string &dest, Channel *chan
                return dest;
        }
 
-       int MOD_RESULT = 0;
-       FOREACH_RESULT(I_OnAddBan,OnAddBan(user,chan,dest));
-       if (MOD_RESULT)
+       ModResult MOD_RESULT;
+       FIRST_MOD_RESULT(ServerInstance, OnAddBan, MOD_RESULT, (user,chan,dest));
+       if (MOD_RESULT == MOD_RES_DENY)
        {
                dest = "";
                return dest;
@@ -135,7 +135,7 @@ std::string& ModeChannelBan::AddBan(User *user, std::string &dest, Channel *chan
 
        b.set_time = ServerInstance->Time();
        b.data.assign(dest, 0, MAXBUF);
-       b.set_by.assign(servermode ? ServerInstance->Config->ServerName : user->nick, 0, 64);
+       b.set_by.assign(user->nick, 0, 64);
        chan->bans.push_back(b);
        return dest;
 }
@@ -149,7 +149,7 @@ ModePair ModeChannelBan::ModeSet(User*, User*, Channel* channel, const std::stri
                        return std::make_pair(true, i->data);
                }
        }
-        return std::make_pair(false, parameter);
+       return std::make_pair(false, parameter);
 }
 
 std::string& ModeChannelBan::DelBan(User *user, std::string& dest, Channel *chan, int)
@@ -168,9 +168,9 @@ std::string& ModeChannelBan::DelBan(User *user, std::string& dest, Channel *chan
        {
                if (!strcasecmp(i->data.c_str(), dest.c_str()))
                {
-                       int MOD_RESULT = 0;
-                       FOREACH_RESULT(I_OnDelBan,OnDelBan(user, chan, dest));
-                       if (MOD_RESULT)
+                       ModResult MOD_RESULT;
+                       FIRST_MOD_RESULT(ServerInstance, OnDelBan, MOD_RESULT, (user, chan, dest));
+                       if (MOD_RESULT == MOD_RES_DENY)
                        {
                                dest = "";
                                return dest;