如何将phpfreechat配置为私人消息模式?

时间:2014-04-09 21:10:19

标签: php html chat phpfreechat

对于那些熟悉或熟悉phpfreechat的人来说,这是一个问题。我有一个phpfreechat模块的网站。 phpfreechat的版本是2.1.0。默认情况下,phpfreechat有一个聊天室,管理员和用户可以互相交谈。但作为管理员,我希望与每个用户进行私人谈话。我的意思是,我不想让用户可以互相交谈,只对我说。

所以,问题是:我怎么能这样做?如何将phpfreechat v2.x配置为私人消息/会话模式?这是可能的吗?

最后,我想说我确实对谷歌进行了正确的研究,S.O。和phpfreechat网站之前问这里。当然,没有任何成功。

谢谢大家!

1 个答案:

答案 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。

我能预见的唯一问题是试图弄清楚你要发送给用户的身份。