]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_regonlycreate.cpp
Replace hardcoded mode letters, part 3
[user/henk/code/inspircd.git] / src / modules / m_regonlycreate.cpp
index 9d4cd5f60dd41d5d67e6ab28110f469cd4164baf..6b6e059dfa6c038135ccb0e13d89aa273d36110b 100644 (file)
 
 
 #include "inspircd.h"
-#include "account.h"
-
-/* $ModDesc: Prevents users whose nicks are not registered from creating new channels */
+#include "modules/account.h"
 
 class ModuleRegOnlyCreate : public Module
 {
+       UserModeReference regusermode;
+
  public:
-       void init()
+       ModuleRegOnlyCreate()
+               : regusermode(this, "u_registered")
+       {
+       }
+
+       void init() CXX11_OVERRIDE
        {
                Implementation eventlist[] = { I_OnUserPreJoin };
                ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
        }
 
-       ModResult OnUserPreJoin(User* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven)
+       ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
        {
                if (chan)
                        return MOD_RES_PASSTHRU;
@@ -42,7 +47,7 @@ class ModuleRegOnlyCreate : public Module
                if (user->IsOper())
                        return MOD_RES_PASSTHRU;
 
-               if (user->IsModeSet('r'))
+               if (user->IsModeSet(regusermode))
                        return MOD_RES_PASSTHRU;
 
                const AccountExtItem* ext = GetAccountExtItem();
@@ -54,7 +59,7 @@ class ModuleRegOnlyCreate : public Module
                return MOD_RES_DENY;
        }
 
-       Version GetVersion()
+       Version GetVersion() CXX11_OVERRIDE
        {
                return Version("Prevents users whose nicks are not registered from creating new channels", VF_VENDOR);
        }