对于那些熟悉phpfreechat的人来说,这是一个问题。我有一个带有phpfreechat模块的网站。phpfreechat的版本是2.1.0。默认情况下,phpfreechat有一个聊天室,管理员和用户可以在这里相互交谈。但作为一名管理员,我希望与每个用户进行私人对话。我的意思是,我不想用户可以互相交谈,只是对我。
所以,问题是:我该怎么做?如何将phpfreechat v2.x配置为私人消息/对话模式?这可能吗?
最后,我想说的是,在问这里之前,我确实对谷歌、S.O.和phpfreechat网站进行了适当的研究。当然,没有任何成功。
谢谢大家!
好的。。。以前没有使用过,但我快速浏览了代码,发现了将消息"发送"给所有其他用户的函数(位于/server/container/messages.php中)
此函数是postMsgToChannel()。。。
因此,基本上,您可以尝试复制/修改它,以创建一个只发送给单个用户的文件,它可能看起来像这样:
static public function postMsgToUser($cid, $ruid, $suid, $body, $type = 'msg') {
$mid = self::generateMid($cid);
$msg = array(
'id' => $mid,
'sender' => $suid,
'recipient' => 'channel|'.$cid,
'type' => $type,
'body' => $body,
'timestamp' => time(),
);
// json encode msg before storing
$msg = json_encode($msg);
//send message to single user
$umdir = Container_users::getDir().'/'.$ruid.'/messages';
file_put_contents($umdir.'/'.$mid, $msg);
return $msg;
}
其中,$ruid
是收件人的uid,$suid
是发件人的uid。
我能预见到的唯一问题是,试图弄清楚你要发送到的用户id。