TOPページの最近の出来事をキャラ・中古・トーナメントの3つに分割します。
更に、ログイン後もメニューから最近の出来事を確認出来るようにします。
以下のファイルを修正します。
index.cgi
sub/msvslib.pl
sub/routean.pl
tyuko.cgi
trmnt_setei.cgi
trmnt_trmnt.cgi
data_ini/msvs_ini.cgi
HTML部分は適宜修正して下さい。
※注意点
「data」ディレクトリ内にて
今まで
「kinkyo.cgi」に保存していたログを
キャラ用ログファイル=「kinkyo.cgi」
中古用屋ログファイル=「tyukin.cgi」
トーナメント用
ログファイル=「trmkin.cgi」
に分割するだけです。
| TOPページ表示の変更です。そのまま入れ替えて下さい。 | |
| ルーチン名 | sub html_top |
| 行数 | 458行目近辺 |
| 変更前 | <table border=1 width='100%' > |
| 変更後 | <table border=1 cellspacing=0 cellpadding=2 width='100%'> <tr> <td align="center" class="b2" colspan="3">【最近の出来事】</B></td> </tr> <tr> <td align="center" class="b1" width="33%">キャラクター・勢力</td> <td align="center" class="b1" width="33%">中古MS売り場</td> <td align="center" class="b1" width="33%">トーナメント</td> </tr> <tr> < td valign="top"> EOM #キャラ近況読込み &kinkyo_read; foreach(@kinkyo_data) { ($kin_time,$kinkyo) = split(/<>/); $page_dsp .= "<font class=\"small\">【$kin_time】<br><b>$kinkyo</b></font><br>\n"; } $page_dsp .= <<"EOM"; < /td> < td valign="top"> EOM #中古近況読込み &tyukin_read; foreach(@kinkyo_data) { ($kin_time,$kinkyo) = split(/<>/); $page_dsp .= "<font class=\"small\">【$kin_time】<br><b>$kinkyo</b></font><br>\n"; } $page_dsp .= <<"EOM"; </td> <td valign="top"> EOM #トナメ近況読込み &trmkin_read; foreach(@kinkyo_data) { ($kin_time,$kinkyo) = split(/<>/); $page_dsp .= "<font class=\"small\">【$kin_time】<br><b>$kinkyo</b></font><br>\n"; } $page_dsp .= <<"EOM"; </td> </tr> </table> |
| サブルーチンの追加です。msvslib.plのどこかに追加して下さい。 全体近況書き込み〜勢力近況書き込みのサブルーチンの間に入れると分かりやすいでしょう。 |
|
| ルーチン名 | - |
| 行数 | 231行目近辺 |
| 追加 | #--------------------# #/*@*/中古近況読込 # #--------------------# sub tyukin_read { # ファイルロック &filelock("$tyukin_file\.cgi"); if (open(IN,"$data_path/$tyukin_file\.cgi") ) { @kinkyo_data = <IN>; close(IN); } # ロック解除 &fileunlock("$tyukin_file\.cgi"); } #-----------------------# #/*@*/中古近況書き込み # #-----------------------# sub tyukin_write { my(@kinkyo_regist); &get_time; # ファイルロック &filelock("$tyukin_file\.cgi"); if (open(IN,"$data_path/$tyukin_file\.cgi") ) { @kinkyo_regist = <IN>; close(IN); (@kinkyo_regist > $kinkyo_max) && pop(@kinkyo_regist); } unshift(@kinkyo_regist,"$gettime<>$kinkyo<>\n"); open(KIN,">$data_path/$tyukin_file\.cgi"); print KIN @kinkyo_regist; close(KIN); # ロック解除 &fileunlock("$tyukin_file\.cgi"); } #--------------------# #/*@*/トナメ近況読込 # #--------------------# sub trmkin_read { # ファイルロック &filelock("$trmkin_file\.cgi"); if (open(IN,"$data_path/$trmkin_file\.cgi") ) { @kinkyo_data = <IN>; close(IN); } # ロック解除 &fileunlock("$trmkin_file\.cgi"); } #-----------------------# #/*@*/トナメ近況書き込み # #-----------------------# sub trmkin_write { my(@kinkyo_regist); &get_time; # ファイルロック &filelock("$trmkin_file\.cgi"); if (open(IN,"$data_path/$trmkin_file\.cgi") ) { @kinkyo_regist = <IN>; close(IN); (@kinkyo_regist > $kinkyo_max) && pop(@kinkyo_regist); } unshift(@kinkyo_regist,"$gettime<>$kinkyo<>\n"); open(KIN,">$data_path/$trmkin_file\.cgi"); print KIN @kinkyo_regist; close(KIN); # ロック解除 &fileunlock("$trmkin_file\.cgi"); } |
| 中古屋部分の修正 &kinkyo_write; を &tyukin_write; に変更します。(routean.pl中の3カ所) |
|
| ルーチン名 | - |
| 行数 | 88行目近辺 |
| 変更前 | #近況に書き込み $kinkyo = "<font color=#00FF00>$knameが$cnameの$cunitnameを$kaisiポイントで落札しました。</font>"; &kinkyo_write; |
| 変更後 | #近況に書き込み $kinkyo = "<font color=#00FF00>$knameが$cnameの$cunitnameを$kaisiポイントで落札しました。</font>"; &tyukin_write; |
| 行数 | 137行目近辺 |
| 変更前 | #近況に書き込み $kinkyo .= "$cnameの$cunitnameはオークションで売れ残りました。</font>"; &kinkyo_write; |
| 変更後 | #近況に書き込み $kinkyo .= "$cnameの$cunitnameはオークションで売れ残りました。</font>"; &tyukin_write; |
| 行数 | 163行目近辺 |
| 変更前 | #近況に書き込み $kinkyo = "<font color=#00FF00>$cnameの$cunitnameは販売期限を越えたため廃棄されました。</font>"; &kinkyo_write; |
| 変更後 | #近況に書き込み $kinkyo = "<font color=#00FF00>$cnameの$cunitnameは販売期限を越えたため廃棄されました。</font>"; &tyukin_write; |
| 中古屋部分の修正 &kinkyo_write; を &tyukin_write; に変更します。(tyuko.cgi中の3カ所) |
|
| ルーチン名 | - |
| 行数 | 288行目近辺 |
| 変更前 | #近況に書き込み $kinkyo = "<font color=#00FF00>$in{'name'}が$kunitnameを売りに出しました。</font>"; &kinkyo_write; |
| 変更後 | #近況に書き込み $kinkyo = "<font color=#00FF00>$in{'name'}が$kunitnameを売りに出しました。</font>"; &tyukin_write; |
| 行数 | 694行目近辺 |
| 変更前 | #近況に書き込み $kinkyo = "<font color=#00FF00>$knameが$cnameの$kunitnameを$in{'kakaku'}ポイントで購入しました。</font>"; &kinkyo_write; |
| 変更後 | #近況に書き込み $kinkyo = "<font color=#00FF00>$knameが$cnameの$kunitnameを$in{'kakaku'}ポイントで購入しました。</font>"; &tyukin_write; |
| 行数 | 721行目近辺 |
| 変更前 | #近況に書き込み $kinkyo = "$knameが$kunitnameの価格を$in{'kakaku'}ポイントに\変\更しました。"; &kinkyo_write; |
| 変更後 | #近況に書き込み $kinkyo = "$knameが$kunitnameの価格を$in{'kakaku'}ポイントに\変\更しました。"; &tyukin_write; |
| トーナメント部分の修正 &kinkyo_write; を &trmkin_write; に変更します。 |
|
| ルーチン名 | - |
| 行数 | 807行目近辺 |
| 変更前 | #近況に書き込み &kinkyo_write; |
| 変更後 | #近況に書き込み &trmkin_write; |
| トーナメント部分の修正 &kinkyo_write; を &trmkin_write; に変更します。 |
|
| ルーチン名 | - |
| 行数 | 198行目近辺 |
| 変更前 | #近況に書き込み $kinkyo = "<FONT COLOR=#FFFF00>「$tmeisyo」が\開\催されました。</FONT>"; &kinkyo_write; |
| 変更後 | #近況に書き込み $kinkyo = "<FONT COLOR=#FFFF00>「$tmeisyo」が\開\催されました。</FONT>"; &trmkin_write; |
| 初期設定へのファイル名追加です。msvs_ini.cgiのどこかに追加して下さい。 近況保存ファイル名の下辺りに入れると分かりやすいでしょう。 |
|
| ルーチン名 | - |
| 追加 | # 中古近況保存ファイル名 $tyukin_file = "tyukin"; # トナメ近況保存ファイル名 $trmkin_file = "trmkin"; |
| 1) | 「kinkyo.cgi」を初期化 空のファイルの「tyukin.cgi」「trmkin.cgi」をdata内に作成する。 |
追加したファイルは書き込み可能にしてください。 |
| 2) | 手作業で「kinkyo.cgi」内のログを キャラ用ログファイル=「kinkyo.cgi」 中古用屋ログファイル=「tyukin.cgi」 トーナメント用 ログファイル=「trmkin.cgi」 に振り分ける。 |
大変な作業ではありませんので、こちらをオススメします。 |
私は手作業で振り分けましたので、1)の方法は確認していません。
| 以下の記述でファイルを作成して、ファイル名を「dekigoto.cgi」とでもして、メニューに追加して下さい。 当然ですが、実行権は与えてください。 |
| #!/usr/local/bin/perl # 初期処理実行 require 'data_ini/init_proc.cgi'; #-------------------# #/*@*/メイン処理 # #-------------------# & kinkyo_list; exit; #-------------------# #/*@*/ページ表示 # #-------------------# sub kinkyo_list { #関連サブ読み込み if(!$HEADFOOT) { require 'sub/headfoot.pl'; } #画面編集 $page_dsp = ""; $page_dsp .= <<"EOM"; < table border=1 width='100%'> <tr> <td align="center" class="b2" colspan="3">最近の出来事</td> </tr> <tr> <td align="center" class="b1" width="33%">キャラクター・勢力</td> <td align="center" class="b1" width="33%">中古MS売り場</td> <td align="center" class="b1" width="33%">トーナメント</td> </tr> <tr> < td valign="top"> EOM #キャラ近況読込み &kinkyo_read; foreach(@kinkyo_data) { ($kin_time,$kinkyo) = split(/<>/); $page_dsp .= "<font class=\"small\">【$kin_time】<br><b>$kinkyo</b></font><br>\n"; } $page_dsp .= <<"EOM"; < /td> < td valign="top"> EOM #中古近況読込み &tyukin_read; foreach(@kinkyo_data) { ($kin_time,$kinkyo) = split(/<>/); $page_dsp .= "<font class=\"small\">【$kin_time】<br><b>$kinkyo</b></font><br>\n"; } $page_dsp .= <<"EOM"; < /td> < td valign="top"> EOM #トナメ近況読込み &trmkin_read; foreach(@kinkyo_data) { ($kin_time,$kinkyo) = split(/<>/); $page_dsp .= "<font class=\"small\">【$kin_time】<br><b>$kinkyo</b></font><br>\n"; }$page_dsp .= <<"EOM"; </td> </tr> </table> </body> </html> EOM $main_title = "$main_title"; #ヘッダー書込み &header; #画面書込み print "$page_dsp"; exit; } |