#! /usr/local/bin/perl # ↑この上のPerlのパスを書き換えるのはお約束ですね #========================================================================================== # # マルチボード掲示板システム 『MultiBBS』ver 1.3 : 掲示板一覧用スクリプト # # Copyright Shinobu Suzuki 1998. All rights reserved. #----------------------------------------------------------------------------------------- # HomePage : http://www.aikis.or.jp/~s-suzuki/cgilabo/ # E-mail : s-suzuki@aikis.or.jp #----------------------------------------------------------------------------------------- # ■MultiBBSで開設されている掲示板の一覧を表示します # ■リスト表示の形式を指定することができます(更新順など) # ■指定した時間内に更新されている場合、案内表示をつけることができます #========================================================================================== # 初期設定 #----------------------------------------------------------------------------------------- $script = 'multibbs.cgi'; # MultiBBSシステムのベースとなるスクリプト名 $version = '1.31'; # バージョン情報(変更しないでください) #---------------------------------------------------------- # このスクリプトでのみ必要な設定 #---------------------------------------------------------- $title = "MultiBBS:掲示板一覧"; # 掲示板タイトル $title_image = ""; # タイトル画像(URL) $title_align = 0; # タイトルの表示位置(0:左、1:中央、2:右) $bg_col = '#ffffff'; # 背景色 $bg_image = ''; # 背景画像(URL) $title_col = '#000080'; # タイトルの色 $text_col = '#000000'; # テキストの色 $link_col = '#0000ff'; # リンクの色 $alink_col = '#ff0000'; # リンク中の色 $vlink_col = '#000088'; # 既リンクの色 $update_col = '#ff0000'; # 更新メッセージつける案内の色 $linkname1 = ''; # 外部リンク その1 $link1 = ''; # 外部リンク その1(URL) $linkname2 = '戻る'; # 外部リンク その2 $link2 = './'; # 外部リンク その2(URL) $linkname3 = '掲示板管理'; # 外部リンク その3 $link3 = 'admin.cgi'; # 外部リンク その3(URL) $readme = '現在開設されている掲示板の一覧です。'; # 掲示板の説明文 #---------------------------------------------------------- # リスト表示のソート指定 # 0:ソートしない # 1:ログファイルの更新順 # 2:50音順(ボード名) #---------------------------------------------------------- $sort_mode = 1; #---------------------------------------------------------- # 更新案内表示 # 0:案内はしない # 1:案内をする #---------------------------------------------------------- $update_mode = 1; #---------------------------------------------------------- # 更新案内表示のための経過時間(秒数で指定) # 12時間 : 60*60*12 # 24時間 : 60*60*24 # 1週間 : 60*60*24*7 などなど # この時間判定は、結構いい加減かもしれません ^^;; #---------------------------------------------------------- $update = 60*60*24; #---------------------------------------------------------- # CERN HTTPDなどのサーバーの場合で、ファイル関係のエラーが # 出る場合、設置するディレクトリのフルパスを指定してみて下 # さい。なお、最後は / で終わること。 # $path = "/home/users/s-suzuki/public_html/bbs/"; #---------------------------------------------------------- $path = ""; #===================================================================== # これより、処理の開始 #===================================================================== $time_now = time; # 更新案内用に現在時刻を取得 $update2 = $time_now - $update; # 更新案内の目安となる時刻 &html; exit; #===================================================================== # 処理はここまで(以下は、サブルーチン) #===================================================================== #----------------------------------------------------- # 画面表示 #----------------------------------------------------- # sub html { print "Content-type: text/html\n\n"; print "\n"; print "
\n"; print "$readme\n"; print "
\n\n\n";
exit;
}
#-----------------------------------------------------------------
# ボード一覧の作成(メイン画面用)
#-----------------------------------------------------------------
#
sub bord_list {
$i = 0;
if ( $path ne "" ) {
opendir(DIR,"$path"."log/");
}
else {
opendir(DIR,"./log/");
}
@readlist = grep(/.cfg/, readdir(DIR));
closedir(DIR);
foreach $bord (@readlist) {
($fname, $ext) = split( /\./, $bord );
if ( $path ne "" ) {
$tempname = "$path"."log/$bord";
}
else {
$tempname = "./log/$bord";
}
if( open( DB, $tempname )) {
@lines = \n";
if ( $i == 0 ) {
print "ボードは開設されていません。\n";
}
else {
if( $sort_mode == 1 ) {
@index = sort {$b <=> $a;} @datalist;
}
elsif( $sort_mode == 2 ) {
@index = sort @datalist;
}
else {
@index = @datalist;
}
print "
\n";
exit;
}
\n";
foreach $temp (@index) {
($mtime, $fname, $bordtitle) = split( /\,/, $temp);
print "
\n";
}
print "