SBBS : ツリー掲示板
記事の親子関係をツリー形式で表示する掲示板です。HTML とCSS はわかるんだけど PHP はちょっと苦手」という方が、簡単にカスタマイズ出来る掲示板(Stylesheet BBS)をテーマにつくりました。
SBBS はこのサイトで用いてる掲示板とは違います。注意。
これを書いた当初は PHPやサーバーサイドの知識が十分でなく、幾つか機能追加のご要望を頂きましたが応えられるだけのスキルもありませんでした。今コードを読み返してみると手直しするならはじめから書き直した方が楽と思うほど保守しにくいコードでした。
1年くらい経ってコードを読み返しても、どの部分が何をしているかわかるよう、しっかりとしたコーティング指針(コメントの付け方や命名規則などのコードを書く時の方針)を持って書くことが必要だとわかったことが、このスクリプトを通じて得た一番の収穫です。
機会があればゼロから書き直したいと思っていますが、今のところ ver.0.200 以後のアップデートは考えていませんので、利用者の自己責任においてご使用ください。
ダウンロード
- SBBS ver.0.200 : 2003-10-26
- これ以前のバージョンは archives にあります。
機能と特徴
- 利用者向け
- パスワードを設定しておけば、後から編集・削除出来ます。
- コメント中のURLは自動的にリンクされます。(設定可)
- コメント中で <codef>~</codef> で囲んだ部分は、等幅フォント&ハイライト表示されます。(設定可)
- クッキーによる入力補助があります。
- 過去ログを観覧できます。(設定可)
- 新しい記事が上位に表示されます。(スレッド単位・記事単位で設定可)
- 投稿した記事にレスがつくと、投稿者にメールで通知します。(設定可)
- 管理者者向け
- 新たな投稿があると、管理者にメールで通知します。(設定可)スレッド表示可能なメーラーであればスレッド表示されます。
- 特定IPアドレスからの投稿・編集・削除を拒否できます。(設定可)
- 投稿者のIPアドレスとユーザーエージェントを表示できます。(設定可)
- 掲示板ログには、テキストファイルを使用していますので、データベースが無い環境でも設置可能です。
- 管理者モードはありません。パスワード欄に管理者パスワードを入力することで編集・削除が可能です。
- 表示部分はスキンファイル(HTML&CSS)でデザイン可能。ページ全体のレイアウトやフォント・色・マージン・ボーダなどの細かな表示設定を HTMLと CSS で行なうことができます。
設置環境
- モジュール版PHP(4.1.0 ~ 4.4.x)が動作するウェブサーバー
- mail関数でメールを送信できるサーバー(メール通知機能未使用時は不要)
設置手順
1.ファイル構成
ダウンロードしたファイルを解凍すると次のような構成になっています。(文字コードは Shift-JIS、改行コードは CR+LF です)
赤いファイル名が実行に必要なファイルです。
sbbs.php- 掲示板スクリプトsbbs.html- スキンファイル_update.php- ログ更新スクリプト_help.php- ヘルプ表示スクリプト_logview.php- 過去ログ観覧スクリプト_sendmail.php- メール送信スクリプト_logupdate.php- ver.0.1 からの 0.2 へのログファイル変換スクリプトreadme.txt- 設置手順・注意事項など。このページの抜粋です。sbbscss.txt- 使用しているCSSの補足解説update.txt- ver.0.1 からの 0.2 へのアップデート手順
2.初期設定・機能設定・表示設定の編集
sbbs.php をテキストエディタで開き以下の2箇所を必ず変更してください。
19 | // ホームページ(戻るページ)のURL 20 | define(SBBS_HOME_URL, "http://localhost/"); 21 | 22 | // 管理者のパスワード(必ず変更のこと) 23 | define(SBBS_MASTER_PASSW, "abcd1234");
Ver.0.200 より設定部を「初期設定」「機能設定」「表示設定」の3つに分割しています。必要とされる部分は任意に書き換え保存してください。 デザインを変更したい場合には、スキンファイル(sbbs.html)を編集します。
3.アップロード&パミッション設定
任意のディレクトリに、以下の5つのファイルをアスキーモード(テキストモード)でアップロードします。
ファイルを置いたディレクトリはウェブサーバの権限で書き込みできる属性を設定します。
例) bbs/ 以下にファイルを設置する場合
bbs: 属性を 706 や 707 に設定sbbs.phpsbbs.html_update.php_help.php: ヘルプを表示しない場合は不要_logview.php: 過去ログ機能を使用しない場合は不要_send_mail.php: 投稿通知機能を使用しない場合は不要
4.動作確認
ブラウザから sbbs.php にアクセスし、メニューが表示されれば完了です。
ログファイルおよび過去ログファイルは、はじめて書き込みがあった際自動的に作成されます。
ver.0.200 へのアップデート
Ver.0.200 よりログファイルのフォーマットが変更になりました。スクリプトを差し替えただけでは正しく機能しませんので、update.txt の内容に従ってアップデートをおこなってからご使用ください。
エラーが表示されるなどしてアップデートが完了しない場合メッセージが表示されますので、解決のヒントにして下さい。
- ログファイルがありませんでした。(xxxxxx.xxx)
ログファイルが存在しない状態です。初期設定の際指定したログファイル名の記述を再確認してください。 - ログファイルを開くことが出来ませんでした。(xxxxxx.xxx)
ログファイルがウェブサーバの権限では書き込み出来ない状態です。ログファイル(及び過去ログファイル)の属性を「 606 」に設定してください。 - ログファイルをアップデートする必要はありません。(xxxxxx.xxx)
ログファイルはすでにアップデート済みです。
サーバーによってはファイルの所有権の違いのため、アップロードできなかったり属性を変更できないことがあります。サーバー上のログファイルを一旦削除してから、バックアップしておいたログファイルをアップロードし属性を「 606 」に設定してください。
更新履歴
- 2003-10-26 : ver.0.200
- 仕様及びコードの大幅な見直しをおこないました。
- 過去ログ観覧機能を追加。(設定可)過去ログ機能を「0:使用しない」に設定した場合、最大親記事件数を越えると古い記事を削除するよう変更
- IPアドレスによる投稿制限機能を追加。(設定可)
- メールによる投稿通知機能を強化。(設定可)
- 返信・編集・削除フォームを表示する際、該当する記事を含むスレッドを表示するよう変更。
- 投稿後の戻り先を、ツリー表示から、記事&返信モードに変更
- 掲示板メニュの表示・非表示が設定が出来るよう変更
- 掲示板ヘルプの表示・非表示が設定が出来るよう仕様変更
- メイン処理ファイルとその他の処理ファイルを分割
- 2003-07-24 : ver.0.126
- 過去ログが正しく自動生成されないバグを修正
- URL自動リンク機能で一部の文字がURLと認識されないバグを修正
- 2003-02-01 : ver.0.125
- ページング機能が正しく機能しないバグを修正
- 2003-01-27 : ver.0.124
- コメント中のURLをリンクする機能を追加(設定可)
- 管理者への投稿通知機能を追加(設定可)
- 2002-09-08 : ver.0.123
- 過去ログ保存機能を追加。
- クッキーによる入力補助機能を追加
- タイムゾーンが異なるサーバーに設置する際の設定を追加
- 二重投稿防止が機能しないバグを修正
- 2003-08-07 : ver.0.122
- コメント中のURLをリンクする機能を追加(設定可)
- 管理者への投稿通知機能を追加(設定可)
- 2003-08-06 : ver.0.121
- Netscape で正しく表示されないバグを修正
- 2003-08-05 : ver.0.120
- ツリーと記事の表示にページング機能を追加
- 新着記事、親記事、E-Mail、HomePage、それぞれの表示にアイコン画像を指定出来るよう変更
- 2003-08-04 : ver.0.110
- HTML&CSS部分をスキンファイル化
- 2003-08-03 : ver.0.101
- Netscape でCSSが反映されないバグを修正
- 2003-07-20 : ver.0.100
- 公開
