掲示板のスレッドが浮上するように改造
■ このスレッドは過去ログ倉庫に格納されています
0001子猫
02/10/31 20:05ID:h5+TvaDUを改造したいのですが、私の技術じゃ到底無理でした。
(ちなみにこのスクリプトは改造可です。再配布は不可。)
現状ではスレッドが浮上しないようになっていて、
まったくもってスレッド型掲示板としてはかなりツライ状況です。
改造してスレッドがせめて浮上するようになれば、かなり使えるんです。
投稿があった時に記事一覧の表示画面で記事が浮上するには
どこを改造・追加・変更すればよいでしょうか?
ぜひよろしく御願いします。
0002子猫
02/10/31 20:07ID:h5+TvaDU以下に内容を引用します。改造箇所は一体どこなんでしょうかね・・・。
0003子猫
02/10/31 20:07ID:h5+TvaDU##=====================================
## データを受け取る =
##=====================================
%param = ();
@key_list = stdio::getFormData(\%param,1,sjis,1,";");# タグ置換,漢字コード,半全カナ,同一キーのセパレータ
foreach(@key_list){
$param{$_} =~ s/,//g;
}
0004子猫
02/10/31 20:08ID:h5+TvaDUif(!$param{'mode'}){
if($param{'thread_num'}){
##=====================================
## 投稿データをオープン =
##=====================================
$datafile = $data_dir.$param{'thread_num'}.".cgi";
if(!open(FH,$datafile)){ &error('システムエラー','ご指定のスレッドは存在しません。<br>すでに削除されている可能性があります。'); }
@fh = <FH>;
close(FH);
($number,$thread_name,) = split(/,/,$fh[0]);
if(!$param{'all'}){
$cnt = ($maxcnt - 1) * "-1";
foreach(1 .. $maxcnt){
$data_num = $name = $comment = $email = $url = $date = $ip = '';
if(!$cnt_flag){
($data_num,$name,$comment,$email,$url,$date,$ip,$password,) = split(/,/,$fh[1]);
}else{
if($fh[$cnt] eq $fh[0]){ $cnt++; next; }
elsif($fh[$cnt] eq $fh[1]){ $cnt++; next; }
elsif(!$fh[$cnt]){ $cnt++; next; }
($data_num,$name,$comment,$email,$url,$date,$ip,$password,) = split(/,/,$fh[$cnt]);
$cnt++;
}
0005子猫
02/10/31 20:09ID:h5+TvaDU$body .= qq|
<font color="#666699">[$data_num] <b>$mail_link</b> [$url_link] $date</font>
<blockquote>$comment</blockquote>|;
$cnt_flag = '1';
}
}else{
foreach(@fh){
if($_ eq $fh[0]){ next; }
($data_num,$name,$comment,$email,$url,$date,$ip,$password,) = split(/,/);
&u_e_link;# リンクの作成
$body .= qq|
<font color="#666699">[$data_num] <b>$mail_link</b> [$url_link] $date</font>
<blockquote>$comment</blockquote>|;
}
}
if(!$fh[1]){ $body = ''; }# 投稿がなかった場合には何も表示させない
0006子猫
02/10/31 20:09ID:h5+TvaDU## テンプレートの指定 =
##=====================================
$html = $html1;
}else{# $param{'thread'} 指定なしここから
$html = $html0;
##=====================================
## スレッド一覧作成 =
##=====================================
@glob_file = glob("$data_dir*");
foreach(@glob_file){
@thread_num1 = split(/\//,$_);
@thread_num2 = split(/\./,$thread_num1[-1]);
if(!open(FH,$_)){ &error('!システムエラー','投稿データをオープンできませんでした。'); }
@fh = <FH>;
close(FH);
($number,$thread_name,) = split(/,/,$fh[0]);
$body .= qq|<a href="$self?thread_num=$thread_num2[-2]">$thread_name</a>/[$number] |;
}
}# $param{'thread'} 指定なしここまで
0007子猫
02/10/31 20:10ID:h5+TvaDU## テンプレートをオープン =
##=====================================
if(!open(HTML,$html)){ &error('!システムエラー','テンプレートをオープンできませんでした。'); }
@html = <HTML>;
close(HTML);
##=====================================
## 特殊文字を置き換え =
##=====================================
$copyright = qq| |;
foreach(@html){
if(/_%copyright%_/){ $copyflag = '1'; }
s/_%copyright%_/$copyright/g;
s/_%self%_/$self/g;
s/_%homepage%_/$homepage/g;
s/_%thread_num%_/$param{'thread_num'}/g;
s/_%thread_name%_/$thread_name/g;
s/_%body%_/$body/g;
}
if(!$copyflag){ &error('!致命的エラー','著作権表示が削除されています。'); }
0008子猫
02/10/31 20:10ID:h5+TvaDU## HTML出力 =
##=====================================
print <<"EOF";
Content-type: text/html
@html
EOF
exit;
}# モード なし ここまで
0009子猫
02/10/31 20:11ID:h5+TvaDUif($param{'mode'} eq 'write'){
##=====================================
## 書き込み制限のチェック =
##=====================================
if($seigen){
@seigen = split(/,/,$seigen);
foreach(@seigen){
if(stdio::searchString($ENV{'REMOTE_ADDR'}, $_,)){ &error('!エラー','書き込み制限が設定されています。<br>なぜ制限されているか分からない場合には管理者にお問い合わせください。'); }
}
}
0010子猫
02/10/31 20:11ID:h5+TvaDU## 使用禁止用語のチェック =
##=====================================
if($kinshi){
@kinshi = split(/,/,$kinshi);
foreach(@kinshi){
if(stdio::searchString($param{'name'}, $_,)){ &error('!エラー','使用禁止用語が入っています。'); }
if(stdio::searchString($param{'comment'}, $_,)){ &error('!エラー','使用禁止用語が入っています。'); }
}
}
0011nobodyさん
02/10/31 20:11ID:???CGI改造スレにでもいけ。
0012nobodyさん
02/10/31 20:11ID:???リソースの無駄だからやめれ。
0014nobodyさん
02/10/31 20:26ID:???違うのねw
0015nobodyさん
02/10/31 20:55ID:h5+TvaDU0016nobodyさん
02/10/31 21:00ID:???自作自演バレバレ(w
0017nobodyさん
02/10/31 21:07ID:h5+TvaDU0019nobodyさん
02/10/31 22:46ID:???0020nobodyさん
02/10/31 23:22ID:???↓
スレ終了
↓
真似して単発質問スレ立てるアホ続出
よってこういうのは一切答えずただ罵倒あるのみ。
0021nobodyさん
02/10/31 23:43ID:???ってめんどいか
0022nobodyさん
02/11/01 11:03ID:???しかもID出したまま自作自演なんて久しぶりに見たぞ。
0023山崎渉
03/01/15 13:47ID:???■ このスレッドは過去ログ倉庫に格納されています