#!/usr/bin/perl #┌───────────────────────────────── #│ Black Jack #│ list.cgi - 2008/02/11 #│ Copyright (c) KentWeb #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── BEGIN { use CGI::Carp qw(carpout fatalsToBrowser); carpout(STDOUT); } # 外部ファイル require './init.cgi'; &parse_form; &list_data; #------------------------------------------------- # リスト表示 #------------------------------------------------- sub list_data { my $page = $in{'page'}; my ($i, @data); open(IN,"$logfile") || &error("Open Err: logfile"); while() { $i++; next if ($i < $page + 1); next if ($i > $page + $listlog); push(@data,$_); } close(IN); # ページ繰り越し my $next = $page + $listlog; my $back = $page - $listlog; my $pgbtn; if ($back >= 0 || $next < $i) { $pgbtn .= "| "; my ($x, $y) = (1, 0); while ($i > 0) { if ($page == $y) { $pgbtn .= qq{$x |\n}; } else { $pgbtn .= qq{$x |\n}; } $x++; $y += $listlog; $i -= $listlog; } } # アイコン my @icon = split(/\s+/, $ico_play); # 日付ファイル open(IN,"$dayfile"); my $date = ; close(IN); # 画面 my ($flg, $loop); open(IN,"$tmpl_list") || &error("Open Err: template"); print "Content-type: text/html\n\n"; while() { if (//) { $flg = 1; next; } if (//) { $flg = 0; my ($i, $bef, $rank); foreach $data (@data) { my ($no,$name,$pt,$time,$ico) = split(/<>/, $data); $i++; # ランク if ($pt ne $bef) { $rank = $i; } $bef = $pt; $name = qq|$name|; my $tmp = $loop; $tmp =~ s/!rank!/$rank/; $tmp =~ s/!name!/$name/; $tmp =~ s/!score!/$pt/; $tmp =~ s/!date!/&chg_date($time)/e; print $tmp; } next; } if ($flg) { $loop .= $_; next; } s/!imgurl!/$imgurl/; s/!date!/$date/; s/!topurl!/$topurl/; s/!pagebtn!/$pgbtn/; print; } close(IN); exit; }