PbsChat v2.4
 設置マニュアル: 1.基本編  2.応用編  3.フリーソフト・免責事項
0. とにかく設置したい人へ(設置への最短距離)
テキストエディタでadmin.phpを開き、管理者用パスワードを設定します。
admin.php

## 管理用パスワード
$adminpass = "test";(任意の半角英数)
サーバー側にチャット用のディレクトリを作成し、bell.auファイルはバイナリモード、その他のファイルはアスキーモード(テキストモード)でアップロードしてください。
datディレクトリのパーミッションを703に変更します。(703で動かない場合は777に)
お使いのサーバーでパーミッションが規定されている場合は規定のパーミッションに従ってください。
最小構成

pbschat/
  admin.php
  bell.au
  colorlist.php
  frame.php
  header.php
  history.php
  index.php
  out.php
  pbschat.css
  pbschat.php
  set.php
  top.php
  under.php
  dat(703)/
ブラウザでadmin.phpにアクセスしてください。
「管理用パスワード」に設定したパスワードを入力し、管理用ページにログインします。

「1-2.チャットルームの追加」のフォームにチャットルームのタイトルとチャットネームを入力し[追加]ボタンを押します。
管理用ページに戻ると「1-1.チャットルーム一覧」に追加したルームが表示されていますので、[管理・設定変更]ボタンを押します。
「2-2.ルーム設定変更」の[ルーム設定]ボタンを押し、ルーム設定を行います。設定を入力しましたら、ページ下部の[ルーム設定変更]ボタンを押して設定を変更してください。
ページ右上の[参加者情報に戻る]リンクをクリックすると作成したチャットルームが表示されています。
同様の操作を繰り返し、必要な数だけチャットルームを作成します。
1. 基本編
1-1. ファイル説明
1-2. 各ファイルの設定
 1-2-1. admin.php
 1-2-2. header.php
 1-2-3. index.php
 1-2-4. set.php
 1-2-5. pbschat.css
1-3. ファイルのアップロード
1-4. オプションファイル設定
 1-4-1. ダイス
 1-4-2. 携帯対応
1-5. チャットルーム管理
 1-5-1. 管理用ページにログイン
 1-5-2. チャットルームの追加
 1-5-3. チャットルームの削除
 1-5-4. 入退室履歴のクリア
 1-5-5. チャットルームの設定
 1-5-6. 管理用ログ閲覧
 1-5-7. チャットログのクリア
 1-5-8. 管理用ログのクリア
1-1. ファイル説明
admin.php管理用画面
bell.au ベルauファイル
colorlist.php カラー見本一覧
frame.php フレーム
header.php ヘッダー設定ファイル
history.php 入退室履歴閲覧
index.php 参加者情報
out.php 退室画面
pbschat.css 全体用のcssファイル
pbschat.php 入室画面
set.php 各種設定ファイル
top.php 上フレーム
under.php 下フレーム
dat/ データディレクトリ
option/bell.mid ベルMIDIファイル
option/dice.php 標準ダイスファイル
option/kt.php 携帯用参加者情報
option/ktchat.php 携帯用入室画面
option/ktin.php 携帯用チャット画面
option/ktout.php 携帯用退室画面
option/ktset.php 携帯用設定ファイル
1-2. 各ファイルの設定
1-2-1. admin.php
admin.phpでは管理用パスワードを設定します。
初期状態ではチャットルームの作成上限は10個までとなっていますが、admin.phpの設定を変えることで上限を増やすこともできます。
また、作成されるチャットルームの初期状態の設定を変えることもできます。すべての部屋の発言色リストを統一したい場合等は、予めadmin.phpの設定を変えておくとチャットルームが楽に設定できます。
発言色は\$Hcolor[] = 'AF5757';の行を必要なだけ増やし、シングルクォーテーションで囲まれた値を変更してください。
背景色や文字の色のデフォルト値もここで編集できます。
admin.php

## 管理用パスワード
$adminpass = "test";(任意の半角英数)

