TOP > 野良猫のCGI講座 > 5.「劇ぱわ2」改造方法 > 追加コメント
凡田クンが教えます! 【初心者コース】 虎猫が教えます♪
『5.「劇ぱわ2」改造方法』

追加コメント
おことわり
ここに記載してある「セキュリティ対策」「不具合対策」「改造方法」を含む全てのコンテンツの無断転載を禁止します。

参考にされる方の自己責任でご覧下さい。
参考にされた方は、リンクを貼ってくれると嬉しいです♪
『参考:"Take it easy !"』
URL:http://ryoquest.sakura.ne.jp/
バナー:tie_8831an.gif(3611 byte)
当サイトの改造スクリプトを使用された方は、
当サイトトップページにリンクを貼って下さい♪
参考にされる方は、下のリンクからクリック募金をして下さい♪
あなたの善意をクリックにのせて♪
アドバイス!
@コピペ(コピー&ペースト)
改造方法をコピペで写す事は出来るだけ止めましょう。
『500エラー』がよく出ます。
原因は、コピーした時に不要な物(と言うか、あってはならない物)までコピーしてしまう事が有るからです。
例えば、空白(全角)が含まれているとか、HTMLのスクリプトがコピーされちゃったとか^^
面倒だけど、出来るだけ「打つべし!」(間違えない様に♪)
コピペするなら、「1行づつコピペするべし!」(おかしな空白がないか、おかしな改行がないか、気を付けながら♪)
A意味を考えながら、改造法を参考にしましょう
単純にコピペして、改造終了!なんて事は、止めましょう!
改造されたスクリプトの意味を考えながら参考にすれば、参考資料が間違っていても自分で改造できます。
『ちゃんとコピーしたのに動かない!』と嘆く前に、何故、こうすると改造できるのかを考える様にしましょう。
スクリプトの意味や、組み立て方が分かってきます♪
そうすれば、
『投手4人制』も自分で改造出来ちゃいます♪
画面下にリンク先を追加する
画面右下の
で「気ままなまま」へリンクが貼ってあるものの下に同様の表示をする。

gekipawa.cgi
##### 著作権表示
sub chosaku{
print <<"_CHOSAKU_";
</center>
<hr size="1">
<div align="right"><a href="http://homepage2.nifty.com/osktaka/" target="_blank"><font size="2">劇空間ぱわふるリーグ2 ver 3.00b (Free)</font></a></div>
<!--広告バナー挿入位置、ページ下部-->
</body>
</html>
_CHOSAKU_
}#end chosaku


に、下記の
赤字を追加します。
##### 著作権表示
sub chosaku{
print <<"_CHOSAKU_";
</center>
<hr size="1">
<div align="right"><a href="http://homepage2.nifty.com/osktaka/" target="_blank"><font size="2">劇空間ぱわふるリーグ2 ver 3.00b (Free)</font></a></div>
<div align="right"><a href="http://ryoquest.sakura.ne.jp/" target="_blank">
<font size="2">改造:"Take it easy !"RYOQUEST presents(虎猫 presents)</font></a></div>

<!--広告バナー挿入位置、ページ下部-->
</body>
</html>
_CHOSAKU_
}#end chosaku


すると下記の様に表示されます。

画面下にリンク先を追加する(その2)
もう少しだけ、手を加えてみましょう♪

##### 著作権表示
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="改造:"Take it easy !"RYOQUEST presents(虎猫 presents)">
<font size="2">改造:"Take it easy !"RYOQUEST presents(虎猫 presents)</font></a></div>

<!--広告バナー挿入位置、ページ下部-->
</body>
</html>
_CHOSAKU_
}#end chosaku


すると下記の様に表示されます。

見た目は変わりませんが、カーソルを合わせてみて下さい♪
タイトルが出たでしょ♪さりげなく、お洒落になります。(但し、少しだけ重くなります・・・^^;)

更に本家『気ままなまま』に敬意を表して、1行改行する場合は、
##### 著作権表示
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>
<BR>
<div align="right"><a href="http://ryoquest.sakura.ne.jp/" target="_blank" title="改造:"Take it easy !"RYOQUEST presents(虎猫 presents)">
<font size="2">改造:"Take it easy !"RYOQUEST presents(虎猫 presents)</font></a></div>

