]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_regonlycreate.cpp
Update the names in the /INFO credits.
[user/henk/code/inspircd.git] / src / modules / m_regonlycreate.cpp
index 98250d2a732f543f4e90f9a4910d9f4abf7445a5..78b20ef6b9f96206c1711f65176431d59039218c 100644 (file)
 #include "inspircd.h"
 #include "modules/account.h"
 
-/* $ModDesc: Prevents users whose nicks are not registered from creating new channels */
-
 class ModuleRegOnlyCreate : public Module
 {
+       UserModeReference regusermode;
+
  public:
-       void init()
+       ModuleRegOnlyCreate()
+               : regusermode(this, "u_registered")
        {
-               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 +41,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();
@@ -50,11 +49,11 @@ class ModuleRegOnlyCreate : public Module
                        return MOD_RES_PASSTHRU;
 
                // XXX. there may be a better numeric for this..
-               user->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s %s :You must have a registered nickname to create a new channel", user->nick.c_str(), cname.c_str());
+               user->WriteNumeric(ERR_CHANOPRIVSNEEDED, cname, "You must have a registered nickname to create a new channel");
                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);
        }