## チャットルームの最大数
$rmax = "10";

##500行目
# ファイルのデフォルト値
$Chatsetting = "<?php
\$fn = '".$fn."';
include(\$path.\$DDir.'roomdata.php');
list(\$Title, \$CName) = split(',', \$CInfo[\$fn]);
\$Comment = '';
\$pinup = '';
\$background = '';
\$bgcolor = '#FFFFFF';
\$text = '#5555AA';
\$link = '#7070EE';
\$vlink = '#7070EE';
\$alink = '#7070EE';
\$HDcolor = '9999EE';
\$Hcolor[] = 'AF5757';
\$Hcolor[] = 'AF7C57';
\$Hcolor[] = '57AF57';
\$Hcolor[] = '5780AF';
\$Hcolor[] = '8357AF';
\$Hcolor[] = 'AF5783';
\$Hcolor[] = '999999';
\$Hcolor[] = '003675';
\$Hcolor[] = '3A0075';
\$AdminLog = 0;
\$NoRom = 0;
\$Clear = 0;
\$Dice = '';
\$Free = 0;
\$Password = 0;
\$Fixkey = '';
?>";

1-2-2. header.php
header.phpでは各ページに使用されるヘッダーとフッター、ボディとタイトル部分の設定を行えます。
フレーム上部の背景を表示したくない時は '.$background.'の部分を削ります。
チャットタイトル部分の見た目を変更したい時などもここの設定を変えることで一括変更が可能です。
見た目の変更が必要ない場合は設定の必要はありません。

1-2-3. index.php
index.phpでは参加者情報の表示形式を変えることができます。
好みの形式にしやすいように、極力PHP部分を少なくしております。
初期状態ではルーム情報を読み込んですべてのチャットルームの情報を1つのテーブルに表示するようにしておりますが、レイアウトを組んでそれぞれのチャットルームの情報をばらばらに表示することもできます。
チャットルームへのリンクはpbschat.php?fn=チャットネームとなります。
チャットの最終更新時刻を表示:<?php UF_Logtime('チャットネーム', "./"); ?>
 初期状態では24時間以内に変更があった場合に文字色を変えるように文を加えています。
ROM人数を表示:<?php UF_Romcount('チャットネーム', "./", 1); ?>
 1の部分を0にするとROM(人数)という形式ではなく人数の数字のみ表示します。
参加者名を表示:<?php UF_Joinname('チャットネーム', "./"); ?>
参加人数を表示:<?php UF_Joincount('チャットネーム', "./"); ?>
index.php(chat1というチャットルームのみリンクする場合)

<TABLE BORDER="1">
<TR>
<TD>タイトル</TD>
<TD>最終更新時刻</TD>
<TD>参加者</TD>
</TR>
<TR>
<TD><A HREF="pbschat.php?fn=chat1">チャット1</A></TD>
<TD><?php UF_Logtime('chat1', './'); ?></TD>
<TD><?php UF_Romcount('chat1', './', 1); ?><?php UF_Joinname('chat1', './'); ?></TD>
</TR>
</TABLE>

1-2-4. set.php
set.phpではチャットの全般的な設定を行います。
define("NOLINK", ' onClick="return false;"');の部分はonClick="return false;"を消すと通常通り名前からリンクするようになります。
プロフィールとリンクするには
define("ILINK", "../memlist/memshow.php?mode=show&memno=");のURLをプロフィールツールのURLに書き換えます。ほとんどのプロフィールツールは固有のNoを渡して固有のプロフィールを表示しておりますので、Noの前の部分までのURLを記入します。
set.php

## 【設定項目 ここから】↓ --------------------------------------- #

## チャットルームからの戻り先URL(絶対パスまたは相対パスで指定)
define("BURL", "index.php");

## 戻り先URLへのリンク文字列
define("BMES", "参加者情報に戻る");

## 付加情報の名称・付加情報からのページ移動制御
define("EXT", "外見");
define("ELINK", "mailto:");
define("NOLINK", ' onClick="return false;"');

