对于那些熟悉或熟悉phpfreechat的人来说,这是一个问题。我有一个phpfreechat模块的网站。 phpfreechat的版本是2.1.0。默认情况下,phpfreechat有一个聊天室,管理员和用户可以互相交谈。但作为管理员,我希望与每个用户进行私人谈话。我的意思是,我不想让用户可以互相交谈,只对我说。
所以,问题是:我怎么能这样做?如何将phpfreechat v2.x配置为私人消息/会话模式?这是可能的吗?
最后,我想说我确实对谷歌进行了正确的研究,S.O。和phpfreechat网站之前问这里。当然,没有任何成功。
谢谢大家!
答案 0 :(得分:1)
好的......之前没有用过这个,但是我已经快速浏览了一下代码,发现了“发送”的功能'给所有其他用户的消息(在/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。
我能预见的唯一问题是试图弄清楚你要发送给用户的身份。