]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_sqloper.cpp
Change 974 numeric to 490 to avoid collision with Insp's failed to load module error
[user/henk/code/inspircd.git] / src / modules / extra / m_sqloper.cpp
index 9f2426d525bf1a22363903259dae56c1cf15b62e..6451b0ed4d5c21ced35365e0790f37f9a287ab5e 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
+ *  InspIRCd is copyright (C) 2002-2004 ChatSpike-Dev.
  *                       E-mail:
  *                <brain@chatspike.net>
  *               <Craig@chatspike.net>
@@ -55,20 +55,26 @@ class ModuleSQLOper : public Module
                return (SQLModule);
        }
 
-       ModuleSQLOper()
+       ModuleSQLOper(Server* Me)
+               : Module::Module(Me)
        {
-               Srv = new Server;
+               Srv = Me;
                Conf = new ConfigReader();
                ReadConfig();
        }
 
-       virtual void OnRehash()
+       virtual void OnRehash(std::string parameter)
        {
                delete Conf;
                Conf = new ConfigReader();
                ReadConfig();
        }
 
+       void Implements(char* List)
+       {
+               List[I_OnRehash] = List[I_OnPreCommand] = 1;
+       }
+
        virtual int OnPreCommand(std::string command, char **parameters, int pcnt, userrec *user)
        {
                if (command == "OPER")
@@ -158,7 +164,7 @@ class ModuleSQLOper : public Module
                                                                WriteServ(user->fd,"MODE %s :+o",user->nick);
                                                                Module* Logger = Srv->FindModule("m_sqllog.so");
                                                                if (Logger)
-                                                                       Logger->OnOper(user);
+                                                                       Logger->OnOper(user,rowresult->GetField("type"));
                                                                AddOper(user);
                                                                log(DEFAULT,"OPER: %s!%s@%s opered as type: %s",user->nick,user->ident,user->host,rowresult->GetField("type").c_str());
                                                        }
@@ -193,7 +199,6 @@ class ModuleSQLOper : public Module
        virtual ~ModuleSQLOper()
        {
                delete Conf;
-               delete Srv;
        }
        
        virtual Version GetVersion()
@@ -214,9 +219,9 @@ class ModuleSQLOperFactory : public ModuleFactory
        {
        }
        
-       virtual Module * CreateModule()
+       virtual Module * CreateModule(Server* Me)
        {
-               return new ModuleSQLOper;
+               return new ModuleSQLOper(Me);
        }
        
 };