【s.cgi】

更新 新規 編集 設定 一覧
#!/usr/bin/perl
###################################################################
#■概要:ゲームhtmlリスト作成
###################################################################
require 'cgi-bin/lib/util.pl';
require 'cgi-bin/lib/common.pl';
require 'cgi-bin/lib/default.pl';
&parseInput();
&default();
###################################################################
#◆初期設定
$SaveDir = 'cgi-files/csystem';
$PageCount = 1;
$PageCount2 = 0;
$n = $in{'n'};
$w = $in{'w'};
$OnePage = 30;
##################################################################
#◆ゲーム別着メロデータファイル存在チェック
if( !(-e "$SaveDir/dat_s_$w/$n.dat") ){
&Error("ゲーム別着メロデータファイルが存在しません<br>");
}
##################################################################
#◆htmlファイル更新チェック
$FilePass = "$SaveDir/html_s_$w/$n.html";
if( !(-e "$FilePass")){
&makehtml();
}else{
if(substr(&getLocalTime(),0,10) != substr(&getFileLastUpdate($FilePass),0,10)){
&makehtml();
}
}
##################################################################
#◆着メロリストアクセスカウント
&CounterPlus("$SaveDir/listlog_$w.dat",1);
###################################################################
#◆ジャンプ
print "Location: $BaseURL/$SaveDir/html_s_$w/$n.html\n\n";
###################################################################
#▼html作成
#(引数:なし)
#(返却値:なし)
###################################################################
sub makehtml{
#□ファイル読み込み
@Record = &fread("$SaveDir/dat_s_$w/$n.dat");
$Total = $#Record + 1;
$TotalB = 0;
#■5曲以上曲数カウント
for($i = 0; $i <= $#Record; $i++){
&splitRecord($Record[$i]);
if($GCode2 eq ''){
$TotalB = $TotalB + 1;
}else{
if($GCode2 ne $GFlag){
$GFlag = $GCode2;
$G2Total{$GCode2} = 0;
}
$G2Total{$GCode2} = $G2Total{$GCode2} + 1;
}
}
$GFlag = '';
#■出力リスト数カウント
for($i = 0; $i <= $#Record; $i++){
&splitRecord($Record[$i]);
if($GCode2 eq ''){
}else{
if($GCode2 ne $GFlag && $G2Total{$GCode2} >= 5){
$GFlag = $GCode2;
$TotalB = $TotalB + 1;
}
if($G2Total{$GCode2} < 5 && $G2Total{$GCode2} ne ''){
$TotalB = $TotalB + 1;
}
}
}
$GFlag = '';
&splitRecord($Record[0]);
if($MWaon eq 'ma3'){ $Waon = '40和音'; }elsif($MWaon eq 'mmf'){ $Waon = '16和音'; }elsif($MWaon eq 'smd'){ $MWaon = '3,4和音'; }
open(HTML, "> $SaveDir/html_s_$w/$n.html");
print HTML &htmlHeader('o2', "$SName【$Waon全$Total曲】");
print HTML "<table><tr><td bgcolor='#3300CC'><font color='#FFFFFF'>$SName<br>【$Waon全$Total曲】</font></td></tr></table>\n";
&html_Page();
#■5曲以上曲リスト作成
for($i = 0; $i <= $#Record; $i++){
&splitRecord($Record[$i]);
if($GCode2 eq ''){
}else{
if($GCode2 ne $GFlag && $G2Total{$GCode2} >= 5){
$GFlag = $GCode2;
$Count = $Count + 1;
if($GCode eq 'original'){
print HTML "<hr><a href=../../../o.cgi?n=$GCode2&w=$w>$TName\[$G2Total{$GCode2}曲\]</a><br>";
}else{
print HTML "<hr><a href=../../../o.cgi?n=$GCode2&w=$w>$MName\[$G2Total{$GCode2}曲\]</a><br>";
}
}
}
}
#■html作成
for($i = 0; $i <= $#Record; $i++){
&splitRecord($Record[$i]);
$TLevel = &RankMark($TLevel);
$MSize = &htmlMSize($MSize,$MTitle);
$Toll = &getName($JasKey);
$Waon = &htmlWaon($MWaon);
$TName =~ s/"//g; $GName =~ s/"//g; $MName =~ s/"//g;
if($Count >= $OnePage){
$PageCount = $PageCount + 1;
$PageCount2 = $PageCount2 + 1;
print HTML "<hr><a href=$n-$PageCount2.html>次へ></a><br>";
print HTML &htmlFooter();
close(HTML);
open(HTML, "> $SaveDir/html_s_$w/$n-$PageCount2.html");
print HTML &htmlHeader('o2', "$SName【$Waon全$Total曲】");
print HTML "<table><tr><td bgcolor='#3300CC'><font color='#FFFFFF'>$SName<br>【$Waon全$Total曲】</font></td></tr></table>\n";
&html_Page();
$Count = 0;
}
if($GCode2 eq '' || (0 < $G2Total{$GCode2} && $G2Total{$GCode2} < 5)){
print HTML "<hr>$Toll<a href=../../../n.cgi?n=$MCode>$MName$MSize</a><br>";
print HTML "$GName<br>";
print HTML "by $TName$TLevel<br>";
print HTML "<br>";
$Count = $Count + 1;
}
}
print HTML &htmlFooter();
close(HTML);
}
###################################################################
#▼ページ出力
#(引数:)
#(返却値:なし)
###################################################################
sub html_Page{
if($TotalB > $OnePage){
if($Count >= $OnePage){
print HTML "<a href='$n.html'>[1]</a>";
}else{
print HTML "[$PageCount]";
}
for($k = $OnePage; $k < $TotalB; $k = $k + $OnePage){
$Page = ($k / $OnePage);
$PagePlus = $Page + 1;
if($PageCount == $Page + 1){
print HTML "[$PagePlus]";
}else{
print HTML "<a href='$n-$Page.html'>[$PagePlus]</a>";
}
}
print HTML "<br>\n";
}
print HTML "<br>\n";
}

更新者:りょうた 2004-07-31 (土) 14:56:00
作成者:りょうた 2004-07-31 (土) 14:15:44

■キーワード検索


KeyWiki Ver 0.6.9
(c) 2004 Ryota