CJ Club TOP/CGI Script/BBS/Child Tree

Child Tree

ツリー式ファイルアップ掲示板

■特徴とサンプル

  1. ツリー形式、トピック形式、スレッド形式の掲示板
  2. 上記どれを使うか指定でき、また3つ同時にも使用できる
  3. クッキー対応
  4. 記事の削除、編集がオンラインでできる。レス記事の無い記事は完全の削除されレス記事のある記事はツリー保持のため記事の跡が残る
  5. カウンタ機能付き(ON/OFF)
  6. タグ使用可能(ON/OFF)
  7. 投稿者にレス記事を、管理者にすべての記事をメールで通知する(要 semdmail 機能-ON/OFF)
  8. 投稿者本人が自分の記事を削除・編集できる
  9. IPアドレスを取得、記録/IPアドレスでアクセス制限
  10. 検索機能
  11. 過去ログ機能
  12. 簡易バックアップ機能(ON/OFF)
  13. 多目的に使えるチェックボックス機能と管理者のみチェック機能、解決後レス禁止機能
  14. 図表モード
  15. レス数の制限
  16. マルチ設定機能
  17. 親/レス記事ファイルアップ機能(ファイルアップ方法はとほほさんのWWWUPLを参考にしています。)編集からも削除、アップ可能
  18. セレクトフォーム、テキストフォームがひとつずつ設置できます。
  19. アイコン機能付
  20. 文字色・枠線色選択機能付
  21. 文字数制限機能
  22. パスワードでの書きこみ、閲覧制限
  23. プレビュー機能
  24. I-BOARDシリーズ/UPP-BOARDのログコンバート可能

    ツリー、トピック、スレッド表示の使い分けの仕方

    v7.0未満を利用していたユーザの方


■規約

*まだ不具合があるかもしれないので見つけた場合は早急にご連絡ください。
ダウンロードが完了したら解凍してください。念のためこのページも保存することをオススメします。
このCGI はフリーですが規定通りに使ってください。オリジナルスクリプトです。ということは、著作権欄を消さない限り再配布自由です。
Readme.txtもご覧ください。

■ファイル確認

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


■設定変更

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

1行目

#!/usr/local/bin/perl

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


次に[ set.cgi ]をメモ帳などのエディタで開いてください。以下出てくる行数はすべて set.cgi です。


10行目

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

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


11行目

$pass  = "7777";

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


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

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

サンプルの場合
50〜53行目
$hed_i= '<img src="file/hed.gif" height=15 width=15 border=0 alt="Nomal">';
$new_i= '<img src="file/new.gif" height=15 width=15 border=0 alt="New">';
$all_i= '<img src="file/all.gif" height=16 width=16 border=0 alt="All">';
$up_i_= '<img src="file/uph.gif" height=15 width=15 border=0 alt="UpDate">';
として、それぞれの画像を[file]ディレクトリにアップしています(画像は圧縮ファイルに同封されています)。
他にもそのままテキストで表現してしまうこともできます。
50〜53行目
$all_i= '■';
$hed_i= '□';
$new_i= 'N';
$up_i_= 'UP';
とやると、親記事の先頭に ■ 各記事の先頭に □ 新着記事の先頭に N アップデート記事に UP が表示されます。


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

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

[public_html]┐
             ├ [cbbs] ┐(ロック機構/過去ログ機能/バックアップ機能を使う場合 [777])
             │        ├ cbbs.cgi   [755](このファイルにリンクを張ります)
             │        ├ cbbs.dat   [666]
             │        ├ set.cgi    [755]
             │        ├ srch.cgi   [755]
             │        ├ all.gif/hed.gif/new.gif/uph.gif(初期設定のまま画像でヘッダを指定する時)
             │        ├ jcode.pl   [755] (このファイルは他のCGIと共有できます)
             │        ├ ccount.dat [666] (このファイルはカウンタ機能を使う時必要)
             │        ├ rank.dat   [666] (このファイルは発言ランクを使うとき必要)
             │        ├ klog.log   [666] (このファイルは過去ログ機能を使う時必要)
             │        ├ [file] ┐(パーミッション[777]/ファイルをアップするディレクトリ/機能を使う場合)
             │        │        ├ *.gif / *.gif... (各ファイル形式の画像)
             │        │        └ index.html (空でも良いのでなるべく入れて下さい)
             │        └ [icon] ┐(アイコン機能を使う場合)
             │                 ├ *.gif / *.gif... (各アイコンの画像)
             │                 └ index.html (空でも良いのでなるべく入れて下さい)
             │
             └ index.html

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


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

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

サンプルの場合
56〜68行目
$end_f = 1;
$end_c = 0;
$end_e = 0;

# チェック時、表示する物(タグ可 画像の時は<img>タグ)
$end_ok= '<font color=red>解決済み!</font>';

# チャックを促すコメント(例: 解決したらチェック!)
$end_m =<<"_END_";

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

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


■過去ログ機能

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

180〜183行目

$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 を生成しそっちに記録する)

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


■メール通知機能

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

120〜125行目

$t_mail= 0;
$mymail= 0;
$mailto= 'user@host.ne.jp';
$o_mail= 0;
$s_mail= '/usr/lib/sendmail';
$q_mail= 0;

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

