--- trunk/irc-logger.pl 2006/03/18 16:02:32 21 +++ trunk/irc-logger.pl 2006/05/20 10:12:19 25 @@ -18,7 +18,7 @@ ## CONFIG -my $NICK = 'irc-logger-dev'; +my $NICK = 'irc-logger'; my $CONNECT = {Server => 'irc.freenode.net', Nick => $NICK, @@ -144,7 +144,7 @@ my $sql = $context ? $sql_context : $sql_message; - $sql .= " where message ilike ? " if ($args->{search}); + $sql .= " where message ilike ? or nick ilike ? " if ($args->{search}); $sql .= " order by log.time desc"; $sql .= " limit " . $args->{limit}; @@ -152,7 +152,7 @@ if (my $search = $args->{search}) { $search =~ s/^\s+//; $search =~ s/\s+$//; - $sth->execute( '%' . $search . '%' ); + $sth->execute( ( '%' . $search . '%' ) x 2 ); warn "search for '$search' returned ", $sth->rows, " results ", $context || '', "\n"; } else { $sth->execute(); @@ -216,12 +216,16 @@ my $append = 1; - if ($last_row->{nick} ne $row->{nick}) { + my $nick = $row->{nick}; + if ($nick =~ s/^_*(.*?)_*$/$1/) { + $row->{nick} = $nick; + } + + if ($last_row->{nick} ne $nick) { # obfu way to find format for me_nick if needed or fallback to default my $fmt = $row->{me} ? ( $args->{fmt}->{me_nick} || $args->{fmt}->{nick} ) : $args->{fmt}->{nick}; $fmt ||= '%s'; - my $nick = $row->{nick}; $nick = $args->{filter}->{nick}->($nick) if (ref($args->{filter}->{nick}) eq 'CODE'); $msg .= sprintf( $fmt, $nick ); @@ -524,7 +528,7 @@ } . join("

", get_from_log( - limit => $q->param('limit') || 100, + limit => $q->param('last') || 100, search => $q->param('search') || $q->param('grep') || undef, fmt => { time => '%s ',