From 82cb57987bcf020f1a54dfe3b6f95790151d76c6 Mon Sep 17 00:00:00 2001 From: William Heimbigner Date: Thu, 24 Dec 2015 23:57:26 +0400 Subject: Add tracking of nickserv account on join database logging --- DATABASE.SCHEMA | 1 + lib/ASM/DB.pm | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/DATABASE.SCHEMA b/DATABASE.SCHEMA index 4e7388d..8a901f9 100644 --- a/DATABASE.SCHEMA +++ b/DATABASE.SCHEMA @@ -62,6 +62,7 @@ CREATE TABLE `joins` ( `user` varchar(10) NOT NULL, `host` varchar(63) NOT NULL, `geco` varchar(255) DEFAULT NULL, + `account` varchar(16) DEFAULT NULL, KEY `index` (`index`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; diff --git a/lib/ASM/DB.pm b/lib/ASM/DB.pm index 5ed239b..b842deb 100644 --- a/lib/ASM/DB.pm +++ b/lib/ASM/DB.pm @@ -262,6 +262,9 @@ sub logg if ($table eq 'kick') { $string = $string . ', victim_nick, victim_user, victim_host, victim_geco, content1'; } + if ($table eq 'join') { + $string .= ', account'; + } $string = $string . ') VALUES ('; if (($table ne 'nick') && ($table ne 'quit') && ($table ne 'kick')) { $string = $string . $dbh->quote($event->{to}->[0]) . ", "; @@ -285,8 +288,17 @@ sub logg if ($table eq 'mode') { $string = $string . ', ' . $dbh->quote($event->{args}->[1]); } + if ($table eq 'join') { + my $account = $::sn{lc $event->{nick}}->{account}; + if (!defined($account) or ($account eq '0') or ($account eq '*')) { + $account = 'NULL'; + } else { + $account = $dbh->quote($account); + } + $string .= ', ' . $account; + } $string = $string . ');'; -# ASM::Util->dprint($string, "mysql"); + ASM::Util->dprint($string, 'mysql'); $dbh->do($string); } -- cgit v1.2.3