## 入室後の付加情報変更(0:不可、1:可)IE以外、Macではここの設定に関わらず常に不可
define("EXTO", 1);

## IDリンク機能(0:使わない、1:使う)
define("ID", 1);
define("ILINK", "../memlist/memshow.php?mode=show&memno="); //プロフィールツールのURL(絶対パスor相対パス)
define("IDWIN", "width=350,height=300,scrollbars=yes"); //開くウィンドウのサイズ設定

## 発言の色変更範囲(0:名前のみ、1:名前+発言)
define("CAREA", 1);

## 発言のタグ許可(0:不可 1:許可 許可の場合、タグの閉じ忘れはチェックしません)
define("TALLOW", 0);

## clear,allclearを許可するか(0:不可、1:許可)
define("CLEAR", 0);

## ベル音ファイル名(.midや.auなど)
define("BELL", bell.au);

## ROM禁止時の参加者表示(0:表示する、1:表示しない)
define("ROMST", 1);

## ROM時の表示行数
define("ROMSL", 30);

## 最大ログ保持行数
define("MAXL", 60); // チャットログ
define("MAXHL", 30); // 参加履歴

## 参加履歴でのIP表示(0:しない、1:する)
define("IPS", 0);

## 文字コード設定("Shift_JIS" or "EUC-JP")
define("CSET", "Shift_JIS");


## 【メッセージ類】 ----------------------------------------------- #

## 発言色マーク
define("HGM","");

## 入室・退室メッセージ(ROOMの箇所に部屋名、,の箇所に名前が表示されます)
define("EMES", "ご案内:「ROOM」に,さんが現れました。");
define("OMES", "ご案内:「ROOM」から,さんが去りました。");

## ROM禁止メッセージ
define("NOROMMES", "ROMはできません。入退室履歴は残りません。");

## 固定パスワードメッセージ
define("FIXPMES", "●この部屋には固定パスワードが設定されています。");

## 自由パスワードメッセージ
define("FREEPMES1", "●最初に入室する人が自由にパスワードを設定できます。");
define("FREEPMES2", "●現在使用中です。入室している人と同じパスワードを入力してください。");

## ログクリアメッセージ
define("CLEARMES", "●退室時、または10分間リロード・発言がなければ自動的にログがクリアされます。");

## フリー設定メッセージ
define("FMES", "フリー設定ルームです。最初に入室する人が部屋の設定を自由に設定できます。");

## 携帯ページからのアクセスマーク
define("MOBILE", "(携)");


## 【以下は変更しなくても問題がない場合はそのままで】 ------------- #

## GMTとの時差(秒単位で調整。時差が無い場合は0のまま)
define("GMTIME", 0);

## シフトJISオプション(Shift_JISで文字化けする場合は、0に)
define("SOP", 1);

## ファイルロック
define("FILELOCK", 1);

## メソッド
define("MTYPE", "POST");

## 【設定項目 ここまで】↑ --------------------------------------- #


1-2-5. pbschat.css
pbschat.cssではチャット全体のスタイルシートを指定します。
チャット全体の文字の大きさを変えたい場合はスタイルシートで指定するのが簡単です。
フォームの見た目なども変えることができます。
pbschat.css(一部の例)

/* 全体のフォントサイズを調整したい時はここに書きます */
body,td,font {
   font-size: 11px;
}

/* チャットルームのタイトル(上でフォントサイズを変えた時はここも指定してください) */
.ptitle {
   font-size: 15px;
}

