劇ぱわ 改造方法

管理者コメント追加

要旨

「試合後の監督コメント」欄に管理者コメントを追加できる様にします。
試合を行ってコメントを残さなくても、管理者のみコメントを追加できる様になります。
新規参加者へのあいさつ、不正・暴言者への注意など、利用価値は高いのではないでしょうか。
管理者コメントは「管理モード」画面で入力します。

管理者コメントを追加する改造

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
Take it easy !

『旧:野良猫のCGI講座』

以前の『野良猫のCGI講座』をご覧になりたい方は、『旧:野良猫のCGI講座』からアクセスして下さい。
但し、更新は一切していません。

ページのトップへ戻る