劇ぱわ 改造方法
管理者コメント追加
要旨
「試合後の監督コメント」欄に管理者コメントを追加できる様にします。
試合を行ってコメントを残さなくても、管理者のみコメントを追加できる様になります。
新規参加者へのあいさつ、不正・暴言者への注意など、利用価値は高いのではないでしょうか。
管理者コメントは「管理モード」画面で入力します。
管理者コメントを追加する改造
「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講座』からアクセスして下さい。
但し、更新は一切していません。