/* テキストを入力するフォーム */
.textform {
   font-size:11px;
   color:#666666;
   background-color:#F0F0FF;
   border:1 solid #7070EE;
}
1-3. ファイルのアップロード
ファイルの設定が終わりましたら、サーバー側にチャット用のディレクトリを作成し、bell.auファイルはバイナリモード、その他のファイル(admin.php, colorlist.php, frame.php, header.php, history.php, index.php, out.php, pbschat.css, pbschat.php, set.php, top.php, under.php)とdatディレクトリをアスキーモード(テキストモード)でアップロードします。
datディレクトリのパーミッションを703に変更します。(703で動かない場合は777に)
お使いのサーバーでパーミッションが規定されている場合は規定のパーミッションに従ってください。
1-4. オプションファイル設定
1-4-1. ダイス
ダイスを使用するには、option/ディレクトリ内のdice.phpをindex.phpと同じ場所にアップロードします。
管理用ページの「1-1.チャットルーム一覧」内からダイス設定を追加したいルームの[管理・設定変更]ボタンを押します。
「2-2.ルーム設定変更」の[ルーム設定]ボタンを押し、ダイス設定のフォームに「dice.php」と入力してください。[ルーム設定変更]ボタンを押すと設定が適用されます。
ダイスの面の数や個数を変更したい場合はdice.phpを編集します。
例として、100面ダイスを2つか7面ダイスを4つ使用する場合について書きます。ダイスの数や面の種類は好きなだけ増やすことができます。
dice.php

# ダイスの面
$DiceSelect .= ' ||&nbsp;<B>Dice:</B>面<SELECT NAME="spot" TABINDEX="-1"><OPTION VALUE="6" SELECTED>6<OPTION VALUE="100">100</SELECT>';

# ダイスの数
$DiceSelect .= '数<SELECT NAME="di" TABINDEX="-1"><OPTION VALUE="0" SELECTED>0<OPTION VALUE="2">2<OPTION VALUE="4">4</SELECT>';

1-4-2. 携帯対応

携帯用のページを用意するには、option/ディレクトリ内のkt.php,ktchat.php,ktin.php,ktout.php,ktset.phpをindex.phpと同じ場所にアップロードします。
携帯用のトップページはkt.phpとなります。
携帯用の設定はktset.phpで行います。

携帯版ではフリー設定ルームには対応しておりません。
携帯からアクセスした場合はWhisperは常にOFFとなります。
ktset.php

## チャットルームからの戻り先URL(絶対パスまたは相対パスで指定)
$BURL = "kt.php";

## 戻り先URLへのリンク文字列
$BMES = "戻る";

## ROM表示行数
$ROMSL = 5;

1-5. チャットルーム管理
1-5-1. 管理用ページにログイン
管理用ページにログインするにはアップロードしたadmin.phpにブラウザでアクセスします。
設定した管理用パスワードをパスワードの入力フォームに入力し、ログインボタンを押します。
チャットルームの管理を行うには管理用ページにログインする必要があります。

1-5-2. チャットルームの追加
管理用ページの「1-2. チャットルームの追加」にあるフォームにチャットのタイトルとチャットネームを入力します。
両方入力しましたら、[追加]ボタンを押します。
既に設定されているチャットネームを使用すると同名のルームの設定が初期状態になります。

1-5-3. チャットルームの削除
管理用ページの「1-1. チャットルーム一覧」に表示されているルームの中から、削除したいルームの[ルーム削除]ボタンを押します。
削除の確認画面が表示され、確認のため管理者のパスワードを要求しますので、管理用パスワードを入力し[削除]ボタンを押してください。
チャットルームを削除すると、ルーム設定、発言ログ、管理ログ等削除されたルームに関連するファイルはすべて削除されます。

1-5-4. 入退室履歴のクリア
管理用ページの「1-3. 入退室履歴」にある[入退室履歴をクリアする]ボタンを押します。
確認画面は表示されず、入退室履歴がクリアされます。

1-5-5. チャットルームの設定
管理用ページの「1-1. チャットルーム一覧」に表示されているルームの中から、設定したいルームの[管理・設定変更]ボタンを押します。
ルーム情報が表示されますので、「2-2. ルーム設定変更」の[ルーム設定]ボタンを押します。
設定の入力ボックスが表示されますので、記入例に沿って入力してください。
入力が終わりましたらページ下部の[ルーム設定変更]ボタンを押して変更を確定します。

