1]['userName'] = 'admin';
$users[1]['password'] = 'admin';
$users[1]['channels'] = array(0,1);
另外,还请确保更改用户名的默认设置并提供一个很好的密码。
要赋予用户 admin/moderator 权限,可在 lib/class/CustomAjaxChat.php 文件内调整 getValidLoginUserData() 方法。比如,要给某个用户 ID 为 123456 的特定用户赋予 moderator 的权限,可以将
if($userData['userID'] == 123456)
$userData['userRole'] = AJAX_CHAT_MODERATOR;
添加在
return $userData;
之前。
进入 config.php 文件并将
$
config['customModeratorList'] = array(123,456,789);
添加在
?>
之前。
然后将如下代码
if($this->getConfig('customModeratorList') &;&; in_array($userData['userID'],
$this->getConfig('customModeratorList'))) {
$userData['userRole'] = AJAX_CHAT_MODERATOR;
}
添加到 lib/class/CustomAJAXChat.php 文件内的 getValidLoginUserData() 函数的
return $userData;
之前。
上传文件
如果使用的是论坛集成版,可以将这些文件上传到服务器的
文档根目录之下,比如 example.org/forum/chat。
假如,想在不同于 forum 的目录内使用此聊天,比如:
example.org/chat
example.org/forum
可以进入 lib/custom.php 文件并将 $phpbb_root_path = AJAX_CHAT_PATH.'../'; 更改为 $phpbb_root_path = AJAX_CHAT_PATH.'../forum/'; 。
创建数据库表
接下来,在 chat 文件夹内创建数据库表。可以通过在服务器端执行 install.php 或使用 phpMyAdmin 来创建这些表。在用于安装脚本或 phpMyAdmin 之前,可以先编辑 chat.
sql。完成之后,删除 install.php 并在 Web 站点上放置指向此 chat 文件夹的一个链接。
Ajax Chat 存在的问题及解决方法
Ajax Chat 在
设计时考虑到几个不同的因素,可以提高其资源效率。首先,服务器必须执行的操作并不复杂,并且服务器
查询也很简单。其次,大量
工作均在客户端进行 —
JavaScript 负责处理代码、执行超链接及显示定制表情符号(Emoticon)。第三,只有来自服务器的那些更新过的数据才会发送给客户机,降低了
网络流量。
可能出现的一个
问题是:在服务器负载很高时,再将更新了的数据从服务器推到客户机,资源的利用率就不会很高。另一个问题是默认配置存在一些安全漏洞,很容易被黑客用来实施攻击。
针对服务器过载的解决
方案 减少服务器负载的一种方式是使用一个 socket 服务器。为了实现此目的,可以安装并使用一个基于 Flash(客户机端)和 Ruby(服务器端)的 socket 连接以使 chat 客户机能永久地从服务器获取更新。从服务器端推出的事件需要客户机和服务器间存在一个永久或长久的 socket 连接。而这需要一个定制 HTTP 服务器(称为 “comet”)或另一个定制 socket 服务器 — 在我看来,从服务器推出更新过的数据并不是非常有效的一种方式。
为了解决此问题,Ajax Chat 使用了一个从 JavaScript 到 Flash 的连接来建立来自客户机端的永久 socket 连接。为了运行这个 socket 服务器,必须要能够作为一种服务来运行 Ruby 脚本。要初始启动此服务,需要执行 socket 目录内的脚本文件,比如: