服务器上使用 Ajax Chat 的独立版,就需要将主机、用户名、密码和数据库名设置为您的本地主机、用户名、密码和数据库名,如清单 1 所示。
清单 1. 针对独立版的数据库配置
$config['dbConnection']['host'] = 'localhost';
$config['dbConnection']['user'] = 'your_database_username';
$config['dbConnection']['pass'] = 'your_database_password':
$config['dbConnection']['name'] = 'your_database_name';
默认情况下,数据库配置 type 和 link 被设为 null。如果 type 被设为 null,它就会默认为 mysqli,也可以将其更改为
mysql。而 link 则可被设为对现有数据库连接或对象的一个引用。如果将 link 设为 null,就会创建一个新的数据库连接。
使用论坛集成版
如果更愿意使用论坛集成版,可以通过将所有数据库配置都设为 null 来让 Ajax Chat 使用论坛的现有数据库连接。若为论坛集成版使用的是另外一个不同的数据库,就必须注释掉 lib/class/CustAJAXChat.php 文件内的一行。比如,对于 phpBB3 集成版,必须注释掉如下的一行:
$this->setConfig('dbConnection', 'link', $db->db_connect_id);
完成后,可以如同对独立版所做的那样对数据库进行设置。
如果想要将此聊天功能用作论坛内的在线留言板(shoutbox),需要更改聊天目录的 URL 和路径。为此,先要进入 includes/functions.php 文件查找此聊天文件夹的 URL 和路径,比如:
define('AJAX_CHAT_URL', '/chat/');
define('AJAX_CHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/chat').'/');
在两种情况下,将 '/chat/' 修复为 '../chat/'。
频道设置
在 lib 目录,
导航到数据子目录并查找 channels.php 文件。假设需要三个频道,每个频道具有惟一的 ID 和名称,具体的频道设置如清单 2 所示。
清单 2. 频道设置
$channels=array()
$channels[0]='Public'
$channels[1]='123'
$channels[2]='456'
假如扩展到了 20 个频道。要节省编辑 channels.php 文件的时间,可以在 config.php 文件内将其限制为三个频道,如下所示:
$config['limitChannelList'] = array(123,456,789);
这种设置意味着只有 ID 123、456 和 789 可被用作频道,跳过了其他 17 个频道。要添加这些频道作为定制聊天频道,需要调整 lib/class/CustomAJAXChat.php 文件内的方法 getChannels() 和 getAllChannels()。方法 getChannels() 返回包含当前用户可以访问的那些频道的一个数组。方法 getAllChannels() 返回包含全部可用频道的一个数组,不管当前用户能不能访问。
为此,需要首先向 getChannels() 方法添加如下代码:
$this->_channels = array_merge($this->_channels,
array('Extra_Public_Channel_1'=>123, 'Extra_Public_Channel_2'=>456,
'Extra_Public_Channel_3'=>789));
添加到
} return $this->_channels;
之前。
通过用 _allChannels 代替 _channels 来对 getAllChannels() 方法进行同样的处理。
编辑设置
在 data 子目录,查找 user.php 文件。请确保每个用户都具有惟一 ID 和惟一名称。此
列表内的第一个用户被设置为 guest 用户,而所有 guest 用户都可以访问为此用户所设的那些频道,也都具有用户角色 AJAX_CHAT_GUEST。它们没有被分配用户名和密码。
清单 3. 默认 guest 用户
// List containing the registered chat users:
$users = array();
// Default guest user
$users[0] = array();
$users[0]['userRole'] = AJAX_CHAT_GUEST;
$users[0]['userName'] = null;
$users[0]['pass
word'] = null;
$users[0]['channels'] = array(0);
在为
注册用户、版主和管理员赋予用户角色时,不要删除此 guest 用户的用户设置。清单 4 所示的是针对管理员的示例用户设置。
清单 4. Admin 用户
$users[1] = array();
$users[1]['userRole'] = AJAX_CHAT_ADMIN;
$users[