]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_restrictbanned.cpp
No idea why this wasn't using MODULE_INIT. Thanks Om.
[user/henk/code/inspircd.git] / src / modules / m_restrictbanned.cpp
index b891d5659cd5ebf80df31d576796119e18f5123f..a5ab337ad30f1c1b4ca9be0bc5af690acf2f32b2 100644 (file)
  * ---------------------------------------------------
  */
 
-#include "users.h"
-#include "channels.h"
-#include "modules.h"
-
 #include "inspircd.h"
 
 /* $ModDesc: Restricts banned users in a channel. May not speak, etc. */
@@ -23,7 +19,7 @@ class ModuleRestrictBanned : public Module
 {
  private:
  public:
-       ModuleRestrictBanned(InspIRCd* Me) : Module::Module(Me)
+       ModuleRestrictBanned(InspIRCd* Me) : Module(Me)
        {
        }
        
@@ -63,6 +59,10 @@ class ModuleRestrictBanned : public Module
                if (!IS_LOCAL(user))
                        return 0;
 
+               /* Allow changes to UID */
+               if (isdigit(newnick[0]))
+                       return 0;
+
                /* bit of a special case. */
                for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++)
                {
@@ -96,28 +96,4 @@ class ModuleRestrictBanned : public Module
        }
 };
 
-
-class ModuleRestrictBannedFactory : public ModuleFactory
-{
- public:
-       ModuleRestrictBannedFactory()
-       {
-       }
-       
-       ~ModuleRestrictBannedFactory()
-       {
-       }
-       
-       virtual Module * CreateModule(InspIRCd* Me)
-       {
-               return new ModuleRestrictBanned(Me);
-       }
-       
-};
-
-
-extern "C" void * init_module( void )
-{
-       return new ModuleRestrictBannedFactory;
-}
-
+MODULE_INIT(ModuleRestrictBanned)