]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_sqllog.cpp
Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList &exempt_list...
[user/henk/code/inspircd.git] / src / modules / extra / m_sqllog.cpp
index 4220724a6a7cdef1f9fdb316dfcdfd6858b8e60f..359bd2018a4cd609c1f439f6dce6a87659387820 100644 (file)
  * ---------------------------------------------------
  */
 
-using namespace std;
-
-#include <stdio.h>
-#include <string>
-#include <stdlib.h>
-#include <time.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <poll.h>
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
@@ -39,9 +25,6 @@ using namespace std;
 static Module* SQLModule;
 static Module* MyMod;
 static std::string dbid;
-extern time_t TIME;
-
-extern InspIRCd* ServerInstance;
 
 enum LogTypes { LT_OPER = 1, LT_KILL, LT_SERVLINK, LT_XLINE, LT_CONNECT, LT_DISCONNECT, LT_FLOOD, LT_LOADMODULE };
 
@@ -73,7 +56,7 @@ class QueryInfo
                id = i;
                category = cat;
                sourceid = nickid = hostid = -1;
-               date = TIME;
+               date = time(NULL);
                lastquery = "";
        }
 
@@ -82,8 +65,6 @@ class QueryInfo
                // Nothing here and not sent yet
                SQLrequest req = SQLreq(MyMod, SQLModule, dbid, "", "");
 
-               log(DEBUG,"State: %d",qs);
-
                switch (qs)
                {
                        case FIND_SOURCE:
@@ -115,7 +96,7 @@ class QueryInfo
                                                }
                                                else
                                                {
-                                                       log(DEBUG, "SQLrequest failed: %s", req.error.Str());
+                                                       //ServerInstance->Log(DEBUG, "SQLrequest failed: %s", req.error.Str());
                                                }
                                                break;
                                        }
@@ -132,7 +113,7 @@ class QueryInfo
                                }
                                else
                                {
-                                       log(DEBUG, "SQLrequest failed: %s", req.error.Str());
+                                       //ServerInstance->Log(DEBUG, "SQLrequest failed: %s", req.error.Str());
                                }
                                
                        break;
@@ -164,7 +145,7 @@ class QueryInfo
                                                }
                                                else
                                                {
-                                                       log(DEBUG, "SQLrequest failed: %s", req.error.Str());
+                                                       //ServerInstance->Log(DEBUG, "SQLrequest failed: %s", req.error.Str());
                                                }
                                                break;
                                        }
@@ -180,7 +161,7 @@ class QueryInfo
                                }
                                else
                                {
-                                       log(DEBUG, "SQLrequest failed: %s", req.error.Str());
+                                       //ServerInstance->Log(DEBUG, "SQLrequest failed: %s", req.error.Str());
                                }
                        break;
                        case FIND_HOST:
@@ -212,7 +193,7 @@ class QueryInfo
                                                }
                                                else
                                                {
-                                                       log(DEBUG, "SQLrequest failed: %s", req.error.Str());
+                                                       //ServerInstance->Log(DEBUG, "SQLrequest failed: %s", req.error.Str());
                                                }
                                                break;
                                        }
@@ -229,7 +210,7 @@ class QueryInfo
                                }
                                else
                                {
-                                       log(DEBUG, "SQLrequest failed: %s", req.error.Str());
+                                       //ServerInstance->Log(DEBUG, "SQLrequest failed: %s", req.error.Str());
                                }
                        break;
                        case INSERT_LOGENTRY:
@@ -255,7 +236,7 @@ class QueryInfo
                                        }
                                        else
                                        {
-                                               log(DEBUG, "SQLrequest failed: %s", req.error.Str());
+                                               //ServerInstance->Log(DEBUG, "SQLrequest failed: %s", req.error.Str());
                                        }
                                }
                        break;
