CJ Club TOP/CGI Script/BBS/I-BOARD/2001
|
I-BOARD/2001
|
マルチデザインアイコンレス掲示板
■ 目次
- スキンファイルによるデザイン変更機能
スキンファイルを変更することにより、記事表示部のデザインを簡単に変更できます。スキンファイルはHTMLの知識があれば簡単に作る事ができます。
また、スキンファイルはオンラインからも変更することが可能です。
- トピック形式、スレッド形式の掲示板
どれを使うか指定でき、また2つ同時にも使用できる。
トピック、スレッド表示の使い分けの仕方
- 「トピック」…記事を話題ごとに表示します。ひとつの話題の多くの記事をスムーズに読む事が可能です。
- 「スレッド」…最初から記事内容を表示します。一度に多くの話題に目を通すことができます。
レスが大量に付くことが予想される場合(100件~)はトピック表示、
比較的書き込みが少ない場合(~100件)はスレッド表示を初期状態にしておくことを進めます。
- 管理者・投稿者とも、記事の削除・編集が可能
管理者は管理モードから、記事の削除・編集が可能。
投稿者は投稿時に記述した削除キーを用いることによって削除・編集が可能
レス記事の無い記事は完全の削除されレス記事のある記事はツリー保持のため記事の跡が残ります。
また、設定によって、編集された記事にタイムスタンプを付加することも可能です。
- cookie対応
当然ながら、cookie対応。書き込んだ際の一部の項目を投稿者のPCに保存、次回書き込み時に手間を省きます。
- 個別ID機能 (ON/OFF可)
cookie機能を応用した 個別ID機能 を搭載しています。
これはランダムな8文字の英数字を与えることにより、他人に成りすますことを防ぐ機能です。
*)ブラウザのcookie機能がONになっていなければ投稿できません。
*)携帯端末からの書き込みは機種名になります。
- メール通知機能 (ON/OFF可)
投稿者に書き込んだスレッドに関連する返信記事をメールで通知します。メールアドレスを非公開にすることもできます。
管理者には、投稿されたすべての記事をメールで通知します。
*) 要 semdmail 機能
- パスワードでの書きこみ、閲覧制限 (ON/OFF可)
パスワードで書き込み/閲覧制限、書き込みのみ制限いずれかをおこなうことができます。
- 多目的に利用できる2つのフォーム (それぞれ ON/OFF可)
cookie対応も可能、親記事のみ/もしくは全記事に利用など多彩な利用が可能なセレクトフォーム、テキストフォームがひとつずつ設置できます。
- アイコン/文字色/枠線色選択機能・発言ランキング機能 (それぞれ ON/OFF可)
それぞれの記事に個性を加える、アイコン画像、文字色と枠線色の選択ができる機能を搭載。
アイコンには、ランダム機能や、管理者専用アイコン機能などが付いています。
また発言(投稿)するたびにカウントされ、それを元にランキング表示をおこないます。レベルも設定可能です。
- 管理上の便利機能
- IPアドレスの取得、指定アドレス排除機能搭載。オンラインからでも排除IPアドレスを追加可能です。荒らし対策に。
- 使用禁止文字列を設定可能。オンラインからでも禁止文字列を追加できます。しつこい宣伝対策に(宣伝URLを禁止に)。
- バックアップ機能があります(ON/OFF可)。バックアップを一定の期間ごとに保存します。ログが消失してもある程度修復可能です。
- 返信数の制限できます(ON/OFF可)。あまりに長く続くスレッドによる、ログの圧迫を防ぎます。
- 文字数制限機能があります(ON/OFF可)。ログの圧迫や、イタズラをある程度防ぎます。
- マルチ設定機能があります。ひとつのCGIで複数の掲示板を運営できます。
- カウンタ機能搭載(ON/OFF可)。どれくらいの人が掲示板に訪れているかがある程度分かります。
- 過去ログ機能(ON/OFF可)により、記事資産を保存、有効に活用できます。
- 投稿者の便利機能
- タグ使用を可能にできます(ON/OFF可)。禁止文字列機能と合わせることにより、使用禁止タグも設定できます。
- 検索機能により、ログ内にある同じような質問記事がないか、前にどのような発言をしたかなどを探して確認できます。
- 過去ログを、現在ログと同じようの表示できます(書き込むことはできません/トピック表示のみ)。
- No記事指定機能があり、Noxxx (x は半角数字) とコメント内に入れるとその記事にリンクします。
また、>>yy (y は半角数字)と入れると同じスレッド内のレス記事をResNoで指定できます。
- I-BOARD/K-Tai とログを共有されているユーザの方
今回から、携帯端末用のI-BOARD2001/OPTION を同封しましたので、それと入れ替えてください。
I-BOARD/K-Tai とログの共有は可能ですが、いくつかの機能(UP/NEWアイコン等)が正常に働かない場合があります。
- サンプル
まず次のファイルをダウンロードしてください。ダウンロードする場所は好きなところで結構です。
*まだ不具合があるかもしれないので見つけた場合は早急にご連絡ください。
[ ibbs2001.zip]
|
[ ibbs2001.lzh]
|
v2.4
ダウンロードが完了したら解凍してください。念のためこのページも保存することをオススメします。
このCGI はフリーですが規定通りに使ってください。オリジナルスクリプトです。ということは、著作権欄を消さない限り再配布自由です。
Readme.txt もご覧下さい。
解凍したあと、以下のファイルがきちんとあるか確認してください。
- ibbs.cgi (メインプログラム)
- isrch.cgi (検索/過去ログ表示)
- ibbsk.cgi (携帯端末向けオプション)
- set.cgi (設定ファイル)
- icount.dat (カウンタログ)
- ibbs.dat (メインログ)
- ilog.log (過去ログカウント)
- rank.dat (ランキングログ)
- jcode.pl (漢字コードライブラリ)
- ibbs2001.htm (マニュアル)
- Readme.txt (簡易説明書)
- [Icon] (アイコン画像/ふきだし用画像の入ったフォルダ)
- [Skin] (スキンファイルの入ったフォルダ)
- nomal.html (ノーマルデザイン)
- lineres.html (1行レスデザイン)
- fuki.html (すべてふきだしデザイン)
- fuki2.html (親記事ふきだしデザイン)
- fuki3.html (親記事ふきだし1行レスデザイン)
- simple.html (シンプルデザイン)
設定変更の説明です。メモ帳などのエディタで ibbs.cgi / isrch.cgi のファイルを開いてください。
1行目
#!/usr/local/bin/perl
これを正しいパスに書きなおしてください。だいたいのサーバではこのままでOKです。
次に同じように set.cgi のファイルを開いてください。以下出てくる行数は全て set.cgi 内です。
10~12行目
$met = "POST";
$backurl="../index.html";
$pass = "7777";
$met はだいたいの場合このままでOKです。
$backurl はもどるURLに書き換えてください。
$pass は管理用パスワードです。パスワードを書き換えてください。
38、41行目
$res_n= 2;
$FORMK= 0;
$res_n は1にするとトップの記事の下にフォームがでます。2にすると返信用別ページのリンクを出します。
0にするとレスリンクはでません。また、1 or 2 だとマルチレスを使うことができます(スレッド表示のみ)。
$FORMK は1にすると返信フォームのコメント欄が一行に、またタイトル入力欄、URL入力欄が出なくなります。
0にすると親記事フォームとほぼ同じものが出力されます。
基本設定ができたら、サーバに送りましょう。ここでは[ public_html ]の下に
[ ibbs ]というディレクトリを作ってそこに送るという仮定で説明します。
[public_html]┐
├ [ibbs] ┐(ロック機構/過去ログ機能/バックアップ機能を使用する場合[777])
│ ├ ibbs.cgi [755] (このファイルにリンクを張ります)
│ ├ isrch.cgi [755]
| ├ ibbsk.cgi [755] (携帯端末で表示したい場合)
│ ├ set.cgi [666]
│ ├ ibbs.dat [666]
│ ├ rank.dat [666] (発言ランクを使う場合必要)
│ ├ jcode.pl [755] (他のCGIと共有できます)
│ ├ icount.dat [666] (カウンタ機能を使う時必要)
│ ├ ilog.log [666] (過去ログ機能を使う時必要)
│ ├ [Icon]
│ | └ *.gif / *.gif ... *.gif (アイコン用/ふきだし用画像)
│ └ [Skin]
| └ *.html / *.html ... *.html[666] (スキンHTMLファイル)
└ index.html
[ ]内の数字は送るときのパーミッションです。
ファイル名
|
モード
|
パーミッション
|
*.gif (アイコン画像/ふきだし用画像)
|
バイナリ
|
特に無し
|
ibbs.cgi / isrch.cgi / jcode.pl / set.cgi
|
アスキー(テキスト)
|
755
|
ibbs.dat / icount.dat / rank.dat / ilog.log / *.html(スキンファイル)
|
アスキー(テキスト)
|
666
|
テストがうまく行ったら設置成功!リンクしたいHTMLファイルから[ ibbs.cgi ]にリンクを張りましょう。
この掲示板は投稿があるとメールで通知する、という機能があります。
97~103行目
$t_mail= 0;
$mymail= 1;
$mail[0] = 'user@host.ne.jp';
$s_mail = '/usr/lib/sendmail';
$o_mail= 0;
$iurl = "http://www.xxx.com/";
$q_mail= 0;
$t_mail の 0 を 1 に変えると管理者に通知する機能が働くようになります。
$mymail ここを 1 にすると自分の投稿もメールで通知されます。(アドレス記入欄に通知するアドレスと同じアドレスを記入した場合)
$mail[0] は通知をするメールアドレスです。あなたのメールアドレスをいれましょう。
$s_mail はsendmailパスです。だいたいのサーバはこのままでOKですが、一応サーバ管理者にお問い合わせください。
$o_mail 1 にするとレスを希望した投稿者にメールで通知します。
$iurl はメールで通知する際、メールにのせるURLです。
$q_mail はサーバが sendmail 互換の q_mail を利用している場合 1 にしてください。
*) この機能はsendmailが使えるサーバでしか使えません。sendmailが使えるかどうかは直接サーバ管理者にお問い合わせください。
設定ファイルを複数作り、ひとつのCGIで複数の掲示板を管理できます。
まず、set.cgi と同じような設定ファイルを作ってサーバにアップして下さい(パーミッションは755)。例 set1.cgi
それを ibbs.cgi / isrch.cgi の設定箇所に設定します。例 $set[*]="./set1.cgi";(*は連番で指定してください)
それで設定は完了。 $set[*] の * を no に指定してアクセスします。
例) http://www.sample.com/ibbs.cgi?no=*
また、isrch.cgiに直接リンクをする場合も同様にしてください(ibbs.cgi経由で見る場合は問題ありません)
例) http://www.sample.com/isrch.cgi?no=*
ログファイルは設定ファイル毎に変更しましょう。
新しいログファイルは自動で生成されます(その際ログファイルを生成するディレクトリのパーミッションは777or755)
きちんと設定されているかは http://www.sample.com/ibbs.cgi?mode=all で確認できます。
この掲示板には過去ログ機能があります。
160~163行目
$klog_s= 0;
$klog_c= "./ilog.log";
$klog_d= ".";
$klog_l= 100;
使用する場合は $klog_s を 1 にしてください。 $klog_d で過去ログを作るディレクトリを指定します。
$klog_l で過去ログの一つのファイルの限度サイズKB(キロバイト)数でを指定します。
(例えば 1.txt が100KBを越えたら 2.txt を生成しそっちに記録する)
*) 過去ログ機能を使用するときは過去ログを生成するディレクトリのパーミッションを[ 777(もしくは755) ]に設定してください。
*) 旧I-BOARDシリーズからバージョンアップの際、過去ログ機能の方式を「通常ログと同時書きこみ → 通常ログから削除時に書きこみ」へ変更したため、過去ログの記事がかぶる場合があります!
記事保持数100の場合
旧I-BOARDシリーズ -> I-BOARD/2001
例) →現在までの親記事NO.200 通常ログにNO.100~200、過去ログにNO.0~200
→よって、4.1ではNO.100~200をまた書いてしまうためNO.100~200記事が重なります。対処法として、過去ログ機能を1時停止して、記事を調整する(NO.201の書きこみが最下部にくるまで中止)、過去ログからNO.100~200を削除するのどちらかが有効です。
過去ログの記事がかぶって良い場合は気にしなくてもOKですが…(^^;
また、マルチ設定機能を使ってそれぞれ過去ログを取得する場合は過去ログ生成ディレクトリをそれぞれ違うディレクトリを設定しましょう。
例)
ひとつめの設定 $klog_d="./log1";
ふたつめの設定 $klog_d="./log2";
:
過去ログディレクトリは自分で作成し用意しておく必要があるのでご注意ください(その際ディレクトリのパーミッションは777)。
このCGIの特徴として、スキンファイルを利用することにより着せ替えをするように、記事表示部のデザインを変更することができます。
ダウンロードファイルに
nomal.html (ノーマルデザイン)
lineres.html (1行レスデザイン)
fuki.html (すべてふきだしデザイン)
fuki2.html (親記事ふきだしデザイン)
fuki3.html (親記事ふきだし1行レスデザイン)
simple.html (シンプルデザイン)
が同封されてますのでそれらを使用してください。使用方法は set.cgi を開き
131/132行目
$DDIR = "./Skin";
$Dfile= "nomal.html";
$DDIR でスキンファイルを入れるディレクトリを指定しその中に使いたいスキンファイルを入れてください。
$Dfileでその中にある使いたいデザインのスキンファイルを指定してください。
*) 使わないスキンファイルはアップしなくてもOKです。
ふきだし系のスキンファイル(fuki.html / fuki2.html /fuki3.html)は、別に画像設定があるので
それぞれのスキンファイルを開いて画像の部分を調整してください。
- 管理モードからスキンファイルを変更する
また、管理モードから、スキンファイルを変更できます。
1) 管理モードに入り「スキンファイル変更」のタブをクリック
2) 表示されているファイル名をクリック
3) 動作イメージを確認後、「このスキンファイルに変更する」をクリックしてください。
スキンファイルはHTMLの知識があれば作成する事ができます。基本的には以下のような構成になります。
コメント部
|
親記事表示部
|
レス記事表示部
|
記事終了部
|
コメント部は以下のように記述します。
<!--
ここに作者コメント等を記述します。
これはオンラインからのスキンファイル変更時のコメント部分に表示される部分です。
-->
親記事表示部は以下のように記述します。
{oya-s}
ここにHTMLで記述します。
{res-s}
ここには、親記事をどのように表示するかを記述していきます。利用できる変数(文字の入れもの)は、以下の通りです。
|
変数
|
用途
|
|
変数
|
用途
|
$No
|
記事Noを表示します。
|
|
$Date
|
投稿された時間を表示します。
|
$Name
|
投稿者の名前を表示します。
|
|
$TitleColor
|
設定ファイルの記事タイトル色(16進数)を表示します。
|
$Email
|
投稿者のメールアドレスリンクを表示します。
|
|
$Title
|
投稿されて記事のタイトルを表示します。
|
$Comment
|
投稿された記事コメントを表示します。
|
|
$URL
|
投稿されたURLのリンクを表示します。
|
$Icon
|
投稿されたアイコン画像を表示します。
|
|
$FontColor
|
投稿された文字色(16進数)を表示します
|
$LineColor
|
投稿された枠線色(16進数)を表示します。
|
|
$IP
|
投稿者のIPアドレスを表示します。
|
$ID
|
投稿者のIDを表示します。
|
|
$Select
|
投稿されたセレクトフォームの内容を表示します。
|
$Text
|
投稿されたテキストフォームの内容を表示します。
|
|
$Rank
|
投稿者の発言回数とレベルを表示します。
|
$ResMail
|
レス内容をメールで受け取るかどうかを表示します。
|
|
$BackColor
|
設定ファイルの記事背景色(16進数)を表示します。
|
$TableLine
|
設定ファイルの汎用的な表の色(16進数)を表示します。
|
|
$QuoteLink
|
引用リンクを表示します。
|
$ResFORM
|
レスフォームへのリンクを表示します。
|
|
$ResLink
|
レス記事表示へのリンクを表示します。
|
$QuoteURL
|
引用返信のURLを表示します。
|
|
$ResURL
|
レスフォームへのURLを表示します。
|
$EditLink
|
編集フォームへのリンクを表示します。
|
|
$EditURL
|
編集フォームへのURLを表示します。
|
$DelLink
|
削除フォームへのリンクを表示します。
|
|
$DelURL
|
削除フォームへのURLを表示します。
|
|
|
|
|
|
これらを表示したいところに配置してHTMLを記述してください。大文字小文字便宜上分けていますが、関係ありません。適当に。
「リンク」と「URL」の違いは、リンクは文字列つきのリンクです。その文字列を変更できません。URLは文字列を変更できます。具体的には以下のように記述します。
|
種別
|
記述例
|
表示例
|
引用リンク
|
$QuoteLink
|
引用
|
引用URL
|
<a href="$QuoteURL">引用返信</a>
|
引用返信
|
レスフォームリンク
|
$ResFORM
|
このスレッドに返信する
|
レスフォームURL
|
<a href="$ResURL">返信する</a>
|
返信する
|
簡単の例として、HTMLを書いてみます。
|
{oya-s}
<hr>
■$No - $Name ($Date)
<ul>
$Comment
</ul>
{res-s}
|
上記の用に書いた場合の表示例
|
■1 - りゅういち (2003/01/01(Wed) 00:00:00)
ここのコメントが入ります。
このように、HTMLのなかに変数を入れて、記事を作成します。
|
レス記事表示部は以下のように記述します。
{res-s}
ここにHTMLで記述します。
{res-e}
基本的に使える変数は親記事表示部と同じです。それに加えて使える変数が一つ増えています。
|
変数
|
用途
|
$ResNo
|
レス記事のそのスレッド内の番号
|
レス記事表示部で注意してほしい部分は、ここがレス表示分だけ繰り返し表示されるということです。
例えば、<ul>タグの閉じ忘れなどをすると、どんどんインデントされていく、ということにもなりかねません。注意しましょう。
親記事と同じく例を書いて見ます。
|
{res-s}
<ul><hr>
□$No - $Name ($Date)
<ul>
<br>$Comment
</ul><br>
Res$ResNo
</ul>
{res-e}
|
上記の用に書いた場合の表示例
|
□2 - りゅういち (2003/01/01(Wed) 00:01:00)
ここのコメントが入ります。
レス記事は繰り返されるので注意!
Res1
|
記事終了部は以下のように記述します。
{res-e}
ここにHTMLで記述します。
{oya-e}
ここで使える変数は数が限られます。使用できるのは以下のものだけです(用途は親記事表示部参照)
$ResFORM / $ResLink / $ResURL / $BackColor / TableLine
記事終了部で注意してほしい部分は、親記事で開いたタグの閉じ忘れです。
<table>でスレッド全体を包むときなどは、ここで閉じなければ変な表示になってしまいます。
他と同じく例を書いて見ます。
|
{res-e}
<hr><center>[$ResFORM] $ResLink</center>
{oya-e}
|
上記の用に書いた場合の表示例
|
[このスレッドに返信する] [1-1]
|
これらを組み合わせるとスキンファイルの完成です。まだ良く理解できない人は、今回の例で作成したものを試しに作成してみてください。
サンプル
|
親記事2件でそれぞれレス2件の表示例
|
<html><body>
<!--
これはサンプルです。
-->
{oya-s}
<hr>
■$No - $Name ($Date)
<ul>
$Comment
</ul>
{res-s}
<ul><hr>
□$No - $Name ($Date)
<ul>
<br>$Comment
</ul><br>
Res$ResNo
</ul>
{res-e}
<hr><center>[$ResFORM] $ResLink</center>
{oya-e}
</body></html>
|
■4 - りゅういち (2003/01/01(Wed) 00:03:00)
このように親記事は後に投稿されたものが基本的に上に行きます。
簡単なソースでもそれなりなものはできるでしょ?(そうか?(^^;)
□5 - りゅういち (2003/01/01(Wed) 00:04:00)
レス記事は後に投稿されたものほどスレッド内の下に行きます。
Res1
□6 - りゅういち (2003/01/01(Wed) 00:05:00)
Res2
[このスレッドに返信する] [1-2]
■1 - りゅういち (2003/01/01(Wed) 00:00:00)
ここのコメントが入ります。
このように、HTMLのなかに変数を入れて、記事を作成します。
□2 - りゅういち (2003/01/01(Wed) 00:01:00)
ここのコメントが入ります。
レス記事は繰り返されるので注意!
Res1
□3 - りゅういち (2003/01/01(Wed) 00:02:00)
ここのコメントが入ります。
レス記事は繰り返されるので注意!親記事1へのレス2
Res2
[このスレッドに返信する] [1-2]
|
同封されている ibbsk.cgi を ibbs.cgi と同じディレクトリにアップしてある場合は ibbsk.cgi にアクセスすれば携帯端末用が表示されます。
- Perlパスとパーミッションの変更は行なってください。
- ibbsk.cgi を開くと携帯用の設定もいくつかありますので適宜変更してください。
- ID機能を使っている場合は、IDは携帯の機種名になります。
*) 機種によっては正常に表示されない端末もあります!
わからない、設置できない、バグがでた、などの情報はサポート掲示板までお願いします。
- 更新履歴
- 01/09/07 v1.0-配布開始
- 01/09/13 v1.1-パスワード制限する際の投稿後エラーがでる不具合修正、メール送信機能を使った際のURL欄の不具合修正、ロック機能の不具合修正、マルチレス機能追加
- 01/09/24 v1.2-管理者アイコンがクッキーされないのを修正、ランダム画像の不具合を修正、過去ログカウントファイルに 1 を書いていなかったのを修正。(ibbs.cgiのみのアップでOK、過去ログを利用しようとして不具合が起こった方は ilog.log もアップ。)
- 01/09/29 v1.3-マルチ設定で過去ログをとっている場合、検索で関連記事がうまく表示されないのを修正、マルチレス機能の不具合修正(isrch.cgiのみのアップでOK、v1.2でマルチログが正常に働かない場合はibbs.cgiもアップ)。
- 01/12/04 v1.4-メールアドレスチェック強化、アイコン画像がランダムのとき表示されないことがあるのを修正、その他不具合修正(ibbs.cgiのみアップ)
- 01/12/08 v1.5-パスワード機能を利用の際、次回から入力しなくてもいいように修正、管理モードの強化(ibbs.cgiのみアップ)
- 02/01/04 v1.6-レスでスレッドが移動しない設定のときメール送信機能がうまく動かないのを修正(ibbs.cgiのみアップ)
- 02/04/29 v1.7-クッキーがうまく働かないことがあるのを修正(アップ後の初回投稿時クッキーが正しく働かない場合があります!/ibbs.cgiのみアップ)。
- 02/10/02 v1.8-マルチレス後のクッキー不具合修正、レスが付いた親記事を投稿者が削除できないのを修正、タグONにした場合 <> と書いても <> と表示されないのを修正等、その他不具合修正(ibbs.cgiのみアップ)
- 03/09/04 v2.0-ID機能追加、デザインファイルから作成しやすいスキンファイルへ変更、管理モードの使い勝手の向上、トピック表示モード追加、過去ログをトピック表示で閲覧できるよう変更、携帯端末オプションの同封、記事リンク機能の追加、表示の効率化・高速化等、全体的にソースの修正(ibbs.cgi / isrch.cgi /set.cgi をアップ)
- 03/09/07 v2.1-投稿回数が1回目のとき回数が表示されないのを修正、親記事のみに設定したテキスト、セレクトフォームがレス返信時にも表示されるのを修正、レスページへのリンクが表示されないことがあるのを修正、管理者ヘルプのURLが間違っていたのを修正(ibbs.cgi のみアップ)
- 03/09/21 v2.2-ファイル名変更時 編集/削除 のリンクが使えないのを修正、編集時 管理者アイコンが使えないのを修正、ibbsk.cgiから投稿時 題名が反映されない、編集時携帯アイコンが消えるのを修正、過去ログのレスが逆順になっているのを修正等(ibbs.cgi のみアップ)
- 03/10/02 v2.3-トピック表示で記事ヘッダが正しく表示されないのを修正、スレッドリストのリンク先がずれていたのを修正(ibbs.cgiをアップ)
- 03/10/13 v2.4-最大レス可能件数を0にしても携帯版で無制限にならないのを修正、マルチレスのときフリーフォームが親記事のみでも表示されるのを修正、コメント部分以外にいつでもタグが利用できてしまうのを修正(ibbs.cgi/ibbsk.cgi をアップ)
□ BACK