<!--広告バナー挿入位置、ページ下部-->
</body>
</html>
_CHOSAKU_
}#end chosaku


すると下記の様に表示されます。
このまま下に画像提供サイトや他の参考サイトを追加していきましょう♪
追加コメント
試合後のコメント蘭に試合後以外にもコメントを登録できる様にする。
・コメント入力欄はコメント表示の上に設置する。
・チーム登録されている者以外は、登録できない様にする。(荒らし防止)
・連続してのコメント登録は禁止とする(荒らし防止)
・gekipawa.iniに「追加コメント」を使用するかの区分を付ける。

gekipawa.ini
□「追加コメント」の使用区分を付ける。
$ouen_flg = '0'; # 「追加コメント機能」(0:使用する、1:使用しない)

上記一行を任意の場所に追加する。


gekipawa.cgi
□モード選択部分(49〜97行)
# 登録処理
if($form{'record'}) { &record; }
if($form{'comment'}){ &comsyori; }
if($form{'delete'}) { require './geki_login.cgi'; &delete; }
if($form{'comdel'}) { &comdelete; }

if($form{'mode'} eq 'game_log') { &game_log; exit; }
if($form{'mode'} eq 'icon_table'){ &icon_table; exit; }

if($form{'sinki_make'}) { &sinki_make; exit; }
if($form{'make_end'}) { &make_end; exit; }
if($form{'kanri'}) { &kanri; exit; }

if($form{'login'}) { require './geki_login.cgi'; &login; exit; }
if($form{'camp_end'}) { require './geki_login.cgi'; &camp_rec; &login; exit; }
if($form{'delekaku'}) { require './geki_login.cgi'; &delekaku; exit; }

if($form{'playkaku'}) { require './geki_login.cgi'; &playkaku; exit; }
if($form{'campin'}) { require './geki_login.cgi'; &campin; exit; }
if($form{'playball'}) { require './geki_game.cgi'; &playlog; exit; }

if($form{'league_rank'}){
require './geki_else.cgi';
$no = $form{'no'};
if($no eq 1){ &play_rank; }
else { &team_rank; }
exit;
}
if($form{'point_rank'}) { require './geki_else.cgi'; &point_rank; 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; }

&top;

exit;


##### デコード&ローカル変数へ受け渡し


上記部分に
赤字部分を追加する。

# 登録処理
if($form{'record'}) { &record; }
if($form{'comment'}){ &comsyori; }
if($form{'delete'}) { require './geki_login.cgi'; &delete; }
if($form{'comdel'}) { &comdelete; }

if($form{'mode'} eq 'game_log') { &game_log; exit; }
if($form{'mode'} eq 'icon_table'){ &icon_table; exit; }

if($form{'sinki_make'}) { &sinki_make; exit; }
if($form{'make_end'}) { &make_end; exit; }
if($form{'kanri'}) { &kanri; exit; }

if($form{'login'}) { require './geki_login.cgi'; &login; exit; }
if($form{'camp_end'}) { require './geki_login.cgi'; &camp_rec; &login; exit; }
if($form{'delekaku'}) { require './geki_login.cgi'; &delekaku; exit; }

if($form{'playkaku'}) { require './geki_login.cgi'; &playkaku; exit; }
if($form{'campin'}) { require './geki_login.cgi'; &campin; exit; }
if($form{'playball'}) { require './geki_game.cgi'; &playlog; exit; }

if($form{'league_rank'}){
require './geki_else.cgi';
$no = $form{'no'};
if($no eq 1){ &play_rank; }
else { &team_rank; }
exit;
}
if($form{'point_rank'}) { require './geki_else.cgi'; &point_rank; 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{'ouen'}) { require './geki_else.cgi'; &ouen_syori; } # 追加コメント機能

&top;

exit;


##### デコード&ローカル変数へ受け渡し



gekipawa.cgi
□追加コメント入力画面作成(354〜358行)
&top1;

$c_home =~ s/http:\/\///g; # アドレスの処理

print <<"_EOF_";


上記部分に
赤字部分を追加する。

&top1;

$c_home =~ s/http:\/\///g; # アドレスの処理

