2014-04-09 3 views
0

Это вопрос для тех, кто знаком или знаком с phpfreechat. У меня есть сайт с модулем phpfreechat. Версия phpfreechat - 2.1.0. По умолчанию у phpfreechat есть чат, где администратор и пользователи могут разговаривать друг с другом. Но я, как администратор, хочу иметь личные беседы с каждым пользователем. Я имею в виду, я не хочу, чтобы пользователи могли разговаривать друг с другом, только для меня.Как настроить phpfreechat в режиме частного сообщения?

Итак, вопрос будет следующим: как я могу это сделать? Как настроить phpfreechat v2.x в режиме приватного сообщения/беседы? Это возможно?

Последнее, я хочу сказать, что я сделал правильное исследование в Google, S.O. и phpfreechat, прежде чем спрашивать здесь. Конечно, без всякого успеха.

Спасибо всем!

ответ

1

Okay ... Не используется это раньше, но я быстро просмотрел код и нашел функцию, которая «отправляет» сообщение всем другим пользователям (находится в /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 является идентификатором получателя, и $suid является отправителем uid.

Единственная проблема, которую я могу предвидеть, пытается выяснить идентификатор пользователя, который вы отправляете.

+0

спасибо! Я попробую, что вы говорите. – Angel

+0

@ Ангел работает? –

Смежные вопросы