■タイトルを画像にする

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

132行目

$t_img = "";

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

■カウンタを画像にする

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

136行目

$cou  = 0;

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

0.gif / 1.gif 〜 8.gif / 9.gif

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

■タグを使用可能にする

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

150行目

$tag  =  0;

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

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

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

151/152行目

$bup  =  0;
$bup_f= "./cbbs.bak";

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

■ファイルアップ機能

この掲示板の特徴であるファイルアップ機能を使う場合は、

197〜203行目

$i_mode= 1;

# ●相対パス/絶対パスでファイルアップする場所(ファイルアップ用)
$i_dir = "./file";

# ●http:// のURLでファイルアップする場所(ファイル表示用)
$i_Url = "http://www.---.com/cgi-bin/cbbs/file";

$i_mode を 1 から 0 にするとファイルアップ機能は使いません。
$i_dir ファイルアップするディレクトリです。最後の スラッシュ(/) は入れないでください。相対パスか / からの絶対パスで指定します。
$i_Url はhttp://〜のURLで、$i_dir を指定します。ファイル表示用のURLなのでCGI起動パスなどではありません。

 アップ可能ファイル形式はおそらくどんなのでも指定できると思いますが、サーバの設定、ブラウザのプラグイン等によってはアップできても表示は無理かもしれません。
 問題無く追加できると思われるほかの拡張子 .pdf/.sit/.cab/.htm/.html/.mp3/.mpeg/.rar/.bmp等
 また、通信環境などによっては大きなファイルが正常にアップできない場合があります。

■ 発言ランク

発言ランク機能が使えます。

159〜171行目

$M_Rank= 1;
$RLOG = "./rank.dat";
$RDEL = 30;
$RBEST = 30;
$RLOCK = "./rank.loc";

# ●レベル設定 右に行くほど高い(設定しない場合は空行 @RLv=(); にする)
@RLv = ("一般人","付き人","軍団","ファミリー","ベテラン","大御所");
$RSPL  = 50;
$RGimg = "";
$RGhei = 7;
# ●ランク外にする人の名前(ない場合は空行 @NoRank=(); にする)
@NoRank= ("管理人の名前","りゅういち");

$M_Rank を 1 にすると発言ランク機能が使えます。
$RLOG は発言ランクを記録するログファイルまでのパスです。同じディレクトリにログを入れる場合はこのままでOKです。
$RDEL は発言をランクから削除する日数を指定します。
$RBEST は発言ランクで表示するランキングの人数を指定します。
$RLOCK はランキング用のロックファイルのパスです。
@RLv はレベルの設定です。回数が多いほど右のレベルになっていきます。
$RSPL はレベルアップの区切り単位です。50だと50回で一般人から付き人へ、100回で付き人から軍団になれます。
$RGimg はランク表示の際のグラフを画像にできます。http://〜のURLでファイルを指定してください。$RGhei の縦幅も忘れずに指定してください。
@NoRank はランクからはずす人の名前を指定します。

*) 今までの発言ランク機能と違い、書き込んだ時点の回数、レベルが表示されます!

■アイコン機能と文字色・枠線色選択機能

記事ごとにアイコンを表示します。設定によってはツリー/トピックのタイトル横に小さい画像を表示します

298〜303行目

$Icon = 0;
$IconDir= "./icon";

@ico1 = ('rob6.gif','rob2.gif','panda.gif','neko2.gif','mouse.gif','coara.gif','qes.gif','randam','master');
@ico2 = ('ホイールロボ','くるりロボ','ぱんだ','ふとめネコ','ねずみ','こあら','疑問ねこ','ランダム','管理者用');
@ico3 = ('rob6_m.gif','rob2_m.gif','panda_m.gif','neko2_m.gif','mouse_m.gif','coara_m.gif','qes_m.gif');

$Iconを 1 にするとアイコン機能が使用できるようになります。
$IconDir はアイコンの置いてあるディレクトリを指定します。URLでもOKです。最後のスラッシュは省きます 例) http://www.cj-c.com/bbs/icon
@ico1 はアイコン画像のファイル名を記入します。randam master と指定するとランダム機能と管理者専用アイコン機能が使えます。
@ico2 はアイコン画像の名前を記入します。ねこ、いぬ等です。@ico1 と同じ数でなければなりません。
@ico3 はツリー/トピック表示でタイトル横に表示するミニアイコンです。ない場合は @ico3=(); と設定してください。

サンプルとしてダウンロードファイルに画像が入っています。
文字色・枠線色は設定ファイルの設定に従ってください(16進数で指定してください)。

■その他

・http://.../cbbs/cbbs.cgi?mode=all_v でアクセスすると全設定ファイルの更新状況がトピック表示で表示されます。
  [サンプル]

・ブラウザOperaでツリー表示が崩れる場合
  ->対応策:罫線のスペース設定を $K_SP='&nbsp;&nbsp;'; とする(現バージョンは最初から設定されています)。

・I-BOARD/UPP-BOARDログコンバートの方法はコンバートしたいログを set.cgi の記録ファイルに指定、管理モードからボタンを押せば完了です。
  例) $log="./ibbs.dat";

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

ChildTreeレンタル向け
霧生ウェブ研究所

ChildTree携帯向けオプション
Child K-Tai