# 追加コメント機能 @ouen_pri
if($ouen_flg){ # gekipawa.iniに追加した$ouen_flg
@ouen_pri = ();
}else{
$comsize = $comleng * 2;
@ouen_pri = ();
$ouen_pri[0] = "<br><br><form action=$cgifile method=$method>\n";
$ouen_pri[1] = "<table border=1 width=80% cellspacing=0 cellpadding=5>\n";
$ouen_pri[2] = "<tr align=center><td>追加コメント($comleng文字まで)【モラルある使用をして下さい】</td></tr>\n";
$ouen_pri[3] = "<tr align=center><td><input type=text name=ouencom size=$comsize value=\"ゲーム参加者のみコメントが追加できます!\"></td></tr>\n";
$ouen_pri[4] = "<tr align=center><td>";
$ouen_pri[5] = "登録されている";
$ouen_pri[6] = " なまえ <input type=text name=ew_saku size=15 value=$c_saku>\n";
$ouen_pri[7] = " パスワード <input type=password name=ew_pass size=10 value=$c_pass>\n";
$ouen_pri[8] = " <input type=submit name=ouen value=\"コメント登録\"></td></tr>\n";
$ouen_pri[9] = "</table></form><br>\n";
}
# 追加コメント機能 @ouen_pri ここまで


print <<"_EOF_";



gekipawa.cgi
□追加コメント入力画面を設定する。(418〜425行)
(※「追加コメント」入力画面を入れたい場所に設定します。
print <<"_EOF_";_EOF_ の間に入れて下さい。)
</table>
<br><br>
@com_pri
<br>

_EOF_

&footer;


上記部分に
赤字部分を追加する。

</table>
<br><br>
@ouen_pri
@com_pri
<br>

_EOF_

&footer;



geki_else.cgi
□追加コメント処理を設定します。(1,268〜1,270行:最後の部分)
(※gekipawa.cgiに設定すると毎回の処理が重くなりますので、geki_else.cgiに設定します。)
}#end league_end

1;


上記部分に
赤字部分を追加する。

}#end league_end

# 追加コメント記入処理
sub ouen_syori{

if(length($form{'ouencom'}) < 1 || length($form{'ouencom'}) > $comleng * 2){ &error('コメントの長さが正しくないよ。'); }
if($form{'ouencom'} eq "ゲーム参加者のみコメントが追加できます!"){ &error('コメントを入力してね。'); }

$ouen_saku = $form{'ew_saku'};
$ouen_pass = $form{'ew_pass'};
$ouen_com = $form{'ouencom'};
$ouen_ew = 0;

open(US,"$leaguefold/$userfile") || &error('指定されたファイルが開けません。');
eval 'flock(US,1);';
@com_users = <US>;
close(US);
eval 'flock(US,8);';
foreach(@com_users) {
($com_saku, $com_pass, $com_home, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d) = split /<p>/;
if($ouen_saku eq $com_saku && $ouen_pass eq $com_pass){
$ouen_ew = 5;
$ouen_home = $com_home;
last;
}
}

if(!$ouen_ew){ &error('ゲーム参加者以外コメント追加出来ないよ。');}

open(CF,"+<$commentfile") || &error('指定されたファイルが開けません。');
eval 'flock(CF,2);';
@comments = <CF>;
if((split(/<>/, $comments[0]))[1] eq $ouen_saku){ &error('連続で登録はできないよ。'); }
$kakiko = "$ouen_ew<>$ouen_saku<>$ouen_home<>$times<>$ouen_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);';

}#end ouen_syori


1;


gekipawa.cgi
□コメント表示部分(331〜336行)
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($no){
if($no eq 1){
if($kekka){ $kekka = "【 $kekka 】"; }
$com_pri[$i+3] = "■ 劇ぱわニュース : 『 $com 』 $kekka ($date)\n";
}elsif($no eq 5){
$com_pri[$i+3] = "★ $saku : 『 $com 』 ($date)\n";

}else{
$com_pri[$i+3] = "□ $saku : 『 $com 』 【 $kekka 】 ($date)\n";
}

参考にされた方は、リンクを貼ってくれると嬉しいです♪
『参考:"Take it easy !"』
URL:http://ryoquest.sakura.ne.jp/
バナー:tie_8831an.gif(3611 byte)
当サイトの改造スクリプトを使用された方は、
当サイトトップページにリンクを貼って下さい♪
TOP > 野良猫のCGI講座 > 5.「劇ぱわ2」改造方法 > 追加コメント