Ejemplo n.º 1
0
 /** @test */
 public function it_can_return_recent_user_messsages()
 {
     $users = $this->createUsers(4);
     $conversation = Chat::createConversation([$users[0]->id, $users[1]->id]);
     Chat::send($conversation->id, 'Hello 1', $users[1]->id);
     Chat::send($conversation->id, 'Hello 2', $users[0]->id);
     $conversation2 = Chat::createConversation([$users[0]->id, $users[2]->id]);
     Chat::send($conversation2->id, 'Hello Man 4', $users[0]->id);
     Chat::send($conversation2->id, 'Hello Man 3', $users[2]->id);
     $conversation3 = Chat::createConversation([$users[0]->id, $users[3]->id]);
     Chat::send($conversation3->id, 'Hello Man 5', $users[3]->id);
     Chat::send($conversation3->id, 'Hello Man 6', $users[0]->id);
     $recent_messages = Chat::conversations($users[0]->id);
     $this->assertEquals($recent_messages[0]['sender']['id'], $users[0]->id);
     $this->assertEquals($recent_messages[1]['sender']['id'], $users[2]->id);
     $this->assertCount(3, $recent_messages);
 }
Ejemplo n.º 2
0
    exit;
}
if ($chat->is_chat_blocked_by_exercises()) {
    // Disconnecting the user
    $chat->setUserStatus(0);
    exit;
}
switch ($action) {
    case 'chatheartbeat':
        $chat->heartbeat();
        break;
    case 'closechat':
        $chat->close();
        break;
    case 'sendchat':
        $chat->send(api_get_user_id(), $to_user_id, $message);
        break;
    case 'startchatsession':
        $chat->startSession();
        break;
    case 'set_status':
        $status = isset($_REQUEST['status']) ? intval($_REQUEST['status']) : 0;
        $chat->setUserStatus($status);
        break;
    case 'start_video':
        $room = VideoChat::getChatRoomByUsers(api_get_user_id(), $to_user_id);
        if ($room !== false) {
            $videoChatLink = Display::url(Display::tag('i', null, ['class' => 'fa fa-video-camera']) . " " . get_lang('StartVideoChat'), api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room={$room['room_name']}");
            $chat->send(api_get_user_id(), $to_user_id, $videoChatLink, false);
            echo Display::tag('p', $videoChatLink, ['class' => 'lead']);
            break;
Ejemplo n.º 3
0
}
if (!isset($_SESSION['openChatBoxes'])) {
    $_SESSION['openChatBoxes'] = array();
}
$chat = new Chat();
if ($chat->is_chat_blocked_by_exercises()) {
    // Disconnect the user
    $chat->set_user_status(0);
    exit;
}
switch ($action) {
    case 'chatheartbeat':
        $chat->heartbeat();
        break;
    case 'closechat':
        $chat->close();
        break;
    case 'sendchat':
        $chat->send(api_get_user_id(), $to_user_id, $message);
        break;
    case 'startchatsession':
        $chat->start_session();
        break;
    case 'set_status':
        $status = isset($_REQUEST['status']) ? intval($_REQUEST['status']) : 0;
        $chat->set_user_status($status);
        break;
    default:
        echo '';
}
exit;