* | 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>
* ---------------------------------------------------
*/
+using namespace std;
+
#include <stdio.h>
#include <string>
#include <stdlib.h>
return (SQLModule);
}
- ModuleSQLLog()
+ ModuleSQLLog(Server* Me)
+ : Module::Module(Me)
{
- Srv = new Server;
+ Srv = Me;
ReadConfig();
}
- virtual void OnRehash()
+ 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_OnUserQuit] = List[I_OnLoadModule] = 1;
+ }
+
+ virtual void OnRehash(std::string parameter)
{
ReadConfig();
}
delete query;
if (nid < 1)
{
- SQLRequest* query = new SQLRequest(SQL_COUNT,dbid,"INSERT INTO ircd_log_actors VALUES('','"+nick+"')");
- Request queryrequest((char*)query, this, SQLModule);
- SQLResult* result = (SQLResult*)queryrequest.Send();
- if (result->GetType() == SQL_ERROR)
+ SQLRequest* query2 = new SQLRequest(SQL_COUNT,dbid,"INSERT INTO ircd_log_actors VALUES('','"+nick+"')");
+ Request queryrequest2((char*)query2, this, SQLModule);
+ SQLResult* result2 = (SQLResult*)queryrequest2.Send();
+ if (result2->GetType() == SQL_ERROR)
{
- Srv->Log(DEFAULT,"SQL log error: " + result->GetError());
+ Srv->Log(DEFAULT,"SQL log error: " + result2->GetError());
}
- if (result)
+ if (result2)
delete result;
- if (query)
- delete query;
+ if (query2)
+ delete query2;
nid = InsertNick(nick);
}
return nid;
}
- void InsertEntry(long category,long nickid,long hostid,long sourceid,unsigned long date)
+ void InsertEntry(unsigned long category,unsigned long nickid,unsigned long hostid,unsigned long sourceid,unsigned long date)
{
char querybuffer[MAXBUF];
- snprintf(querybuffer,MAXBUF,"INSERT INTO ircd_log VALUES('',%d,%d,%d,%d,%lu)",category,nickid,hostid,sourceid,date);
+ snprintf(querybuffer,MAXBUF,"INSERT INTO ircd_log VALUES('',%lu,%lu,%lu,%lu,%lu)",(unsigned long)category,(unsigned long)nickid,(unsigned long)hostid,(unsigned long)sourceid,(unsigned long)date);
SQLRequest* query = new SQLRequest(SQL_COUNT,dbid,querybuffer);
Request queryrequest((char*)query, this, SQLModule);
SQLResult* result = (SQLResult*)queryrequest.Send();
delete query;
if (hid < 1)
{
- SQLRequest* query = new SQLRequest(SQL_COUNT,dbid,"INSERT INTO ircd_log_hosts VALUES('','"+host+"')");
- Request queryrequest((char*)query, this, SQLModule);
- SQLResult* result = (SQLResult*)queryrequest.Send();
- if (result->GetType() == SQL_ERROR)
+ SQLRequest* query2 = new SQLRequest(SQL_COUNT,dbid,"INSERT INTO ircd_log_hosts VALUES('','"+host+"')");
+ Request queryrequest2((char*)query2, this, SQLModule);
+ SQLResult* result2 = (SQLResult*)queryrequest2.Send();
+ if (result2->GetType() == SQL_ERROR)
{
- Srv->Log(DEFAULT,"SQL log error: " + result->GetError());
+ Srv->Log(DEFAULT,"SQL log error: " + result2->GetError());
}
if (result)
- delete result;
+ delete result2;
if (query)
- delete query;
+ delete query2;
hid = InsertHost(host);
}
return hid;
long nickid = InsertNick(nick);
long sourceid = InsertNick(source);
long hostid = InsertHost(host);
- InsertEntry(category,nickid,hostid,sourceid,time(NULL));
+ InsertEntry((unsigned)category,(unsigned)nickid,(unsigned)hostid,(unsigned)sourceid,(unsigned long)time(NULL));
}
- virtual void OnOper(userrec* user)
+ virtual void OnOper(userrec* user, std::string opertype)
{
AddLogEntry(LT_OPER,user->nick,user->host,user->server);
}
return 0;
}
- virtual int OnMeshToken(char token,string_list params,serverrec* source,serverrec* reply, std::string tcp_host,std::string ipaddr,int port)
- {
- if ((token == 'U') || (token == 's') || (token == 'S'))
- AddLogEntry(LT_SERVLINK,tcp_host,ipaddr,Srv->GetServerName());
- return 0;
- }
-
virtual int OnPreCommand(std::string command, char **parameters, int pcnt, userrec *user)
{
if ((command == "GLINE") || (command == "KLINE") || (command == "ELINE") || (command == "ZLINE"))
- AddLogEntry(LT_XLINE,user->nick,parameters[0],user->server);
+ {
+ AddLogEntry(LT_XLINE,user->nick,command[0]+std::string(":")+std::string(parameters[0]),user->server);
+ }
return 0;
}
AddLogEntry(LT_CONNECT,user->nick,user->host,user->server);
}
- virtual void OnUserQuit(userrec* user)
+ virtual void OnUserQuit(userrec* user, std::string reason)
{
AddLogEntry(LT_DISCONNECT,user->nick,user->host,user->server);
}
virtual ~ModuleSQLLog()
{
- delete Srv;
}
virtual Version GetVersion()
{
}
- virtual Module * CreateModule()
+ virtual Module * CreateModule(Server* Me)
{
- return new ModuleSQLLog;
+ return new ModuleSQLLog(Me);
}
};