※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Q : 落ちたスレをクリックしたとき、2000000000.datじゃなくて旧バージョンみたいにpoolやkakoに有るか無いかを調べて、隊長!過去ログ倉庫に○○.htmlを発見しました!みたいに表示させるにはどうしたら良いでしょうか?


A : read.cgiに以下を追加


sub PrintDiscovery
{
my ($Sys,$Page) = @_;
my ($spath,$lpath,$key,$kh);

$spath = $Sys->{'SYS'}->Get('BBSPATH') . '/' . $Sys->{'SYS'}->Get('BBS');
$lpath = $Sys->{'SYS'}->Get('SERVER') . '/' . $Sys->{'SYS'}->Get('BBS');
$key = $Sys->{'SYS'}->Get('KEY');
$kh = substr($key,0,3);

if (-e "$spath/kako/$kh/$key.html"){ # 過去ログにあり
PrintReadHeadB($Sys,$Page);
$Page->Print("隊長!過去ログ倉庫に<a href=\"$lpath/kako/$kh/$key.html\">");
$Page->Print("$key.html</a><br>を発見しました!<br>");
}
elsif (-e "$spath/pool/$key.cgi"){ # poolにあり
PrintReadHeadB($Sys,$Page);
$Page->Print("$key.datはhtml化を待っています<br>");
$Page->Print('ここは待つしかない・・・<br>');
}
else{ # どこにもない
return 0;
}

$Page->Print("</dl><hr><div align=right>" . $Sys->{'SYS'}->Get('VERSION'));
$Page->Print("</div></body></html>\n");
return 1;
}

sub PrintReadHeadB
{
my ($Sys,$Page) = @_;
my ($Caption,$Banner,$code,$title,$sbcol,$nmcol,$ver,$pathBBS);

require('./module/legolas.pl');
require('./module/denethor.pl');
$Caption = new LEGOLAS;
$Banner = new DENETHOR;

$Caption->Load($Sys->{'SYS'},'META');
$Banner->Load($Sys->{'SYS'});

$code = $Sys->{'CODE'};
$title = 'そんな板orスレッドないです';

# HTMLヘッダの出力
$Page->Print("Content-type: text/html\n\n");
$Page->Print('<html><head><title>' . $title . '</title>');
$Page->Print('<meta http-equiv=Content-Type content="');
$Page->Print('text/html;charset=' . $code . '">');
$Caption->Print($Page,undef);
$Page->Print('</head><!--nobanner-->');

# <body>タグ出力
{
my @work;
$work[0] = $Sys->{'SET'}->Get('BBS_THREAD_COLOR');
$work[1] = $Sys->{'SET'}->Get('BBS_TEXT_COLOR');
$work[2] = $Sys->{'SET'}->Get('BBS_LINK_COLOR');
$work[3] = $Sys->{'SET'}->Get('BBS_ALINK_COLOR');
$work[4] = $Sys->{'SET'}->Get('BBS_VLINK_COLOR');
$Page->Print("<body bgcolor=$work[0] text=$work[1] link=$work[2] ");
$Page->Print("alink=$work[3] vlink=$work[4]>\n");
}
# バナー出力
$Banner->Print($Page,100,2,0);

$sbcol = $Sys->{'SET'}->Get('BBS_SUBJECT_COLOR');
$nmcol = $Sys->{'SET'}->Get('BBS_NAME_COLOR');
$ver = $Sys->{'SYS'}->Get('VERSION');

$pathBBS = $Sys->{'SYS'}->Get('SERVER') . '/' . $Sys->{'SYS'}->Get('BBS');

$Page->Print("<a href=\"$pathBBS/\">■掲示板に戻る■</a><br><br>\n");
$Page->Print("<font color=$sbcol size=+1>そんな板orスレッドないです</font>");
$Page->Print("<br><dl><dt>1 名前:");
$Page->Print("<font color=$nmcol><b>$ver</b></font>");
$Page->Print('投稿日:<br><dd>そんな板orスレッドないです</dd></dt></dl>');
$Page->Print("<br><br><br><hr>\n");

$Page->Print('<br><br>');
}

sub PrintReadSearch 内

my ($Sys,$Page) = @_;

my ($Sys,$Page) = @_;
if (PrintDiscovery($Sys,$Page)){ return; }


/logにも/poolにも無ければ2000000000.datを表示。
既存の部分との重複が多くてちょっと無駄があるけど。