CJ Club TOP/CGI Script/BBS/Child Forum

Child Forum

トピック表示式掲示板

Click here to visit our sponsor

■ 特徴とサンプル

  1. トピック表示式の掲示板
  2. クッキー対応
  3. 記事の削除、編集がオンラインでできる
  4. カウンタ機能付き(ON/OFF)
  5. タグ使用可能(ON/OFF)
  6. 投稿者にレス記事を、管理者にすべての記事をメールで通知する(要 semdmail 機能-ON/OFF)
  7. 投稿者本人が自分の記事を削除・編集できる
  8. IPアドレスを取得、記録/IPアドレスアクセス排除機能
  9. 検索機能
  10. 簡易過去ログ機能
  11. 簡易バックアップ機能(ON/OFF)
  12. 設定によってはマルチ掲示板にもなる(1トピックあたりの記事数の制限とトピック追加の制限)
  13. 削除キーを使った書きこみ者限定機能
  14. 図表モード

サンプル

[ Child Forum ]HP Q&A掲示板として使用しています)
管理用のテストはできません。
*) Child Tree のトピック表示を利用することをオススメします! 今後、Child Forum のバージョンアップ予定はありません。
 以前のユーザの方も Child Tree のトピック表示を利用した物に移行することをオススメします。ログはそのまま使えます!


■ ダウンロード

まず次のファイルをダウンロードしてください。ダウンロードする場所は好きなところで結構です。

[ cf.lzh(34KB/Vectorサーバ)]
cbbs.lzh
[ cf.zip(34KB)]
cf.zip
[ cf.lzh(34KB)]
cf.lzh
v3.0

ダウンロードが完了したら解凍してください。
念のためこのページも保存することをオススメします。

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



■ ファイル確認

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


■ 設定変更

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

1行目

#!/usr/local/bin/perl

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


15行目

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

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


16行目

$pass  = "7777";

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


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


1・13・15行目

#!/usr/local/bin/perl
$backurl="../index.html";
$pass  = "7777";

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

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

トピック表示の際のトピックタイトルの前につくヘッダを指定します。

サンプルの場合
52〜54行目
$hed_i= '<img src="hed.gif" height=15 width=15 border=0 alt="TOPIC">';
$new_i= '<img src="new.gif" height=15 width=15 border=0 alt="NEW TOPIC">';
$up_i_= '<img src="uph.gif" height=15 width=15 border=0 alt="UpDate TOPIC">';
として、それぞれの画像を同じディレクトリにアップしている。
更新トピック用
uph.gif
普通トピック用
hed.gif
新着トピック用
new.gif


他にもそのままテキストで表現してしまうこともできる。
52〜54行目
$hed_i= '□';
$new_i= 'N';
$up_i_= 'UP';
とやると、普通トピックの先頭に □ 新着トピックの先頭に N 更新トピックに UP が表示される。


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

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

[public_html]┐
             ├ [cf] ┐(ロック機構/過去ログ機能/バックアップ機能を使う場合 [777])
             │      ├ cf.cgi   [755](このファイルにリンクを張ります)
             │      ├ cf.dat   [666]
             │      ├ cfs.cgi  [755]
             │      ├ all.gif hed.gif new.gif (初期設定のまま画像でヘッダを指定する時)
             │      ├ jcode.pl [755] (このファイルは他のCGIと共有できます)
             │      ├ cfc.dat  [666] (このファイルはカウンタ機能を使う時必要)
             │      └ cfk.log  [666] (このファイルは過去ログ機能を使う時必要)
             │
             └ index.html

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


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

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

サンプルの場合
57〜66行目
$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>タグで画像も指定できる。
チェックを促すコメントのところはタグも使えます。内容はチェックボックスのよこに表示されます。

例えばオークション用だと…
57〜66行目
$end_f = 1;
$end_c = 0;
# チェック時、表示する物(タグ可 画像の時は<img>タグ)
$end_ok= '<font color=red>契約完了!</font>';
# チャックを促すコメント(例: 解決したらチェック!)
$end_m =<<"_END_";

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

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

■ 過去ログ機能

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

77〜80行目

$klog_s= 0;
$klog_c= "./cfk.log";
$klog_d= ".";
$klog_l= 100;

使用する場合は $klog_s を 1 にしてください。 $klog_d で過去ログを作るディレクトリを指定します。
$klog_l で過去ログの一つのファイルの限度サイズKB(キロバイト)数でを指定します。
(例えば 1.txt が100KBを越えたら 2.txt を生成しそっちに記録する)
srch.cgi の方にも同じような記述が 34行目からあるので同じように設定してください。
* 過去ログ機能を使用するときは過去ログを生成するディレクトリのパーミッションを[ 777(もしくは755) ]に設定してください。
* v3.0以上にバージョンアップの際、過去ログ機能の方式を通常ログと同時書きこみ→通常ログから削除時に書きこみへ変更したため、過去ログの記事がかぶる場合があります!

■ メール通知機能

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

82〜87行目

$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ですが、一応サーバ管理者にお問い合わせください。

■ マルチ掲示板にする

設定によってマルチ掲示板のようにできます(ひとつのCGIで複数の掲示板を運営できる)
例えば、いろいろな音楽、ジャズ、ロック、クラッシック、演歌、ラップ、レゲエの掲示板を作るなら、6つ作ればいいので、

36・37行目

$tab_m= 2;
$a_max= 10;

$tab_mを1 $a_maxを6 に設定すると、1ページに一つのテーブル6つのトピックを表示します。

39行目

$topok= 1;

ここを0にするとトピックを増やせるのは管理人だけになるのでむやみにトピックが増えません。

40・42行目

$tpmax= 0;
$tp_hi= 0;

$tpmax を 0以上にすると1トピックの記事数が制限でき、古い記事から削除されます。(35行目が1の場合のみ)
$tp_hi を 1にするとよくある掲示板のように初期の記事配列が新しい記事がトップフォームもトップに表示されます。

設定ができたら管理ページから「新規トピック追加」を選択、タイトル部分をそれぞれ、ジャズ掲示板、ロック掲示板等にして投稿してください

■ カウンタを画像にする

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

92行目

$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>など)を使用可能にできます。

105行目

$tag  =  0;

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

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

ログ消失対策にバックアップをとります。
* もう一つログを取得するので合計で2倍の容量になります。

106・107行目

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

$bup を 1 にすると、$bup_f にバックアップをとります。自動でファイルを作るのでファイルをアップする必要はありません。
* ファイルを生成するディレクトリのパーミッションを [777] に設定してください

■ その他

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

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


TOP
Click here to visit our sponsor