Child Tree

ツリー式(コメントリンク型)掲示板です。

■特徴とサンプル

  1. ツリー式(コメントリンク型)の掲示板
  2. クッキー対応
  3. 記事の削除、編集がオンラインでできる
  4. カウンタ機能付き(ON/OFF)
  5. タグ使用可能(ON/OFF)
  6. 投稿者にレス記事を、管理者にすべての記事をメールで通知する(要 semdmail 機能-ON/OFF)
  7. 投稿者本人が自分の記事を削除・編集できる
  8. IPアドレスを取得、記録/IPアドレスでアクセス制限
  9. 検索機能
  10. 簡易過去ログ機能
  11. 簡易バックアップ機能(ON/OFF)
  12. 多目的に使えるチェックボックス機能と管理者のみチェック機能
  13. 図表モード


■規約

このCGI はフリーですが規定通りに使ってください。
オリジナルスクリプトです。ということは、著作権欄を消さない限り再配布自由です。
Readme.txtにも少しあります。

■ファイル確認

解凍 したあと、以下のファイルがきちんとあるか確認してください。


■設定変更

最小限の設定変更の説明です。メモ帳などのエディタで[ cbbs.cgi ]のファイルを開いてください。

1行目

#!/usr/local/bin/perl

これを正しいパスに書きなおしてください。だいたいのサーバではこのままでOKです。


15行目

$backurl="../index.html";

MENU のリンク先です。つまりは戻るURLです。


16行目

$pass  = "7777";

管理用パスワードです。変更してください。


次に[ srch.cgi ]をメモ帳などのエディタで開いてください。


1・13・15行目

#!/usr/local/bin/perl

$backurl="../index.html";

$pass  = "7777";

cbbs.cgi で設定した時と同じように設定していただければOKです。

■記事タイトルのヘッダを指定

ツリー表示の際の記事タイトルの前につくヘッダを指定します。

サンプルの場合
47〜49行目
$all_i= '<img src="all.gif" height=16 width=16 border=0 alt="ALL MASSAGE">';

$hed_i= '<img src="hed.gif" height=15 width=15 border=0 alt="MASSAGE">';

$new_i= '<img src="new.gif" height=15 width=15 border=0 alt="NEW MASSAGE">';
として、それぞれの画像を同じディレクトリにアップしている。
他にもそのままテキストで表現してしまうこともできる。
47〜49行目
$all_i= '■';

$hed_i= '□';

$new_i= 'N';
とやると、親記事の先頭に ■ 各記事の先頭に □ 新着記事の先頭に N が表示される。


6.サーバに送る(テスト設置)

基本設定ができたら、サーバに送りましょう。ここでは[ public_html ]の下に
[ cbbs ]というディレクトリを作ってそこに送るという仮定で説明します。

[public_html]┐

             ├ [cbbs] ┐(ロック機構/過去ログ機能/バックアップ機能を使う場合 [777])

             │        ├ cbbs.cgi   [755](このファイルにリンクを張ります)

             │        ├ cbbs.dat   [666]

             │        ├ srch.cgi   [755]

             │        ├ all.gif hed.gif new.gif (初期設定のまま画像でヘッダを指定する時)

             │        ├ jcode.pl   [755] (このファイルは他のCGIと共有できます)

             │        ├ ccount.dat [666] (このファイルはカウンタ機能を使う時必要)

             │        └ klog.log   [666] (このファイルは過去ログ機能を使う時必要)

             │

             └ index.html

[ ]内の数字は送るときのパーミッションです。
ファイル名 モード パーミッション
cbbs.cgi/srch.cgi/jcode.pl アスキー(テキスト) 755
cbbs.dat/ccount.dat/klog.log アスキー(テキスト) 666
*.gif バイナリー 特に無し


■解決済みチェックボックスの使用法

例えば質問コーナーで答えがわかったらその記事のよこに OK! と表示したり、
オークションだったら売約済みになったら記事のよこに 契約完了 といった表示を簡単に実現する。

サンプルの場合
52〜61行目
$end_f = 1;

$end_c = 0;

# チェック時、表示する物(タグ可 画像の時は<img>タグ)

$end_ok= '<font color=red>解決済み!</font>';

# チャックを促すコメント(例: 解決したらチェック!)

$end_m =<<"_END_";



<font color=red><small>解決したらチェックしてください!</small></color>



