]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chanprotect.cpp
(Hopefully) fix a issue with m_ident's result not being used for display.
[user/henk/code/inspircd.git] / src / modules / m_chanprotect.cpp
index ca331b0cf9170bab9a9ef2fe521a687e70ac6468..e24e64a3e90451756dce75f8447c46b7944580ff 100644 (file)
@@ -88,11 +88,9 @@ class FounderProtectBase
 
                while (modestack.GetStackedLine(stackresult))
                {
-                       for (size_t j = 0; j < stackresult.size(); j++)
-                       {
-                               mode_junk.push_back(stackresult[j]);
-                       }
+                       mode_junk.insert(mode_junk.end(), stackresult.begin(), stackresult.end());
                        MyInstance->SendMode(mode_junk, MyInstance->FakeClient);
+                       mode_junk.erase(mode_junk.begin() + 1, mode_junk.end());
                }
        }
 
@@ -340,8 +338,8 @@ class ModuleChanProtect : public Module
                        throw ModuleException("Could not add new modes!");
                }
 
-               Implementation eventlist[] = { I_OnUserKick, I_OnUserPart, I_OnUserPreJoin, I_OnPostJoin, I_OnAccessCheck };
-               ServerInstance->Modules->Attach(eventlist, this, 5);
+               Implementation eventlist[] = { I_OnUserKick, I_OnUserPart, I_OnUserPreJoin, I_OnAccessCheck };
+               ServerInstance->Modules->Attach(eventlist, this, 4);
        }
 
        virtual void OnUserKick(User* source, User* user, Channel* chan, const std::string &reason, bool &silent)
@@ -394,20 +392,6 @@ class ModuleChanProtect : public Module
                return 0;
        }
 
-       virtual void OnPostJoin(User *user, Channel *channel)
-       {
-               // This *must* be in PostJoin, not UserJoin - the former will make it appear to happen
-               // before the client is in the channel
-
-               // This notice was here originally because it was all done prior to the creation of
-               // privs in OnUserPreJoin. I've left it because it might still be wanted, but i'm
-               // not sure it really should be here - ops don't get shown, obviously, and the prefix
-               // will appear in the names list for the user.. remove if desired -Special
-
-               if (FirstInGetsFounder && channel->GetUserCounter() == 1)
-                       user->WriteServ("MODE %s +q %s", channel->name.c_str(), user->nick.c_str());
-       }
-
        virtual int OnAccessCheck(User* source,User* dest,Channel* channel,int access_type)
        {
                // here we perform access checks, this is the important bit that actually stops kicking/deopping