発言色は10個まで登録し、一度ルーム設定変更しますと次回入力時には20個まで登録できるようになります。この操作を繰り返すことで必要数発言色リストを増やすことができます。

管理用ログをONにした場合、通常のチャットログとは別に管理用のログを保存します。管理用のログにはログ削除設定になっていてもログが残ります。管理用のログは手動で削除しない限り増え続けますので、ON設定にしている場合は定期的に削除するようにしてください。

パスワードをONにした場合、固定パスワードが未記入ですとフリー設定パスワードとなり、固定パスワードを入力すると固定パスワードのルームとなります。

1-5-6. 管理用ログ閲覧
管理用ページの「1-1. チャットルーム一覧」に表示されているルームの中から、管理用ログを見たいルームの[管理・設定変更]ボタンを押します。
ルーム情報が表示されますので「2-3. 管理用ログ閲覧」の[管理用ログ閲覧]ボタンを押します。
別ウィンドウが開き、管理用ログが表示されます。

1-5-7. チャットログのクリア
管理用ページの「1-1. チャットルーム一覧」に表示されているルームの中から、チャットログをクリアしたいルームの[管理・設定変更]ボタンを押します。
ルーム情報が表示されますので「2-4. チャットログクリア」の[チャットログをクリアする]ボタンを押します。
確認画面は表示されず、チャットログがクリアされます。

1-5-8. 管理用ログのクリア
管理用ページの「1-1. チャットルーム一覧」に表示されているルームの中から、管理用ログをクリアしたいルームの[管理・設定変更]ボタンを押します。
ルーム情報が表示されますので「2-5. 管理用ログクリア」の[管理用ログをクリアする]ボタンを押します。
確認画面は表示されず、管理用ログがクリアされます。
2. 応用編
2-1. チャット内のROM表示を消す
2-2. 別のページにチャットの参加人数を表示する
2-2. チャット内のROM表示を消す
チャット内の参加者表示を変更するにはset.phpの関数部分を変更します。
参加者表示をする関数はUF_ShowJoinです。
赤字の部分でROM人数を表示していますのでこの3行分を削除します。
set.php

##324行目
## 参加者表示
function UF_ShowJoin($nm, $hc, $ws, $pr, $show) {
global $JFile, $REMOTE_ADDR, $wsa, $wsallow, $Clear, $Password, $rtm, $Logupdate, $lkt;
~中略~

if ($show) {
echo '参加者: ';
if ($Rom > 0) {
echo "ROM(".$Rom.") ";
}

echo $Jnow;
}
}
2-2. 別のページにチャットの参加人数を表示する
別のページ(例えばサイトのトップページ)にチャットの参加人数を表示するには下記のように記述します。記述するファイルの拡張子はphpである必要があります。
下記の例はファイルの位置関係がこのようになっていた場合のchat1の人数の表示の仕方です。
index.php
+--cgi/
  +--pbschat/
まず表示するファイルではset.phpを読み込み、その後各人数を表示します。
それぞれの関数ではチャットネームとチャットが設置してあるパスを指定します。
人数表示するphpファイル

<?php include('./cgi/pbschat/set.php'); ?>
現在のチャット1の参加人数(<?php UF_Joincount('chat1','./cgi/pbschat/'); ?>)<br>
現在のチャット1の参加者名(<?php UF_Joinname('chat1','./cgi/pbschat/'); ?>)<br>
現在のチャット1のROM人数(<?php UF_Romcount('chat1','./cgi/pbschat/', 0); ?>)<br>
最終更新時刻(<?php UF_Logtime('chat1','./cgi/pbschat/'); ?>)<br>
3. フリーソフト・免責事項
PbsChatはフリーのスクリプトです。
PbsChatに関する著作権は作者にあります。再配布はご遠慮ください。
作者は、PbsChatの使用に関して直接、または間接的に生じる損害について責任は負いません。

bell.auファイルはTAM Music Factory様の素材からお借りしました。
この場を借りてお礼申し上げます。
©2005 Shin Mikami http://pbs.darkgray.net/