@@ -270,24 +251,25 @@ class QueryInfo
 
 class ModuleSQLLog : public Module
 {
-       Server* Srv;
+       InspIRCd* Srv;
        ConfigReader* Conf;
 
  public:
        bool ReadConfig()
        {
-               Conf = new ConfigReader();
-               dbid = Conf->ReadValue("sqllog","dbid",0);      // database id of a database configured in sql module
-               DELETE(Conf);
-               SQLModule = ServerInstance->FindFeature("SQL");
+               ConfigReader Conf(Srv);
+               
+               dbid = Conf.ReadValue("sqllog","dbid",0);       // database id of a database configured in sql module
+               
+               SQLModule = Srv->FindFeature("SQL");
                if (!SQLModule)
-                       log(DEFAULT,"WARNING: m_sqllog.so could not initialize because an SQL module is not loaded. Load the module and rehash your server.");
+                       ServerInstance->Log(DEFAULT,"WARNING: m_sqllog.so could not initialize because an SQL module is not loaded. Load the module and rehash your server.");
                return (SQLModule);
        }
 
-       ModuleSQLLog(InspIRCd* Me) : Module::Module(Me)
+       ModuleSQLLog(InspIRCd* Me)
+       : Module::Module(Me), Srv(Me)
        {
-               
                ReadConfig();
                MyMod = this;
                active_queries.clear();
@@ -296,7 +278,7 @@ class ModuleSQLLog : public Module
        void Implements(char* List)
        {
                List[I_OnRehash] = List[I_OnOper] = List[I_OnGlobalOper] = List[I_OnKill] = 1;
-               List[I_OnPreCommand] = List[I_OnUserConnect] = List[I_OnGlobalConnect] = 1;
+               List[I_OnPreCommand] = List[I_OnUserConnect] = 1;
                List[I_OnUserQuit] = List[I_OnLoadModule] = List[I_OnRequest] = 1;
        }
 
@@ -307,20 +289,20 @@ class ModuleSQLLog : public Module
 
        virtual char* OnRequest(Request* request)
        {
-               log(DEBUG,"OnRequest in m_sqllog.so");
+               ServerInstance->Log(DEBUG,"OnRequest in m_sqllog.so");
                if(strcmp(SQLRESID, request->GetId()) == 0)
                {
                        SQLresult* res;
                        std::map<unsigned long, QueryInfo*>::iterator n;
 
                        res = static_cast<SQLresult*>(request);
-                       log(DEBUG, "Got SQL result (%s) with ID %lu", res->GetId(), res->id);
+                       ServerInstance->Log(DEBUG, "Got SQL result (%s) with ID %lu", res->GetId(), res->id);
 
                        n = active_queries.find(res->id);
 
                        if (n != active_queries.end())
                        {
-                               log(DEBUG,"This is an active query");
+                               ServerInstance->Log(DEBUG,"This is an active query");
                                n->second->Go(res);
 
                                std::map<unsigned long, QueryInfo*>::iterator n = active_queries.find(res->id);
@@ -342,11 +324,11 @@ class ModuleSQLLog : public Module
                        QueryInfo* i = new QueryInfo(nick, host, req.id, category);
                        i->qs = FIND_SOURCE;
                        active_queries[req.id] = i;
-                       log(DEBUG,"Active query id %d",req.id);
+                       ServerInstance->Log(DEBUG,"Active query id %d",req.id);
                }
                else
                {
-                       log(DEBUG, "SQLrequest failed: %s", req.error.Str());
+                       ServerInstance->Log(DEBUG, "SQLrequest failed: %s", req.error.Str());
                }
 
                /*long nickid = InsertNick(nick);
@@ -371,7 +353,7 @@ class ModuleSQLLog : public Module
                return 0;
        }
 
-       virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, bool validated)
+       virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, bool validated, const std::string &original_line)
        {
                if ((command == "GLINE") || (command == "KLINE") || (command == "ELINE") || (command == "ZLINE"))
                {
@@ -385,11 +367,6 @@ class ModuleSQLLog : public Module
                AddLogEntry(LT_CONNECT,user->nick,user->host,user->server);
        }
 
-       virtual void OnGlobalConnect(userrec* user)
-       {
-               AddLogEntry(LT_CONNECT,user->nick,user->host,user->server);
-       }
-
        virtual void OnUserQuit(userrec* user, const std::string &reason)
        {
                AddLogEntry(LT_DISCONNECT,user->nick,user->host,user->server);
@@ -397,7 +374,7 @@ class ModuleSQLLog : public Module
 
        virtual void OnLoadModule(Module* mod, const std::string &name)
        {
-               AddLogEntry(LT_LOADMODULE,name,ServerInstance->Config->ServerName,ServerInstance->Config->ServerName);
+               AddLogEntry(LT_LOADMODULE,name,Srv->Config->ServerName, Srv->Config->ServerName);
        }
 
        virtual ~ModuleSQLLog()
@@ -406,7 +383,7 @@ class ModuleSQLLog : public Module
        
        virtual Version GetVersion()
        {
-               return Version(1,0,0,1,VF_VENDOR);
+               return Version(1,1,0,1,VF_VENDOR,API_VERSION);
        }
        
 };