]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_rehash.cpp
Untested! New m_watch that should be hundreds of times faster (im not joking either)
[user/henk/code/inspircd.git] / src / cmd_rehash.cpp
index bb09734a6d056fe87748a1447807a11c3cd11536..7700d7f4960573f6e4bd946579b06c5536cdd98e 100644 (file)
  * ---------------------------------------------------
  */
 
-#include "inspircd_config.h"
 #include "configreader.h"
 #include "users.h"
 #include "modules.h"
-#include "commands.h"
 #include "commands/cmd_rehash.h"
 
-extern InspIRCd* ServerInstance;
 
-void cmd_rehash::Handle (const char** parameters, int pcnt, userrec *user)
+
+extern "C" command_t* init_command(InspIRCd* Instance)
+{
+       return new cmd_rehash(Instance);
+}
+
+CmdResult cmd_rehash::Handle (const char** parameters, int pcnt, userrec *user)
 {
        user->WriteServ("382 %s %s :Rehashing",user->nick,ServerConfig::CleanFilename(CONFIG_FILE));
        std::string parameter = "";
+       std::string old_disabled = ServerInstance->Config->DisabledCommands;
        if (pcnt)
        {
                parameter = parameters[0];
@@ -36,5 +40,11 @@ void cmd_rehash::Handle (const char** parameters, int pcnt, userrec *user)
                ServerInstance->WriteOpers("%s is rehashing config file %s",user->nick,ServerConfig::CleanFilename(CONFIG_FILE));
                ServerInstance->Config->Read(false,user);
        }
+       if (old_disabled != ServerInstance->Config->DisabledCommands)
+               InitializeDisabledCommands(ServerInstance->Config->DisabledCommands, ServerInstance);
+
        FOREACH_MOD(I_OnRehash,OnRehash(parameter));
+
+       return CMD_SUCCESS;
 }
+