【s.cgiの編集】
設定
改名
履歴
G-System
/ 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"; }
■G-ID
■添付ファイルアップロード
KeyWiki
Ver 0.6.9
(c) 2004
Ryota