'."\n";
if ($num_files == 0) {
print "no record found in $event";
print ", user $user"
if ($user);
print ", event $filter"
if ($filter);
print "\n";
} else {
print '
'."\n";
print '
'."\n";
print "date, time | csa | black | sec | / | white | sec | moves | result |
\n";
my $printed = 0;
foreach my $record (@records) {
my $filename = basename $record->{file};
next
unless $filename =~ /^($ire)\+($ire\-[0-9]+-[0-9]+F?)[\+:]($ire)[\+:]($ire)[\+:]([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})\.csa$/;
my $path = $5 ."/". $6 ."/". $7 . "/" . $filename;
my $url = $url_base . "/". $path;
my $header = "$5-$6-$7 $8:$9:$10";
my $class = ($printed % 2) ? "odd" : "even";
++$printed;
print ''."$header | (csa) | ";
# sente
print '';
print ''
if ($record->{result} eq "sente");
print &player_link($record->{sente});
print "*"
if ($record->{result} eq "sente");
print " | ";
print ''.$record->{time}[0]." | ";
print ''."v.s.".' | ';
# gote
print '';
print ''
if ($record->{result} eq "gote");
print &player_link($record->{gote});
print "*"
if ($record->{result} eq "gote");
print " | ";
print ''.$record->{time}[1]." | ";
print ''."$record->{moves} | $record->{reason} | ";
print "
\n";
++$i;
}
print "
\n";
print "
\n";
}
print "
\n";
}
my $query = new CGI;
print $query->header(-charset=>'euc-jp');
print $query->start_html(-title=>'Player Statistics', -encoding=>"EUC-JP",
-lang=>"ja",
-style=>{'src'=>'/shogi/shogi.css'},
-head=>CGI::Link({-rel=>'shortcut icon',
-href=>'/shogi/favicon.ico',
-type=>"image/jpeg"})
);
my $begin = 0;
my $step = 20;
if ($query->param) {
if (defined $query->param('event')
&& ($query->param('event') =~ /^[A-z0-9-]+$/)) {
$event = $query->param('event');
}
if (defined $query->param('filter')
&& ($query->param('filter') =~ /^[A-z0-9-]+$/)) {
$filter = $query->param('filter');
$filter =~ s/-[0-9]+-[0-9]+F?-?//;
}
if (defined $query->param('user')
&& ($query->param('user') =~ /^[A-Za-z0-9-_@\+.]+$/)) {
$user = $query->param('user');
$user_at = $user;
$user =~ s/@[^+]*//;
$user_plus = $user;
$user =~ s/\+.*//;
$user_at =~ s/\+.*//;
}
if (defined $query->param('show_self_play')) {
$show_self_play = 1;
}
if (defined $query->param('range') && $query->param('range') =~ /^[0-9]+$/) {
$range = $query->param('range');
}
}
$url_base .= $event . "/";
$file_base .= $event . "/";
my $options = "event=$event&filter=$filter";
$options .= "&show_self_play=1"
if ($show_self_play);
$table .= $options;
$show_player .= $options;
print "