]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_nokicks.cpp
Atheme wont work right, because this wasnt VF_COMMON. If its not VF_COMMON, its not...
[user/henk/code/inspircd.git] / src / modules / m_nokicks.cpp
index 654d40be82a722cc0b1f21dc22071e255024ffe5..f3f5d537ac65b6efa5eb311354f9b101c6331dec 100644 (file)
@@ -20,7 +20,6 @@ using namespace std;
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
-#include "helperfuncs.h"
 #include "inspircd.h"
 
 /* $ModDesc: Provides support for unreal-style channel mode +Q */
@@ -72,12 +71,7 @@ class ModuleNoKicks : public Module
 
        void Implements(char* List)
        {
-               List[I_On005Numeric] = List[I_OnAccessCheck] = 1;
-       }
-
-       virtual void On005Numeric(std::string &output)
-       {
-               ServerInstance->ModeGrok->InsertMode(output,"Q",4);
+               List[I_OnAccessCheck] = 1;
        }
 
        virtual int OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type)
@@ -86,7 +80,7 @@ class ModuleNoKicks : public Module
                {
                        if (channel->IsModeSet('Q'))
                        {
-                               if ((ServerInstance->IsUlined(source->nick)) || (ServerInstance->IsUlined(source->server)) || (!strcmp(source->server,"")))
+                               if ((ServerInstance->ULine(source->nick)) || (ServerInstance->ULine(source->server)) || (!*source->server))
                                {
                                        // ulines can still kick with +Q in place
                                        return ACR_ALLOW;
@@ -104,12 +98,13 @@ class ModuleNoKicks : public Module
 
        virtual ~ModuleNoKicks()
        {
+               ServerInstance->Modes->DelMode(nk);
                DELETE(nk);
        }
        
        virtual Version GetVersion()
        {
-               return Version(1,0,0,0,VF_STATIC|VF_VENDOR);
+               return Version(1,0,0,0,VF_COMMON|VF_VENDOR);
        }
 };