劇ぱわ 改造方法
管理者コメント追加
要旨
「試合後の監督コメント」欄に管理者コメントを追加できる様にします。
試合を行ってコメントを残さなくても、管理者のみコメントを追加できる様になります。
新規参加者へのあいさつ、不正・暴言者への注意など、利用価値は高いのではないでしょうか。
管理者コメントは「管理モード」画面で入力します。
管理者コメントを追加する改造
「gekipawa.cgi」ファイルをエディタで開きます。
□モード選択部分(無編集なら79行目〜)を探して下さい。
if($form{'kiroku'}){ require './geki_else.cgi'; $no = $form{'no'}; if($no eq 1) { &last_team; } elsif($no eq 2) { &last_play; } elsif($no eq 3) { &past_rank; } elsif($no eq 4 || $no eq 5) { &each_reco; } else { &last_kekka; } exit; } if($form{'rule'}) { &rule; exit; } ⊤ exit; ##### デコード&ローカル変数へ受け渡し
下記赤文字部分を追加します。
if($form{'kiroku'}){
require './geki_else.cgi';
$no = $form{'no'};
if($no eq 1) { &last_team; }
elsif($no eq 2) { &last_play; }
elsif($no eq 3) { &past_rank; }
elsif($no eq 4 || $no eq 5) { &each_reco; }
else { &last_kekka; }
exit;
}
if($form{'rule'}) { &rule; exit; }
if($form{'kanricom'}){ &kanricom; &kanri; exit; } # 管理者コメント
⊤
exit;
##### デコード&ローカル変数へ受け渡し
更に「コメント表示部分」を探して下さい。(無編集なら317行目〜)
# コメント
open(CF,"$commentfile") || &error('指定されたファイルが開けません。');
seek(CF,0,0); @comments = <CF>; close(CF);
@com_pri = ();
$com_pri[0] = "<table border=1 width=\"$ysize\" cellpadding=5 cellspacing=0>\n";
$com_pri[1] = "<tr align=\"center\"><td>試合後の監督コメント</td></tr>\n";
$com_pri[2] = "<tr><td bgcolor=\"FFFFFF\">\n";
$i = 0;
foreach(@comments){
($no, $saku, $home, $date, $com, $kekka) = split /<>/;
$date = &date($date);
if($home){ $saku = "<a href=\"$home\" target=\"_blank\">$saku</a>"; }
if($no){
if($kekka){ $kekka = "【 $kekka 】"; }
$com_pri[$i+3] = "■ 劇ぱわニュース : 『 $com 』 $kekka ($date)\n";
}else{
$com_pri[$i+3] = "□ $saku : 『 $com 』 【 $kekka 】 ($date)\n";
}
if($i ne $#comments){
$com_pri[$i+3] = "$com_pri[$i+3]<hr width=\"70%\" size=1>\n";
}
$i++;
}
上記青色部分を下記赤色部分の様に編集して下さい。
# コメント open(CF,"$commentfile") || &error('指定されたファイルが開けません。'); seek(CF,0,0); @comments = <CF>; close(CF); @com_pri = (); $com_pri[0] = "<table border=1 width=\"$ysize\" cellpadding=5 cellspacing=0>\n"; $com_pri[1] = "<tr align=\"center\"><td>試合後の監督コメント</td></tr>\n"; $com_pri[2] = "<tr><td bgcolor=\"FFFFFF\">\n"; $i = 0; foreach(@comments){ ($no, $saku, $home, $date, $com, $kekka) = split /<>/; $date = &date($date); if($home){ $saku = "<a href=\"$home\" target=\"_blank\">$saku</a>"; } # if($no){ # if($kekka){ $kekka = "【 $kekka 】"; } # $com_pri[$i+3] = "■ 劇ぱわニュース : 『 $com 』 $kekka ($date)\n"; if($no eq 1){ if($kekka){ $kekka = "【 $kekka 】"; } $com_pri[$i+3] = " ■ 劇ぱわニュース : 『 $com 』 $kekka ($date)\n"; }elsif($no eq 9){ $com_pri[$i+3] = "<span style=\"color: #FF0000;\">★ 管理者 : 『 $com 』 ($date)</span>\n"; }else{ $com_pri[$i+3] = "□ $saku : 『 $com 』 【 $kekka 】 ($date)\n"; } if($i ne $#comments){ $com_pri[$i+3] = "$com_pri[$i+3]<hr width=\"70%\" size=1>\n"; } $i++; }
更に「管理用画面」を探して下さい。(無編集なら1,069行〜)
##### 管理用画面
sub kanri{
if($form{'kanripass'} ne $kanri_pass){ &error('パスワードが違います。'); }
&header;
print <<"_EOF_";
<font color="$tcolor" size="$tsize">管理モード画面</font><br>
<br><br><br>
チーム名を入力してください。<br>
<form action=$cgifile method=$method>
<input type=hidden name=login value=1>
<input type=hidden name=kanri_mode value=1>
<input type=text name=team size=15> <input type=submit name=login value="Enter">
</form>
<br><br>
_EOF_
# コメント
open(CF,"$commentfile") || &error('指定されたファイルが開けません。');
seek(CF,0,0); @comments = <CF>; close(CF);
print "<form action=$cgifile method=$method>\n";
print "<table border=1 width=$ysize cellpadding=5 cellspacing=0>\n";
print "<tr align=center><td>試合後の監督コメント</td></tr>\n";
$i = 0;
foreach(@comments){
($no, $saku, $home, $date, $com, $kekka) = split(/<>/, $_);
$date = &date($date);
print "<tr><td bgcolor=\"FFFFFF\">\n";
if($no){
if($kekka){ $kekka = "【 $kekka 】"; }
print "<input type=checkbox name=del$i value=$i> 劇ぱわニュース : 『 $com 』 $kekka ($date)\n";
}else{
print "<input type=checkbox name=del$i value=$i> $saku : 『 $com 』 【 $kekka 】 ($date)\n";
}
print "</td></tr>\n";
$i++;
}
print "</table><br>\n";
print "<input type=submit name=comdel value=\"コメント削除\">\n";
print "</form><br><br>\n";
&chosaku;
}#end kanri
##### コメントの削除処理
上記青色部分を下記赤色部分の様に編集して下さい。
##### 管理用画面 sub kanri{ if($form{'kanripass'} ne $kanri_pass){ &error('パスワードが違います。'); } &header; print <<"_EOF_"; <font color="$tcolor" size="$tsize">管理モード画面</font><br> <br><br><br> チーム名を入力してください。<br> <form action=$cgifile method=$method> <input type=hidden name=login value=1> <input type=hidden name=kanri_mode value=1> <input type=text name=team size=15> <input type=submit name=login value="Enter"> </form> <br><br> _EOF_ $comsize = $comleng * 2; print "<form action=$cgifile method=$method>\n"; print "管理者コメント:"; print "<input type=text name=k_com size=$comsize>\n"; print " <input type=submit name=kanricom value=\"登録\">\n"; print "</form><br><br>\n"; # コメント open(CF,"$commentfile") || &error('指定されたファイルが開けません。'); seek(CF,0,0); @comments = <CF>; close(CF); print "<form action=$cgifile method=$method>\n"; print "<table border=1 width=$ysize cellpadding=5 cellspacing=0>\n"; print "<tr align=center><td>試合後の監督コメント</td></tr>\n"; $i = 0; foreach(@comments){ ($no, $saku, $home, $date, $com, $kekka) = split(/<>/, $_); $date = &date($date); print "<tr><td bgcolor=\"FFFFFF\">\n"; # if($no){ # if($kekka){ $kekka = "【 $kekka 】"; } # print "<input type=checkbox name=del$i value=$i> 劇ぱわニュース : 『 $com 』 $kekka ($date)\n"; if($no eq 1){ if($kekka){ $kekka = "【 $kekka 】"; } print "<input type=checkbox name=del$i value=$i> 劇ぱわニュース : 『 $com 』 $kekka ($date)\n"; }elsif($no eq 9){ print "<input type=checkbox name=del$i value=$i> ★ 管理者 : 『 $com 』 ($date)\n"; }else{ print "<input type=checkbox name=del$i value=$i> $saku : 『 $com 』 【 $kekka 】 ($date)\n"; } print "</td></tr>\n"; $i++; } print "</table><br>\n"; print "<input type=submit name=comdel value=\"コメント削除\">\n"; print "</form><br><br>\n"; &chosaku; }#end kanri # 管理者コメント記入処理 sub kanricom{ if(length($form{'k_com'}) < 1 || length($form{'k_com'}) > $comleng * 2){ &error('コメントの長さが正しくないよ。'); } if(!$form{'k_com'}){ &error('コメントを入力してね。'); } open(CF,"+<$commentfile") || &error('指定されたファイルが開けません。CF'); eval 'flock(CF,2);'; @comments = <CF>; $kakiko = "9<>管理者<><>$times<>$form{'k_com'}<><>\n"; unshift(@comments, $kakiko); splice(@comments, $com_max); truncate (CF, 0); seek(CF,0,0); print CF @comments; close(CF); eval 'flock(CF,8);'; $form{'$key'} = "kanri"; $form{'kanripass'} = $kanri_pass; }#end kanricom ##### コメントの削除処理
改造内容の注意事項
「comment.dat」ファイルに記録されるコメントの区分
「0」試合後の監督コメント
「1」劇ぱわニュース
「9」管理者コメント(新設)
当サイトへのリンクを貼って下さい
「劇ぱわ」の下部著作権部分へのリンクを貼る方法
##### 著作権表示 sub chosaku{ print <<"_CHOSAKU_"; </center> <hr size="1"> <div align="right"> <a href="http://homepage2.nifty.com/osktaka/" target="_blank" title="気ままなまま"> <font size="2">劇空間ぱわふるリーグ2 ver 3.00b (Free)</font> </a> </div> <div align="right"> <a href="http://ryoquest.sakura.ne.jp/" target="_blank" title="改造:「野良猫のCGI講座」Take it easy !"> <font size="2">改造:「野良猫のCGI講座」Take it easy !</font> </a> </div> <!--広告バナー挿入位置、ページ下部--> </body> </html> _CHOSAKU_ }#end chosaku
前後の内容
CGI/perl← | 劇ぱわ | →俺ペナ | |||
不具合対策← | 改造方法 | ||||
管理画面でチーム情報を変更← | 管理者コメント追加 | →追加コメント |
【劇ぱわ改造設置支援サイト】Take it easy ! RYOQUEST presents
『野良猫のCGI講座』は、
【劇ぱわ改造設置支援サイト】Take it easy ! RYOQUEST presents のコンテンツとして、虎猫が公開しています。
「劇空間ぱわふるリーグ2 ver 3.00b(劇ぱわ)」は、
『きままなまま』で管理人にーやん様が作成・無料配布されているCGI/Perlによる野球ゲームです。
参考にされた方は、当サイトへリンクを貼って下さい♪
サイト名:Take it easy ! RYOQUEST presents
(サイト名:Take it easy !)
URL:http://ryoquest.sakura.ne.jp/
バナーURL:http://ryoquest.sakura.ne.jp/image/tie_8831an.gif
![]()
『旧:野良猫のCGI講座』
以前の『野良猫のCGI講座』をご覧になりたい方は、『旧:野良猫のCGI講座』からアクセスして下さい。
但し、更新は一切していません。