_END_
使用目的は質問の謎が解けたら 解決済み! と表示する、という感じ。
$end_of を 1 にすればチェックボックスがレスフォームに表示され 0 だと表示されない。
$end_c を 1 にすると、管理モードの編集作業からしかチェックができなくなる(イタズラ防止)
チェックすると $end_ok を表示する。タグも使えるので<img>タグで画像も指定できる。
チェックを促すコメントのところはタグも使えます。内容はチェックボックスのよこに表示されます。

例えばオークション用だと…
52〜61行目
$end_f = 1;

$end_c = 0;

# チェック時、表示する物(タグ可 画像の時は<img>タグ)

$end_ok= '<font color=red>契約完了!</font>';

# チャックを促すコメント(例: 解決したらチェック!)

$end_m =<<"_END_";



<font color=red><small>契約がまとまったらチェックしてください!</small></color>



_END_
というようにして使用すればよい。

■簡易過去ログ機能

この掲示板は簡単な過去ログ機能があります。

72〜75行目

$klog_s= 0;

$klog_c= "./klog.log";

$klog_d= ".";

$klog_l= 100;

使用する場合は $klog_s を 1 にしてください。 $klog_d で過去ログを作るディレクトリを指定します。
$klog_l で過去ログの一つのファイルの限度サイズKB(キロバイト)数でを指定します。
(例えば 1.txt が100KBを越えたら 2.txt を生成しそっちに記録する)
srch.cgi の方にも同じような記述が 34行目からあるので同じように設定してください。

* 過去ログ機能を使用するときは過去ログを生成するディレクトリのパーミッションを[ 777(もしくは755) ]に設定してください。
* バージョンアップの際、過去ログ機能の方式を通常ログと同時書きこみ→通常ログから削除時に書きこみへ変更したため、過去ログの記事がかぶる場合があります!


■メール通知機能

この掲示板は投稿があるとメールで通知する、レス記事を投稿者の任意で送信するという機能があります。
*この機能はsendmailが使えるサーバでしか使えません。sendmailが使えるかどうかは直接サーバ管理者にお問い合わせください。

77〜82行目

$t_mail= 0;

$mymail= 0;

$mailto= 'user@host.ne.jp';

$o_mail= 0;

$q_mail= 0;

$s_mail= '/usr/lib/sendmail';

$t_mail の 0 を 1 に変えると投稿すべてを管理者に投稿機能が働くようになります。
$mymail を 1 にすると自分の投稿もメールで通知されますが 0 だと自分の投稿は自分に通知されません。
(メールアドレス記入欄に通知するアドレスと同じアドレスを記入した場合)
$mailto は通知をするメールアドレスです。あなたのメールアドレスをいれるとこです。カンマ(,)で区切っていくつも指定できます。
$o_mail を 1 にすると投稿者の任意でレス記事のメールの受信を設定できるようになります。
$q_mail は sendmail互換のqmailの場合にカンマを半角の空白に置き換えます。
$s_mail はsendmailパスです。だいたいのサーバはこのままでOKですが、一応サーバ管理者にお問い合わせください。

■タイトルを画像にする

タイトルに画像を使う事ができます。

84行目

$t_img = "";

ここにURLで画像のある場所を指定してください。縦と横のサイズ指定も忘れずに。すると題名の部分が画像に置きかえられます。

■カウンタを画像にする

カウンタに画像をつかうこともできます。

87行目

$cou  = 0;

ここを 0 にするとカウンタ機能は働きません。 1 にすると動きます。カウンタに画像を使うには、

0.gif / 1.gif / 2.gif / 3.gif / 4.gif / 5.gif / 6.gif / 7.gif / 8.gif / 9.gif

のファイルを用意して 92行目 $m_pas に指定(最後のスラッシュ(/)は省く)したディレクトリにアップすればOK。
縦と横のサイズもきちんと指定しておきましょう。

■タグを使用可能にする

タグ(<a><font><img><b><i>など)を使用可能にできます。

100行目

$tag  =  0;

ここの 0 を 1 にするとタグを使う事が出きるようになります。

■簡易バックアップ機能を使う

ログ消失対策にバックアップをとります。

101/102行目

$bup  =  0;

$bup_f= "./cbbs.bak";

$bup を 1 にすると、$bup_f にバックアップをとります。自動でファイルを作るのでファイルをアップする必要はありません。
* もう一つログを取得するので合計で2倍の容量になります。
* ファイルを生成するディレクトリのパーミッションを [777] に設定してください

■その他

わからない、設置できない、バグがでた、などの情報はサポート掲示板までお願いします。