--- trunk/bin/irc-logger.pl 2007/06/08 12:07:45 63 +++ trunk/bin/irc-logger.pl 2007/06/08 12:17:35 65 @@ -263,8 +263,13 @@ $sql .= " where message ilike ? or nick ilike ? " if ($args->{search}); $sql .= " where id in (" . join(",", @{ $tags->{ $args->{tag} } }) . ") " if ($args->{tag} && $tags->{ $args->{tag} }); if ($args->{date}) { - $args->{date} = DateTime::Format::ISO8601->parse_datetime( $args->{date} )->ymd; + my $date = eval { DateTime::Format::ISO8601->parse_datetime( $args->{date} )->ymd; }; + if ( $@ ) { + warn "invalid date ", $args->{date}, $/; + $date = DateTime->now->ymd; + } $sql .= " where date(time) = ? "; + $args->{date} = $date; } $sql .= " order by log.time desc"; $sql .= " limit " . $args->{limit} if ($args->{limit}); @@ -850,6 +855,8 @@ .col-3 { background: #ff9999 } .col-4 { background: #ff66ff } */ +.calendar { border: 1px solid red; width: 100%; } +.month { border: 0px; width: 100%; } _END_OF_STYLE_ my $max_color = 4; @@ -902,28 +909,42 @@ qq{
}; if ($request->url =~ m#/history#) { my $sth = $dbh->prepare(qq{ - select date(time) as date,count(*) as nr + select date(time) as date,count(*) as nr,sum(length(message)) as len from log group by date(time) order by date(time) desc }); $sth->execute(); my ($l_yyyy,$l_mm) = (0,0); + $html .= qq{
} . $cal->as_HTML() . qq{ | }; + $ord++; + $html .= qq{
} . $cal->as_HTML() . qq{ |
",