]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Check for match and apply R:Lines on connect
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>
Fri, 4 Apr 2008 12:36:26 +0000 (12:36 +0000)
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>
Fri, 4 Apr 2008 12:36:26 +0000 (12:36 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9298 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/extra/m_rline.cpp

index db0a64c05960628f67ebac00a928421fd31c56b3..545757f592432908f8e8371d2af75e11fa18cbe6 100644 (file)
@@ -205,6 +205,10 @@ class ModuleRLine : public Module
 
                f = new RLineFactory(ServerInstance);
                ServerInstance->XLines->RegisterFactory(f);
+
+               Implementation eventlist[] = { I_OnUserConnect };
+               ServerInstance->Modules->Attach(eventlist, this, 1);
+
        }
 
        virtual ~ModuleRLine()
@@ -216,6 +220,18 @@ class ModuleRLine : public Module
        {
                return Version(1,2,0,0,VF_COMMON|VF_VENDOR,API_VERSION);
        }
+
+       virtual void OnUserConnect(User* user)
+       {
+               // Apply lines on user connect
+               XLine *r = ServerInstance->XLines->MatchesLine("R", user);
+
+               if (r)
+               {
+                       // Bang. :P
+                       r->Apply(user);
+               }
+       }
 };
 
 MODULE_INIT(ModuleRLine)