]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_nicklock.cpp
m_spanningtree Remove unneeded #includes
[user/henk/code/inspircd.git] / src / modules / m_nicklock.cpp
index e088c12daba9395d280a3ed0728654daa9cca83c..892702f02b44a2431fe6dfff247587f439699c10 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "inspircd.h"
 
-/* $ModDesc: Provides the NICKLOCK command, allows an oper to chage a users nick and lock them to it until they quit */
+/* $ModDesc: Provides the NICKLOCK command, allows an oper to change a users nick and lock them to it until they quit */
 
 /** Handle /NICKLOCK
  */
@@ -42,7 +42,7 @@ class CommandNicklock : public Command
        {
                User* target = ServerInstance->FindNick(parameters[0]);
 
-               if (!target)
+               if ((!target) || (target->registered != REG_ALL))
                {
                        user->WriteServ("NOTICE %s :*** No such nickname: '%s'", user->nick.c_str(), parameters[0].c_str());
                        return CMD_FAILURE;
@@ -51,7 +51,7 @@ class CommandNicklock : public Command
                /* Do local sanity checks and bails */
                if (IS_LOCAL(user))
                {
-                       if (!ServerInstance->IsNick(parameters[1].c_str(), ServerInstance->Config->Limits.NickMax))
+                       if (!ServerInstance->IsNick(parameters[1], ServerInstance->Config->Limits.NickMax))
                        {
                                user->WriteServ("NOTICE %s :*** Invalid nickname '%s'", user->nick.c_str(), parameters[1].c_str());
                                return CMD_FAILURE;
@@ -139,7 +139,6 @@ class CommandNickunlock : public Command
        }
 };
 
-
 class ModuleNickLock : public Module
 {
        LocalIntExt locked;
@@ -149,19 +148,19 @@ class ModuleNickLock : public Module
        ModuleNickLock()
                : locked("nick_locked", this), cmd1(this, locked), cmd2(this, locked)
        {
-               ServerInstance->AddCommand(&cmd1);
-               ServerInstance->AddCommand(&cmd2);
-               ServerInstance->Extensions.Register(&locked);
-               ServerInstance->Modules->Attach(I_OnUserPreNick, this);
        }
 
-       ~ModuleNickLock()
+       void init()
        {
+               ServerInstance->Modules->AddService(cmd1);
+               ServerInstance->Modules->AddService(cmd2);
+               ServerInstance->Modules->AddService(locked);
+               ServerInstance->Modules->Attach(I_OnUserPreNick, this);
        }
 
        Version GetVersion()
        {
-               return Version("Provides the NICKLOCK command, allows an oper to chage a users nick and lock them to it until they quit", VF_OPTCOMMON | VF_VENDOR);
+               return Version("Provides the NICKLOCK command, allows an oper to change a users nick and lock them to it until they quit", VF_OPTCOMMON | VF_VENDOR);
        }
 
        ModResult OnUserPreNick(User* user, const std::string &newnick)