X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmodules%2Fm_chanprotect.cpp;h=e24e64a3e90451756dce75f8447c46b7944580ff;hb=8cebe2878f3878afce6f643d93668155cb26801d;hp=627857175962ca6d2f40a51520d2c230222adb22;hpb=526f5a4a02882b19056fe755dff1f64b764ff313;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_chanprotect.cpp b/src/modules/m_chanprotect.cpp index 627857175..e24e64a3e 100644 --- a/src/modules/m_chanprotect.cpp +++ b/src/modules/m_chanprotect.cpp @@ -3,7 +3,7 @@ * +------------------------------------+ * * InspIRCd: (C) 2002-2009 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * See: http://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see * the file COPYING for details. @@ -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