PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-ALTER TABLE `bot_channels` ADD `suspended` TINYINT( 1 ) NOT NULL;
\ No newline at end of file
+ALTER TABLE `bot_channels` ADD `suspended` TINYINT( 1 ) NOT NULL;
+
+ALTER TABLE `users` ADD UNIQUE (`user_user`);
+
+ALTER TABLE `noinvite` ADD INDEX ( `cid`, `uid` );
\ No newline at end of file
#include "EventLogger.h"
+#include "modcmd.h"
+#include "mysqlConn.h"
+#include "UserNode.h"
+#include "ChanNode.h"
+#include "DBHelper.h"
static struct Event *first_event = NULL, *last_event = NULL;
}
void logEvent(struct Event *event) {
- //log!
+ char fullcmd[MAXLEN];
+ sprintf(fullcmd, "%s %s", event->command, event->arguments);
+ if((event->flags & CMDFLAG_LOG) && event->chan) {
+ char *auth = ((event->user->flags & USERFLAG_ISAUTHED) ? event->user->auth : "*");
+ loadChannelSettings(event->chan);
+ if((event->chan->flags & CHANFLAG_CHAN_REGISTERED))
+ printf_mysql_query("INSERT INTO `events` (`cid`, `nick`, `auth`, `time`, `command`) VALUES ('%d', '%s', '%s', UNIX_TIMESTAMP(), '%s')", event->chan->channel_id, escape_string(event->user->nick), auth, escape_string(fullcmd));
+ }
+ if((event->flags & CMDFLAG_OPLOG)) {
+ MYSQL_RES *res;
+ MYSQL_ROW row;
+ int userid;
+ char *auth = ((event->user->flags & USERFLAG_ISAUTHED) ? event->user->auth : "*");
+ printf_mysql_query("SELECT `user_id` FROM `users` WHERE `user_user` = '%s'", escape_string(auth));
+ res = mysql_use();
+ if ((row = mysql_fetch_row(res)) == NULL)
+ userid = 0;
+ else
+ userid = atoi(row[0]);
+ loadChannelSettings(event->chan);
+ if((event->chan->flags & CHANFLAG_CHAN_REGISTERED))
+ printf_mysql_query("INSERT INTO `godlog` (`godlog_cid`, `godlog_uid`, `godlog_time`, `godlog_cmd`) VALUES ('%d', '%d', UNIX_TIMESTAMP(), '%s')", event->chan->channel_id, userid, escape_string(fullcmd));
+ }
}
static void destroyEvent(struct Event *event) {